Browse Source

注册功能代码修改

dev
yujintao 6 years ago
parent
commit
2b0aca1952
  1. 5
      esua-epdc/epdc-gateway/src/main/resources/application.yml
  2. 15
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java
  3. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java
  4. 20
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java
  5. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/v2/ApiAppUserV2Controller.java
  6. 3
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  7. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  8. 121
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  9. 43
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStateEnum.java
  10. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java
  11. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  12. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  13. 58
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

5
esua-epdc/epdc-gateway/src/main/resources/application.yml

@ -196,4 +196,7 @@ epdc:
- /api/message/sms/registerResult # 发送用户注册审核结果
- /api/events/issue/upload # 上传图片
- /api/app-user/user/mp/regist # 公众号用户注册
- /api/app-user/user/ma/** # 小程序用户相关操作,包括注册,登录,及迭代版本的注册,登录
- /api/app-user/user/ma/getToken # 小程序用户 登录
- /api/app-user/user/ma/regist # 小程序用户 注册
- /api/app-user/user/ma/gridLeaderRegister # 小程序用户 网格长注册
- /api/app-user/user/ma/v2/getToken # 小程序用户 注册或登录(版本v2)

15
esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java

@ -51,19 +51,4 @@ public class EpdcCompleteUserInfoFormDTO implements Serializable {
* 住处楼栋-单元-房间
*/
private String dwellingPlace;
/**
* 微信code
*/
@NotBlank(message = "微信code不能为空")
private String wxCode;
/**
* 包括敏感数据在内的完整用户信息的加密数据
*/
@NotBlank(message = "用户信息不能为空")
private String encryptedData;
/**
* 加密算法的初始向量
*/
@NotBlank(message = "初始向量不能为空")
private String iv;
}

2
esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java

@ -36,7 +36,7 @@ public class EpdcAppAuthorizationDTO implements Serializable {
*/
private String userId;
/**
* 用户状态[AppUserStateEnum]
* 用户状态[AppUserStatesEnum]
*/
private String userState;
/**

20
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiAppUserController.java

@ -61,6 +61,7 @@ public class ApiAppUserController {
/**
* 小程序端用户注册
* {@link com.elink.esua.epdc.controller.v2.ApiAppUserV2Controller#getMaV2Token(EpdcAppUserRegisterFormDTO)}
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
@ -116,8 +117,7 @@ public class ApiAppUserController {
}
/**
* {小程序端登录获取token} -- 该接口已过时新版本使用下述接口
* {@link com.elink.esua.epdc.controller.v2.ApiAppUserV2Controller#getMaV2Token(EpdcAppUserRegisterFormDTO)}
* 小程序端登录获取token
*
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO>
@ -184,20 +184,6 @@ public class ApiAppUserController {
return appUserService.listGridForLeader(userDetail.getUserId());
}
/**
* 用户注册获取Token
*
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO>
* @params [formDto]
* @author liuchuang
* @since 2019/10/24 16:32
*/
/*@GetMapping("user/ma/v2/getToken")
public Result<EpdcAppAuthorizationDTO> getMaV2Token(EpdcAppUserRegisterFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return appUserService.getMaV2Token(formDto);
}*/
/**
*
* 更新用户微信信息
@ -208,7 +194,7 @@ public class ApiAppUserController {
* @since 2019/10/28 9:58
*/
@PostMapping("user/ma/updateWxInfo")
public Result updateWxInfo(@LoginUser TokenDto tokenDto, EpdcAppUserMaInfoFormDTO formDto) {
public Result updateWxInfo(@LoginUser TokenDto tokenDto, @RequestBody EpdcAppUserMaInfoFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return appUserService.updateWxInfo(tokenDto, formDto);
}

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/v2/ApiAppUserV2Controller.java

@ -34,7 +34,7 @@ public class ApiAppUserV2Controller {
* @author work@yujt.net.cn
* @date 2019/10/26 10:48
*/
@GetMapping("user/ma" + Constant.VERSION_CONTROL + "getToken")
@GetMapping("user/ma" + Constant.VERSION_CONTROL + "/getToken")
public Result<EpdcAppAuthorizationDTO> getMaV2Token(EpdcAppUserRegisterFormDTO formDto) {
ValidatorUtils.validateEntity(formDto);
return appUserService.getMaV2Token(formDto);

3
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java

@ -113,7 +113,7 @@ public interface UserFeignClient {
* @date 2019/10/26 13:41
*/
@PostMapping(value = "app-user/epdc-app/user/completeInfo", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto);
Result<UserDTO> completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto);
/**
* 移动端获取用户信息
@ -217,6 +217,7 @@ public interface UserFeignClient {
@GetMapping("app-user/epdc-app/usergrid/listGridForLeader/{userId}")
Result<List<EpdcLeaderGridResultDTO>> listGridForLeader(@PathVariable("userId") String userId);
/**
* 查询用户注册状态
*

2
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java

@ -57,7 +57,7 @@ public class UserFeignClientFallback implements UserFeignClient {
}
@Override
public Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) {
public Result<UserDTO> completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "completeUserInfo", formDto);
}

121
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -154,32 +154,21 @@ public class AppUserServiceImpl implements AppUserService {
EpdcAppAuthorizationDTO authorization = new EpdcAppAuthorizationDTO();
// 用户未注册
if (null == userDto) {
authorization.setUserState(AppUserStateEnum.UNREGISTERED.value());
authorization.setUserState(AppUserStatesEnum.STATE_NOT_REGISTERED.value());
return new Result().ok(authorization);
}
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class);
tokenDto.setUserId(userDto.getId());
String state = userDto.getState();
// 用户注册审核失败
if (AppUserAuditStateEnum.AUDIT_FAILURE.value().equals(state)) {
authorization.setUserState(AppUserStateEnum.AUDIT_FAILURE.value());
Result result = new Result().ok(authorization);
result.setMsg(userDto.getRemark());
return result;
}
// 用户提交注册、正在等待审核
else if (AppUserAuditStateEnum.UNDER_AUDIT.value().equals(state)) {
authorization.setUserState(AppUserStateEnum.UNDER_AUDIT.value());
return new Result().ok(authorization);
}
// 用户已注册且审核通过,正常登录系统
else if (AppUserAuditStateEnum.AUDIT_SUCCESS.value().equals(state)) {
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class);
tokenDto.setUserId(userDto.getId());
authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), AppUserStateEnum.REGISTERED.value());
authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), userDto.getState());
return new Result().ok(authorization);
} else {
return new Result().error("Login failed");
Result result = new Result().ok(authorization);
// 已注册,未完善信息
if (AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value().equals(state)) {
result.setMsg(userDto.getRemark());
}
return result;
}
@Override
@ -603,7 +592,10 @@ public class AppUserServiceImpl implements AppUserService {
return new Result<EpdcAppAuthorizationDTO>().error(userResult.getMsg());
}
return this.dealWithUserRegisterState(userResult.getData(), openId, unionId);
// IP地址
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
return this.dealWithUserRegisterState(userResult.getData(), openId, unionId, IpUtils.getIpAddr(request));
}
/**
@ -614,37 +606,41 @@ public class AppUserServiceImpl implements AppUserService {
* @author liuchuang
* @since 2019/10/25 12:49
*/
private Result<EpdcAppAuthorizationDTO> dealWithUserRegisterState(EpdcUserRegisterInfoResultDTO userResult,
String openId, String unionId) {
private Result<EpdcAppAuthorizationDTO> dealWithUserRegisterState(EpdcUserRegisterInfoResultDTO userResult, String openId, String unionId, String ipAddress) {
EpdcUserRegisterBindGridFormDTO registerBindGridFormDto = new EpdcUserRegisterBindGridFormDTO();
// 用户注册状态 0-未注册未绑定网格,1-已注册未绑定当前网格,2-已注册已绑定当前网格
Integer registerState = userResult.getRegisterState();
UserDTO registeredUser = userResult.getUserDTO();
Long gridId = userResult.getGridId();
// 未注册
if (NumConstant.ZERO == userResult.getRegisterState()) {
if (NumConstant.ZERO == registerState) {
// 组装用户注册信息
registerBindGridFormDto.setRegisterState(NumConstant.ZERO);
registerBindGridFormDto.setUserDTO(this.packageUserInfo(openId, unionId));
registerBindGridFormDto.setUserDTO(this.packageUserInfo(openId, unionId, ipAddress));
}
// 已注册未绑定当前网格
else if (NumConstant.ONE == userResult.getRegisterState()) {
else if (NumConstant.ONE == registerState) {
registerBindGridFormDto.setRegisterState(NumConstant.ONE);
registerBindGridFormDto.setUserDTO(userResult.getUserDTO());
registerBindGridFormDto.setUserDTO(registeredUser);
}
// 用户注册或绑定网格
if (NumConstant.TWO != userResult.getRegisterState()) {
if (NumConstant.TWO != registerState) {
// 组装用户关联网格信息
registerBindGridFormDto.setGridRelationDTO(this.packageUserGridRelationInfo(userResult.getGridId()));
registerBindGridFormDto.setGridRelationDTO(this.packageUserGridRelationInfo(gridId));
// 用户并绑定网格
Result<EpdcUserRegisterInfoResultDTO> registerBindGridResultDto = userFeignClient.registerOrBindGrid(registerBindGridFormDto);
if (!registerBindGridResultDto.success()) {
return new Result<EpdcAppAuthorizationDTO>().error(registerBindGridResultDto.getMsg());
}
userResult = registerBindGridResultDto.getData();
registeredUser = userResult.getUserDTO();
}
// 已注册已绑定当前网格
TokenDto tokenDto = ConvertUtils.sourceToTarget(userResult.getUserDTO(), TokenDto.class);
tokenDto.setUserId(userResult.getUserDTO().getId());
EpdcAppAuthorizationDTO authorization = this.packageEpdcAppAuthorization(tokenDto, userResult.getGrid(), userResult.getUserDTO().getState());
TokenDto tokenDto = ConvertUtils.sourceToTarget(registeredUser, TokenDto.class);
tokenDto.setUserId(registeredUser.getId());
tokenDto.setGridId(gridId);
EpdcAppAuthorizationDTO authorization = this.packageEpdcAppAuthorization(tokenDto, userResult.getGrid(), registeredUser.getState());
return new Result<EpdcAppAuthorizationDTO>().ok(authorization);
}
@ -657,7 +653,7 @@ public class AppUserServiceImpl implements AppUserService {
* @author liuchuang
* @since 2019/10/24 18:16
*/
private UserDTO packageUserInfo(String openId, String unionId) {
private UserDTO packageUserInfo(String openId, String unionId, String ipAddress) {
UserDTO userDto = new UserDTO();
userDto.setWxOpenId(openId);
userDto.setWxUnionId(unionId);
@ -665,25 +661,25 @@ public class AppUserServiceImpl implements AppUserService {
userDto.setFaceImg(USER_FACE);
userDto.setState(AppUserStatesEnum.STATE_REGISTERED.value());
userDto.setPartyFlag(YesOrNoEnum.NO.value());
userDto.setLastLoginIp(ipAddress);
Date now = new Date();
userDto.setRegisterTime(now);
userDto.setLastLoginTime(now);
userDto.setRegisterWay(AppUserRegisterWayEnum.WX.value());
userDto.setRegisterSource(AppUserRegisterSourceEnum.WP.value());
// IP地址
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
userDto.setLastLoginIp(IpUtils.getIpAddr(request));
userDto.setRegisterSource(AppUserRegisterSourceEnum.WA.value());
return userDto;
}
@Override
public Result<EpdcAppAuthorizationDTO> completeUserInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO formDto) {
public Result<EpdcAppAuthorizationDTO> completeUserInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO infoDto) {
UserDTO userDto = ConvertUtils.sourceToTarget(infoDto, UserDTO.class);
// 党员提交,验证身份证号
if (YesOrNoEnum.YES.value().equals(formDto.getPartyFlag())) {
String identityNo = formDto.getIdentityNo();
if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) {
String identityNo = userDto.getIdentityNo();
if (StringUtils.isBlank(identityNo)) {
return new Result().error("身份证号不能为空");
} else {
@ -694,9 +690,9 @@ public class AppUserServiceImpl implements AppUserService {
}
}
// 验证手机号
this.checkSmsCode(formDto.getMobile(), formDto.getSmsCode());
this.checkSmsCode(userDto.getMobile(), infoDto.getSmsCode());
UserDTO userDto = ConvertUtils.sourceToTarget(formDto, UserDTO.class);
userDto.setId(tokenDto.getUserId());
// 验证用户提交的信息
Result verifyResult = userFeignClient.verifyUserCompleteData(userDto);
@ -708,19 +704,20 @@ public class AppUserServiceImpl implements AppUserService {
EpdcAppUserCompleteInfoFormDTO dto = new EpdcAppUserCompleteInfoFormDTO();
UserGridRelationDTO userGrid = this.packageUserGridRelationInfo(tokenDto.getGridId());
userDto = this.packageUserCompleteInfo(formDto, userDto);
userDto = this.packageUserCompleteInfo(userDto);
dto.setUserDto(userDto);
dto.setUserGridRelation(userGrid);
Result completeResult = userFeignClient.completeUserInfo(dto);
Result<UserDTO> completeResult = userFeignClient.completeUserInfo(dto);
if (!completeResult.success()) {
return new Result().error(completeResult.getMsg());
}
tokenDto.setRealName(userDto.getRealName());
tokenDto.setFaceImg(userDto.getFaceImg());
tokenDto.setNickname(userDto.getNickname());
UserDTO user = completeResult.getData();
tokenDto.setRealName(user.getRealName());
tokenDto.setNickname(user.getNickname());
tokenDto.setMobile(user.getMobile());
tokenDto.setPartyFlag(user.getPartyFlag());
EpdcAppAuthorizationDTO authorizationDto = this.packageEpdcAppAuthorization(tokenDto, userGrid.getGrid(), userDto.getState());
return new Result().ok(authorizationDto);
@ -738,27 +735,18 @@ public class AppUserServiceImpl implements AppUserService {
return new Result().error("获取用户信息失败");
}
private UserDTO packageUserCompleteInfo(EpdcCompleteUserInfoFormDTO formDto, UserDTO userDto) {
WxMaJscode2SessionResult wxMaUser = this.getWxMaUser(formDto.getWxCode());
WxMaUserInfo wxMaUserInfo = wxMaService.getUserService()
.getUserInfo(wxMaUser.getSessionKey(), formDto.getEncryptedData(), formDto.getIv());
private UserDTO packageUserCompleteInfo(UserDTO userDto) {
if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) {
userDto.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
userDto.setSex(IdentityNoUtils.getSex(userDto.getIdentityNo()));
userDto.setNickname(
userDto.getRoad().concat("-").concat(userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE))
.concat(NumConstant.ZERO_STR.equals(userDto.getSex()) ? "女士" : "先生"));
userDto.setBirthday(DateUtils.parse(IdentityNoUtils.getBirthday(userDto.getIdentityNo()), DateUtils.DATE_PATTERN));
userDto.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
} else {
userDto.setSex(wxMaUserInfo.getGender());
userDto.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value());
}
userDto.setNickname(
formDto.getRoad().concat("-").concat(formDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE))
.concat(NumConstant.ZERO_STR.equals(userDto.getSex()) ? "女士" : "先生")
);
userDto.setFaceImg(wxMaUserInfo.getAvatarUrl());
userDto.setWxUnionId(wxMaUserInfo.getUnionId());
PhoneDto phoneDto = PhoneUtil.getPhoneDto(userDto.getMobile());
if (phoneDto != null) {
@ -832,11 +820,10 @@ public class AppUserServiceImpl implements AppUserService {
}
/**
*
* 根据微信code获取session_key
*
* @params [code]
* @return java.lang.String
* @params [code]
* @author liuchuang
* @since 2019/10/25 16:31
*/

43
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStateEnum.java

@ -1,43 +0,0 @@
package com.elink.esua.epdc.enums;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
/**
* 用户状态枚举
* 项目二期所有的审核状态统一使用枚举类{@link AppUserStatesEnum}的枚举项
*
* @author yujintao
* @email yujintao@elink-cn.com
* @date 2019/9/7 10:50
*/
@Deprecated
public enum AppUserStateEnum {
/**
* 0已注册
*/
REGISTERED(NumConstant.ZERO_STR),
/**
* 1未注册需扫码
*/
UNREGISTERED(NumConstant.ONE_STR),
/**
* 2注册审核中
*/
UNDER_AUDIT(NumConstant.TWO_STR),
/**
* 3注册审核失败
*/
AUDIT_FAILURE(NumConstant.THREE_STR);
private String value;
AppUserStateEnum(String value) {
this.value = value;
}
public String value() {
return value;
}
}

8
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java

@ -3,7 +3,6 @@ package com.elink.esua.epdc.enums;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
/**
*
* 移动端用户状态枚举
*
* @Authorliuchuang
@ -29,7 +28,12 @@ public enum AppUserStatesEnum {
/**
* 信息审核通过
*/
STATE_INFORMATION_PASSED(NumConstant.THREE_STR);
STATE_INFORMATION_PASSED(NumConstant.THREE_STR),
/**
* 用户未注册
*/
STATE_NOT_REGISTERED(NumConstant.FOUR_STR);
private String value;

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java

@ -222,7 +222,7 @@ public class EpdcAppUserController {
* @date 2019/10/26 11:53
*/
@PostMapping("completeInfo")
public Result completeUserInfo(@RequestBody EpdcAppUserCompleteInfoFormDTO formDto) {
public Result<UserDTO> completeUserInfo(@RequestBody EpdcAppUserCompleteInfoFormDTO formDto) {
return userService.completeUserInfo(formDto);
}
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -183,5 +183,5 @@ public interface UserService extends BaseService<UserEntity> {
* @author work@yujt.net.cn
* @date 2019/10/26 11:53
*/
Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto);
Result<UserDTO> completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto);
}

58
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -159,15 +159,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
// 根据openId获取已提交注册的用户信息
wrapper.eq(UserFieldConsant.WX_OPEN_ID, openId)
.select(FieldConstant.ID, UserFieldConsant.NICKNAME, UserFieldConsant.FACE_IMG,
FieldConstant.MOBILE, UserFieldConsant.REAL_NAME,
FieldConstant.STATE, UserFieldConsant.GRID, FieldConstant.GRID_ID,
UserFieldConsant.PARTY_FLAG, UserFieldConsant.REMARK)
.orderByDesc(FieldConstant.CREATED_TIME);
List<UserEntity> userEntityList = this.baseDao.selectList(wrapper);
if (CollUtil.isNotEmpty(userEntityList)) {
UserEntity userEntity = userEntityList.get(NumConstant.ZERO);
return new Result().ok(ConvertUtils.sourceToTarget(userEntity, UserDTO.class));
UserEntity userEntity = this.baseDao.selectOne(wrapper);
if (null != userEntity) {
QueryWrapper<UserGridRelationEntity> ugWrapper = new QueryWrapper<>();
ugWrapper.eq(UserFieldConsant.USER_ID, userEntity.getId())
.orderByDesc(UserFieldConsant.SWITCHED_TIME);
List<UserGridRelationDTO> gridRelations = userGridRelationService.listUserGrid(userEntity.getId());
if (CollUtil.isNotEmpty(gridRelations)) {
UserDTO dto = ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
dto.setGridId(gridRelations.get(NumConstant.ZERO).getGridId());
dto.setGrid(gridRelations.get(NumConstant.ZERO).getGrid());
return new Result<UserDTO>().ok(dto);
}
}
return new Result();
}
@ -330,27 +334,32 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override
@Transactional(rollbackFor = Exception.class)
public Result<EpdcUserRegisterInfoResultDTO> saveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto) {
UserDTO formUserDto = fromDto.getUserDTO();
UserGridRelationDTO userGridRel = fromDto.getGridRelationDTO();
// 用户注册
if (NumConstant.ZERO == fromDto.getRegisterState()) {
UserEntity userEntity = ConvertUtils.sourceToTarget(fromDto.getUserDTO(), UserEntity.class);
UserEntity userEntity = ConvertUtils.sourceToTarget(formUserDto, UserEntity.class);
if (insert(userEntity)) {
fromDto.getUserDTO().setId(userEntity.getId());
fromDto.getGridRelationDTO().setUserId(userEntity.getId());
formUserDto.setId(userEntity.getId());
userGridRel.setUserId(userEntity.getId());
} else {
return new Result<EpdcUserRegisterInfoResultDTO>().error("用户注册失败");
}
} else {
fromDto.getGridRelationDTO().setUserId(fromDto.getUserDTO().getId());
userGridRel.setUserId(formUserDto.getId());
}
// 用户绑定网格
userGridRelationService.save(fromDto.getGridRelationDTO());
userGridRelationService.save(userGridRel);
// 组装用户注册信息
EpdcUserRegisterInfoResultDTO resultDto = new EpdcUserRegisterInfoResultDTO();
resultDto.setRegisterState(NumConstant.TWO);
resultDto.setGrid(fromDto.getGridRelationDTO().getGrid());
resultDto.setGridId(fromDto.getGridRelationDTO().getGridId());
resultDto.setUserDTO(fromDto.getUserDTO());
resultDto.setGrid(userGridRel.getGrid());
resultDto.setGridId(userGridRel.getGridId());
resultDto.setUserDTO(formUserDto);
return new Result<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
@ -392,10 +401,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override
@Transactional(rollbackFor = Exception.class)
public Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) {
public Result<UserDTO> completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) {
UserDTO userDto = formDto.getUserDto();
UserGridRelationDTO userGridRelation = formDto.getUserGridRelation();
if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) {
@ -414,6 +422,18 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
if (this.partyMembersDao.update(partyMembersEntity, partyUpdate) != NumConstant.ONE) {
throw new RenException("保存党员信息异常");
}
} else {
UserEntity oldEntity = this.baseDao.selectById(userDto.getId());
String sex = oldEntity.getSex();
if (StringUtils.isNotBlank(sex) && NumConstant.ZERO_STR.equals(sex)) {
userDto.setNickname(
userDto.getRoad().concat("-").concat(userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE))
.concat("女士"));
} else {
userDto.setNickname(
userDto.getRoad().concat("-").concat(userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE))
.concat("先生"));
}
}
UserEntity userEntity = ConvertUtils.sourceToTarget(userDto, UserEntity.class);
@ -422,6 +442,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
throw new RenException("保存用户信息异常");
}
return new Result();
return new Result().ok(userDto);
}
}
Loading…
Cancel
Save