diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java
index 24bb7ac73..4e135c8a6 100644
--- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java
+++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/ModuleUtils.java
@@ -2,6 +2,7 @@ package com.elink.esua.epdc.commons.tools.utils;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import java.util.UUID;
@@ -43,4 +44,28 @@ public class ModuleUtils {
return UUID.randomUUID().toString().replace("-", "");
}
+
+ /**
+ * 替换字符串中的非法字符,包括空格,换行,回车,制表符
+ *
主要适用于身份证号和姓名
+ *
+ * @param str 目标字符串
+ * @return java.lang.String
+ * @author work@yujt.net.cn
+ * @date 2020/2/25 14:31
+ */
+ public static String replaceIllegalCharacter(String str) {
+ if (StringUtils.isNotEmpty(str)) {
+ // 空格
+ str = str.trim().replaceAll(" ", "");
+ // 回车符
+ str = str.replaceAll("\r", "");
+ // 另起一行
+ str = str.replaceAll("\n", "");
+ // 制表符
+ str = str.replaceAll("\t", "");
+ }
+ return str;
+ }
+
}
diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
index 963b22a2b..32e46bd75 100644
--- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
+++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
@@ -66,6 +66,7 @@ public interface UserFeignClient {
* @author work@yujt.net.cn
* @date 2019/9/21 11:07
*/
+ @Deprecated
@GetMapping(value = "app-user/epdc-app/user/verify", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result verifyUserRegisterData(EpdcUserRegistFormDTO formDto);
@@ -186,7 +187,7 @@ public interface UserFeignClient {
* 获取网格长管理的网格列表
*
* @param userId
- * @return com.elink.esua.epdc.commons.tools.utils.Result>
+ * @return com.elink.esua.epdc.commons.tools.utils.Result>
* @author work@yujt.net.cn
* @date 2019/10/23 13:34
*/
@@ -197,8 +198,8 @@ public interface UserFeignClient {
/**
* 查询用户注册状态
*
+ * @param fromDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
- * @params [fromDto]
* @author liuchuang
* @since 2019/10/25 10:50
*/
@@ -288,7 +289,7 @@ public interface UserFeignClient {
/**
* @param formDTO
- * @return com.elink.esua.epdc.commons.tools.utils.Result>
+ * @return com.elink.esua.epdc.commons.tools.utils.Result>
* @Author yinzuomei
* @Description 用户认证审核历史
* @Date 2019/11/22 13:17
@@ -309,7 +310,7 @@ public interface UserFeignClient {
/**
* 获取邀请记录
*
- * @return com.elink.esua.epdc.commons.tools.utils.Result>
+ * @return com.elink.esua.epdc.commons.tools.utils.Result>
* @author work@yujt.net.cn
* @date 2019/10/23 13:34
*/
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 a9a8fd4dc..3717e35ac 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
@@ -664,21 +664,7 @@ public class AppUserServiceImpl implements AppUserService {
WxMaJscode2SessionResult wxMaResult = this.getWxMaUser(formDto.getWxCode());
String openId = wxMaResult.getOpenid();
String unionId = wxMaResult.getUnionid();
-// if (null == formDto.getGridId()) {
-// // 获取用户绑定网格信息
-// Result dtoResult = userFeignClient.getUserLastSwitchGrid(openId);
-// if (!dtoResult.success()) {
-// return new Result().error(dtoResult.getMsg());
-// }
-// EpdcUserRegisterInfoResultDTO userDto = dtoResult.getData();
-// if (userDto.getRegisterState() != NumConstant.TWO) {
-// EpdcAppAuthorizationDTO resultDto = new EpdcAppAuthorizationDTO();
-// resultDto.setUserState(NumConstant.FIVE_STR);
-// return new Result().ok(resultDto);
-// } else {
-// formDto.setGridId(userDto.getGridId());
-// }
-// }
+
// 查询当前微信注册状态
EpdcCheckUserRegisterFromDTO checkFromDto = new EpdcCheckUserRegisterFromDTO();
checkFromDto.setOpenId(openId);
@@ -781,11 +767,10 @@ public class AppUserServiceImpl implements AppUserService {
public Result completeUserInfo(TokenDto tokenDto, EpdcCompleteUserInfoFormDTO infoDto) {
UserDTO userDto = ConvertUtils.sourceToTarget(infoDto, UserDTO.class);
- // 姓名去空格
- userDto.setRealName(infoDto.getRealName().trim());
- if (StringUtils.isBlank(infoDto.getIdentityNo())) {
- userDto.setIdentityNo(infoDto.getIdentityNo().trim());
- }
+ // 姓名身份证号去除特殊字符
+ userDto.setRealName(ModuleUtils.replaceIllegalCharacter(infoDto.getRealName()));
+ userDto.setIdentityNo(ModuleUtils.replaceIllegalCharacter(infoDto.getIdentityNo()));
+
userDto.setDeptId(Long.valueOf(infoDto.getGridId()));
userDto.setId(tokenDto.getUserId());
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
index e60b1c027..7c42cf0b8 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
@@ -166,6 +166,7 @@ public class EpdcAppUserController {
* @author work@yujt.net.cn
* @date 2019/9/21 11:03
*/
+ @Deprecated
@GetMapping("verify")
public Result verifyUserRegisterData(@RequestBody EpdcUserRegistFormDTO formDto) {
return userService.verifyUserRegisterData(formDto);
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
index 664a84a27..8567fe190 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/UserDao.java
@@ -19,6 +19,7 @@ package com.elink.esua.epdc.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.UserDTO;
+import com.elink.esua.epdc.dto.epdc.form.EpdcAppQueryUserInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUnauthorizedAmountFromDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcWorkUserFromDTO;
@@ -161,8 +162,19 @@ public interface UserDao extends BaseDao {
* @param gridIdList
* @return java.util.List
* @Author yinzuomei
- * @Description 根据网格id查询网格下所有的用户
+ * @Description 根据网格id查询网格下所有的用户
* @Date 2019/12/19 15:05
**/
- List selectListGridUserResultDTO(@Param("gridIdList") List gridIdList);
+ List selectListGridUserResultDTO(@Param("gridIdList") List gridIdList);
+
+ /**
+ * 小程序用户登录getToken接口用,获取用户基本信息。因为用户和网格时一对多关系,所有返回为集合
+ *
+ * @param wxOpenId
+ * @param wxUnionId
+ * @return java.util.List
+ * @author work@yujt.net.cn
+ * @date 2020/2/25 13:54
+ */
+ List selectListUserByWxForLogin(@Param("wxOpenId") String wxOpenId, @Param("wxUnionId") String wxUnionId);
}
diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
index d039c7d5a..5b9d53ef1 100644
--- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
+++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
@@ -120,6 +120,7 @@ public interface UserService extends BaseService {
* @author work@yujt.net.cn
* @date 2019/9/21 11:04
*/
+ @Deprecated
Result verifyUserRegisterData(EpdcUserRegistFormDTO formDto);
/**
@@ -130,6 +131,7 @@ public interface UserService extends BaseService {
* @author work@yujt.net.cn
* @date 2019/9/24 13:57
*/
+ @Deprecated
Result getUserForLoginByOpenId(String openId);
/**
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 dd481639b..3bef2e02b 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,6 +24,8 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.elink.esua.epdc.commons.mybatis.enums.DelFlagEnum;
+import com.elink.esua.epdc.commons.mybatis.enums.EpdcDelFlagEnum;
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;
@@ -70,6 +72,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
+import javax.validation.constraints.NotBlank;
import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -99,6 +102,9 @@ public class UserServiceImpl extends BaseServiceImpl implem
@Autowired
private UserInvitationRecordService userInvitationRecordService;
+ @Autowired
+ private PartyMembersService partyMembersService;
+
@Autowired
private AdminFeignClient adminFeignClient;
@Autowired
@@ -446,46 +452,71 @@ public class UserServiceImpl extends BaseServiceImpl implem
@Override
public Result checkUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto) {
- UserDTO userDto = this.selectUserByWxInfo(fromDto.getOpenId(), fromDto.getWxUnionId());
-
-// QueryWrapper wrapper = new QueryWrapper<>();
-// wrapper.eq(UserFieldConsant.WX_OPEN_ID, fromDto.getOpenId())
-// .select(FieldConstant.ID, UserFieldConsant.NICKNAME, UserFieldConsant.FACE_IMG,
-// FieldConstant.MOBILE, UserFieldConsant.REAL_NAME,
-// FieldConstant.STATE, UserFieldConsant.PARTY_FLAG, UserFieldConsant.REMARK)
-// .orderByDesc(FieldConstant.CREATED_TIME);
-// List userEntityList = this.baseDao.selectList(wrapper);
-
+ // 当前网格id
+ Long gridId = fromDto.getGridId();
+ // 当前用户
+ UserDTO userDto = null;
+ // 当前用户id
+ String userId = null;
+ // 当前用户扫码过的所有网格id
+ List gridIdList = Lists.newArrayList();
+
+ // 查询当前用户信息
+ List userList = baseDao.selectListUserByWxForLogin(fromDto.getOpenId(), fromDto.getWxUnionId());
+ if (CollUtil.isNotEmpty(userList)) {
+ userDto = userList.get(NumConstant.ZERO);
+ userId = userDto.getId();
+ // 循环集合,确保集合中都是同一个用户的信息
+ for (UserDTO oneUserDto : userList) {
+ if (!userId.equals(oneUserDto.getId())) {
+ throw new RenException("用户信息异常,无法匹配唯一用户");
+ }
+ gridIdList.add(oneUserDto.getGridId());
+ }
+ }
+ // 组装接口返回结果
EpdcUserRegisterInfoResultDTO resultDto = new EpdcUserRegisterInfoResultDTO();
- resultDto.setGridId(fromDto.getGridId());
- // 已注册
+ resultDto.setGridId(gridId);
+ // 用户已注册
if (null != userDto) {
resultDto.setUserDTO(userDto);
- // 获取用户关联当前网格信息
- UserGridRelationDTO relationInfo = userGridRelationService.getUserRelationInfo(userDto.getId(), fromDto.getGridId());
- // 未绑定当前网格
- if (null == relationInfo) {
- resultDto.setRegisterState(NumConstant.ONE);
- }
// 已绑定当前网格
- else {
+ if (gridIdList.contains(gridId)) {
resultDto.setRegisterState(NumConstant.TWO);
- resultDto.setGrid(relationInfo.getGrid());
+ resultDto.setGrid(userDto.getGrid());
// 更新最后一次切换网格时间
- UserGridRelationEntity userGridRelationEntity = new UserGridRelationEntity();
- userGridRelationEntity.setId(relationInfo.getId());
- userGridRelationEntity.setSwitchedTime(new Date());
- userGridRelationService.updateById(userGridRelationEntity);
+ updateGridSwitchedTime(userId, gridId);
+ } else {
+ resultDto.setRegisterState(NumConstant.ONE);
}
}
// 未注册
else {
resultDto.setRegisterState(NumConstant.ZERO);
}
-
return new Result().ok(resultDto);
}
+ /**
+ * 用户网格关系表,更新最后访问网格的时间
+ *
+ * @param userId 用户id
+ * @param gridId 网格id
+ * @return void
+ * @author work@yujt.net.cn
+ * @date 2020/2/26 14:59
+ */
+ private void updateGridSwitchedTime(String userId, Long gridId) {
+ UpdateWrapper wrapper = new UpdateWrapper<>();
+ wrapper.eq(FieldConstant.GRID_ID, gridId)
+ .eq(UserFieldConsant.USER_ID, userId);
+
+ UserGridRelationEntity entity = new UserGridRelationEntity();
+ entity.setSwitchedTime(new Date());
+
+ userGridRelationService.update(entity, wrapper);
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
public Result saveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto) {
@@ -544,28 +575,9 @@ public class UserServiceImpl extends BaseServiceImpl implem
String userId = userDto.getId();
String mobile = userDto.getMobile();
- UserEntity userEntity = this.selectById(userId);
- if (null == userEntity) {
- return new Result().error("匹配用户失败");
- }
-
- QueryWrapper userWrapper = new QueryWrapper<>();
- userWrapper.eq(FieldConstant.MOBILE, mobile)
- .ne(FieldConstant.ID, userId);
- Integer selectCount = this.baseDao.selectCount(userWrapper);
- if (selectCount > NumConstant.ZERO) {
- return new Result().error("手机号已被注册");
- }
- //党员都需要查重
- if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) {
- userWrapper = new QueryWrapper<>();
- userWrapper.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo())
- .ne(FieldConstant.ID, userId);
- selectCount = this.baseDao.selectCount(userWrapper);
- if (selectCount > NumConstant.ZERO) {
- return new Result().error("身份证号已被注册");
- }
- }
+ UserEntity userEntity = selectUserForCheck(userId,
+ YesOrNoEnum.YES.value().equals(userDto.getPartyFlag()) ? userDto.getIdentityNo() : null,
+ mobile);
return new Result().ok(userEntity.getState());
}
@@ -823,29 +835,19 @@ public class UserServiceImpl extends BaseServiceImpl implem
}
/**
- * @param formDTO
+ * @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @Author yinzuomei
* @Description 获取用户信息 合并上面的getByUnionId、getForLogin方法
* @Date 2019/12/7 13:58
**/
@Override
- public Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDTO) {
- UserDTO userDto = this.selectUserByWxInfo(formDTO.getOpenId(), formDTO.getUnionId());
- if (null != userDto) {
- QueryWrapper ugWrapper = new QueryWrapper<>();
- ugWrapper.eq(UserFieldConsant.USER_ID, userDto.getId())
- .orderByDesc(UserFieldConsant.SWITCHED_TIME);
- List gridRelations = userGridRelationService.listUserGrid(userDto.getId());
- if (CollUtil.isNotEmpty(gridRelations)) {
- userDto.setGridId(gridRelations.get(NumConstant.ZERO).getGridId());
- userDto.setGrid(gridRelations.get(NumConstant.ZERO).getGrid());
- return new Result().ok(userDto);
- }
- }
- return new Result();
+ public Result queryUserDto(EpdcAppQueryUserInfoFormDTO formDto) {
+ UserDTO user = selectUserByWxInfo(formDto.getOpenId(), formDto.getUnionId());
+ return new Result().ok(user);
}
+
/**
* @param gridIdList
* @return com.elink.esua.epdc.commons.tools.utils.Result>
@@ -872,56 +874,79 @@ public class UserServiceImpl extends BaseServiceImpl implem
if (StringUtils.isBlank(openId)) {
throw new RenException("openId不能为空");
}
- QueryWrapper wrapper = new QueryWrapper<>();
- UserEntity userEntity = null;
- if (StringUtils.isNotBlank(unionId)) {
- wrapper.eq(UserFieldConsant.WX_UNION_ID, unionId);
- userEntity = this.baseDao.selectOne(wrapper);
+ List userList = baseDao.selectListUserByWxForLogin(openId, unionId);
+ if (CollUtil.isEmpty(userList)) {
+ return null;
}
- if (null == userEntity) {
- wrapper = new QueryWrapper<>();
- wrapper.eq(UserFieldConsant.WX_OPEN_ID, openId)
- .orderByDesc(FieldConstant.CREATED_TIME);
- userEntity = this.baseDao.selectOne(wrapper);
+ UserDTO user = userList.get(NumConstant.ZERO);
+ if (userList.size() > NumConstant.ONE) {
+ String userId = user.getId();
+ // 循环集合,确保集合中都是同一个用户的信息
+ for (UserDTO oneUserDto : userList) {
+ if (!userId.equals(oneUserDto.getId())) {
+ throw new RenException("用户信息异常,无法匹配唯一用户");
+ }
+ }
}
- return ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
+ return user;
}
- private int countOthersByMobile(String mobile, String userId, boolean isVaild) {
- QueryWrapper userWrapper = new QueryWrapper<>();
- userWrapper.eq(FieldConstant.MOBILE, mobile).ne(FieldConstant.ID, userId);
- Integer count = this.baseDao.selectCount(userWrapper);
- if (isVaild && count > NumConstant.ZERO) {
- throw new RenException("手机号已被注册");
+ /**
+ * 通过用户id,身份证号,手机号匹配用户,并校验手机号或身份证号是否被占用
+ *
+ * @param userId 用户id,不能为空
+ * @param identityNo 身份证号,可为空
+ * @param mobile 手机号码,可为空
+ * @return com.elink.esua.epdc.entity.UserEntity
+ * @author work@yujt.net.cn
+ * @date 2020/2/25 15:05
+ */
+ private UserEntity selectUserForCheck(String userId, String identityNo, String mobile) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ // del_flag = '0' and (id = ? or identity_no = ? or mobile = ?)
+ queryWrapper.eq(FieldConstant.DEL_FLAG, EpdcDelFlagEnum.NORMAL.value())
+ .and(i -> i.eq(FieldConstant.ID, userId)
+ .or()
+ .eq(StringUtils.isNotBlank(identityNo), UserFieldConsant.IDENTITY_NO, identityNo)
+ .or()
+ .eq(StringUtils.isNotBlank(mobile), FieldConstant.MOBILE, mobile));
+ List userEntityList = baseDao.selectList(queryWrapper);
+ if (CollUtil.isEmpty(userEntityList)) {
+ throw new RenException("查询用户信息失败");
}
- return count;
- }
-
- private int countOthersByIdentityNo(String identityNo, String userId, boolean isVaild) {
- QueryWrapper userWrapper = new QueryWrapper<>();
- userWrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo).ne(FieldConstant.ID, userId);
- Integer count = this.baseDao.selectCount(userWrapper);
- if (isVaild && count > NumConstant.ZERO) {
- throw new RenException("身份证号已被注册");
+ if (userEntityList.size() > NumConstant.ONE) {
+ if (StringUtils.isNotBlank(mobile)) {
+ for (UserEntity entity : userEntityList) {
+ if (!userId.equals(entity.getId())) {
+ if (StringUtils.isNotBlank(entity.getMobile()) && mobile.equals(entity.getMobile())) {
+ throw new RenException("手机号码已被注册");
+ }
+ }
+ }
+ }
+ throw new RenException("身份证号码已被注册");
}
- return count;
+ return userEntityList.get(NumConstant.ZERO);
}
+
@Override
@Transactional(rollbackFor = Exception.class)
public Result createPidemicInfo(EpdcAppPidemicCompleteInfoFromDTO completeInfoFromDto) {
String userId = completeInfoFromDto.getUserId();
- // 更新用户信息
- UserEntity userEntity = selectById(userId);
- if (null == userEntity) {
- return new Result().error("查询用户信息失败");
+ String identityNo = ModuleUtils.replaceIllegalCharacter(completeInfoFromDto.getIdcard()).toUpperCase();
+ // 身份证号不合法,置空
+ if (StringUtils.isNotBlank(IdentityNoUtils.IdentityNoVerification(identityNo))) {
+ identityNo = null;
}
- String identityNo = completeInfoFromDto.getIdcard().trim().toUpperCase();
- String realName = completeInfoFromDto.getName().trim();
+ String realName = ModuleUtils.replaceIllegalCharacter(completeInfoFromDto.getName());
+
+ // 更新用户信息
+ UserEntity userEntity = selectUserForCheck(userId, identityNo, completeInfoFromDto.getPhone());
if (userEntity.getPartyFlag().equals(YesOrNoEnum.YES.value())) {
if (!(userEntity.getIdentityNo().equals(identityNo) && userEntity.getRealName().equals(realName))) {
@@ -929,15 +954,15 @@ public class UserServiceImpl extends BaseServiceImpl implem
}
}
- countOthersByIdentityNo(identityNo, userId, true);
- countOthersByMobile(completeInfoFromDto.getPhone(), userId, true);
-
UserEntity updateUser = new UserEntity();
updateUser.setId(userId);
updateUser.setRealName(realName);
- updateUser.setIdentityNo(identityNo);
- updateUser.setSex(IdentityNoUtils.getSex(identityNo));
- updateUser.setBirthday(DateUtils.parse(IdentityNoUtils.getBirthday(identityNo), DateUtils.DATE_PATTERN));
+ // 有效的身份证号码
+ if (StringUtils.isNotBlank(identityNo)) {
+ updateUser.setIdentityNo(identityNo);
+ updateUser.setSex(IdentityNoUtils.getSex(identityNo));
+ updateUser.setBirthday(DateUtils.parse(IdentityNoUtils.getBirthday(identityNo), DateUtils.DATE_PATTERN));
+ }
updateUser.setMobile(completeInfoFromDto.getPhone());
updateUser.setAddress(completeInfoFromDto.getHabitationDetail());
updateUser.setRentFlag(completeInfoFromDto.getIsRent());
@@ -953,7 +978,10 @@ public class UserServiceImpl extends BaseServiceImpl implem
updateUser.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
String lastName = updateUser.getRealName().substring(NumConstant.ZERO, NumConstant.ONE);
updateUser.setLastName(lastName);
- updateUser.setNickname(deptInfo.getGrid().concat("-").concat(lastName).concat(UserSexEnum.FEMALE.sex().equals(updateUser.getSex()) ? "女士" : "先生"));
+ // 有身份证号码,能判断出性别,进行修改昵称
+ if (StringUtils.isNotBlank(identityNo)) {
+ updateUser.setNickname(deptInfo.getGrid().concat("-").concat(lastName).concat(UserSexEnum.FEMALE.sex().equals(updateUser.getSex()) ? "女士" : "先生"));
+ }
updateUser.setDeptId(gridId);
updateUser.setAllDeptIds(deptInfo.getAllDeptIds());
updateUser.setAllDeptNames(deptInfo.getAllDeptNames());
@@ -963,7 +991,7 @@ public class UserServiceImpl extends BaseServiceImpl implem
this.updateById(updateUser);
- String carNum = completeInfoFromDto.getCarNum();
+ String carNum = ModuleUtils.replaceIllegalCharacter(completeInfoFromDto.getCarNum()).toUpperCase();
if (YesOrNoEnum.YES.value().equals(completeInfoFromDto.getIsDriver())
&& StringUtils.isNotBlank(carNum)) {
@@ -985,9 +1013,6 @@ public class UserServiceImpl extends BaseServiceImpl implem
return new Result();
}
- @Autowired
- private PartyMembersService partyMembersService;
-
/***
* 临时生成注册党员
* @param file
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 42330c870..b9b7250c1 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
@@ -382,4 +382,18 @@
+
+