Browse Source

修改数据保存接口

feature/dangjian
luyan 2 years ago
parent
commit
9b2b7fb43b
  1. 1
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/v2/ApiAppUserV2Controller.java
  2. 17
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/controller/EpdcAppUserController.java
  3. 25
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java
  4. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDjylDao.java
  5. 60
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserDjylService.java
  6. 16
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserService.java
  7. 266
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserDjylServiceImpl.java
  8. 157
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserServiceImpl.java
  9. 144
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml
  10. 61
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDjlyDao.xml

1
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/v2/ApiAppUserV2Controller.java

@ -66,7 +66,6 @@ public class ApiAppUserV2Controller {
return appUserService.getMaV3Token(formDto);
}
/**
* @param formDto
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.dto.result.EpdcAppAuthorizationDTO>
* @Author yinzuomei
* @Description 用户注册获取Token

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

@ -4,12 +4,12 @@ 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;
import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.user.dto.epdc.result.StandardBearerStatusResultDTO;
import com.elink.esua.epdc.user.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.user.dto.UserActivePointsResultDTO;
import com.elink.esua.epdc.user.dto.UserDTO;
import com.elink.esua.epdc.user.dto.epdc.form.*;
import com.elink.esua.epdc.user.dto.epdc.result.*;
import com.elink.esua.epdc.user.service.UserDjylService;
import com.elink.esua.epdc.user.service.UserInvitationRecordService;
import com.elink.esua.epdc.user.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
@ -30,6 +30,10 @@ public class EpdcAppUserController {
@Autowired
private UserService userService;
@Autowired
private UserDjylService djylService;
@Autowired
private UserInvitationRecordService userInvitationRecordService;
@ -118,7 +122,7 @@ public class EpdcAppUserController {
*/
@PostMapping("npmRegister")
public Result npmUserRegister(@RequestBody UserDTO userDto) {
return userService.npmUserRegister(userDto);
return djylService.npmUserRegister(userDto);
}
/**
@ -128,7 +132,7 @@ public class EpdcAppUserController {
*/
@PostMapping("npmUpdate")
public Result<String> npmUserUpdate(@RequestBody UserDTO userDto) {
return userService.npmUserUpdate(userDto);
return djylService.npmUserUpdate(userDto);
}
@ -193,6 +197,7 @@ public class EpdcAppUserController {
public Result mpmVerify(@RequestBody EpdcUserRegistFormDTO formDto) {
return userService.mpmVerifyRegisterData(formDto);
}
/**
* 用户注册审核之后查询用户审核结果用于发送服务消息和短信消息
*
@ -235,7 +240,7 @@ public class EpdcAppUserController {
@GetMapping("checkNamUserRegister")
public Result<EpdcUserRegisterInfoResultDTO> checkNamUserRegister(@RequestBody EpdcCheckUserRegisterFromDTO fromDto) {
return userService.checkNamUserRegisterState(fromDto);
return djylService.checkNamUserRegisterState(fromDto);
}
/**
@ -253,7 +258,7 @@ public class EpdcAppUserController {
@PostMapping("namRegisterOrBindGrid")
public Result<EpdcUserRegisterInfoResultDTO> namRegisterOrBindGrid(@RequestBody EpdcUserRegisterBindGridFormDTO fromDto) {
return userService.namSaveUserOrBindGrid(fromDto);
return djylService.namSaveUserOrBindGrid(fromDto);
}
/**
@ -449,7 +454,7 @@ public class EpdcAppUserController {
@PostMapping("npmNeedCachingUserInfo")
public Result<CachingUserInfoDTO> npmNeedCachingUserInfo(@RequestBody EpdcAppQueryUserInfoFormDTO formDTO) {
return userService.queryNpmCachingUserInfo(formDTO);
return djylService.queryNpmCachingUserInfo(formDTO);
}
/**

25
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDao.java

@ -18,17 +18,18 @@
package com.elink.esua.epdc.user.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.user.dto.UserStandaeBearerPage;
import com.elink.esua.epdc.user.dto.epdc.form.*;
import com.elink.esua.epdc.user.dto.epdc.result.*;
import com.elink.esua.epdc.user.dto.epdc.result.StandardBearerStatusResultDTO;
import com.elink.esua.epdc.user.dto.epdc.result.UserPartyStandardAppltResultDTO;
import com.elink.esua.epdc.user.entity.UserEntity;
import com.elink.esua.epdc.user.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.user.dto.UserActivePointsResultDTO;
import com.elink.esua.epdc.user.dto.UserDTO;
import com.elink.esua.epdc.user.dto.UserStandaeBearerPage;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcUnauthorizedAmountFromDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcUserGroupInviteFormDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcUserMatchTagFormDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcWorkUserFromDTO;
import com.elink.esua.epdc.user.dto.epdc.result.*;
import com.elink.esua.epdc.user.dto.product.result.EpmetUserBaseInfoDTO;
import com.elink.esua.epdc.user.dto.product.result.EpmetUserResiInfoDTO;
import com.elink.esua.epdc.user.entity.UserEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -192,10 +193,6 @@ public interface UserDao extends BaseDao<UserEntity> {
*/
List<UserDTO> selectListUserByWxForLogin(@Param("wxOpenId") String wxOpenId, @Param("wxUnionId") String wxUnionId);
List<UserDTO> selectUserByWxForLogin(@Param("wxOpenId") String wxOpenId, @Param("wxUnionId") String wxUnionId);
/**
* @param openId
* @param unionId
@ -206,7 +203,6 @@ public interface UserDao extends BaseDao<UserEntity> {
**/
CachingUserInfoDTO selectCachingUserInfoDTO(@Param("openId") String openId, @Param("unionId") String unionId);
CachingUserInfoDTO selectNpmCachingUserInfoDTO(@Param("openId") String openId, @Param("unionId") String unionId);
/**
* @param userId
@ -463,9 +459,8 @@ public interface UserDao extends BaseDao<UserEntity> {
List<UserStandaeBearerPage> brightFlagPartyMem(Map<String, Object> params);
/**
*查询TagId
* 查询TagId
*
* @param value
* @return java.lang.String
@ -476,12 +471,10 @@ public interface UserDao extends BaseDao<UserEntity> {
/**
* 党建引领小程序校验身份证号是否注册
*
* @param idCard
* @return
*/
Integer selectCountByIdentityNo(String idCard);
void updateNpmUserEntity(UserEntity entity);
void saveEntity(UserEntity userEntity);
}

11
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/dao/UserDjylDao.java

@ -1,7 +1,13 @@
package com.elink.esua.epdc.user.dao;
import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.user.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.user.dto.UserDTO;
import com.elink.esua.epdc.user.entity.UserDjylEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 党建引领用户信息表
@ -11,5 +17,10 @@ import com.elink.esua.epdc.user.entity.UserDjylEntity;
* @create 2023/8/8 10:06
*/
@Mapper
public interface UserDjylDao extends BaseDao<UserDjylEntity> {
List<UserDTO> selectUserByWxForLogin(@Param("wxOpenId") String wxOpenId, @Param("wxUnionId") String wxUnionId);
CachingUserInfoDTO selectNpmCachingUserInfoDTO(@Param("openId") String openId, @Param("unionId") String unionId);
}

60
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/UserDjylService.java

@ -0,0 +1,60 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.user.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.user.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.user.dto.UserDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcAppQueryUserInfoFormDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcCheckUserRegisterFromDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcUserRegisterBindGridFormDTO;
import com.elink.esua.epdc.user.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.user.entity.UserDjylEntity;
/**
* 用户信息表
*
* @author qu qu@gmail.com
* @since v1.0.0 2019-09-02
*/
public interface UserDjylService extends BaseService<UserDjylEntity> {
UserDTO get(String id);
/**
* 党建小程序用户注册
* @param userDto
* @return
*/
Result npmUserRegister(UserDTO userDto);
/**
* 党建小程序用户个人信息修改
* @param userDto
* @return
*/
Result<String> npmUserUpdate(UserDTO userDto);
Result<CachingUserInfoDTO> queryNpmCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO);
Result<EpdcUserRegisterInfoResultDTO> checkNamUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto);
Result<EpdcUserRegisterInfoResultDTO> namSaveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto);
}

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

@ -222,8 +222,6 @@ public interface UserService extends BaseService<UserEntity> {
Result<EpdcUserRegisterInfoResultDTO> checkUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto);
Result<EpdcUserRegisterInfoResultDTO> checkNamUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto);
/**
* 保存用户信息或关联网格信息
*
@ -234,7 +232,6 @@ public interface UserService extends BaseService<UserEntity> {
*/
Result<EpdcUserRegisterInfoResultDTO> saveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto);
Result<EpdcUserRegisterInfoResultDTO> namSaveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto);
/**
* 验证用户完善个人信息时提交的数据
@ -359,7 +356,6 @@ public interface UserService extends BaseService<UserEntity> {
Result<CachingUserInfoDTO> queryCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO);
Result<CachingUserInfoDTO> queryNpmCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO);
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result
@ -484,17 +480,5 @@ public interface UserService extends BaseService<UserEntity> {
*/
Result standaedBearerExamine(StandardBearerExamineFormDTO form);
/**
* 党建小程序用户注册
* @param userDto
* @return
*/
Result npmUserRegister(UserDTO userDto);
/**
* 党建小程序用户个人信息修改
* @param userDto
* @return
*/
Result<String> npmUserUpdate(UserDTO userDto);
}

266
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/user/service/impl/UserDjylServiceImpl.java

@ -0,0 +1,266 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.user.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.elink.esua.epdc.commons.dynamic.datasource.annotation.DataSource;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.ParentAndAllDeptDTO;
import com.elink.esua.epdc.user.constant.UserFieldConsant;
import com.elink.esua.epdc.user.dao.UserAuthenticateHistoryDao;
import com.elink.esua.epdc.user.dao.UserDjylDao;
import com.elink.esua.epdc.user.datasources.DataSourceNames;
import com.elink.esua.epdc.user.dto.CachingUserInfoDTO;
import com.elink.esua.epdc.user.dto.UserDTO;
import com.elink.esua.epdc.user.dto.UserGridRelationDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcAppQueryUserInfoFormDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcCheckUserRegisterFromDTO;
import com.elink.esua.epdc.user.dto.epdc.form.EpdcUserRegisterBindGridFormDTO;
import com.elink.esua.epdc.user.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.user.entity.UserDjylEntity;
import com.elink.esua.epdc.user.entity.UserGridRelationEntity;
import com.elink.esua.epdc.user.entity.UserInvitationRecordEntity;
import com.elink.esua.epdc.user.feign.AdminFeignClient;
import com.elink.esua.epdc.user.service.UserDjylService;
import com.elink.esua.epdc.user.service.UserGridRelationService;
import com.elink.esua.epdc.user.service.UserInvitationRecordService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
* 用户信息表
*
* @author qu qu@gmail.com
* @since v1.0.0 2019-09-02
*/
@Slf4j
@Service
public class UserDjylServiceImpl extends BaseServiceImpl<UserDjylDao, UserDjylEntity> implements UserDjylService {
@Resource
private AdminFeignClient adminFeignClient;
@Autowired
private UserGridRelationService userGridRelationService;
@Autowired
private UserInvitationRecordService userInvitationRecordService;
@Resource
private UserAuthenticateHistoryDao userAuthenticateHistoryDao;
@Override
@Transactional(rollbackFor = Exception.class)
public Result npmUserRegister(UserDTO userDto) {
//修改数据库结构
Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(userDto.getGridId().toString());
if (!parentAndAllDeptDTOResult.success()) {
return new Result<EpdcUserRegisterInfoResultDTO>().error(parentAndAllDeptDTOResult.getMsg());
}
UserDjylEntity entity = ConvertUtils.sourceToTarget(userDto, UserDjylEntity.class);
insert(entity);
UserGridRelationDTO dto = new UserGridRelationDTO();
dto.setUserId(entity.getId());
dto.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames());
dto.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds());
dto.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames());
dto.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds());
dto.setGridId(parentAndAllDeptDTOResult.getData().getGridId());
dto.setGrid(parentAndAllDeptDTOResult.getData().getGrid());
dto.setSwitchedTime(new Date());
userGridRelationService.save(dto);
userDto.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds());
return new Result().ok(userDto);
}
@Override
public Result<String> npmUserUpdate(UserDTO userDto) {
//修改数据库结构
Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(userDto.getGridId().toString());
if (!parentAndAllDeptDTOResult.success()) {
return new Result<String>().error(parentAndAllDeptDTOResult.getMsg());
}
UserDjylEntity entity = ConvertUtils.sourceToTarget(userDto, UserDjylEntity.class);
entity.setId(userDto.getUserId());
baseDao.updateById(entity);
UserGridRelationEntity entity1 = new UserGridRelationEntity();
entity1.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds());
entity1.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames());
entity1.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds());
entity1.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames());
entity1.setGridId(parentAndAllDeptDTOResult.getData().getGridId());
entity1.setGrid(parentAndAllDeptDTOResult.getData().getGrid());
LambdaUpdateWrapper<UserGridRelationEntity> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.eq(UserGridRelationEntity::getUserId, entity.getId());
userGridRelationService.update(entity1, updateWrapper);
return new Result<String>().ok("修改成功");
}
@Override
public Result<CachingUserInfoDTO> queryNpmCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO) {
if (StringUtils.isBlank(formDTO.getOpenId())) {
throw new RenException("openId不能为空");
}
return new Result<CachingUserInfoDTO>().ok(baseDao.selectNpmCachingUserInfoDTO(formDTO.getOpenId(), formDTO.getUnionId()));
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<EpdcUserRegisterInfoResultDTO> namSaveUserOrBindGrid(EpdcUserRegisterBindGridFormDTO fromDto) {
UserDTO formUserDto = fromDto.getUserDTO();
UserGridRelationDTO userGridRel = fromDto.getGridRelationDTO();
// 用户注册
if (NumConstant.ZERO == fromDto.getRegisterState()) {
UserDjylEntity userEntity = ConvertUtils.sourceToTarget(formUserDto, UserDjylEntity.class);
if (baseDao.insert(userEntity) > 0) {
formUserDto.setId(userEntity.getId());
} else {
return new Result<EpdcUserRegisterInfoResultDTO>().error("用户注册失败");
}
}
userGridRel.setUserId(formUserDto.getId());
//修改数据库结构
Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(userGridRel.getGridId().toString());
if (!parentAndAllDeptDTOResult.success()) {
return new Result<EpdcUserRegisterInfoResultDTO>().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<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
@Override
public Result<EpdcUserRegisterInfoResultDTO> checkNamUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto) {
Long gridId = fromDto.getGridId();
UserDTO userDto = null;
String userId = null;
List<Long> gridIdList = null;
// 查询当前用户信息
List<UserDTO> 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<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
@Override
@DataSource(value = DataSourceNames.FIRST)
public UserDTO get(String id) {
UserDjylEntity entity = baseDao.selectById(id);
UserDTO resultDTO = ConvertUtils.sourceToTarget(entity, UserDTO.class);
Integer submitNum = userAuthenticateHistoryDao.countAuthenticateHistory(id, null);
resultDTO.setTotalSubmitNum(submitNum == null ? 0 : submitNum);
//0 未通过1通过
Integer failNum = userAuthenticateHistoryDao.countAuthenticateHistory(id, NumConstant.ZERO_STR);
resultDTO.setTotalFailNum(failNum == null ? 0 : failNum);
Integer passSubmitNum = userAuthenticateHistoryDao.countAuthenticateHistory(id, NumConstant.ONE_STR);
resultDTO.setTotalPassSubmitNum(passSubmitNum == null ? 0 : passSubmitNum);
return resultDTO;
}
/**
* 用户网格关系表更新最后访问网格的时间
*
* @param userId 用户id
* @param gridId 网格id
* @return void
* @author work@yujt.net.cn
* @date 2020/2/26 14:59
*/
private void updateGridSwitchedTime(String userId, Long gridId) {
UpdateWrapper<UserGridRelationEntity> wrapper = new UpdateWrapper<>();
wrapper.eq(FieldConstant.GRID_ID, gridId).eq(UserFieldConsant.USER_ID, userId);
UserGridRelationEntity entity = new UserGridRelationEntity();
entity.setSwitchedTime(new Date());
userGridRelationService.update(entity, wrapper);
}
}

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

@ -22,10 +22,8 @@ import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.elink.esua.epdc.commons.dynamic.datasource.annotation.DataSource;
import com.elink.esua.epdc.commons.mybatis.enums.EpdcDelFlagEnum;
@ -130,9 +128,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Autowired
private PartyStandardBearerApplyService partyStandardBearerApplyService;
@Resource
private UserDjylDao djylDao;
@Override
@DataSource(value = DataSourceNames.FIRST)
public PageData<UserDTO> page(Map<String, Object> params) {
@ -659,47 +654,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
@Override
public Result<EpdcUserRegisterInfoResultDTO> checkNamUserRegisterState(EpdcCheckUserRegisterFromDTO fromDto) {
Long gridId = fromDto.getGridId();
UserDTO userDto = null;
String userId = null;
List<Long> gridIdList = null;
// 查询当前用户信息
List<UserDTO> 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<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
/**
* 用户网格关系表更新最后访问网格的时间
@ -712,8 +667,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
*/
private void updateGridSwitchedTime(String userId, Long gridId) {
UpdateWrapper<UserGridRelationEntity> wrapper = new UpdateWrapper<>();
wrapper.eq(FieldConstant.GRID_ID, gridId)
.eq(UserFieldConsant.USER_ID, userId);
wrapper.eq(FieldConstant.GRID_ID, gridId).eq(UserFieldConsant.USER_ID, userId);
UserGridRelationEntity entity = new UserGridRelationEntity();
entity.setSwitchedTime(new Date());
@ -770,54 +724,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result<EpdcUserRegisterInfoResultDTO> 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<EpdcUserRegisterInfoResultDTO>().error("用户注册失败");
}
}
userGridRel.setUserId(formUserDto.getId());
//修改数据库结构
Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(userGridRel.getGridId().toString());
if (!parentAndAllDeptDTOResult.success()) {
return new Result<EpdcUserRegisterInfoResultDTO>().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<EpdcUserRegisterInfoResultDTO>().ok(resultDto);
}
@Override
@DataSource(value = DataSourceNames.FIRST)
@ -1469,13 +1376,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result<CachingUserInfoDTO>().ok(cachingUserInfoDTO);
}
@Override
public Result<CachingUserInfoDTO> queryNpmCachingUserInfo(EpdcAppQueryUserInfoFormDTO formDTO) {
if (StringUtils.isBlank(formDTO.getOpenId())) {
throw new RenException("openId不能为空");
}
return new Result<CachingUserInfoDTO>().ok(baseDao.selectNpmCachingUserInfoDTO(formDTO.getOpenId(), formDTO.getUnionId()));
}
/**
* @return com.elink.esua.epdc.commons.tools.utils.Result
@ -2162,56 +2063,4 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return new Result().error("党员亮旗审核处理失败");
}
@Override
@Transactional(rollbackFor = Exception.class)
public Result npmUserRegister(UserDTO userDto) {
//修改数据库结构
Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(userDto.getGridId().toString());
if (!parentAndAllDeptDTOResult.success()) {
return new Result<EpdcUserRegisterInfoResultDTO>().error(parentAndAllDeptDTOResult.getMsg());
}
UserEntity entity = ConvertUtils.sourceToTarget(userDto, UserEntity.class);
insert(entity);
UserGridRelationDTO dto = new UserGridRelationDTO();
dto.setUserId(entity.getId());
dto.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames());
dto.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds());
dto.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames());
dto.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds());
dto.setGridId(parentAndAllDeptDTOResult.getData().getGridId());
dto.setGrid(parentAndAllDeptDTOResult.getData().getGrid());
dto.setSwitchedTime(new Date());
userGridRelationService.save(dto);
userDto.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds());
return new Result().ok(userDto);
}
@Override
public Result<String> npmUserUpdate(UserDTO userDto) {
//修改数据库结构
Result<ParentAndAllDeptDTO> parentAndAllDeptDTOResult = adminFeignClient.getParentAndAllDept(userDto.getGridId().toString());
if (!parentAndAllDeptDTOResult.success()) {
return new Result<String>().error(parentAndAllDeptDTOResult.getMsg());
}
UserDjylEntity entity = ConvertUtils.sourceToTarget(userDto, UserDjylEntity.class);
entity.setId(userDto.getUserId());
djylDao.updateById(entity);
UserGridRelationEntity entity1 = new UserGridRelationEntity();
entity1.setAllDeptIds(parentAndAllDeptDTOResult.getData().getAllDeptIds());
entity1.setAllDeptNames(parentAndAllDeptDTOResult.getData().getAllDeptNames());
entity1.setParentDeptIds(parentAndAllDeptDTOResult.getData().getParentDeptIds());
entity1.setParentDeptNames(parentAndAllDeptDTOResult.getData().getParentDeptNames());
entity1.setGridId(parentAndAllDeptDTOResult.getData().getGridId());
entity1.setGrid(parentAndAllDeptDTOResult.getData().getGrid());
LambdaUpdateWrapper<UserGridRelationEntity> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.eq(UserGridRelationEntity::getUserId, entity.getId());
userGridRelationService.update(entity1, updateWrapper);
return new Result<String>().ok("修改成功");
}
}

144
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -444,18 +444,7 @@
ur.SWITCHED_TIME DESC
</select>
<select id="selectUserByWxForLogin" resultType="com.elink.esua.epdc.user.dto.UserDTO">
SELECT
u.ID, u.NICKNAME, u.FACE_IMG, u.MOBILE, u.PARTY_FLAG, u.REAL_NAME, u.SEX, u.STATE, ur.GRID_ID, ur.GRID
FROM
epdc_user_djyl u
LEFT JOIN epdc_user_grid_relation ur ON u.ID = ur.USER_ID AND ur.DEL_FLAG = '0'
WHERE u.DEL_FLAG = '0'
<if test="wxOpenId != null and wxOpenId !=''">
AND u.WX_OPEN_ID = #{wxOpenId}
</if>
ORDER BY ur.SWITCHED_TIME DESC
</select>
<resultMap id="CachingUserInfoDTOMap" type="com.elink.esua.epdc.user.dto.CachingUserInfoDTO">
<result property="userId" column="ID"/>
@ -512,45 +501,6 @@
limit 1
</select>
<select id="selectNpmCachingUserInfoDTO" parameterType="map" resultMap="CachingUserInfoDTOMap">
SELECT
eu.ID,
eu.NICKNAME,
eu.MOBILE,
eu.FACE_IMG,
eu.SEX,
eu.REAL_NAME,
eu.STATE,
eu.REMARK,
eu.COUPLING_COMMUNITY,
(select r.GRID_ID
from epdc_user_grid_relation r
where r.USER_ID=eu.ID
and r.DEL_FLAG='0'
order by r.SWITCHED_TIME desc
limit 1
)as gridId,
(
select r.GRID
from epdc_user_grid_relation r
where r.USER_ID=eu.ID
and r.DEL_FLAG='0'
order by r.SWITCHED_TIME desc
limit 1
)as grid
FROM
epdc_user_djyl eu
WHERE
eu.DEL_FLAG = '0'
<if test="openId!=null and openId!=''">
and eu.WX_OPEN_ID=#{openId}
</if>
<if test="unionId!=null and unionId!=''">
and eu.WX_UNION_ID=#{unionId}
</if>
limit 1
</select>
<!-- 根据用户id查询CachingUserInfoDTO -->
<select id="selectCachingUserInfoDTOByUserId" parameterType="java.lang.String" resultMap="CachingUserInfoDTOMap">
SELECT
@ -2005,96 +1955,4 @@
select count(id) from epdc_user_djyl where IDENTITY_NO = #{idCard} and del_flag = '0'
</select>
<insert id="updateNpmUserEntity">
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>
<insert id="saveEntity">
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()
)
</insert>
</mapper>

61
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDjlyDao.xml

@ -3,4 +3,65 @@
<mapper namespace="com.elink.esua.epdc.user.dao.UserDjylDao">
<resultMap id="CachingUserInfoDTOMap" type="com.elink.esua.epdc.user.dto.CachingUserInfoDTO">
<result property="userId" column="ID"/>
<result property="nickname" column="NICKNAME"/>
<result property="mobile" column="MOBILE"/>
<result property="faceImg" column="FACE_IMG"/>
<result property="sex" column="SEX"/>
<result property="realName" column="REAL_NAME"/>
<result property="state" column="STATE"/>
<result property="remark" column="REMARK"/>
<result property="gridId" column="gridId"/>
<result property="grid" column="grid"/>
<collection property="userTagInfos" select="com.elink.esua.epdc.user.dao.UserTagDao.selectByUserId"
column="id">
</collection>
</resultMap>
<select id="selectNpmCachingUserInfoDTO" parameterType="map" resultMap="CachingUserInfoDTOMap">
SELECT
eu.ID,
eu.NICKNAME,
eu.MOBILE,
eu.FACE_IMG,
eu.SEX,
eu.REAL_NAME,
eu.STATE,
eu.REMARK,
eu.COUPLING_COMMUNITY,
(
select r.GRID_ID from epdc_user_grid_relation r
where r.USER_ID=eu.ID
and r.DEL_FLAG='0' order by r.SWITCHED_TIME desc limit 1
)as gridId,
(
select r.GRID from epdc_user_grid_relation r
where r.USER_ID=eu.ID and r.DEL_FLAG='0' rder by r.SWITCHED_TIME desc limit 1
)as grid
FROM
epdc_user_djyl eu
WHERE eu.DEL_FLAG = '0'
<if test="openId!=null and openId!=''">
and eu.WX_OPEN_ID=#{openId}
</if>
<if test="unionId!=null and unionId!=''">
and eu.WX_UNION_ID=#{unionId}
</if>
limit 1
</select>
<select id="selectUserByWxForLogin" resultType="com.elink.esua.epdc.user.dto.UserDTO">
SELECT
u.ID, u.NICKNAME, u.FACE_IMG, u.MOBILE, u.PARTY_FLAG, u.REAL_NAME, u.SEX, u.STATE, ur.GRID_ID, ur.GRID
FROM
epdc_user_djyl u
LEFT JOIN epdc_user_grid_relation ur ON u.ID = ur.USER_ID AND ur.DEL_FLAG = '0'
WHERE u.DEL_FLAG = '0'
<if test="wxOpenId != null and wxOpenId !=''">
AND u.WX_OPEN_ID = #{wxOpenId}
</if>
ORDER BY ur.SWITCHED_TIME DESC
</select>
</mapper>

Loading…
Cancel
Save