diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMemberModifyFormDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMemberModifyFormDTO.java new file mode 100644 index 000000000..1feaf4d4c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/PartyMemberModifyFormDTO.java @@ -0,0 +1,57 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author:liuchuang + * @Date:2020/3/24 19:39 + */ +@Data +public class PartyMemberModifyFormDTO implements Serializable { + + /** + * 用户ID + */ + @NotBlank(message = "用户ID不能为空") + private String userId; + + /** + * 用户状态 + */ + private String state; + + /** + * 党员标识 + */ + private String partyFlag; + + /** + * 备注 + */ + private String remark; + + /** + * 真实姓名 + */ + @NotBlank(message = "姓名不能为空") + private String realName; + + /** + * 手机号 + */ + private String mobile; + + /** + * 身份证号 + */ + @NotBlank(message = "身份证号不能为空") + private String identityNo; + + /** + * 党员ID + */ + private String partyMemberId; +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java index 3f864a4e8..3c092d052 100755 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java @@ -82,7 +82,7 @@ public class PartyMembersController { @GetMapping("{id}") public Result get(@PathVariable("id") String id) { PartyMembersDTO data = partyMembersService.get(id); - if (data.getTagIds() != null) { + if (null != data && data.getTagIds() != null) { data.setTagIdsNew(data.getTagIds().split(",")); } return new Result().ok(data); diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java index 7f3492389..1b1b69596 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java @@ -26,11 +26,13 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.dto.PartyMemberModifyFormDTO; import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcUserPointsFormDTO; import com.elink.esua.epdc.enums.AppUserStatesEnum; import com.elink.esua.epdc.excel.UserExcel; import com.elink.esua.epdc.service.UserService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -60,6 +62,22 @@ public class UserController { return new Result>().ok(page); } + /** + * + * 待认证党员列表 + * + * @params [params] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author liuchuang + * @since 2020/3/24 15:47 + */ + @GetMapping("waitPartyPage") + @DataFilter(tableAlias = "u", isPendingCreator = false, deptId = "DEPT_ID", prefix = "AND") + public Result> waitPartyPage(@RequestParam Map params) { + PageData page = userService.waitPartyPage(params); + return new Result>().ok(page); + } + @GetMapping("{id}") public Result get(@PathVariable("id") String id) { UserDTO data = userService.get(id); @@ -103,6 +121,57 @@ public class UserController { return new Result(); } + /** + * + * 党员认证 + * + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2020/3/24 15:58 + */ + @PostMapping("partyReview") + public Result partyReview(@RequestBody UserDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + return userService.partyReview(dto); + } + + /** + * + * 党员认证通过并更新党员库信息 + * + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2020/3/24 19:38 + */ + @PostMapping("updatePartyInfo") + public Result updatePartyInfo(@RequestBody PartyMemberModifyFormDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + if (StringUtils.isEmpty(dto.getPartyMemberId())) { + return new Result().error("党员ID不能为空"); + } + return userService.modifyPartyInfo(dto); + } + + /** + * + * 新增党员信息并认证通过 + * + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2020/3/25 14:31 + */ + @PostMapping("insertPartyInfo") + public Result insertPartyInfo(@RequestBody PartyMemberModifyFormDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + return userService.addPartyInfo(dto); + } + @DeleteMapping public Result delete(@RequestBody String[] ids) { //效验数据 @@ -132,6 +201,22 @@ public class UserController { ExcelUtils.exportExcelToTarget(response, fileName, list, UserExcel.class); } + /** + * + * 待认证党员导出 + * + * @params [params, response] + * @return void + * @author liuchuang + * @since 2020/3/24 16:00 + */ + @GetMapping("exportWaitParty") + @DataFilter(tableAlias = "u", isPendingCreator = false, deptId = "DEPT_ID", prefix = "AND") + public void exportWaitParty(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = userService.listOfWaitParty(params); + ExcelUtils.exportExcelToTarget(response, "待认证党员", list, UserExcel.class); + } + /*** * 未认证导出 * @param params 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 0a15c7bb6..5a53924d3 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 @@ -100,6 +100,17 @@ public interface UserDao extends BaseDao { */ List selectListUserDto(Map params); + /** + * + * 待认证党员 + * + * @params [params] + * @return java.util.List + * @author liuchuang + * @since 2020/3/23 15:59 + */ + List selectListOfWaitPartyUserDto(Map params); + /** * 获取居民详情(已认证或待认证(提交信息待审核)的居民用户) * @@ -219,4 +230,15 @@ public interface UserDao extends BaseDao { */ List selectAuthenticatedListUserDto(Map params); + /** + * + * 待认证居民 + * + * @params [params] + * @return java.util.List + * @author liuchuang + * @since 2020/4/1 18:26 + */ + List selectWaitAuthenticatedListUserDto(Map params); + } 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 1a9f6a16c..3dacb6903 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 @@ -20,6 +20,8 @@ package com.elink.esua.epdc.service; import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.PartyMemberModifyFormDTO; +import com.elink.esua.epdc.dto.PartyMembersDTO; import com.elink.esua.epdc.dto.CachingUserInfoDTO; import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.epdc.form.*; @@ -41,8 +43,30 @@ public interface UserService extends BaseService { PageData page(Map params); + /** + * + * 待认证党员列表 + * + * @params [params] + * @return com.elink.esua.epdc.commons.tools.page.PageData + * @author liuchuang + * @since 2020/3/23 15:57 + */ + PageData waitPartyPage(Map params); + List list(Map params); + /** + * + * 待认证党员导出 + * + * @params [params] + * @return java.util.List + * @author liuchuang + * @since 2020/3/23 16:25 + */ + List listOfWaitParty(Map params); + UserDTO get(String id); void save(UserDTO dto); @@ -53,6 +77,39 @@ public interface UserService extends BaseService { void audit(UserDTO dto); + /** + * + * 党员认证 + * + * @params [dto] + * @return void + * @author liuchuang + * @since 2020/3/23 17:56 + */ + Result> partyReview(UserDTO dto); + + /** + * + * 党员认证通过并更新党员库信息 + * + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2020/3/24 19:46 + */ + Result modifyPartyInfo(PartyMemberModifyFormDTO dto); + + /** + * + * 新增党员信息并认证通过 + * + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2020/3/25 14:33 + */ + Result addPartyInfo(PartyMemberModifyFormDTO dto); + /** * 根据用户微信openId获取用户信息 * diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java index a8bb0b4ab..0eff4f157 100755 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java @@ -172,7 +172,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl implem return new PageData<>(userDtoList, iPage.getTotal()); } + @Override + public PageData waitPartyPage(Map params) { + this.verifyParams(params); + IPage iPage = this.getPage(params); + List userDtoList = this.baseDao.selectListOfWaitPartyUserDto(params); + return new PageData<>(userDtoList, iPage.getTotal()); + } + @Override public List list(Map params) { this.verifyParams(params); @@ -165,6 +172,12 @@ public class UserServiceImpl extends BaseServiceImpl implem } } + @Override + public List listOfWaitParty(Map params) { + this.verifyParams(params); + return this.baseDao.selectListOfWaitPartyUserDto(params); + } + private Map verifyParams(Map params) { String[] paramKeys = new String[]{"realName", "identityNo", "nickname", FieldConstant.MOBILE_HUMP}; @@ -210,37 +223,181 @@ public class UserServiceImpl extends BaseServiceImpl implem @Override @Transactional(rollbackFor = Exception.class) public void audit(UserDTO dto) { + + String userId = dto.getId(); + UserEntity findUser = this.baseDao.selectById(userId); + // 手动认证为党员 + if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) { + // 校验是否为党员 + checkUserInfoForPartyMember(findUser); + } + // createdTime作为提交注册时间,registerTime作为注册审核时间(即注册时间) + dto.setRegisterTime(new Date()); //先删除以前审核未通过的那条数据 UserEntity entity = ConvertUtils.sourceToTarget(dto, UserEntity.class); + updateById(entity); + // 组装数据并插入用户认证历史表 + saveUserAuthenticateHistory(findUser, dto.getPartyFlag(), dto.getRemark(), dto.getState()); + // 修改党员库信息 + if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) { + updatePartyMember(findUser, dto.getRegisterTime()); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result> partyReview(UserDTO dto) { + this.verifyUserInfo(dto); + UserEntity findUser = this.baseDao.selectById(dto.getId()); + dto.setState(NumConstant.THREE_STR); + // 手动认证为党员 + if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) { + // 校验是党员库是否存在相同的身份证号或者姓名 + boolean isParty = getPartyMemberByRealNameAndIdentityNo(dto.getRealName(), dto.getIdentityNo()); + if (!isParty) { + Result> result = getPartyMemberByRealNameOrIdentityNo(dto.getRealName(), dto.getIdentityNo()); + if (result.getCode() != 0) { + return result; + } else { + // 插入党员库 + insertPartyMember(dto); + } + } + } // createdTime作为提交注册时间,registerTime作为注册审核时间(即注册时间) - entity.setRegisterTime(new Date()); + dto.setRegisterTime(new Date()); + //先删除以前审核未通过的那条数据 + UserEntity entity = ConvertUtils.sourceToTarget(dto, UserEntity.class); updateById(entity); - /*JSONArray jsonArray = JSON.parseArray(dto.getTagIds()); - for (int i = 0; i < jsonArray.size(); i++) { - String tagId = jsonArray.getString(i); - UserTagRelationDTO userTagRelationDTO = new UserTagRelationDTO(); - userTagRelationDTO.setUserId(entity.getId()); - userTagRelationDTO.setTagId(tagId); - userTagRelationService.save(userTagRelationDTO); - }*/ - //组装数据并插入用户认证历史表(epdc_user_authenticate_history) - UserEntity userEntity = this.baseDao.selectById(entity.getId()); + // 组装数据并插入用户认证历史表 + findUser.setMobile(dto.getMobile()); + findUser.setRealName(dto.getRealName()); + saveUserAuthenticateHistory(findUser, dto.getPartyFlag(), dto.getRemark(), dto.getState()); + // 修改党员库信息 + if (YesOrNoEnum.YES.value().equals(dto.getPartyFlag())) { + updatePartyMember(findUser, dto.getRegisterTime()); + } + + return new Result<>(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result modifyPartyInfo(PartyMemberModifyFormDTO dto) { + // 更新党员库信息 + PartyMembersEntity entity = new PartyMembersEntity(); + entity.setId(dto.getPartyMemberId()); + entity.setRealName(dto.getRealName()); + entity.setIdentityNo(dto.getIdentityNo()); + partyMembersDao.updateById(entity); + + // 用户认证党员信息通过 + UserDTO userDTO = ConvertUtils.sourceToTarget(dto, UserDTO.class); + userDTO.setId(dto.getUserId()); + userDTO.setPartyFlag(YesOrNoEnum.YES.value()); + this.partyReview(userDTO); + + return new Result(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Result addPartyInfo(PartyMemberModifyFormDTO dto) { + // 新增党员库信息 + PartyMembersEntity entity = new PartyMembersEntity(); + entity.setRealName(dto.getRealName()); + entity.setIdentityNo(dto.getIdentityNo()); + entity.setRegistFlag(PartyMemberRegFlagEnum.NO.getValue()); + partyMembersDao.insert(entity); + + // 用户认证党员信息通过 + UserDTO userDTO = ConvertUtils.sourceToTarget(dto, UserDTO.class); + userDTO.setId(dto.getUserId()); + userDTO.setPartyFlag(YesOrNoEnum.YES.value()); + this.partyReview(userDTO); + + return new Result(); + } + + /** + * 更新党员库信息 + * + * @param findUser 用户信息 + * @param registerTime 认证时间 + * @return void + * @author work@yujt.net.cn + * @date 2020/2/5 17:50 + */ + private void updatePartyMember(UserEntity findUser, Date registerTime) { + PartyMembersEntity partyMembersEntity = new PartyMembersEntity(); + partyMembersEntity.setRegistFlag(PartyMemberRegFlagEnum.MANUAL.getValue()); + partyMembersEntity.setDeptId(findUser.getDeptId()); + // 已认证党员列表,数据权限匹配的字段是grid_id。至于dept_id,暂时没用 @202002061021 + partyMembersEntity.setGridId(findUser.getDeptId()); + partyMembersEntity.setAllDeptIds(findUser.getAllDeptIds()); + partyMembersEntity.setAllDeptNames(findUser.getAllDeptNames()); + partyMembersEntity.setParentDeptIds(findUser.getParentDeptIds()); + partyMembersEntity.setParentDeptNames(findUser.getParentDeptNames()); + partyMembersEntity.setMobile(findUser.getMobile()); + partyMembersEntity.setRegistTime(registerTime); + + UpdateWrapper partyUpdate = new UpdateWrapper<>(); + partyUpdate.eq(UserFieldConsant.IDENTITY_NO, findUser.getIdentityNo()) + .eq(UserFieldConsant.REAL_NAME, findUser.getRealName()); + this.partyMembersDao.update(partyMembersEntity, partyUpdate); + } + + /** + * 组装数据并插入用户认证历史表(epdc_user_authenticate_history) + * + * @param userEntity 用户信息 + * @param partyFlag 是否党员 + * @param remark 审核备注 + * @param userState 审核状态 + * @return void + * @author work@yujt.net.cn + * @date 2020/2/5 17:49 + */ + private void saveUserAuthenticateHistory(UserEntity userEntity, String partyFlag, String remark, String userState) { + // 组装数据并插入用户认证历史表(epdc_user_authenticate_history) UserAuthenticateHistoryEntity userAuthenticateHistoryEntity = new UserAuthenticateHistoryEntity(); userAuthenticateHistoryEntity.setUserId(userEntity.getId()); userAuthenticateHistoryEntity.setMobile(userEntity.getMobile()); userAuthenticateHistoryEntity.setRealName(userEntity.getRealName()); userAuthenticateHistoryEntity.setAddress(userEntity.getAddress()); - userAuthenticateHistoryEntity.setAuthenticatedFlag(userEntity.getState());//状态(0-已注册,1-已完善信息待审核,2-信息审核不通过,3-信息审核通过) - if (NumConstant.THREE_STR.equals(entity.getState())) { - userAuthenticateHistoryEntity.setAuthenticatedFlag(YesOrNoEnum.YES.value()); - } else { - userAuthenticateHistoryEntity.setAuthenticatedFlag(YesOrNoEnum.NO.value()); - } - userAuthenticateHistoryEntity.setRemark(dto.getRemark()); - userAuthenticateHistoryEntity.setAuthenticatedType(AuthenticatedConsant.partyAuth); // 新维护的 认证类别(0-居民认证,1-党员认证,2-志愿者认证) + userAuthenticateHistoryEntity.setRemark(remark); + // 状态(0-已注册,1-已完善信息待审核,2-信息审核不通过,3-信息审核通过) + userAuthenticateHistoryEntity.setAuthenticatedFlag( + AppUserStatesEnum.STATE_INFORMATION_PASSED.value().equals(userState) ? + YesOrNoEnum.YES.value() : YesOrNoEnum.NO.value()); + // 新维护的 认证类别(0-居民认证,1-党员认证,2-志愿者认证) + userAuthenticateHistoryEntity.setAuthenticatedType(YesOrNoEnum.YES.equals(partyFlag) + ? AuthenticatedConsant.partyAuth : AuthenticatedConsant.userAuth); userAuthenticateHistoryDao.insert(userAuthenticateHistoryEntity); } + /** + * 校验用户是否有匹配的党员信息 + * + * @param userEntity 用户信息 + * @return void + * @author work@yujt.net.cn + * @date 2020/2/5 17:49 + */ + private void checkUserInfoForPartyMember(UserEntity userEntity) { + // 手动认证为党员 + if (StringUtils.isBlank(userEntity.getIdentityNo())) { + throw new RenException("该用户未完善身份证号码"); + } + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(UserFieldConsant.IDENTITY_NO, userEntity.getIdentityNo()) + .eq(UserFieldConsant.REAL_NAME, userEntity.getRealName()); + Integer count = this.partyMembersDao.selectCount(wrapper); + if (count == NumConstant.ZERO) { + throw new RenException("党员库中无此人信息"); + } + } + @Override public Result getUserForLoginByOpenId(String openId) { @@ -1397,9 +1554,114 @@ public class UserServiceImpl extends BaseServiceImpl implem } this.verifyParams(params); // 查询当前用户所具有的的数据权限 - IPage iPage = this.getPage(params); - List userDtoList = this.baseDao.selectAuthenticatedListUserDto(params); - return new PageData<>(userDtoList, iPage.getTotal()); + if (NumConstant.ONE_STR.equals(params.get("state").toString())) { + IPage iPage = this.getPage(params); + List userDtoList = this.baseDao.selectWaitAuthenticatedListUserDto(params); + return new PageData<>(userDtoList, iPage.getTotal()); + } else { + IPage iPage = this.getPage(params); + List userDtoList = this.baseDao.selectAuthenticatedListUserDto(params); + return new PageData<>(userDtoList, iPage.getTotal()); + } + } + + /** + * + * 用户信息校验 + * + * @params [dto] + * @return com.elink.esua.epdc.dto.UserDTO + * @author liuchuang + * @since 2020/3/23 18:23 + */ + private UserDTO verifyUserInfo(UserDTO dto) { + if (StringUtils.isBlank(dto.getRealName()) && StringUtils.isBlank(dto.getRealName().trim())) { + throw new RenException("用户姓名不能为空"); + } + if (StringUtils.isBlank(dto.getMobile()) && StringUtils.isBlank(dto.getMobile().trim())) { + throw new RenException("手机号不能为空"); + } + if (StringUtils.isBlank(dto.getIdentityNo()) && StringUtils.isBlank(dto.getIdentityNo().trim())) { + throw new RenException("身份证号不能为空"); + } + dto.setRealName(dto.getRealName().trim()); + dto.setMobile(dto.getMobile().trim()); + dto.setIdentityNo(dto.getIdentityNo().trim()); + + return dto; + } + + /** + * + * 获取党员信息 + * + * @params [realName, identityNo] + * @return boolean + * @author liuchuang + * @since 2020/3/23 18:30 + */ + private boolean getPartyMemberByRealNameAndIdentityNo(String realName, String identityNo) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo) + .eq(UserFieldConsant.REAL_NAME, realName); + Integer count = this.partyMembersDao.selectCount(wrapper); + return count != NumConstant.ZERO; + } + + /** + * + * 获取党员信息 + * + * @params [realName, identityNo] + * @return java.util.List + * @author liuchuang + * @since 2020/3/23 18:35 + */ + private Result> getPartyMemberByRealNameOrIdentityNo(String realName, String identityNo) { + List partyMembersEntities = null; + List data = null; + Result> result = new Result<>(); + + // 根据身份证号查询党员库 + QueryWrapper identityNoWrapper = new QueryWrapper<>(); + identityNoWrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo); + partyMembersEntities = this.partyMembersDao.selectList(identityNoWrapper); + if (null != partyMembersEntities && partyMembersEntities.size() > 0) { + data = ConvertUtils.sourceToTarget(partyMembersEntities, PartyMembersDTO.class); + result.setCode(NumConstant.ONE); + result.setData(data); + return result; + } + // 根据姓名查询党员库 + QueryWrapper realNameWrapper = new QueryWrapper<>(); + realNameWrapper.eq(UserFieldConsant.REAL_NAME, realName); + partyMembersEntities = this.partyMembersDao.selectList(realNameWrapper); + if (null != partyMembersEntities && partyMembersEntities.size() > 0) { + data = ConvertUtils.sourceToTarget(partyMembersEntities, PartyMembersDTO.class); + result.setCode(NumConstant.TWO); + result.setData(data); + return result; + } + + return new Result<>(); + } + + /** + * + * 新增党员信息 + * + * @params [dto, findUser] + * @return void + * @author liuchuang + * @since 2020/3/23 19:35 + */ + private void insertPartyMember(UserDTO dto) { + PartyMembersEntity entity = new PartyMembersEntity(); + entity.setRealName(dto.getRealName()); + entity.setIdentityNo(dto.getIdentityNo()); + entity.setRegistFlag(PartyMemberRegFlagEnum.MANUAL.getValue()); + + partyMembersDao.insert(entity); } } 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 d2cb3a20a..51dc1cb6b 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 @@ -66,6 +66,7 @@ u.MOBILE, u.REGISTER_TIME, u.CREATED_TIME, + u.UPDATED_TIME, IDENTITY_NO, ADDRESS, STATE, @@ -77,6 +78,7 @@ LEFT JOIN epdc_user_grid_relation ug ON u.ID = ug.USER_ID where u.del_flag = '0' + and (u.IDENTITY_NO is null or u.IDENTITY_NO = '') and u.CREATED_TIME between #{startTime} and #{endTime} and u.state = #{state} and u.real_name like '%${realName}%' @@ -101,6 +103,44 @@ ORDER BY u.register_time desc + @@ -538,4 +578,46 @@ ORDER BY u.register_time desc + +