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. 8
      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
* @date 2020/3/16 14:48
*/
@PostMapping(value = "epmetuser/customeruser/saveCustomerUser", consumes = MediaType.APPLICATION_JSON_VALUE)
Result saveCustomerUser(CustomerUserDTO customerUserDTO);
@PostMapping(value = "epmetuser/customeruser/saveOrUpdateCustomerUser", consumes = MediaType.APPLICATION_JSON_VALUE)
Result saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO);
/**
* @param passwordLoginUserInfoFormDTO

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

@ -24,8 +24,8 @@ public class EpmetUserFeignClientFallback implements EpmetUserFeignClient {
}
@Override
public Result saveCustomerUser(CustomerUserDTO customerUserDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveCustomerUser", customerUserDTO);
public Result saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "saveOrUpdateCustomerUser", customerUserDTO);
}
@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.setApp(formDTO.getApp());
wxLoginUserInfoFormDTO.setOpenId(wxMaJscode2SessionResult.getOpenid());
//1、先根据app、client、openId查询
Result<String> userResult = epmetUserFeignClient.selecWxLoginUserInfo(wxLoginUserInfoFormDTO);
String userId = "";
if (!userResult.success()) {
throw new RenException("获取用户信息失败" + userResult.getMsg());
}
userId = (String) userResult.getData();
if (StringUtils.isBlank(userId) && LoginConstant.APP_GOV.equals(formDTO.getApp())) {
userId = userResult.getData();
//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待完善
} else if (LoginConstant.APP_OPER.equals(formDTO.getApp())) {
//查询oper_user待完善
} 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 (StringUtils.isBlank(userId) && LoginConstant.APP_OPER.equals(formDTO.getApp())) {
} else if (LoginConstant.APP_OPER.equals(formDTO.getApp())) {
//查询oper_user待完善
} else if (StringUtils.isBlank(userId) && LoginConstant.APP_RESI.equals(formDTO.getApp())) {
} else if (LoginConstant.APP_RESI.equals(formDTO.getApp())) {
//查询customer_user
CustomerUserDTO customerUserDTO = new CustomerUserDTO();
if (StringUtils.isNotBlank(formDTO.getIv()) && StringUtils.isNotBlank(formDTO.getEncryptedData())) {
@ -150,9 +201,9 @@ public class LoginServiceImpl implements LoginService {
customerUserDTO.setWxOpenId(wxMaJscode2SessionResult.getOpenid());
customerUserDTO.setUnionId(wxMaJscode2SessionResult.getUnionid());
}
Result<String> saveCustomerUserResult = epmetUserFeignClient.saveCustomerUser(customerUserDTO);
Result<String> saveCustomerUserResult = epmetUserFeignClient.saveOrUpdateCustomerUser(customerUserDTO);
if (!saveCustomerUserResult.success()) {
throw new RenException("创建用户失败" + userResult.getMsg());
throw new RenException("创建用户失败" + saveCustomerUserResult.getMsg());
}
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
* @Date 2020/3/16 15:49
**/
@PostMapping("saveCustomerUser")
public Result<String> saveCustomerUser(@RequestBody CustomerUserDTO customerUserDTO) {
@PostMapping("saveOrUpdateCustomerUser")
public Result<String> saveOrUpdateCustomerUser(@RequestBody CustomerUserDTO customerUserDTO) {
//效验数据
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
* @Date 2020/3/16 15:49
**/
Result<String> saveCustomerUser(CustomerUserDTO customerUserDTO);
Result<String> saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO);
/**
* @param passwordLoginUserInfoFormDTO

8
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
**/
@Override
public Result<String> saveCustomerUser(CustomerUserDTO customerUserDTO) {
public Result<String> saveOrUpdateCustomerUser(CustomerUserDTO customerUserDTO) {
CustomerUserEntity entity = ConvertUtils.sourceToTarget(customerUserDTO, CustomerUserEntity.class);
insert(entity);
if (StringUtils.isNotBlank(customerUserDTO.getId())) {
insert(entity);
} else {
updateById(entity);
}
return new Result<String>().ok(entity.getId());
}

Loading…
Cancel
Save