Browse Source

loginByWxCode接口修改:更新用户微信信息

dev
yinzuomei 6 years ago
parent
commit
f74d5fee72
  1. 4
      epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  2. 4
      epmet-auth/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallback.java
  3. 63
      epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java
  4. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerUserController.java
  5. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerUserService.java
  6. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerUserServiceImpl.java

4
epmet-auth/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -38,8 +38,8 @@ public interface EpmetUserFeignClient {
* @author yinzuomei * @author yinzuomei
* @date 2020/3/16 14:48 * @date 2020/3/16 14:48
*/ */
@PostMapping(value = "epmetuser/customeruser/saveCustomerUser", consumes = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "epmetuser/customeruser/saveOrUpdateCustomerUser", consumes = MediaType.APPLICATION_JSON_VALUE)
Result saveCustomerUser(CustomerUserDTO customerUserDTO); Result saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO);
/** /**
* @param passwordLoginUserInfoFormDTO * @param passwordLoginUserInfoFormDTO

4
epmet-auth/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallback.java

@ -24,8 +24,8 @@ public class EpmetUserFeignClientFallback implements EpmetUserFeignClient {
} }
@Override @Override
public Result saveCustomerUser(CustomerUserDTO customerUserDTO) { public Result saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveCustomerUser", customerUserDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveOrUpdateCustomerUser", customerUserDTO);
} }
@Override @Override

63
epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java

@ -127,17 +127,68 @@ public class LoginServiceImpl implements LoginService {
WxLoginUserInfoFormDTO wxLoginUserInfoFormDTO = new WxLoginUserInfoFormDTO(); WxLoginUserInfoFormDTO wxLoginUserInfoFormDTO = new WxLoginUserInfoFormDTO();
wxLoginUserInfoFormDTO.setApp(formDTO.getApp()); wxLoginUserInfoFormDTO.setApp(formDTO.getApp());
wxLoginUserInfoFormDTO.setOpenId(wxMaJscode2SessionResult.getOpenid()); wxLoginUserInfoFormDTO.setOpenId(wxMaJscode2SessionResult.getOpenid());
//1、先根据app、client、openId查询
Result<String> userResult = epmetUserFeignClient.selecWxLoginUserInfo(wxLoginUserInfoFormDTO); Result<String> userResult = epmetUserFeignClient.selecWxLoginUserInfo(wxLoginUserInfoFormDTO);
String userId = ""; String userId = "";
if (!userResult.success()) { if (!userResult.success()) {
throw new RenException("获取用户信息失败" + userResult.getMsg()); throw new RenException("获取用户信息失败" + userResult.getMsg());
} }
userId = (String) userResult.getData(); userId = userResult.getData();
if (StringUtils.isBlank(userId) && LoginConstant.APP_GOV.equals(formDTO.getApp())) { //2、如果已经存在userId,则更新微信信息
if (StringUtils.isNotBlank(userId) && StringUtils.isNotBlank(formDTO.getEncryptedData()) && StringUtils.isNotBlank(formDTO.getIv())) {
this.updateWxInfO(userId,formDTO,wxMaJscode2SessionResult);
}
//3、数据库不存在此用户则创建此用户
if (StringUtils.isBlank(userId)) {
userId = createEpmtUser(formDTO, wxMaJscode2SessionResult);
}
return userId;
}
/**
* @return com.epmet.commons.tools.utils.Result
* @param userId
* @param wxMaJscode2SessionResult
* @Author yinzuomei
* @Description 获取用户微信基本信息更新到本地
* @Date 2020/3/20 19:51
**/
private Result updateWxInfO(String userId,
LoginByWxCodeFormDTO formDTO,
WxMaJscode2SessionResult wxMaJscode2SessionResult) {
if (LoginConstant.APP_GOV.equals(formDTO.getApp())) {
//查询customer_staff待完善 //查询customer_staff待完善
} else if (StringUtils.isBlank(userId) && LoginConstant.APP_OPER.equals(formDTO.getApp())) {
} else if (LoginConstant.APP_OPER.equals(formDTO.getApp())) {
//查询oper_user待完善 //查询oper_user待完善
} else if (StringUtils.isBlank(userId) && LoginConstant.APP_RESI.equals(formDTO.getApp())) {
} else if (LoginConstant.APP_RESI.equals(formDTO.getApp())) {
WxMaUserInfo wxMaUserInfo = wxMaServiceUtils.resiWxMaService().getUserService()
.getUserInfo(wxMaJscode2SessionResult.getSessionKey(),
formDTO.getEncryptedData(),
formDTO.getIv());
CustomerUserDTO customerUserDTO = this.packageCustomerUserDTO(wxMaUserInfo);
customerUserDTO.setId(userId);
epmetUserFeignClient.saveOrUpdateCustomerUser(customerUserDTO);
}
return new Result();
}
/**
* @param formDTO
* @param wxMaJscode2SessionResult
* @return java.lang.String
* @Author yinzuomei
* @Description 陌生人首次授权创建用户信息
* @Date 2020/3/20 19:42
**/
private String createEpmtUser(LoginByWxCodeFormDTO formDTO, WxMaJscode2SessionResult wxMaJscode2SessionResult) {
String userId = "";
if (LoginConstant.APP_GOV.equals(formDTO.getApp())) {
//查询customer_staff待完善
} else if (LoginConstant.APP_OPER.equals(formDTO.getApp())) {
//查询oper_user待完善
} else if (LoginConstant.APP_RESI.equals(formDTO.getApp())) {
//查询customer_user //查询customer_user
CustomerUserDTO customerUserDTO = new CustomerUserDTO(); CustomerUserDTO customerUserDTO = new CustomerUserDTO();
if (StringUtils.isNotBlank(formDTO.getIv()) && StringUtils.isNotBlank(formDTO.getEncryptedData())) { if (StringUtils.isNotBlank(formDTO.getIv()) && StringUtils.isNotBlank(formDTO.getEncryptedData())) {
@ -150,9 +201,9 @@ public class LoginServiceImpl implements LoginService {
customerUserDTO.setWxOpenId(wxMaJscode2SessionResult.getOpenid()); customerUserDTO.setWxOpenId(wxMaJscode2SessionResult.getOpenid());
customerUserDTO.setUnionId(wxMaJscode2SessionResult.getUnionid()); customerUserDTO.setUnionId(wxMaJscode2SessionResult.getUnionid());
} }
Result<String> saveCustomerUserResult = epmetUserFeignClient.saveCustomerUser(customerUserDTO); Result<String> saveCustomerUserResult = epmetUserFeignClient.saveOrUpdateCustomerUser(customerUserDTO);
if (!saveCustomerUserResult.success()) { if (!saveCustomerUserResult.success()) {
throw new RenException("创建用户失败" + userResult.getMsg()); throw new RenException("创建用户失败" + saveCustomerUserResult.getMsg());
} }
userId = saveCustomerUserResult.getData(); userId = saveCustomerUserResult.getData();
} }

6
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/CustomerUserController.java

@ -114,11 +114,11 @@ public class CustomerUserController {
* @Description * @Description
* @Date 2020/3/16 15:49 * @Date 2020/3/16 15:49
**/ **/
@PostMapping("saveCustomerUser") @PostMapping("saveOrUpdateCustomerUser")
public Result<String> saveCustomerUser(@RequestBody CustomerUserDTO customerUserDTO) { public Result<String> saveOrUpdateCustomerUser(@RequestBody CustomerUserDTO customerUserDTO) {
//效验数据 //效验数据
ValidatorUtils.validateEntity(customerUserDTO, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(customerUserDTO, AddGroup.class, DefaultGroup.class);
return customerUserService.saveCustomerUser(customerUserDTO); return customerUserService.saveOrUpdateCustomerUser(customerUserDTO);
} }
/** /**

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/CustomerUserService.java

@ -114,7 +114,7 @@ public interface CustomerUserService extends BaseService<CustomerUserEntity> {
* @Description * @Description
* @Date 2020/3/16 15:49 * @Date 2020/3/16 15:49
**/ **/
Result<String> saveCustomerUser(CustomerUserDTO customerUserDTO); Result<String> saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO);
/** /**
* @param passwordLoginUserInfoFormDTO * @param passwordLoginUserInfoFormDTO

6
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerUserServiceImpl.java

@ -136,9 +136,13 @@ public class CustomerUserServiceImpl extends BaseServiceImpl<CustomerUserDao, Cu
* @Date 2020/3/17 11:04 * @Date 2020/3/17 11:04
**/ **/
@Override @Override
public Result<String> saveCustomerUser(CustomerUserDTO customerUserDTO) { public Result<String> saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO) {
CustomerUserEntity entity = ConvertUtils.sourceToTarget(customerUserDTO, CustomerUserEntity.class); CustomerUserEntity entity = ConvertUtils.sourceToTarget(customerUserDTO, CustomerUserEntity.class);
if (StringUtils.isNotBlank(customerUserDTO.getId())) {
insert(entity); insert(entity);
} else {
updateById(entity);
}
return new Result<String>().ok(entity.getId()); return new Result<String>().ok(entity.getId());
} }

Loading…
Cancel
Save