Browse Source

Merge remote-tracking branch 'origin/dev_1118' into dev_1118

feature/dangjian
liuchuang 6 years ago
parent
commit
b6085a10d7
  1. 20
      esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/CpUserDetailRedis.java
  2. 3
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java
  3. 4
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/UserFeignClient.java
  4. 2
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/UserFeignClientFallback.java
  5. 37
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  6. 5
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/EpdcCompleteAppUserDTO.java
  7. 25
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/EpdcAppUserController.java
  8. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  9. 230
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

20
esua-epdc/epdc-commons/epdc-common-clienttoken/src/main/java/com/elink/esua/epdc/common/token/util/CpUserDetailRedis.java

@ -40,6 +40,26 @@ public class CpUserDetailRedis {
redisUtils.hMSet(key, map, expire); redisUtils.hMSet(key, map, expire);
} }
/**
* 缓存用户信息不同于{@link CpUserDetailRedis#set(TokenDto, long)}之处在于存放进redis时拼接key的后缀可以自定义
*
* @param user 用户信息
* @param expire 超时时长
* @param redisKeySuffix redis的key的后缀
* @return void
* @author work@yujt.net.cn
* @date 2020/1/31 15:13
*/
public void set(TokenDto user, long expire, String redisKeySuffix) {
if (user == null) {
return;
}
String key = RedisKeys.getCpUserKey(redisKeySuffix);
//bean to map
Map<String, Object> map = BeanUtil.beanToMap(user, false, true);
redisUtils.hMSet(key, map, expire);
}
/** /**
* 获取token信息 * 获取token信息
* *

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

@ -60,11 +60,10 @@ public interface AdminFeignClient {
Result<GridLeaderRegisterDTO> listGridWhileLeaderRegister(@PathVariable("mobile") String mobile); Result<GridLeaderRegisterDTO> listGridWhileLeaderRegister(@PathVariable("mobile") String mobile);
/** /**
*
* 根据openId获取用户信息 * 根据openId获取用户信息
* *
* @params [openId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.SysUserDTO> * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.SysUserDTO>
* @params [openId]
* @author liuchuang * @author liuchuang
* @since 2019/11/19 17:43 * @since 2019/11/19 17:43
*/ */

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

@ -222,13 +222,13 @@ public interface UserFeignClient {
/** /**
* 更新用户微信信息 * 更新用户微信信息
* *
* @param userDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [userDTO]
* @author liuchuang * @author liuchuang
* @since 2019/10/25 17:07 * @since 2019/10/25 17:07
*/ */
@PostMapping("app-user/epdc-app/user/updateWxInfo") @PostMapping("app-user/epdc-app/user/updateWxInfo")
Result updateWxInfo(UserDTO userDTO); Result<UserDTO> updateWxInfo(UserDTO userDTO);
/** /**
* 获取居民详情已认证或待认证提交信息待审核的居民用户 * 获取居民详情已认证或待认证提交信息待审核的居民用户

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

@ -108,7 +108,7 @@ public class UserFeignClientFallback implements UserFeignClient {
} }
@Override @Override
public Result updateWxInfo(UserDTO userDTO) { public Result<UserDTO> updateWxInfo(UserDTO userDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateWxInfo", userDTO); return ModuleUtils.feignConError(ServiceConstant.EPDC_USER_SERVER, "updateWxInfo", userDTO);
} }

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

@ -663,21 +663,7 @@ public class AppUserServiceImpl implements AppUserService {
WxMaJscode2SessionResult wxMaResult = this.getWxMaUser(formDto.getWxCode()); WxMaJscode2SessionResult wxMaResult = this.getWxMaUser(formDto.getWxCode());
String openId = wxMaResult.getOpenid(); String openId = wxMaResult.getOpenid();
String unionId = wxMaResult.getUnionid(); String unionId = wxMaResult.getUnionid();
// if (null == formDto.getGridId()) {
// // 获取用户绑定网格信息
// Result<EpdcUserRegisterInfoResultDTO> dtoResult = userFeignClient.getUserLastSwitchGrid(openId);
// if (!dtoResult.success()) {
// return new Result<EpdcAppAuthorizationDTO>().error(dtoResult.getMsg());
// }
// EpdcUserRegisterInfoResultDTO userDto = dtoResult.getData();
// if (userDto.getRegisterState() != NumConstant.TWO) {
// EpdcAppAuthorizationDTO resultDto = new EpdcAppAuthorizationDTO();
// resultDto.setUserState(NumConstant.FIVE_STR);
// return new Result<EpdcAppAuthorizationDTO>().ok(resultDto);
// } else {
// formDto.setGridId(userDto.getGridId());
// }
// }
// 查询当前微信注册状态 // 查询当前微信注册状态
EpdcCheckUserRegisterFromDTO checkFromDto = new EpdcCheckUserRegisterFromDTO(); EpdcCheckUserRegisterFromDTO checkFromDto = new EpdcCheckUserRegisterFromDTO();
checkFromDto.setOpenId(openId); checkFromDto.setOpenId(openId);
@ -790,6 +776,7 @@ public class AppUserServiceImpl implements AppUserService {
return new Result().error("解析微信开放平台ID失败"); return new Result().error("解析微信开放平台ID失败");
} }
userDto.setWxUnionId(wxMaUserInfo.getUnionId()); userDto.setWxUnionId(wxMaUserInfo.getUnionId());
userDto.setWxOpenId(wxMaUserInfo.getOpenId());
} }
// 党员提交,验证身份证号 // 党员提交,验证身份证号
@ -834,6 +821,9 @@ public class AppUserServiceImpl implements AppUserService {
} }
return new Result().error(completeResult.getMsg()); return new Result().error(completeResult.getMsg());
} }
tokenDto.setUserId(completeResult.getData().getId());
//更新用户缓存信息 //更新用户缓存信息
Result<CachingUserInfoDTO> cachingUserResult = userFeignClient.needCachingUserInfoByUserId(tokenDto.getUserId()); Result<CachingUserInfoDTO> cachingUserResult = userFeignClient.needCachingUserInfoByUserId(tokenDto.getUserId());
CachingUserInfoDTO cachingUserInfoDTO = cachingUserResult.getData(); CachingUserInfoDTO cachingUserInfoDTO = cachingUserResult.getData();
@ -993,21 +983,28 @@ public class AppUserServiceImpl implements AppUserService {
userDTO.setSex(""); userDTO.setSex("");
} }
userDTO.setWxUnionId(wxMaUserInfo.getUnionId()); userDTO.setWxUnionId(wxMaUserInfo.getUnionId());
Result updateWxInfoResult = userFeignClient.updateWxInfo(userDTO); userDTO.setWxOpenId(wxMaUserInfo.getOpenId());
Result<UserDTO> updateWxInfoResult = userFeignClient.updateWxInfo(userDTO);
if (!updateWxInfoResult.success()) { if (!updateWxInfoResult.success()) {
return new Result().error("更新用户信息失败"); return new Result().error("更新用户信息失败");
} }
UserDTO oldUser = updateWxInfoResult.getData();
// 注销原来的登录信息
cpUserDetailRedis.logout(userDetail.getUserId());
// 更新用户缓存信息 // 更新用户缓存信息
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDTO, TokenDto.class); TokenDto tokenDto = ConvertUtils.sourceToTarget(userDTO, TokenDto.class);
tokenDto.setUserId(userDetail.getUserId()); // 在迁移小程序后,olduser的id和userDetail的id可能不一样。
tokenDto.setUserId(oldUser.getId());
tokenDto.setGridId(userDetail.getGridId()); tokenDto.setGridId(userDetail.getGridId());
tokenDto.setMobile(userDetail.getMobile()); tokenDto.setMobile(userDetail.getMobile());
tokenDto.setUserTagInfos(userDetail.getUserTagInfos()); tokenDto.setUserTagInfos(userDetail.getUserTagInfos());
tokenDto.setRealName(userDetail.getRealName()); tokenDto.setRealName(userDetail.getRealName());
long expire = cpUserDetailRedis.getExpire(userDetail.getUserId()); tokenDto.setMobile(oldUser.getMobile());
cpUserDetailRedis.logout(userDetail.getUserId()); tokenDto.setRealName(oldUser.getRealName());
cpUserDetailRedis.set(tokenDto, expire); // 保证用户手机上的token仍然可用
cpUserDetailRedis.set(tokenDto, jwtTokenProperties.getExpire(), userDetail.getUserId());
return new Result(); return new Result();
} }

5
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/EpdcCompleteAppUserDTO.java

@ -99,6 +99,11 @@ public class EpdcCompleteAppUserDTO implements Serializable {
*/ */
private String wxUnionId; private String wxUnionId;
/**
* 微信openId
*/
private String wxOpenId;
/** /**
* 居住网格id * 居住网格id
*/ */

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

@ -1,5 +1,6 @@
package com.elink.esua.epdc.controller; package com.elink.esua.epdc.controller;
import com.alibaba.fastjson.JSONObject;
import com.elink.esua.epdc.commons.tools.constant.Constant; import com.elink.esua.epdc.commons.tools.constant.Constant;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.utils.Result;
@ -220,27 +221,17 @@ public class EpdcAppUserController {
/** /**
* 更新用户微信信息 * 更新用户微信信息
* *
* @param userDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result * @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [userDTO]
* @author liuchuang * @author liuchuang
* @since 2019/10/25 17:10 * @since 2019/10/25 17:10
*/ */
@PostMapping("updateWxInfo") @PostMapping("updateWxInfo")
public Result updateWxInfo(@RequestBody UserDTO userDto) { public Result<UserDTO> updateWxInfo(@RequestBody UserDTO userDto) {
// userDto 包含用户id,昵称,头像,性别,unionid,openid
UserDTO user = new UserDTO(); UserDTO user = userService.updateWxInfo(userDto);
// 查询此用户是否已经注册并且完善了用户信息
UserDTO userDTO = userService.get(userDto.getId()); return new Result().ok(user);
// 除了注册之外的 几个状态都不需要更新Nickname
if(AppUserStatesEnum.STATE_REGISTERED.value().equals(userDTO.getState())){
user.setNickname(userDto.getNickname());
}
user.setId(userDto.getId());
user.setFaceImg(userDto.getFaceImg());
user.setSex(userDto.getSex());
user.setWxUnionId(userDto.getWxUnionId());
userService.update(user);
return new Result();
} }
/** /**
@ -370,7 +361,7 @@ public class EpdcAppUserController {
/** /**
* @param gridIdList * @param gridIdList
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO>> * @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO>>
* @Author yinzuomei * @Author yinzuomei
* @Description 根据网格id查询网格下所有的用户 * @Description 根据网格id查询网格下所有的用户
* @Date 2019/12/19 15:02 * @Date 2019/12/19 15:02

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

@ -257,7 +257,7 @@ public interface UserService extends BaseService<UserEntity> {
/** /**
* @param gridIdList * @param gridIdList
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO>> * @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List < com.elink.esua.epdc.dto.epdc.result.EpdcGridUserResultDTO>>
* @Author yinzuomei * @Author yinzuomei
* @Description 根据网格id查询网格下所有的用户 * @Description 根据网格id查询网格下所有的用户
* @Date 2019/12/19 15:03 * @Date 2019/12/19 15:03
@ -289,4 +289,6 @@ public interface UserService extends BaseService<UserEntity> {
* @Date 2020/1/15 17:40 * @Date 2020/1/15 17:40
**/ **/
Result<CachingUserInfoDTO> cachingUserInfoByUserId(String userId); Result<CachingUserInfoDTO> cachingUserInfoByUserId(String userId);
UserDTO updateWxInfo(UserDTO userDto);
} }

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

@ -18,6 +18,7 @@
package com.elink.esua.epdc.service.impl; package com.elink.esua.epdc.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -26,6 +27,7 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.mybatis.utils.DeptEntityUtils; import com.elink.esua.epdc.commons.mybatis.utils.DeptEntityUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; 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.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.constant.StrConstant;
import com.elink.esua.epdc.commons.tools.enums.UserAuthTypeEnum; import com.elink.esua.epdc.commons.tools.enums.UserAuthTypeEnum;
import com.elink.esua.epdc.commons.tools.enums.UserSexEnum; import com.elink.esua.epdc.commons.tools.enums.UserSexEnum;
import com.elink.esua.epdc.commons.tools.enums.UserTagEnum; import com.elink.esua.epdc.commons.tools.enums.UserTagEnum;
@ -50,6 +52,7 @@ import com.elink.esua.epdc.dto.epdc.result.*;
import com.elink.esua.epdc.entity.*; import com.elink.esua.epdc.entity.*;
import com.elink.esua.epdc.enums.AppUserAuditStateEnum; import com.elink.esua.epdc.enums.AppUserAuditStateEnum;
import com.elink.esua.epdc.enums.AppUserStatesEnum; import com.elink.esua.epdc.enums.AppUserStatesEnum;
import com.elink.esua.epdc.exception.UserModuleErrorCode;
import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.feign.AdminFeignClient;
import com.elink.esua.epdc.service.PartyMembersService; import com.elink.esua.epdc.service.PartyMembersService;
import com.elink.esua.epdc.service.UserGridRelationService; import com.elink.esua.epdc.service.UserGridRelationService;
@ -383,14 +386,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
UserDTO userDto = this.selectUserByWxInfo(fromDto.getOpenId(), fromDto.getWxUnionId()); UserDTO userDto = this.selectUserByWxInfo(fromDto.getOpenId(), fromDto.getWxUnionId());
// QueryWrapper<UserEntity> 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<UserEntity> userEntityList = this.baseDao.selectList(wrapper);
EpdcUserRegisterInfoResultDTO resultDto = new EpdcUserRegisterInfoResultDTO(); EpdcUserRegisterInfoResultDTO resultDto = new EpdcUserRegisterInfoResultDTO();
resultDto.setGridId(fromDto.getGridId()); resultDto.setGridId(fromDto.getGridId());
// 已注册 // 已注册
@ -486,7 +481,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
QueryWrapper<UserEntity> userWrapper = new QueryWrapper<>(); QueryWrapper<UserEntity> userWrapper = new QueryWrapper<>();
userWrapper.eq(FieldConstant.MOBILE, mobile) userWrapper.eq(FieldConstant.MOBILE, mobile)
.ne(FieldConstant.ID, userId); .ne(FieldConstant.ID, userId)
.ne(StringUtils.isNotBlank(userDto.getWxUnionId()), UserFieldConsant.WX_UNION_ID, userDto.getWxUnionId());
Integer selectCount = this.baseDao.selectCount(userWrapper); Integer selectCount = this.baseDao.selectCount(userWrapper);
if (selectCount > NumConstant.ZERO) { if (selectCount > NumConstant.ZERO) {
return new Result().error("手机号已被注册"); return new Result().error("手机号已被注册");
@ -495,7 +491,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) { if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) {
userWrapper = new QueryWrapper<>(); userWrapper = new QueryWrapper<>();
userWrapper.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo()) userWrapper.eq(UserFieldConsant.IDENTITY_NO, userDto.getIdentityNo())
.ne(FieldConstant.ID, userId); .ne(FieldConstant.ID, userId)
.ne(StringUtils.isNotBlank(userDto.getWxUnionId()), UserFieldConsant.WX_UNION_ID, userDto.getWxUnionId());
selectCount = this.baseDao.selectCount(userWrapper); selectCount = this.baseDao.selectCount(userWrapper);
if (selectCount > NumConstant.ZERO) { if (selectCount > NumConstant.ZERO) {
return new Result().error("身份证号已被注册"); return new Result().error("身份证号已被注册");
@ -597,20 +594,31 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
* @author rongchao * @author rongchao
* @since 2019-12-19 * @since 2019-12-19
*/ */
private UserEntity modifyResidentInfo(EpdcCompleteAppUserDTO completeAppUser, UserGridRelationDTO userGridRelation, ParentAndAllDeptDTO parentAndAllDeptDTO) { private UserDTO modifyResidentInfo(EpdcCompleteAppUserDTO completeAppUser, UserGridRelationDTO userGridRelation, ParentAndAllDeptDTO parentAndAllDeptDTO) {
// 数据库已有的用户信息
// 查询此用户是否已经注册并且完善了用户信息
UserDTO findUser = this.selectUserByWxInfo(completeAppUser.getWxOpenId(), completeAppUser.getWxUnionId());
if (null == findUser) {
throw new RenException("无法匹配用户信息,请先注册");
}
if (!findUser.getId().equals(completeAppUser.getId())) {
this.deleteById(completeAppUser.getId());
completeAppUser.setId(findUser.getId());
}
UserEntity userEntity = ConvertUtils.sourceToTarget(completeAppUser, UserEntity.class); UserEntity userEntity = ConvertUtils.sourceToTarget(completeAppUser, UserEntity.class);
if (StringUtils.isBlank(userEntity.getWxUnionId())) { if (StringUtils.isBlank(userEntity.getWxUnionId())) {
userEntity.setWxUnionId(null); userEntity.setWxUnionId(null);
} }
String userId = completeAppUser.getId(); if (findUser.getState().equals(AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value())) {
UserEntity oldEntity = this.baseDao.selectById(userId);
if (oldEntity.getState().equals(AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value())) {
userEntity.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value()); userEntity.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value());
} }
//返回网格长标识信息 //返回网格长标识信息
UserGridRelationDTO relationInfo = userGridRelationService.getUserRelationInfo(completeAppUser.getId(), userGridRelation.getGridId()); UserGridRelationDTO relationInfo = userGridRelationService.getUserRelationInfo(completeAppUser.getId(), userGridRelation.getGridId());
String nicknamePrefix = completeAppUser.getRoad().concat("-"); String nicknamePrefix = completeAppUser.getRoad().concat(StrConstant.HYPHEN);
if (relationInfo != null && NumConstant.ZERO_STR.equals(relationInfo.getLeaderFlag())) { if (relationInfo != null && YesOrNoEnum.YES.value().equals(relationInfo.getLeaderFlag())) {
nicknamePrefix = "网格长-".concat(StrConstant.HYPHEN);
} }
// 姓 // 姓
String lastName = completeAppUser.getRealName().substring(NumConstant.ZERO, NumConstant.ONE); String lastName = completeAppUser.getRealName().substring(NumConstant.ZERO, NumConstant.ONE);
@ -625,11 +633,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
if (!updateById(userEntity)) { if (!updateById(userEntity)) {
throw new RenException("用户认证修改居民信息时失败!"); throw new RenException("用户认证修改居民信息时失败!");
} }
UserDTO userDTO = ConvertUtils.sourceToTarget(userEntity, UserDTO.class); UserDTO userDto = ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
userDTO.setLeaderFlag(relationInfo.getLeaderFlag()); userDto.setLeaderFlag(relationInfo.getLeaderFlag());
return userEntity; return userDto;
} }
/** /**
* 生成用户身份标签 * 生成用户身份标签
* *
@ -707,12 +716,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(userGridRelation.getGridId().toString()); ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(userGridRelation.getGridId().toString());
//进行居民认证 //进行居民认证
UserEntity userEntity = modifyResidentInfo(completeAppUser, userGridRelation, parentAndAllDeptDTO); UserDTO userDTO = modifyResidentInfo(completeAppUser, userGridRelation, parentAndAllDeptDTO);
//返回网格长标识信息 Result result = new Result();
UserGridRelationDTO relationInfo = userGridRelationService.getUserRelationInfo(completeAppUser.getId(), userGridRelation.getGridId());
UserDTO userDTO = ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
userDTO.setLeaderFlag(relationInfo.getLeaderFlag());
if (YesOrNoEnum.YES.value().equals(completeAppUser.getPartyFlag())) { if (YesOrNoEnum.YES.value().equals(completeAppUser.getPartyFlag())) {
//进行党员认证 //进行党员认证
@ -720,115 +726,35 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
//认证成功党员 信息审核通过 //认证成功党员 信息审核通过
if (authFlag) { if (authFlag) {
userDTO.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value()); userDTO.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
userDTO.setRegisterTime(new Date());// 认证成功之后更新认证时间 // 认证成功之后更新认证时间
} userDTO.setRegisterTime(new Date());
} // 更新用户表党员相关字段
return new Result<UserDTO>().ok(userDTO); updateUserPartyMemberInfo(userDTO);
} } else {
result = new Result().error(UserModuleErrorCode.AUTHENTICATION_CODE);
// @Override }
// @Transactional(rollbackFor = Exception.class) }
// public Result<UserDTO> completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) {
// EpdcCompleteAppUserDTO completeAppUser = formDto.getCompleteAppUser(); return result.ok(userDTO);
// }
// UserDTO userDto = ConvertUtils.sourceToTarget(completeAppUser, UserDTO.class);
// if (StringUtils.isBlank(userDto.getWxUnionId())) { /**
// userDto.setWxUnionId(null); * 党员认证成功后更新用户表党员相关字段
// } *
// UserGridRelationDTO userGridRelation = formDto.getUserGridRelation(); * @param userDto
// * @return void
// String userId = userDto.getId(); * @author work@yujt.net.cn
// UserEntity oldEntity = this.baseDao.selectById(userId); * @date 2020/2/3 09:40
// */
// // 身份证号 private void updateUserPartyMemberInfo(UserDTO userDto) {
// String identityNo = userDto.getIdentityNo(); UserEntity entity = new UserEntity();
// entity.setId(userDto.getId());
// Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(String.valueOf(userGridRelation.getGridId())); entity.setState(userDto.getState());
// if (!parentAndAllDeptDTOResult.success()) { entity.setRegisterTime(userDto.getRegisterTime());
// return new Result<UserDTO>().error(parentAndAllDeptDTOResult.getMsg()); entity.setPartyFlag(YesOrNoEnum.YES.value());
// } this.updateById(entity);
// if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) { }
// PartyMembersEntity partyMembersEntity = new PartyMembersEntity();
// partyMembersEntity.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames());
// partyMembersEntity.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds());
// partyMembersEntity.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames());
// partyMembersEntity.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds());
// partyMembersEntity.setGridId(userGridRelation.getGridId());
// partyMembersEntity.setGridName(userGridRelation.getGrid());
// partyMembersEntity.setRegistFlag(YesOrNoEnum.YES.value());
// partyMembersEntity.setRegistTime(oldEntity.getRegisterTime());
// QueryWrapper<PartyMembersEntity> partyWrapper = new QueryWrapper<>();
// partyWrapper.eq(UserFieldConsant.IDENTITY_NO, identityNo)
// .eq(UserFieldConsant.REAL_NAME, userDto.getRealName());
// int selectCount = this.partyMembersDao.selectCount(partyWrapper);
// //用户认证历史
// UserAuthenticateHistoryEntity userAuthenticateHistoryEntity = new UserAuthenticateHistoryEntity();
// if (selectCount == NumConstant.ZERO) {
// // 党员库中没有,存进党员认证失败表
// PartyAuthenticationFailedEntity authenticationFailedEntity = ConvertUtils.sourceToTarget(partyMembersEntity, PartyAuthenticationFailedEntity.class);
// authenticationFailedEntity.setUserId(userId);
// authenticationFailedEntity.setState(Integer.parseInt(YesOrNoEnum.NO.value()));
// authenticationFailedEntity.setAddress(userDto.getAddress());
// authenticationFailedEntity.setRealName(userDto.getRealName());
// authenticationFailedEntity.setMobile(userDto.getMobile());
// authenticationFailedEntity.setIdentityNo(identityNo);
// authenticationFailedEntity.setRegistTime(oldEntity.getRegisterTime());
// partyAuthenticationFailedDao.insert(authenticationFailedEntity);
//
// userDto.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value());
// userDto.setPartyFlag(YesOrNoEnum.NO.value());//是否是党员(0-否,1-是) 认证失败:0
// userAuthenticateHistoryEntity.setAuthenticatedFlag(YesOrNoEnum.NO.value());
// } else {
// UpdateWrapper<PartyMembersEntity> partyUpdate = new UpdateWrapper<>();
// partyUpdate.eq(UserFieldConsant.IDENTITY_NO, identityNo)
// .eq(UserFieldConsant.REAL_NAME, userDto.getRealName());
// this.partyMembersDao.update(partyMembersEntity, partyUpdate);
// userAuthenticateHistoryEntity.setAuthenticatedFlag(YesOrNoEnum.YES.value());
// userDto.setPartyFlag(YesOrNoEnum.YES.value());//是否是党员(0-否,1-是) 认证失败:0
// userDto.setRegisterTime(new Date());// 认证成功之后更新认证时间
// //认证成功党员 信息审核通过
// userDto.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
// }
// //插入用户认证历史表
// userAuthenticateHistoryEntity.setUserId(userId);
// userAuthenticateHistoryEntity.setMobile(userDto.getMobile());
// userAuthenticateHistoryEntity.setRealName(userDto.getRealName());
// userAuthenticateHistoryEntity.setAddress(userDto.getAddress());
// userAuthenticateHistoryEntity.setRemark(userDto.getRemark());
// userAuthenticateHistoryEntity.setAuthenticatedType(AuthenticatedConsant.partyAuth); // 新维护的 认证类别(0-居民认证,1-党员认证,2-志愿者认证)
// userAuthenticateHistoryDao.insert(userAuthenticateHistoryEntity);
// } else {
// if (oldEntity.getState().equals(AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value())) {
// userDto.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value());
// }
// }
// // 昵称前缀
// String nicknamePrefix = "网格长-";
// if (!oldEntity.getNickname().startsWith(nicknamePrefix)) {
// nicknamePrefix = userDto.getRoad().concat("-");
// }
// // 姓
// String lastName = userDto.getRealName().substring(NumConstant.ZERO, NumConstant.ONE);
// userDto.setLastName(lastName);
// userDto.setNickname(nicknamePrefix.concat(lastName).concat(UserSexEnum.FEMALE.sex().equals(userDto.getSex()) ? "女士" : "先生"));
//
// //保存用户居住地所在网格,及其他冗余字段。
// userDto.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds());
// userDto.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames());
// userDto.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds());
// userDto.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames());
//
// UserEntity userEntity = ConvertUtils.sourceToTarget(userDto, UserEntity.class);
// boolean updateUser = this.updateById(userEntity);
// if (!updateUser) {
// throw new RenException("保存用户信息异常");
// }
//
// UserGridRelationDTO relationInfo = userGridRelationService.getUserRelationInfo(userEntity.getId(), userGridRelation.getGridId());
// userDto.setLeaderFlag(relationInfo.getLeaderFlag());
// userDto.setFaceImg(oldEntity.getFaceImg());
// return result.ok(userDto);
// }
/** /**
* 获取居民详情已认证或待认证提交信息待审核的居民用户 * 获取居民详情已认证或待认证提交信息待审核的居民用户
@ -1011,6 +937,44 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result<List<EpdcGridUserResultDTO>>().ok(baseDao.selectListGridUserResultDTO(gridIdList)); return new Result<List<EpdcGridUserResultDTO>>().ok(baseDao.selectListGridUserResultDTO(gridIdList));
} }
@Override
public UserDTO updateWxInfo(UserDTO userDto) {
// 查询此用户是否已经注册并且完善了用户信息
UserDTO findUser = this.selectUserByWxInfo(userDto.getWxOpenId(), userDto.getWxUnionId());
if (null == findUser) {
throw new RenException("无法匹配用户信息,请先注册");
}
// 新用户id
String userId = userDto.getId();
String oldUserId = findUser.getId();
// ID相同
if (oldUserId.equals(userId)) {
findUser.setFaceImg(userDto.getFaceImg());
findUser.setNickname(userDto.getNickname());
findUser.setSex(userDto.getSex());
findUser.setWxOpenId(userDto.getWxOpenId());
findUser.setWxUnionId(userDto.getWxUnionId());
} else {
// 两个用户对象id不同,表示迁移小程序后,老用户的微信号生成了新的用户,需要删除新用户
baseDao.deleteById(userId);
if (findUser.getState().equals(AppUserStatesEnum.STATE_REGISTERED.value())) {
findUser.setFaceImg(userDto.getFaceImg());
findUser.setSex(userDto.getSex());
findUser.setNickname(userDto.getNickname());
}
findUser.setWxOpenId(userDto.getWxOpenId());
}
this.update(findUser);
return findUser;
}
/** /**
* @param formDTO * @param formDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CachingUserInfoDTO> * @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CachingUserInfoDTO>

Loading…
Cancel
Save