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 3c7ca69ba..832b4b513 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 @@ -218,6 +218,9 @@ public interface UserFeignClient { @GetMapping("app-user/epdc-app/user/checkUserRegister") Result getUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto); + @GetMapping("app-user/epdc-app/user/checkNamUserRegister") + Result getNamUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto); + /** * 用户注册或绑定网格 * @@ -229,6 +232,9 @@ public interface UserFeignClient { @PostMapping("app-user/epdc-app/user/registerOrBindGrid") Result registerOrBindGrid(EpdcUserRegisterBindGridFormDTO formDto); + @PostMapping("app-user/epdc-app/user/namRegisterOrBindGrid") + Result namRegisterOrBindGrid(EpdcUserRegisterBindGridFormDTO formDto); + /** * 更新用户微信信息 *

在完善个人信息时进行更新微信信息,不再单独更新。

diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java index 7fc40db2d..15bc31676 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java @@ -111,11 +111,21 @@ public class UserFeignClientFallback implements UserFeignClient { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "getUserRegisterState", fromDto); } + @Override + public Result getNamUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "checkNamUserRegister", fromDto); + } + @Override public Result registerOrBindGrid(EpdcUserRegisterBindGridFormDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "registerOrBindGrid", formDto); } + @Override + public Result namRegisterOrBindGrid(EpdcUserRegisterBindGridFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "namRegisterOrBindGrid", formDto); + } + @Override public Result updateWxInfo(UserDTO userDTO) { return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateWxInfo", userDTO); 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 99d6eecf8..6357a23be 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 @@ -786,21 +786,18 @@ public class AppUserServiceImpl implements AppUserService { @Override public Result getNMaV2Token(EpdcAppUserRegisterFormDTO formDto) { WxMaJscode2SessionResult wxMaResult = this.getNMPWxUser(formDto.getWxCode()); - String openId = wxMaResult.getOpenid(); - String unionId = wxMaResult.getUnionid(); - // 查询当前微信注册状态 EpdcCheckUserRegisterFromDTO checkFromDto = new EpdcCheckUserRegisterFromDTO(); - checkFromDto.setOpenId(openId); - checkFromDto.setWxUnionId(unionId); + checkFromDto.setOpenId(wxMaResult.getOpenid()); + checkFromDto.setWxUnionId(wxMaResult.getUnionid()); checkFromDto.setGridId(formDto.getGridId()); - Result userResult = userFeignClient.getUserRegisterState(checkFromDto); + Result userResult = userFeignClient.getNamUserRegisterState(checkFromDto); if (!userResult.success()) { return new Result().error(userResult.getMsg()); } // IP地址 HttpServletRequest request = HttpContextUtils.getHttpServletRequest(); - Result result = this.dealWithUserRegisterState(userResult.getData(), openId, unionId, IpUtils.getIpAddr(request), formDto.getInviteUserId(), formDto.getGridId()); + Result result = npmDealWithUserRegisterState(userResult.getData(), wxMaResult.getOpenid(), wxMaResult.getUnionid(), IpUtils.getIpAddr(request), formDto.getInviteUserId(), formDto.getGridId()); return result; } @@ -863,7 +860,7 @@ public class AppUserServiceImpl implements AppUserService { // 用户注册或绑定网格 if (NumConstant.TWO != registerState) { // 组装用户关联网格信息 - registerBindGridFormDto.setGridRelationDTO(this.packageUserGridRelationInfo(gridId)); + registerBindGridFormDto.setGridRelationDTO(packageUserGridRelationInfo(gridId)); registerBindGridFormDto.setInviteUserId(inviteUserId); // 用户并绑定网格 Result registerBindGridResultDto = userFeignClient.registerOrBindGrid(registerBindGridFormDto); @@ -889,6 +886,52 @@ public class AppUserServiceImpl implements AppUserService { return new Result().ok(authorization); } + private Result npmDealWithUserRegisterState(EpdcUserRegisterInfoResultDTO userResult, String openId, String unionId, String ipAddress, String inviteUserId, Long currentGridId) { + EpdcUserRegisterBindGridFormDTO registerBindGridFormDto = new EpdcUserRegisterBindGridFormDTO(); + // 用户注册状态 0-未注册未绑定网格,1-已注册未绑定当前网格,2-已注册已绑定当前网格 + Integer registerState = userResult.getRegisterState(); + UserDTO registeredUser = userResult.getUserDTO(); + Long gridId = userResult.getGridId(); + + if (NumConstant.ZERO == registerState) {// 未注册,组装用户注册信息 + registerBindGridFormDto.setRegisterState(NumConstant.ZERO); + registeredUser = packageUserInfo(openId, unionId, ipAddress); + gridId = currentGridId; + registeredUser.setDeptId(currentGridId); + registerBindGridFormDto.setUserDTO(registeredUser); + } else if (NumConstant.ONE == registerState) {// 已注册未绑定当前网格 + registerBindGridFormDto.setRegisterState(NumConstant.ONE); + registerBindGridFormDto.setUserDTO(registeredUser); + } + + if (NumConstant.TWO != registerState) {// 用户注册或绑定网格 + // 组装用户关联网格信息 + registerBindGridFormDto.setGridRelationDTO(packageUserGridRelationInfo(gridId)); + registerBindGridFormDto.setInviteUserId(inviteUserId); + // 用户并绑定网格 + Result registerBindGridResultDto = userFeignClient.namRegisterOrBindGrid(registerBindGridFormDto); + if (!registerBindGridResultDto.success()) { + return new Result().error(registerBindGridResultDto.getMsg()); + } + userResult = registerBindGridResultDto.getData(); + registeredUser = userResult.getUserDTO(); + // 用户已认证为党员,绑定网格时加入该网格党员群 + if (NumConstant.ONE_STR.equals(registeredUser.getPartyFlag())) { + UserGridRelationDTO userGridRelationDto = new UserGridRelationDTO(); + userGridRelationDto.setGridId(userResult.getGridId()); + this.joinGridPartyGroup(registeredUser, Collections.singletonList(userGridRelationDto), NumConstant.ZERO_STR); + } + } + + // 已注册已绑定当前网格 + 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().ok(authorization); + } + /** * 组装用户注册信息 * @@ -1352,8 +1395,7 @@ public class AppUserServiceImpl implements AppUserService { */ private void joinGridPartyGroup(UserDTO userDto, List userGridList, String lordFlag) { List formDTOList = new ArrayList<>(userGridList.size()); - for (UserGridRelationDTO dto : - userGridList) { + for (UserGridRelationDTO dto : userGridList) { GroupUserFormDTO formDto = new GroupUserFormDTO(); formDto.setUserId(userDto.getId()); formDto.setNickname(userDto.getNickname()); @@ -1365,7 +1407,6 @@ public class AppUserServiceImpl implements AppUserService { formDto.setGridId(dto.getGridId()); formDTOList.add(formDto); } - groupFeignClient.joinGridPartyGroup(formDTOList); // groupTask.joinGridPartyGroup(formDto); } @@ -1599,7 +1640,7 @@ public class AppUserServiceImpl implements AppUserService { @Override public Result npmUserUpdate(EpdcUserNpmRegisterFormDTO formDto) { - UserDTO userDTO = generateUserDTO(formDto); + UserDTO userDTO = generateNpmUserDTO(formDto); //更新头像 if (StringUtils.isNotEmpty(formDto.getFaceImg()) && !formDto.getFaceImg().equals(userDTO.getFaceImg())) { userDTO.setFaceImg(formDto.getFaceImg()); @@ -1607,7 +1648,7 @@ public class AppUserServiceImpl implements AppUserService { return userFeignClient.npmUserUpdate(userDTO); } - private UserDTO generateNpmUserDTO(EpdcUserNpmRegisterFormDTO formDto){ + private UserDTO generateNpmUserDTO(EpdcUserNpmRegisterFormDTO formDto) { EpdcUserRegistFormDTO epdcUserRegistFormDTO = ConvertUtils.sourceToTarget(formDto, EpdcUserRegistFormDTO.class); epdcUserRegistFormDTO.setRoad(""); if (null != formDto.getCouplingCommunity()) { diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java index 1dc559db0..789d2dc8b 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java @@ -233,6 +233,11 @@ public class EpdcAppUserController { return userService.checkUserRegisterState(fromDto); } + @GetMapping("checkNamUserRegister") + public Result checkNamUserRegister(@RequestBody EpdcCheckUserRegisterFromDTO fromDto) { + return userService.checkNamUserRegisterState(fromDto); + } + /** * 用户注册或绑定网格 * @@ -246,6 +251,11 @@ public class EpdcAppUserController { return userService.saveUserOrBindGrid(fromDto); } + @PostMapping("namRegisterOrBindGrid") + public Result namRegisterOrBindGrid(@RequestBody EpdcUserRegisterBindGridFormDTO fromDto) { + return userService.namSaveUserOrBindGrid(fromDto); + } + /** * 更新用户微信信息 * diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java index 5f77cd336..820e9c05e 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java @@ -192,6 +192,10 @@ public interface UserDao extends BaseDao { */ List selectListUserByWxForLogin(@Param("wxOpenId") String wxOpenId, @Param("wxUnionId") String wxUnionId); + + List selectUserByWxForLogin(@Param("wxOpenId") String wxOpenId, @Param("wxUnionId") String wxUnionId); + + /** * @param openId * @param unionId @@ -476,4 +480,8 @@ public interface UserDao extends BaseDao { * @return */ Integer selectCountByIdentityNo(String idCard); + + void updateNpmUserEntity(UserEntity entity); + + void saveEntity(UserEntity userEntity); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDjylDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDjylDao.java new file mode 100644 index 000000000..044f78d18 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDjylDao.java @@ -0,0 +1,15 @@ +package com.elink.esua.epdc.user.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.user.entity.UserDjylEntity; + +/** + * 党建引领用户信息表 + * + * @author yan Lu + * @description 描述 + * @create 2023/8/8 10:06 + */ + +public interface UserDjylDao extends BaseDao { +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/entity/UserDjylEntity.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/entity/UserDjylEntity.java new file mode 100644 index 000000000..c7260d1fc --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/entity/UserDjylEntity.java @@ -0,0 +1,284 @@ +package com.elink.esua.epdc.user.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.elink.esua.epdc.commons.mybatis.entity.DeptScope; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 党建引领用户信息表 + * @author yan Lu + * @description 描述 + * @create 2023/8/8 10:07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("epdc_user_djyl") +public class UserDjylEntity extends DeptScope { + + private static final long serialVersionUID = 1614112278854051304L; + + /** + * 昵称 + */ + private String nickname; + + /** + * 手机号 + */ + private String mobile; + + /** + * 密码 + */ + private String password; + + /** + * 注册时间 + */ + private Date registerTime; + + /** + * 头像 + */ + private String faceImg; + + /** + * 性别(女性-female,男性-male) + */ + private String sex; + + /** + * 生日 + */ + private Date birthday; + + /** + * 邮箱 + */ + private String email; + + /** + * 电话 + */ + private String telephone; + + /** + * 邮编 + */ + private String zipCode; + + /** + * 职业 + */ + private String profession; + + /** + * 爱好 + */ + private String hobbies; + + /** + * 个性签名 + */ + private String userSign; + + /** + * 邀请码 + */ + private String invitationCode; + + /** + * 最近登录时间 + */ + private Date lastLoginTime; + + /** + * 最近登录IP + */ + private String lastLoginIp; + + /** + * 最近登录位置经度 + */ + private String lastLongitude; + + /** + * 最近登录位置维度 + */ + private String lastLatitude; + + /** + * 真实姓名 + */ + private String realName; + + /** + * 身份证号 + */ + private String identityNo; + + /** + * 所在道路(如山东路168号) + */ + private String road; + + /** + * 小区名称 + */ + private String villageName; + + /** + * 住处(楼栋-单元-房间) + */ + private String dwellingPlace; + + /** + * 居民住址 + */ + private String address; + + /** + * 微信OPENID + */ + private String wxOpenId; + + /** + * 微信unionId + */ + private String wxUnionId; + + /** + * 是否是党员(0-否,1-是) + */ + private String partyFlag; + + /** + * 注册方式(wx:微信注册) + */ + private String registerWay; + + /** + * 用户来源(wp:公众号) + */ + private String registerSource; + + /** + * 手机号所属省份 + */ + private String mobileProvince; + + /** + * 手机号所属城市 + */ + private String mobileCity; + + /** + * 手机号所属运营商 + */ + private String mobileCarrier; + + /** + * 用户积分 + */ + private Integer points; + + /** + * 邀请人ID + */ + private String inviteUserId; + + /** + * 状态(0-未审核,1-审核通过,2-审核未通过) + */ + private String state; + + + /** + * 姓 + */ + private String lastName; + + /** + * 名 + */ + private String firstName; + + /** + * 审核备注 + */ + private String remark; + + /** + * 居住网格id + */ + private Long deptId; + + /** + * 父所有部门 + */ + private String parentDeptIds; + + /** + * 父所有部门 + */ + private String parentDeptNames; + + /** + * 所有部门ID + */ + private String allDeptIds; + + /** + * 所有部门名称 + */ + private String allDeptNames; + + /** + * 是否有车 + */ + private String rentFlag; + + /** + * 是否租房 + */ + private String driverFlag; + + + /** + * 活跃积分 + */ + private Integer activePoints; + + /** + * 工作单位 + */ + private String workUnit; + + /** + * 单位性质 + */ + private String workType; + + /** + * 工作单位行业 + */ + private String workIndustry; + + /** + * 是否居住在市北 + */ + private Integer shibei; + + /** + * 所属行业其他 + */ + private String workIndustryText; + + /** + * 包联单位 + */ + private String couplingCommunity; +} diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java index 42c032d0d..3f00b37e6 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java @@ -221,6 +221,9 @@ public interface UserService extends BaseService { */ Result checkUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto); + + Result checkNamUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto); + /** * 保存用户信息或关联网格信息 * @@ -231,6 +234,8 @@ public interface UserService extends BaseService { */ Result saveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto); + Result namSaveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto); + /** * 验证用户完善个人信息时提交的数据 * diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java index 3b9c5a150..9e9742514 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java @@ -75,6 +75,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; import java.io.File; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -93,7 +94,7 @@ public class UserServiceImpl extends BaseServiceImpl implem @Autowired private UserCarInfoService userCarInfoService; - @Autowired + @Resource private PartyMembersDao partyMembersDao; @Autowired @@ -105,30 +106,32 @@ public class UserServiceImpl extends BaseServiceImpl implem @Autowired private PartyMembersService partyMembersService; - @Autowired + @Resource private UserAuthenticateHistoryDao userAuthenticateHistoryDao; - @Autowired + @Resource private PartyAuthenticationFailedDao partyAuthenticationFailedDao; @Autowired private UserTagRelationService userTagRelationService; - @Autowired + @Resource private AdminFeignClient adminFeignClient; @Autowired private UserRedis userRedis; - @Autowired + @Resource private PointFeignClient pointFeignClient; - @Autowired + @Resource private PartyStandardBearerApplyDao partyStandardBearerApplyDao; @Autowired private PartyStandardBearerApplyService partyStandardBearerApplyService; + @Resource + private UserDjylDao djylDao; @Override @DataSource(value = DataSourceNames.FIRST) @@ -656,6 +659,48 @@ public class UserServiceImpl extends BaseServiceImpl implem return new Result().ok(resultDto); } + @Override + public Result checkNamUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto) { + Long gridId = fromDto.getGridId(); + UserDTO userDto = null; + String userId = null; + List gridIdList = null; + // 查询当前用户信息 + List userList = baseDao.selectUserByWxForLogin(fromDto.getOpenId(), fromDto.getWxUnionId()); + if (null != userList.get(NumConstant.ZERO)) { + 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(gridId); + // 用户已注册 + if (null != userDto) { + resultDto.setUserDTO(userDto); + // 已绑定当前网格 + if (gridIdList.contains(gridId)) { + resultDto.setRegisterState(NumConstant.TWO); + resultDto.setGrid(userDto.getGrid()); + // 更新最后一次切换网格时间 + updateGridSwitchedTime(userId, gridId); + } else { + resultDto.setRegisterState(NumConstant.ONE); + } + } + // 未注册 + else { + resultDto.setRegisterState(NumConstant.ZERO); + } + return new Result().ok(resultDto); + } + /** * 用户网格关系表,更新最后访问网格的时间 * @@ -679,11 +724,8 @@ public class UserServiceImpl extends BaseServiceImpl implem @Override @Transactional(rollbackFor = Exception.class) public Result saveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto) { - - UserDTO formUserDto = fromDto.getUserDTO(); UserGridRelationDTO userGridRel = fromDto.getGridRelationDTO(); - // 用户注册 if (NumConstant.ZERO == fromDto.getRegisterState()) { UserEntity userEntity = ConvertUtils.sourceToTarget(formUserDto, UserEntity.class); @@ -728,6 +770,55 @@ public class UserServiceImpl extends BaseServiceImpl implem return new Result().ok(resultDto); } + @Override + @Transactional(rollbackFor = Exception.class) + public Result namSaveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto) { + UserDTO formUserDto = fromDto.getUserDTO(); + UserGridRelationDTO userGridRel = fromDto.getGridRelationDTO(); + // 用户注册 + if (NumConstant.ZERO == fromDto.getRegisterState()) { + UserDjylEntity userEntity = ConvertUtils.sourceToTarget(formUserDto, UserDjylEntity.class); + if (djylDao.insert(userEntity) > 0) { + formUserDto.setId(userEntity.getId()); + } else { + return new Result().error("用户注册失败"); + } + } + userGridRel.setUserId(formUserDto.getId()); + //修改数据库结构 + Result parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(userGridRel.getGridId().toString()); + if (!parentAndAllDeptDTOResult.success()) { + return new Result().error(parentAndAllDeptDTOResult.getMsg()); + } + userGridRel.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames()); + userGridRel.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds()); + userGridRel.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames()); + userGridRel.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds()); + // 用户绑定网格 + userGridRelationService.save(userGridRel); + // 组装用户注册信息 + EpdcUserRegisterInfoResultDTO resultDto = new EpdcUserRegisterInfoResultDTO(); + resultDto.setRegisterState(NumConstant.TWO); + resultDto.setGrid(userGridRel.getGrid()); + resultDto.setGridId(userGridRel.getGridId()); + resultDto.setUserDTO(formUserDto); + + // 记录邀请记录 + if (StringUtils.isNotEmpty(fromDto.getInviteUserId())) { + UserInvitationRecordEntity entity = new UserInvitationRecordEntity(); + entity.setUserId(formUserDto.getId()); + entity.setInviteUserId(fromDto.getInviteUserId()); + // 获取用户信息 + UserDTO userDto = this.get(formUserDto.getId()); + entity.setRegisterTime(userDto.getRegisterTime()); + entity.setGrid(userGridRel.getGrid()); + entity.setGridId(userGridRel.getGridId()); + userInvitationRecordService.insert(entity); + } + + return new Result().ok(resultDto); + } + @Override @DataSource(value = DataSourceNames.FIRST) public Result verifyUserCompleteData(UserDTO userDto) { @@ -2106,9 +2197,9 @@ public class UserServiceImpl extends BaseServiceImpl implem return new Result().error(parentAndAllDeptDTOResult.getMsg()); } - UserEntity entity = ConvertUtils.sourceToTarget(userDto, UserEntity.class); + UserDjylEntity entity = ConvertUtils.sourceToTarget(userDto, UserDjylEntity.class); entity.setId(userDto.getUserId()); - baseDao.updateById(entity); + djylDao.updateById(entity); UserGridRelationEntity entity1 = new UserGridRelationEntity(); entity1.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds()); 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 b1a8d7200..730c22907 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 @@ -347,7 +347,7 @@ ) AS AUTHENTICATED_FLAG FROM epdc_user u - where u.DEL_FLAG = '0' + where u.DEL_FLAG = '0' and date_format( u.CREATED_TIME, '%Y-%m-%d' ) > date_format( date_add( now( ), INTERVAL - 90 day), '%Y-%m-%d' ) AND u.DEPT_ID = #{gridId} @@ -439,11 +439,24 @@ WHERE u.DEL_FLAG = '0' AND u.WX_OPEN_ID = #{wxOpenId} - + ORDER BY ur.SWITCHED_TIME DESC + + @@ -720,7 +733,7 @@ AND DATE_FORMAT( u.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} and #{endTime} - and u.DEPT_ID IN + and u.DEPT_ID IN #{deptId} @@ -730,7 +743,7 @@ and u.identity_no like '%${identityNo}%' ) USER WHERE - 1 = 1 + 1 = 1 AND (find_in_set(#{streetId},USER.PARENT_DEPT_IDS) OR find_in_set(#{streetId},USER.ALL_DEPT_IDS)) @@ -820,7 +833,7 @@ LIMIT 1 ) AS AUTHENTICATED_FLAG, -- 认证标识 ifnull(if(u.DEPT_ID = 0, NULL, u.DEPT_ID), ( - SELECT GRID_ID FROM epdc_user_grid_relation + SELECT GRID_ID FROM epdc_user_grid_relation WHERE DEL_FLAG = '0' AND USER_ID = u.ID ORDER BY CREATED_TIME, @@ -829,11 +842,11 @@ )) AS DEPT_ID FROM epdc_user u - where u.DEL_FLAG = '0' + where u.DEL_FLAG = '0' and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime} - and u.DEPT_ID IN + and u.DEPT_ID IN #{deptId} @@ -974,70 +987,70 @@ - SELECT user.ID as userId, user.NICKNAME as nickname, @@ -1408,18 +1422,18 @@ u.PARENT_DEPT_IDS, u.ALL_DEPT_IDS, ( - SELECT AUTHENTICATED_TYPE - FROM epdc_user_authenticate_history - WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND USER_ID = u.ID ORDER BY CREATED_TIME DESC, id LIMIT 1 + SELECT AUTHENTICATED_TYPE + FROM epdc_user_authenticate_history + WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND USER_ID = u.ID ORDER BY CREATED_TIME DESC, id LIMIT 1 ) AS AUTHENTICATED_TYPE, ( - SELECT AUTHENTICATED_FLAG - FROM epdc_user_authenticate_history - WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND USER_ID = u.ID ORDER BY CREATED_TIME DESC , id LIMIT 1 + SELECT AUTHENTICATED_FLAG + FROM epdc_user_authenticate_history + WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND USER_ID = u.ID ORDER BY CREATED_TIME DESC , id LIMIT 1 ) AS AUTHENTICATED_FLAG FROM epdc_user u - where u.DEL_FLAG = '0' + where u.DEL_FLAG = '0' AND u.DEPT_ID = #{gridId} @@ -1446,7 +1460,8 @@ - SELECT user.ID as userId, user.NICKNAME as nickname, @@ -1471,24 +1486,24 @@ u.PARENT_DEPT_IDS, u.ALL_DEPT_IDS, ( - SELECT - AUTHENTICATED_TYPE - FROM epdc_user_authenticate_history - WHERE - DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND USER_ID = u.ID ORDER BY CREATED_TIME DESC, id LIMIT 1 + SELECT + AUTHENTICATED_TYPE + FROM epdc_user_authenticate_history + WHERE + DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND USER_ID = u.ID ORDER BY CREATED_TIME DESC, id LIMIT 1 ) AS AUTHENTICATED_TYPE, ( - SELECT - AUTHENTICATED_FLAG - FROM epdc_user_authenticate_history - WHERE - DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND USER_ID = u.ID ORDER BY CREATED_TIME DESC, id LIMIT 1 + SELECT + AUTHENTICATED_FLAG + FROM epdc_user_authenticate_history + WHERE + DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND USER_ID = u.ID ORDER BY CREATED_TIME DESC, id LIMIT 1 ) AS AUTHENTICATED_FLAG, ( - SELECT - count( id ) AS HistoryCount - FROM epdc_user_authenticate_history - WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND AUTHENTICATED_FLAG = '1' AND USER_ID = u.ID + SELECT + count( id ) AS HistoryCount + FROM epdc_user_authenticate_history + WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' ) AND AUTHENTICATED_FLAG = '1' AND USER_ID = u.ID ) AS HistoryCount FROM epdc_user u @@ -1507,14 +1522,16 @@ ) USER WHERE - ( ( USER.AUTHENTICATED_TYPE = '0' AND USER.AUTHENTICATED_FLAG = '1' ) OR ( USER.AUTHENTICATED_TYPE = '1' AND USER.AUTHENTICATED_FLAG = '0' AND USER.HistoryCount > 0 ) ) + ( ( USER.AUTHENTICATED_TYPE = '0' AND USER.AUTHENTICATED_FLAG = '1' ) OR ( USER.AUTHENTICATED_TYPE = '1' AND USER.AUTHENTICATED_FLAG + = '0' AND USER.HistoryCount > 0 ) ) ORDER BY USER.CREATED_TIME DESC LIMIT #{pageIndex},#{pageSize} - select ep.REGIST_TIME as registerTime, uu.ID as userId, @@ -1522,24 +1539,24 @@ uu.FACE_IMG as faceImg from (SELECT - epaf.REGIST_TIME, - epaf.CREATED_TIME, - epaf.USER_ID, - epaf.GRID_ID - FROM epdc_party_authentication_failed epaf - WHERE epaf.del_flag = '0' - - AND epaf.GRID_ID = #{gridId} - - - AND epaf.GRID_ID in - - #{item} - - - - - GROUP BY epaf.USER_ID HAVING epaf.CREATED_TIME = MAX(epaf.CREATED_TIME) ORDER BY epaf.CREATED_TIME desc + epaf.REGIST_TIME, + epaf.CREATED_TIME, + epaf.USER_ID, + epaf.GRID_ID + FROM epdc_party_authentication_failed epaf + WHERE epaf.del_flag = '0' + + AND epaf.GRID_ID = #{gridId} + + + AND epaf.GRID_ID in + + #{item} + + + + + GROUP BY epaf.USER_ID HAVING epaf.CREATED_TIME = MAX(epaf.CREATED_TIME) ORDER BY epaf.CREATED_TIME desc ) ep left join epdc_user uu on uu.ID = ep.USER_ID where uu.DEL_FLAG = '0' @@ -1832,34 +1849,34 @@ + + UPDATE esua_epdc_user.epdc_user_djyl + SET + `NICKNAME` = '卢先生', + `MOBILE` = '16619860778', + `PASSWORD` = '', + `REGISTER_TIME` = '2023-08-04 16:06:24', + `FACE_IMG` = 'wxfile://tmp_87ba503692d82d070db90b527bbed37c.jpg', + `SEX` = '1', `BIRTHDAY` = '1986-07-22', + `EMAIL` = '', + `TELEPHONE` = '', + `ZIP_CODE` = '', + `PROFESSION` = '', + `HOBBIES` = '', + `USER_SIGN` = '', + `INVITATION_CODE` = '', + `LAST_LOGIN_TIME` = '2023-08-04 16:06:24', + `LAST_LOGIN_IP` = '122.4.65.68', + `LAST_LONGITUDE` = '', + `LAST_LATITUDE` = '', + `REAL_NAME` = '卢岩', + `IDENTITY_NO` = '370829198607222512', + `ROAD` = '', + `VILLAGE_NAME` = '小港名城', + `DWELLING_PLACE` = '', + `ADDRESS` = '小港名城', + `WX_OPEN_ID` = 'oZCeb5Zt42Zb8PlJFdhPtnGF57Kk', + `WX_UNION_ID` = '', + `PARTY_FLAG` = '1', + `REGISTER_WAY` = 'wx', + `REGISTER_SOURCE` = 'wp', + `MOBILE_PROVINCE` = '', + `MOBILE_CITY` = '', + `MOBILE_CARRIER` = '', + `POINTS` = 0, + `ACTIVE_POINTS` = 0, + `INVITE_USER_ID` = '', + `STATE` = '0', + `DEL_FLAG` = '1', + `REVISION` = 0, + `CREATED_BY` = '', + `CREATED_TIME` = '2023-07-11 18:16:51', + `UPDATED_BY` = 'APP_USER', + `UPDATED_TIME` = '2023-08-04 16:06:24', + `LAST_NAME` = '', `FIRST_NAME` = '', + `REMARK` = '', + `DEPT_ID` = 1224132056492081153, + `PARENT_DEPT_IDS` = '', + `PARENT_DEPT_NAMES` = '', + `ALL_DEPT_IDS` = '', + `ALL_DEPT_NAMES` = '', + `RENT_FLAG` = '', + `DRIVER_FLAG` = '', + `WORK_UNIT` = '亿联', + `WORK_TYPE` = '私营企业', + `WORK_INDUSTRY` = '科技创新', + `SHIBEI` = 1, + `WORK_INDUSTRY_TEXT` = '', + `COUPLING_COMMUNITY` = '1175270520603930625,1202770845325680641,1202772237662642177,1224132056492081153' + WHERE `ID` = '6a1b5f8be4432ffb21f6b795aa6ce362'; + + + + + insert into epmet_user.user + ( + ID, + CUSTOMER_ID, + FROM_APP, + FROM_CLIENT, + DEL_FLAG, + REVISION, + CREATED_BY, + CREATED_TIME, + UPDATED_BY, + UPDATED_TIME + ) + values + ( + #{userId}, + (select dct.dict_value from esua_epdc_admin.sys_dict dct where dct.del_flag = 0 and dct.dict_type = 'dcp' and dct.pid != 0), + 'resi', + 'wxmp', + '0', + 0, + 'APP_USER', + NOW(), + 'APP_USER', + NOW() + ) + + diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDjlyDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDjlyDao.xml new file mode 100644 index 000000000..297ee76e8 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDjlyDao.xml @@ -0,0 +1,6 @@ + + + + + +