From c98d9b34fb7d77383c1b8e5ec38e728590b5188a Mon Sep 17 00:00:00 2001 From: yujintao Date: Mon, 18 Nov 2019 15:17:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=B8=AA=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/commons/tools/enums/UserSexEnum.java | 38 +++++++++++ .../dto/form/EpdcCompleteUserInfoFormDTO.java | 6 ++ .../epdc/service/impl/AppUserServiceImpl.java | 3 - .../java/com/elink/esua/epdc/dto/UserDTO.java | 3 +- .../esua/epdc/enums/AppUserStatesEnum.java | 7 +- .../epdc/service/impl/UserServiceImpl.java | 64 ++++++++++--------- .../src/main/resources/mapper/UserDao.xml | 2 +- 7 files changed, 88 insertions(+), 35 deletions(-) create mode 100644 esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/UserSexEnum.java diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/UserSexEnum.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/UserSexEnum.java new file mode 100644 index 000000000..ddbbc8f23 --- /dev/null +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/enums/UserSexEnum.java @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + *

+ * https://www.renren.io + *

+ * 版权所有,侵权必究! + */ + +package com.elink.esua.epdc.commons.tools.enums; + +/** + * 用户性别 枚举类 + * + * @author work@yujt.net.cn + * @date 2019/11/18 14:30 + */ +public enum UserSexEnum { + + /** + * 男 + */ + MALE("1"), + + /** + * 女 + */ + FEMALE("0"); + + private String sex; + + UserSexEnum(String sex) { + this.sex = sex; + } + + public String sex() { + return sex; + } +} diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java index ab9640135..dfbc61f96 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/form/EpdcCompleteUserInfoFormDTO.java @@ -51,4 +51,10 @@ public class EpdcCompleteUserInfoFormDTO implements Serializable { * 住处(楼栋-单元-房间) */ private String dwellingPlace; + + /** + * 0女,1男 + */ + @NotBlank(message = "性别不能为空") + private String sex; } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java index b194fb544..0b2f1c825 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java @@ -750,9 +750,6 @@ public class AppUserServiceImpl implements AppUserService { if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) { dto.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value()); dto.setSex(IdentityNoUtils.getSex(identityNo)); - dto.setNickname( - road.concat("-").concat(dto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE)) - .concat(NumConstant.ZERO_STR.equals(dto.getSex()) ? "女士" : "先生")); dto.setBirthday(DateUtils.parse(IdentityNoUtils.getBirthday(identityNo), DateUtils.DATE_PATTERN)); } else { dto.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value()); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java index 00d6c2a51..271040877 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/UserDTO.java @@ -66,7 +66,8 @@ public class UserDTO implements Serializable { private String faceImg; /** - * 性别(女性-female,男性-male) + * 性别(女性-0,男性-1) + * {@link com.elink.esua.epdc.commons.tools.enums.UserSexEnum} */ private String sex; diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java index 5272a76bd..866183e1e 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/enums/AppUserStatesEnum.java @@ -33,7 +33,12 @@ public enum AppUserStatesEnum { /** * 用户未注册 */ - STATE_NOT_REGISTERED(NumConstant.FOUR_STR); + STATE_NOT_REGISTERED(NumConstant.FOUR_STR), + + /** + * 用户认证党员失败 + */ + PARTY_MEMBER_AUTHENTICATION_FAILED(NumConstant.FIVE_STR); private String value; diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java index 441c36db3..58b849898 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java @@ -24,12 +24,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.NumConstant; +import com.elink.esua.epdc.commons.tools.enums.UserSexEnum; import com.elink.esua.epdc.commons.tools.enums.YesOrNoEnum; import com.elink.esua.epdc.commons.tools.exception.RenException; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.constant.UserFieldConsant; +import com.elink.esua.epdc.dao.PartyAuthenticationFailedDao; import com.elink.esua.epdc.dao.PartyMembersDao; import com.elink.esua.epdc.dao.UserDao; import com.elink.esua.epdc.dto.UserDTO; @@ -43,6 +45,7 @@ import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO; import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO; import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO; +import com.elink.esua.epdc.entity.PartyAuthenticationFailedEntity; import com.elink.esua.epdc.entity.PartyMembersEntity; import com.elink.esua.epdc.entity.UserEntity; import com.elink.esua.epdc.entity.UserGridRelationEntity; @@ -411,14 +414,6 @@ public class UserServiceImpl extends BaseServiceImpl implem } if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) { - QueryWrapper partyWrapper = new QueryWrapper<>(); - partyWrapper.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo()) - .eq(UserFieldConsant.REAL_NAME, userDto.getRealName()); - selectCount = this.partyMembersDao.selectCount(partyWrapper); - if (selectCount != NumConstant.ONE) { - return new Result().error("无法匹配党员信息"); - } - userWrapper = new QueryWrapper<>(); userWrapper.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo()) .ne(FieldConstant.ID, userId); @@ -431,6 +426,9 @@ public class UserServiceImpl extends BaseServiceImpl implem return new Result().ok(userEntity.getState()); } + @Autowired + private PartyAuthenticationFailedDao partyAuthenticationFailedDao; + @Override @Transactional(rollbackFor = Exception.class) public Result completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) { @@ -440,9 +438,6 @@ public class UserServiceImpl extends BaseServiceImpl implem UserGridRelationDTO userGridRelation = formDto.getUserGridRelation(); UserEntity oldEntity = this.baseDao.selectById(userDto.getId()); - String nicknamePrefix = "网格长-"; - // 姓 - String lastName = userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE); if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) { PartyMembersEntity partyMembersEntity = new PartyMembersEntity(); @@ -454,30 +449,41 @@ public class UserServiceImpl extends BaseServiceImpl implem partyMembersEntity.setGridName(userGridRelation.getGrid()); partyMembersEntity.setRegistFlag(YesOrNoEnum.YES.value()); - UpdateWrapper partyUpdate = new UpdateWrapper<>(); - partyUpdate.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo()) + QueryWrapper partyWrapper = new QueryWrapper<>(); + partyWrapper.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo()) .eq(UserFieldConsant.REAL_NAME, userDto.getRealName()); - - if (this.partyMembersDao.update(partyMembersEntity, partyUpdate) != NumConstant.ONE) { - throw new RenException("保存党员信息异常"); - } - if (oldEntity.getNickname().startsWith(nicknamePrefix)) { - userDto.setNickname(nicknamePrefix.concat(lastName).concat(NumConstant.ZERO_STR.equals(userDto.getSex()) ? "女士" : "先生")); + int selectCount = this.partyMembersDao.selectCount(partyWrapper); + + if (selectCount == NumConstant.ZERO) { + // 党员库中没有,存进党员认证失败表 + PartyAuthenticationFailedEntity authenticationFailedEntity = ConvertUtils.sourceToTarget(partyMembersEntity, PartyAuthenticationFailedEntity.class); + authenticationFailedEntity.setState(Integer.parseInt(YesOrNoEnum.NO.value())); + authenticationFailedEntity.setAddress(userDto.getAddress()); + partyAuthenticationFailedDao.insert(authenticationFailedEntity); + + userDto.setState(AppUserStatesEnum.PARTY_MEMBER_AUTHENTICATION_FAILED.value()); + }else { + UpdateWrapper partyUpdate = new UpdateWrapper<>(); + partyUpdate.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo()) + .eq(UserFieldConsant.REAL_NAME, userDto.getRealName()); + + this.partyMembersDao.update(partyMembersEntity, partyUpdate); } + } else { if (oldEntity.getState().equals(AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value())) { userDto.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value()); } - String sex = oldEntity.getSex(); - userDto.setSex(sex); - if (!oldEntity.getNickname().startsWith(nicknamePrefix)) { - nicknamePrefix = userDto.getRoad().concat("-"); - } - if (StringUtils.isNotBlank(sex) && NumConstant.ZERO_STR.equals(sex)) { - userDto.setNickname(nicknamePrefix.concat(lastName).concat("女士")); - } else { - userDto.setNickname(nicknamePrefix.concat(lastName).concat("先生")); - } + } + + String nicknamePrefix = "网格长-"; + // 姓 + String lastName = userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE); + if (oldEntity.getNickname().startsWith(nicknamePrefix)) { + userDto.setNickname(nicknamePrefix.concat(lastName).concat(UserSexEnum.FEMALE.sex().equals(userDto.getSex()) ? "女士" : "先生")); + }else { + userDto.setNickname( + userDto.getRoad().concat("-").concat(lastName).concat(UserSexEnum.FEMALE.sex().equals(userDto.getSex()) ? "女士" : "先生")); } UserEntity userEntity = ConvertUtils.sourceToTarget(userDto, UserEntity.class); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml index 00c33957c..1938249af 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml @@ -61,13 +61,13 @@ LIMIT 1