基于P2P万信金融--day03 万信金融项搭建账户微服务项目

基于开户流程的基础分析基本分析完毕,下面就是根据微服务项目的总体业务流程进行各个微服务的搭建过程,其中首先的过程就是账户微服务的搭建过程,和用户中心微服务的搭建过程

由于基础工程中并没有提供统一账户服务,所以接下来我们需要搭建统一账户服务(wanxinp2paccount-service)并编码实现相关功能。

每次搭建各个微服务的时候,都要在Apollo中放入对应的应用配置,以可以实时的读取到对应的配置文件里面的相关的内容

1)创建wanxinp2p-account-service(参考基础工程wanxinp2p-consumer-service) 2) 在Apollo中为统一账户服务新建一个配置项目account-service

3) 为account-service添加配置(参考consumer-service)

4) 创建AccountController,编写hello方法,启动服务进行测试

测试结果如下图所示:

控制器通过之后就证明这个微服务搭建完成,之后就可以进行相关的对应的其他的微服务的集成的操作了

4.3 部署验证码微服务

在wanxinp2p-api工程中新建AccountAPI接口,在该接口中定义getSMSCode方法:

/**
* 获取手机验证码
* @param mobile 手机号
* @return
*/
RestResponse getSMSCode(String mobile);

在wanxinp2p-account-service工程中新建AccountController类,并实现AccountAPI接口:

@Slf4j
@Api(value = "统一账号服务", tags = "Account", description = "统一账号服务API")
@RestController
public class AccountController implements AccountAPI {
@ApiOperation("获取手机验证码")
@ApiImplicitParam(name = "mobile", value = "手机号", dataType = "String")
@GetMapping("/sms/{mobile}")
public RestResponse getSMSCode(@PathVariable String mobile) {
}
}

4.4.2 功能实现

1)SmsService 在wanxinp2p-account-service工程中新建SmsService类,调用验证码服务发送验证码。

@Service
public class SmsService {
@Value("${sms.url}")
private String smsURL;
@Value("${sms.enable}")
private Boolean smsEnable;
/**
* 获取短信验证码
* @param mobile
* @return
*/
public RestResponse getSmsCode(String mobile) {
if (smsEnable) {
return OkHttpUtil.post(smsURL + "/generate?effectiveTime=300&name=sms",
"{\"mobile\":" + mobile +
"}");
}
return RestResponse.success();
}
}

2)AccountService 在wanxinp2p-account-service工程中新建AccountService接口,定义getSMSCode方法:

public interface AccountService{
/**
* 获取手机验证码
* @param mobile 手机号
* @return
*/
RestResponse getSMSCode(String mobile);

定义该接口的实现类AccountServiceImpl,注入SmsService并实现获取短信验证码的功能:

@Slf4j
@Service
public class AccountServiceImpl implements AccountService {
@Autowired
private SmsService smsService;
@Override
public RestResponse getSMSCode(String mobile) {
return smsService.getSmsCode(mobile);
}

AccountController 补充controller代码,注入AccountService获得短信验证码:

@Api(value = "统一账号服务", tags = "Account", description = "统一账号服务API")
@RestController
public class AccountController implements AccountAPI {
@Autowired
private AccountService accountService;
@ApiOperation("获取手机验证码")
@ApiImplicitParam(name = "mobile", value = "手机号", dataType = "String")
@GetMapping("/sms/{mobile}")
@Override
public RestResponse getSMSCode(@PathVariable String mobile) {
return accountService.getSMSCode(mobile);
}

这个集成完之后则就证明账户微服务开发完成

猜你喜欢

转载自blog.csdn.net/zgz102928/article/details/108966888
今日推荐