Browse Source

小程序更换后,更新微信信息和晚上个人秀信息

feature/dangjian
yujintao 6 years ago
parent
commit
76f1a55b41
  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. 6
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  9. 222
      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);
}
/**
* 缓存用户信息不同于{@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信息
*

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);
/**
*
* 根据openId获取用户信息
*
* @params [openId]
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.SysUserDTO>
* @params [openId]
* @author liuchuang
* @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
* @params [userDTO]
* @author liuchuang
* @since 2019/10/25 17:07
*/
@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
public Result updateWxInfo(UserDTO userDTO) {
public Result<UserDTO> updateWxInfo(UserDTO 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());
String openId = wxMaResult.getOpenid();
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();
checkFromDto.setOpenId(openId);
@ -790,6 +776,7 @@ public class AppUserServiceImpl implements AppUserService {
return new Result().error("解析微信开放平台ID失败");
}
userDto.setWxUnionId(wxMaUserInfo.getUnionId());
userDto.setWxOpenId(wxMaUserInfo.getOpenId());
}
// 党员提交,验证身份证号
@ -834,6 +821,9 @@ public class AppUserServiceImpl implements AppUserService {
}
return new Result().error(completeResult.getMsg());
}
tokenDto.setUserId(completeResult.getData().getId());
//更新用户缓存信息
Result<CachingUserInfoDTO> cachingUserResult = userFeignClient.needCachingUserInfoByUserId(tokenDto.getUserId());
CachingUserInfoDTO cachingUserInfoDTO = cachingUserResult.getData();
@ -993,21 +983,28 @@ public class AppUserServiceImpl implements AppUserService {
userDTO.setSex("");
}
userDTO.setWxUnionId(wxMaUserInfo.getUnionId());
Result updateWxInfoResult = userFeignClient.updateWxInfo(userDTO);
userDTO.setWxOpenId(wxMaUserInfo.getOpenId());
Result<UserDTO> updateWxInfoResult = userFeignClient.updateWxInfo(userDTO);
if (!updateWxInfoResult.success()) {
return new Result().error("更新用户信息失败");
}
UserDTO oldUser = updateWxInfoResult.getData();
// 注销原来的登录信息
cpUserDetailRedis.logout(userDetail.getUserId());
// 更新用户缓存信息
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDTO, TokenDto.class);
tokenDto.setUserId(userDetail.getUserId());
// 在迁移小程序后,olduser的id和userDetail的id可能不一样。
tokenDto.setUserId(oldUser.getId());
tokenDto.setGridId(userDetail.getGridId());
tokenDto.setMobile(userDetail.getMobile());
tokenDto.setUserTagInfos(userDetail.getUserTagInfos());
tokenDto.setRealName(userDetail.getRealName());
long expire = cpUserDetailRedis.getExpire(userDetail.getUserId());
cpUserDetailRedis.logout(userDetail.getUserId());
cpUserDetailRedis.set(tokenDto, expire);
tokenDto.setMobile(oldUser.getMobile());
tokenDto.setRealName(oldUser.getRealName());
// 保证用户手机上的token仍然可用
cpUserDetailRedis.set(tokenDto, jwtTokenProperties.getExpire(), userDetail.getUserId());
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;
/**
* 微信openId
*/
private String wxOpenId;
/**
* 居住网格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;
import com.alibaba.fastjson.JSONObject;
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.utils.Result;
@ -220,27 +221,17 @@ public class EpdcAppUserController {
/**
* 更新用户微信信息
*
* @param userDTO
* @return com.elink.esua.epdc.commons.tools.utils.Result
* @params [userDTO]
* @author liuchuang
* @since 2019/10/25 17:10
*/
@PostMapping("updateWxInfo")
public Result updateWxInfo(@RequestBody UserDTO userDto) {
UserDTO user = new UserDTO();
// 查询此用户是否已经注册并且完善了用户信息
UserDTO userDTO = userService.get(userDto.getId());
// 除了注册之外的 几个状态都不需要更新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();
public Result<UserDTO> updateWxInfo(@RequestBody UserDTO userDto) {
// userDto 包含用户id,昵称,头像,性别,unionid,openid
UserDTO user = userService.updateWxInfo(userDto);
return new Result().ok(user);
}
/**
@ -370,7 +361,7 @@ public class EpdcAppUserController {
/**
* @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
* @Description 根据网格id查询网格下所有的用户
* @Date 2019/12/19 15:02

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

@ -257,12 +257,12 @@ public interface UserService extends BaseService<UserEntity> {
/**
* @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
* @Description 根据网格id查询网格下所有的用户
* @Date 2019/12/19 15:03
**/
Result<List<EpdcGridUserResultDTO>> listGridUserResultDTO(List<Long> gridIdList);
Result<List<EpdcGridUserResultDTO>> listGridUserResultDTO(List<Long> gridIdList);
/**
* @param formDTO
@ -289,4 +289,6 @@ public interface UserService extends BaseService<UserEntity> {
* @Date 2020/1/15 17:40
**/
Result<CachingUserInfoDTO> cachingUserInfoByUserId(String userId);
UserDTO updateWxInfo(UserDTO userDto);
}

222
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;
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.update.UpdateWrapper;
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.tools.constant.FieldConstant;
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.UserSexEnum;
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.enums.AppUserAuditStateEnum;
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.service.PartyMembersService;
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());
// 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();
resultDto.setGridId(fromDto.getGridId());
// 已注册
@ -486,7 +481,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
QueryWrapper<UserEntity> userWrapper = new QueryWrapper<>();
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);
if (selectCount > NumConstant.ZERO) {
return new Result().error("手机号已被注册");
@ -495,7 +491,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
if (YesOrNoEnum.YES.value().equals(userDto.getPartyFlag())) {
userWrapper = new QueryWrapper<>();
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);
if (selectCount > NumConstant.ZERO) {
return new Result().error("身份证号已被注册");
@ -597,20 +594,31 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
* @author rongchao
* @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);
if (StringUtils.isBlank(userEntity.getWxUnionId())) {
userEntity.setWxUnionId(null);
}
String userId = completeAppUser.getId();
UserEntity oldEntity = this.baseDao.selectById(userId);
if (oldEntity.getState().equals(AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value())) {
if (findUser.getState().equals(AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value())) {
userEntity.setState(AppUserStatesEnum.STATE_COMPLETED_INFORMATION_PENDING_REVIEW.value());
}
//返回网格长标识信息
UserGridRelationDTO relationInfo = userGridRelationService.getUserRelationInfo(completeAppUser.getId(), userGridRelation.getGridId());
String nicknamePrefix = completeAppUser.getRoad().concat("-");
if (relationInfo != null && NumConstant.ZERO_STR.equals(relationInfo.getLeaderFlag())) {
String nicknamePrefix = completeAppUser.getRoad().concat(StrConstant.HYPHEN);
if (relationInfo != null && YesOrNoEnum.YES.value().equals(relationInfo.getLeaderFlag())) {
nicknamePrefix = "网格长-".concat(StrConstant.HYPHEN);
}
// 姓
String lastName = completeAppUser.getRealName().substring(NumConstant.ZERO, NumConstant.ONE);
@ -625,11 +633,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
if (!updateById(userEntity)) {
throw new RenException("用户认证修改居民信息时失败!");
}
UserDTO userDTO = ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
userDTO.setLeaderFlag(relationInfo.getLeaderFlag());
return userEntity;
UserDTO userDto = ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
userDto.setLeaderFlag(relationInfo.getLeaderFlag());
return userDto;
}
/**
* 生成用户身份标签
*
@ -707,12 +716,9 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
ParentAndAllDeptDTO parentAndAllDeptDTO = getParentAndAllDeptDTO(userGridRelation.getGridId().toString());
//进行居民认证
UserEntity userEntity = modifyResidentInfo(completeAppUser, userGridRelation, parentAndAllDeptDTO);
UserDTO userDTO = modifyResidentInfo(completeAppUser, userGridRelation, parentAndAllDeptDTO);
//返回网格长标识信息
UserGridRelationDTO relationInfo = userGridRelationService.getUserRelationInfo(completeAppUser.getId(), userGridRelation.getGridId());
UserDTO userDTO = ConvertUtils.sourceToTarget(userEntity, UserDTO.class);
userDTO.setLeaderFlag(relationInfo.getLeaderFlag());
Result result = new Result();
if (YesOrNoEnum.YES.value().equals(completeAppUser.getPartyFlag())) {
//进行党员认证
@ -720,115 +726,35 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
//认证成功党员 信息审核通过
if (authFlag) {
userDTO.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
userDTO.setRegisterTime(new Date());// 认证成功之后更新认证时间
// 认证成功之后更新认证时间
userDTO.setRegisterTime(new Date());
// 更新用户表党员相关字段
updateUserPartyMemberInfo(userDTO);
} else {
result = new Result().error(UserModuleErrorCode.AUTHENTICATION_CODE);
}
}
return new Result<UserDTO>().ok(userDTO);
return result.ok(userDTO);
}
/**
* 党员认证成功后更新用户表党员相关字段
*
* @param userDto
* @return void
* @author work@yujt.net.cn
* @date 2020/2/3 09:40
*/
private void updateUserPartyMemberInfo(UserDTO userDto) {
UserEntity entity = new UserEntity();
entity.setId(userDto.getId());
entity.setState(userDto.getState());
entity.setRegisterTime(userDto.getRegisterTime());
entity.setPartyFlag(YesOrNoEnum.YES.value());
this.updateById(entity);
}
// @Override
// @Transactional(rollbackFor = Exception.class)
// public Result<UserDTO> completeUserInfo(EpdcAppUserCompleteInfoFormDTO formDto) {
// EpdcCompleteAppUserDTO completeAppUser = formDto.getCompleteAppUser();
//
// UserDTO userDto = ConvertUtils.sourceToTarget(completeAppUser, UserDTO.class);
// if (StringUtils.isBlank(userDto.getWxUnionId())) {
// userDto.setWxUnionId(null);
// }
// UserGridRelationDTO userGridRelation = formDto.getUserGridRelation();
//
// String userId = userDto.getId();
// UserEntity oldEntity = this.baseDao.selectById(userId);
//
// // 身份证号
// String identityNo = userDto.getIdentityNo();
//
// Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(String.valueOf(userGridRelation.getGridId()));
// if (!parentAndAllDeptDTOResult.success()) {
// return new Result<UserDTO>().error(parentAndAllDeptDTOResult.getMsg());
// }
// 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));
}
@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
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.CachingUserInfoDTO>

Loading…
Cancel
Save