Browse Source

Merge remote-tracking branch 'origin/dev_personal_center' into dev_temp

# Conflicts:
#	epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
#	epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
dev_shibei_match
yinzuomei 5 years ago
parent
commit
b73ab3efce
  1. 24
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java
  2. 23
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberUserIdsResultDTO.java
  3. 7
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java
  4. 15
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  5. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  6. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java
  7. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java
  8. 17
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ResiUserBadgeDao.java
  9. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java
  10. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java
  11. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java
  12. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java
  13. 18
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java
  14. 14
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java
  15. 102
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java
  16. 30
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java
  17. 4
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.8__alter_useradvice_pids.sql
  18. 6
      epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml
  19. 52
      epmet-user/epmet-user-server/src/main/resources/mapper/ResiUserBadgeDao.xml
  20. 10
      epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml
  21. 35
      epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml
  22. 12
      epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml

24
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java

@ -23,7 +23,6 @@ import com.epmet.modules.feign.ResiGroupFeignClient;
import com.epmet.modules.partymember.entity.*;
import com.epmet.modules.partymember.redis.PartymemberInfoRedis;
import com.epmet.modules.partymember.service.*;
import com.epmet.modules.warmhearted.constant.ResiWarmUserMessageConstant;
import com.epmet.modules.warmhearted.constant.ResiWarmheartedConstant;
import com.epmet.modules.warmhearted.constant.ResiWarmheartedVisitConstant;
import com.epmet.redis.ResiPartyMemberRedis;
@ -250,6 +249,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
resiGroupFeignClient.updateWhenAuditedResiRole(identityParam);
//addby jianjun 2020-07-31 之前没有成功的返回结果
result = new Result<>().ok("注册成功");
//添加党员徽章信息
this.addUserPartyBadge(partyMemberInfoDTO.getUserId());
}
//将自动认证结果存入党员认证自动审核表
@ -280,6 +281,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
baseInfo.setName(partyMemberInfoDTO.getName());
epmetUserOpenFeignClient.saveUserBaseInfo(baseInfo);
return result;
}
@ -346,11 +348,13 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
identityParam.setPartyFlag(NumConstant.ONE_STR);
resiGroupFeignClient.updateWhenAuditedResiRole(identityParam);
//如果是自动匹配失败的,人工审核他是党员,需要记录党员库-居民的认证关系
PartymemberConfirmAutoDTO partymemberConfirmAutoDTO=partymemberConfirmAutoService.get(fromDTO.getAutoId());
if(partymemberConfirmAutoDTO!=null){
log.info(String.format("自动匹配失败,人工审核是党员,保存partymember_auth_record,userId=%s,党员库id=%s",partyMemberInfoEntity.getUserId(),partymemberConfirmAutoDTO.getPatryMemberBaseInfoId()));
partymemberAuthRecordService.insert(partyMemberInfoEntity,partymemberConfirmAutoDTO.getPatryMemberBaseInfoId());
PartymemberConfirmAutoDTO partymemberConfirmAutoDTO = partymemberConfirmAutoService.get(fromDTO.getAutoId());
if (partymemberConfirmAutoDTO != null) {
log.info(String.format("自动匹配失败,人工审核是党员,保存partymember_auth_record,userId=%s,党员库id=%s", partyMemberInfoEntity.getUserId(), partymemberConfirmAutoDTO.getPatryMemberBaseInfoId()));
partymemberAuthRecordService.insert(partyMemberInfoEntity, partymemberConfirmAutoDTO.getPatryMemberBaseInfoId());
}
//在徽章记录表中添加 徽章记录 表明此时已经认证通过可以点亮徽章了
addUserPartyBadge(partyMemberInfoEntity.getUserId());
} else {
auditMessageToResi(partyMemberInfoEntity, PartyMemberMessageConstant.AUDIT_REJECT_MSG);
}
@ -359,6 +363,16 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService
return new Result();
}
private void addUserPartyBadge(String partyUserId) {
if (StringUtils.isBlank(partyUserId)) {
throw new RenException("addUserPartyBadge,用户Id不能为空");
}
Result<Boolean> result = epmetUserOpenFeignClient.initBadge(partyUserId);
if (result == null || !result.success()) {
throw new RenException("初始化党员徽章信息失败");
}
}
@Override
public Result<AuditingDetailResultDTO> auditingDetail(AuditingDetailFromDTO fromDTO) {
AuditingDetailResultDTO resultDTO = new AuditingDetailResultDTO();

23
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberUserIdsResultDTO.java

@ -0,0 +1,23 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2020/11/18 下午1:47
*/
@Data
public class PartyMemberUserIdsResultDTO implements Serializable {
private static final long serialVersionUID = -6932505684417996587L;
private String userId;
private Boolean reStatus;
public PartyMemberUserIdsResultDTO() {
this.reStatus = false;
}
}

7
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java

@ -12,11 +12,6 @@ import java.io.Serializable;
@Data
public class UserResiInfoResultDTO implements Serializable {
/**
* 唯一标识
*/
private String id;
/**
* 用户Id(主键) user.id
*/
@ -61,4 +56,6 @@ public class UserResiInfoResultDTO implements Serializable {
* 用户头像
*/
private String headPhoto;
private String nickName;
}

15
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -430,15 +430,15 @@ public interface EpmetUserOpenFeignClient {
* @date 2020.11.10 15:59
*/
@PostMapping("/epmetuser/badge/usershowbadge")
Result<Map<String,List<UserBadgeUnitFormDTO>>> userShowBadge(@RequestBody UserGroupFormDTO param);
Result<Map<String, List<UserBadgeUnitFormDTO>>> userShowBadge(@RequestBody UserGroupFormDTO param);
/**
* @param gridIdList
* @author yinzuomei
* @description 根据网格id,查询每个网格有多少个徽章申请
* @description 根据网格id, 查询每个网格有多少个徽章申请
* @Date 2020/11/12 15:41
**/
@PostMapping(value = "/epmetuser/badge/querygridauditingbadgecount",consumes = MediaType.APPLICATION_JSON_VALUE)
@PostMapping(value = "/epmetuser/badge/querygridauditingbadgecount", consumes = MediaType.APPLICATION_JSON_VALUE)
Result<List<GridAuditingBadgeCountResultDTO>> queryGridAuditingBadgeCount(@RequestBody List<String> gridIdList);
/**
@ -457,4 +457,13 @@ public interface EpmetUserOpenFeignClient {
*/
@PostMapping("/epmetuser/govstaffrole/list-roles-by-rolekey/{role-key}")
Result<List<GovStaffRoleResultDTO>> listRolesByRoleKey(@PathVariable("role-key") String roleKey);
/**
* @param userId
* @author yinzuomei
* @description 党员认证成功后 添加userBadge记录到数据库
* @Date 2020/11/12 15:41
**/
@PostMapping(value = "/epmetuser/more/badge/initbadge")
Result<Boolean> initBadge(@RequestParam String userId);
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -321,4 +321,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result<List<GovStaffRoleResultDTO>> listRolesByRoleKey(String roleKey) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "listRolesByRoleKey", roleKey);
}
@Override
public Result<Boolean> initBadge(String partyUserId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "initBadge", partyUserId);
}
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java

@ -176,20 +176,4 @@ public class BadgeController {
public Result<List<GridAuditingBadgeCountResultDTO>> queryGridAuditingBadgeCount(@RequestBody List<String> gridIdList) {
return new Result<List<GridAuditingBadgeCountResultDTO>>().ok(badgeService.queryGridAuditingBadgeCount(gridIdList));
}
/**
* desc: 党员认证通过后添加党员 徽章记录
*
* @param tokenDto
* @param formDTO
* @return com.epmet.commons.tools.utils.Result
* @author LiuJanJun
* @date 2020/11/18 10:28 上午
*/
@PostMapping("adduserpartybadgerecord")
public Result audit(@LoginUser TokenDto tokenDto, @RequestBody AddUserPartyBadgeFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO);
badgeService.addUserPartyBadgeRecord(tokenDto, formDTO);
return new Result();
}
}

18
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java

@ -11,10 +11,7 @@ import com.epmet.dto.result.UserBadgeListResultDTO;
import com.epmet.dto.result.UserOperListResultDTO;
import com.epmet.service.UserBadgeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -107,9 +104,20 @@ public class UserBadgeController {
* @date 2020/11/4 5:47 下午
*/
@PostMapping("openedorclosed")
public Result openedOrClosed(@RequestBody OpenedOrClosedFormDTO openedOrClosedFormDTO){
public Result openedOrClosed(@RequestBody OpenedOrClosedFormDTO openedOrClosedFormDTO) {
userBadgeService.openedOrClosed(openedOrClosedFormDTO);
return new Result();
}
/**
* @Description 初始化党员徽章 党员认证通过后添加党员 徽章记录
* @Param userId
* @author zxc
* @date 2020/11/18 下午3:03
*/
@PostMapping("initbadge")
public Result initPartyMemberBadge(@RequestParam(required = false) String userId) {
userBadgeService.initPartyMemberBadge(userId);
return new Result();
}
}

17
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ResiUserBadgeDao.java

@ -18,8 +18,12 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ResiUserBadgeDTO;
import com.epmet.entity.ResiUserBadgeEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 用户徽章关系表
@ -29,5 +33,16 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ResiUserBadgeDao extends BaseDao<ResiUserBadgeEntity> {
/**
* @Description 初始化党员徽章插入
* @Param userIds
* @Param badgeId
* @author zxc
* @date 2020/11/18 上午10:56
*/
void insertResiUserBadge(@Param("badges")List<ResiUserBadgeDTO> badges);
List<String> selectUserIds();
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.UserRoleDTO;
import com.epmet.dto.form.GetRoleKeyListFormDTO;
import com.epmet.dto.form.UserRoleFormDTO;
import com.epmet.dto.result.PartyMemberUserIdsResultDTO;
import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.entity.UserRoleEntity;
import org.apache.ibatis.annotations.Mapper;
@ -72,4 +73,12 @@ public interface UserRoleDao extends BaseDao<UserRoleEntity> {
* @Description 居民端-查询用户角色key列表
**/
List<String> selectUserRoleKeyList(GetRoleKeyListFormDTO formDTO);
/**
* @Description 查询所有党员UserId
* @Param
* @author zxc
* @date 2020/11/18 上午10:50
*/
List<PartyMemberUserIdsResultDTO> selectPartyMemberUserIds();
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java

@ -21,7 +21,10 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.BadgeDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.form.AddBadgeFormDTO;
import com.epmet.dto.form.BadgeAuditFormDTO;
import com.epmet.dto.form.BadgeFormDTO;
import com.epmet.dto.form.EditBadgeFormDTO;
import com.epmet.dto.result.*;
import com.epmet.entity.BadgeEntity;
@ -184,15 +187,4 @@ public interface BadgeService extends BaseService<BadgeEntity> {
* @Date 2020/11/12 15:56
**/
List<GridAuditingBadgeCountResultDTO> queryGridAuditingBadgeCount(List<String> gridIdList);
/**
* desc: 添加用户党员徽章记录
*
* @param tokenDto
* @param formDTO
* @return java.lang.Boolean
* @author LiuJanJun
* @date 2020/11/18 10:32 上午
*/
Boolean addUserPartyBadgeRecord(TokenDto tokenDto, AddUserPartyBadgeFormDTO formDTO);
}

12
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java

@ -90,12 +90,20 @@ public interface UserBadgeService {
List<UserBadgeUnitFormDTO> getUserSortedBadge(String userId,String customerId);
/**
* @Description 批量获取用户显示徽章
* @param customerId
* @param userIds
* @return java.util.Map<java.lang.String,java.util.List< com.epmet.dto.result.UserBadgeInfoResultDTO>>
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.result.UserBadgeInfoResultDTO>>
* @Description 批量获取用户显示徽章
* @author wangc
* @date 2020.11.10 15:12
*/
Map<String,List<UserBadgeInfoResultDTO>> getBatchUserSortedBadge(String customerId, List<String> userIds);
/**
* @Description 初始化党员徽章 或审核通过后 添加用户党员徽章记录
* @Param userId
* @author zxc
* @date 2020/11/18 下午3:03
*/
void initPartyMemberBadge(String userId);
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java

@ -101,8 +101,17 @@ public interface UserBaseInfoService extends BaseService<UserBaseInfoEntity> {
void delete(String[] ids);
/**
* @return java.util.List<com.epmet.dto.result.UserBaseInfoResultDTO>
* @param userId
* @return com.epmet.dto.result.UserBaseInfoResultDTO
* @author yinzuomei
* @description 先从缓存获取 缓存没有获取db
* @Date 2020/11/18 19:35
**/
UserBaseInfoResultDTO queryUserBaseInfoFromCache(String userId);
/**
* @param userIdList
* @return java.util.List<com.epmet.dto.result.UserBaseInfoResultDTO>
* @author yinzuomei
* @description 传入用户id集合返回用户的基本信息包含微信基本信息
* @Date 2020/7/22 9:35

18
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java

@ -78,8 +78,7 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
@Autowired
private MessageFeignClient messageFeignClient;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Override
@ -426,19 +425,4 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
return baseDao.queryGridAuditingBadgeCount(gridIdList);
}
/**
* desc: 添加用户党员徽章记录
*
* @param tokenDto
* @param formDTO
* @return java.lang.Boolean
* @author LiuJanJun
* @date 2020/11/18 10:32 上午
*/
@Override
public Boolean addUserPartyBadgeRecord(TokenDto tokenDto, AddUserPartyBadgeFormDTO formDTO) {
String badgeId = baseDao.getPartyBadgeId(tokenDto.getCustomerId());
return null;
}
}

14
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java

@ -20,14 +20,17 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.UserCustomerConstant;
import com.epmet.dao.*;
import com.epmet.dto.*;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.RegisterRelationDTO;
import com.epmet.dto.UserResiInfoDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.UserInfoOnEnterGridResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
@ -36,10 +39,10 @@ import com.epmet.entity.RegisterRelationEntity;
import com.epmet.entity.UserCustomerEntity;
import com.epmet.entity.UserWechatEntity;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.redis.RegisterRelationRedis;
import com.epmet.service.GridVisitedService;
import com.epmet.service.RegisterRelationService;
import com.epmet.util.ModuleConstant;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -243,6 +246,11 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl<RegisterRelatio
resultObj.setNickname(userResiInfo.getShowName());
resultObj.setUserHeadPhoto(userResiInfo.getHeadPhoto());
}
List<UserWechatEntity> userWechatEntityList=userWechatDao.selectByUserId(enterGridFormDTO.getUserId());
if(CollectionUtils.isNotEmpty(userWechatEntityList)){
resultObj.setNickname(StringUtils.isNotBlank(userWechatEntityList.get(0).getNickname())?userWechatEntityList.get(0).getNickname(): StrConstant.EPMETY_STR);
resultObj.setUserHeadPhoto(StringUtils.isNotBlank(userWechatEntityList.get(0).getHeadImgUrl())?userWechatEntityList.get(0).getHeadImgUrl(): StrConstant.EPMETY_STR);
}
}
//3.获取权限

102
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java

@ -10,7 +10,11 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.PhoneValidatorUtils;
import com.epmet.constant.BadgeConstant;
import com.epmet.constant.SmsTemplateConstant;
import com.epmet.dao.BadgeDao;
import com.epmet.dao.ResiUserBadgeDao;
import com.epmet.dao.UserBadgeDao;
import com.epmet.dao.UserRoleDao;
import com.epmet.dto.ResiUserBadgeDTO;
import com.epmet.dto.UserBadgeCertificateRecordDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -29,6 +33,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/**
@ -49,6 +54,12 @@ public class UserBadgeServiceImpl implements UserBadgeService {
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private EpmetMessageOpenFeignClient messageFeignClient;
@Autowired
private UserRoleDao userRoleDao;
@Autowired
private ResiUserBadgeDao resiUserBadgeDao;
@Autowired
private BadgeDao badgeDao;
/**
* @Description 查询已经点亮的徽章
@ -104,25 +115,90 @@ public class UserBadgeServiceImpl implements UserBadgeService {
});
return userOperListResultDTOS;
}
List<UserOperListResultDTO> badgeIsOpenedList = userBadgeDao.selectBadgeByUserId(userOperListFormDTO.getUserId());
userOperListResultDTOS.forEach(ub -> {
userAuthBadgeList.forEach(u -> {
if (ub.getBadgeId().equals(u.getBadgeId())){
ub.setIsReject(u.getAuditStatus().equals(BadgeConstant.REJECTED) ? true : false);
ub.setIsCertificated(u.getAuditStatus().equals(BadgeConstant.APPROVED) ? BadgeConstant.YES : BadgeConstant.NO);
ub.setIsLighted(u.getIsOpened().equals(NumConstant.ZERO_STR) ? BadgeConstant.NO : BadgeConstant.YES);
}
});
if (CollectionUtils.isEmpty(badgeIsOpenedList)){
ub.setIsLighted(BadgeConstant.NO);
}else {
badgeIsOpenedList.forEach(b -> {
if (ub.getBadgeId().equals(b.getBadgeId())){
ub.setIsLighted(b.getIsOpened().equals(NumConstant.ZERO_STR) ? BadgeConstant.NO : BadgeConstant.YES);
});
return userOperListResultDTOS;
}
/**
* @Description 初始化党员徽章
* @Param userId
* @author zxc
* @date 2020/11/18 下午3:04
*/
@Override
public void initPartyMemberBadge(String userId){
List<String> userIds = resiUserBadgeDao.selectUserIds();
List<ResiUserBadgeDTO> badges = new ArrayList<>();
String partyBadgeId = badgeDao.getPartyBadgeId(null);
if (StringUtils.isEmpty(userId)) {
List<PartyMemberUserIdsResultDTO> partyMemberUserIds = userRoleDao.selectPartyMemberUserIds();
if (CollectionUtils.isEmpty(partyMemberUserIds)) {
return;
}
if (!CollectionUtils.isEmpty(userIds)) {
userIds.stream().forEach(u -> partyMemberUserIds.stream().filter(p -> u.equals(p.getUserId())).forEach(p -> p.setReStatus(true)));
}
List<String> reUserIds = partyMemberUserIds.stream().filter(p -> !p.getReStatus()).map(p -> p.getUserId()).collect(Collectors.toList());
List<UserBaseInfoResultDTO> userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(reUserIds);
if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)) {
log.error("未查询到党员基本信息......");
throw new RenException("未查询到党员基本信息......");
}
userBaseInfoResultDTOS.forEach(u -> {
ResiUserBadgeDTO dto = new ResiUserBadgeDTO();
dto.setBadgeId(partyBadgeId);
dto.setCertificationAutidStatus("approved");
dto.setCustomerId(u.getCustomerId());
dto.setGridId(u.getRegisteredGridId());
dto.setIsOpened(NumConstant.ZERO);
badges.add(dto);
});
resiUserBadgeDao.insertResiUserBadge(badges);
}else {
List<String> oneUserIds = new ArrayList<>();
oneUserIds.add(userId);
List<UserBaseInfoResultDTO> userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(oneUserIds);
if (!CollectionUtils.isEmpty(userIds)) {
AtomicReference<Boolean> status = new AtomicReference<>(true);
userIds.forEach(u -> {
if(u.equals(userId)){
status.set(false);
}
});
if (status.get()==false){
return;
}else {
userBaseInfoResultDTOS.forEach(u -> {
ResiUserBadgeDTO dto = new ResiUserBadgeDTO();
dto.setBadgeId(partyBadgeId);
dto.setCertificationAutidStatus("approved");
dto.setCustomerId(u.getCustomerId());
dto.setGridId(u.getRegisteredGridId());
dto.setIsOpened(NumConstant.ZERO);
badges.add(dto);
});
}
}else {
userBaseInfoResultDTOS.forEach(u -> {
ResiUserBadgeDTO dto = new ResiUserBadgeDTO();
dto.setBadgeId(partyBadgeId);
dto.setCertificationAutidStatus("approved");
dto.setCustomerId(u.getCustomerId());
dto.setGridId(u.getRegisteredGridId());
dto.setIsOpened(NumConstant.ZERO);
badges.add(dto);
});
}
});
return userOperListResultDTOS;
resiUserBadgeDao.insertResiUserBadge(badges);
}
}
/**
@ -297,15 +373,15 @@ public class UserBadgeServiceImpl implements UserBadgeService {
* @Description 批量获取用户显示徽章
* @param customerId
* @param userIds
* @return java.util.Map<java.lang.String,java.util.List< com.epmet.dto.result.UserBadgeInfoResultDTO>>
* @return java.util.Map<java.lang.String, java.util.List < com.epmet.dto.result.UserBadgeInfoResultDTO>>
* @author wangc
* @date 2020.11.10 15:12
*/
@Override
public Map<String, List<UserBadgeInfoResultDTO>> getBatchUserSortedBadge(String customerId, List<String> userIds) {
List<UserBadgeInfoResultDTO> badges = userBadgeDao.selectBatchUserSortedBadge(customerId,userIds);
if(CollectionUtils.isEmpty(badges)) return Collections.EMPTY_MAP;
return badges.stream().collect(Collectors.groupingBy(UserBadgeInfoResultDTO :: getUserId));
List<UserBadgeInfoResultDTO> badges = userBadgeDao.selectBatchUserSortedBadge(customerId, userIds);
if (CollectionUtils.isEmpty(badges)) return Collections.EMPTY_MAP;
return badges.stream().collect(Collectors.groupingBy(UserBadgeInfoResultDTO::getUserId));
}
}

30
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java

@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
@ -46,6 +47,7 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
@ -127,6 +129,26 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl<UserBaseInfoDao, Us
baseDao.deleteBatchIds(Arrays.asList(ids));
}
/**
* @param userId
* @return java.util.List<com.epmet.dto.result.UserBaseInfoResultDTO>
* @author yinzuomei
* @description 传入用户id集合返回用户的基本信息包含微信基本信息
* @Date 2020/7/22 9:35
**/
@Override
public UserBaseInfoResultDTO queryUserBaseInfoFromCache(String userId) {
if (StringUtils.isBlank(userId)) {
throw new RenException("用户Id不能为空");
}
List<UserBaseInfoResultDTO> userBaseInfoResultDTOS = this.queryUserBaseInfo(Arrays.asList(userId));
if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)) {
logger.warn("queryUserBaseInfo return empty,userId:{}", userId);
return null;
}
return userBaseInfoResultDTOS.get(0);
}
/**
* @param userIdList
* @return java.util.List<com.epmet.dto.result.UserBaseInfoResultDTO>
@ -136,10 +158,10 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl<UserBaseInfoDao, Us
**/
@Override
public List<UserBaseInfoResultDTO> queryUserBaseInfo(List<String> userIdList) {
if(null==userIdList||userIdList.size()<1){
if (null == userIdList || userIdList.size() < 1) {
return new ArrayList<>();
}
List<UserBaseInfoResultDTO> userBaseInfoList=new ArrayList<>();
List<UserBaseInfoResultDTO> userBaseInfoList = new ArrayList<>();
/* for(String userId:userIdList){
UserBaseInfoResultDTO userBaseInfoResultDTO=baseDao.selectListByUserIdList(userId);
if(null!=userBaseInfoResultDTO){
@ -152,7 +174,7 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl<UserBaseInfoDao, Us
UserBaseInfoResultDTO baseInfo = userBaseInfoRedis.getUserInfo(id);
//为了保证传过来的user数量与返回的一致,就算查出的用户信息为空也要添加进集合里
//if(null != baseInfo && StringUtils.isNotBlank(baseInfo.getId())){
userBaseInfoList.add(baseInfo);
userBaseInfoList.add(baseInfo);
//}
});
return userBaseInfoList;
@ -166,7 +188,7 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl<UserBaseInfoDao, Us
**/
@Override
public void initBaseInfo() {
List<UserWechatDTO> userWechatDTOList=userWechatDao.selectNotInUserBaseInfoTemp();
List<UserWechatDTO> userWechatDTOList = userWechatDao.selectNotInUserBaseInfoTemp();
List<String> userIdList=new ArrayList<>();
for(UserWechatDTO userWechatDTO:userWechatDTOList){
userIdList.add(userWechatDTO.getUserId());

4
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.8__alter_useradvice_pids.sql

@ -0,0 +1,4 @@
ALTER TABLE `user_advice` DROP COLUMN `AGENCY_PIDS`;
ALTER TABLE `user_advice`
ADD COLUMN `AGENCY_PIDS` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL AFTER `AGENCY_ID`;

6
epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml

@ -275,7 +275,13 @@
badge
WHERE
DEL_FLAG = '0'
<if test="customerId != null and customerId != '' ">
AND (CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} OR CUSTOMER_ID = 'default')
</if>
<if test="customerId == null and customerId == '' ">
AND CUSTOMER_ID = 'default'
</if>
AND FIXATION_BADGE_TYPE = 'party'
order by CREATED_TIME desc LIMIT 1
</select>
</mapper>

52
epmet-user/epmet-user-server/src/main/resources/mapper/ResiUserBadgeDao.xml

@ -3,21 +3,43 @@
<mapper namespace="com.epmet.dao.ResiUserBadgeDao">
<resultMap type="com.epmet.entity.ResiUserBadgeEntity" id="resiUserBadgeMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="userId" column="USER_ID"/>
<result property="badgeId" column="BADGE_ID"/>
<result property="isOpened" column="IS_OPENED"/>
<result property="certificationAutidStatus" column="CERTIFICATION_AUTID_STATUS"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 初始化党员徽章插入 -->
<insert id="insertResiUserBadge">
INSERT INTO resi_user_badge
(
ID,
CUSTOMER_ID,
GRID_ID,
USER_ID,
BADGE_ID,
IS_OPENED,
CERTIFICATION_AUTID_STATUS,
DEL_FLAG,
REVISION,
CREATED_TIME,
UPDATED_TIME
)
VALUES
<foreach collection="badges" item="b" index="b" separator=",">
(
REPLACE(UUID(),'-',''),
#{b.customerId},
#{b.gridId},
#{b.userId},
#{b.badgeId},
#{b.isOpened},
#{b.certificationAutidStatus},
#{b.delFlag},
#{b.revision},
NOW(),
NOW(),
)
</foreach>
</insert>
<select id="selectUserIds" resultType="java.lang.String">
SELECT USER_ID FROM resi_user_badge WHERE DEL_FLAG = 0
</select>
</mapper>

10
epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml

@ -64,12 +64,12 @@
SELECT
CUSTOMER_ID,
BADGE_ID,
CERTIFICATION_IMG,
AUDIT_STATUS
FROM user_badge_certificate_record
CERTIFICATION_AUTID_STATUS AS auditStatus,
IS_OPENED
FROM resi_user_badge
WHERE DEL_FLAG = 0
AND IS_LAST = 'yes'
AND USER_ID = #{userId}
AND CERTIFICATION_AUTID_STATUS = 'approved'
AND USER_ID = #{userId}
</select>
<!-- 根据UserId查询个人徽章点亮信息 -->

35
epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml

@ -66,7 +66,8 @@
ubi.SURNAME,
( CASE WHEN ubi.GENDER = '1' THEN '先生' WHEN ubi.GENDER = '2' THEN '女士' ELSE '先生/女士' END )
) AS show_name,
ubi.HEAD_IMG_URL AS head_photo
ubi.HEAD_IMG_URL AS head_photo,
ubi.NICKNAME as nickName
FROM
user_base_info ubi
LEFT JOIN user_resi_info uri ON ( ubi.USER_ID = uri.USER_ID AND uri.DEL_FLAG = '0' )
@ -88,12 +89,10 @@
) AS show_name
FROM
user_resi_info uri
LEFT JOIN user_wechat uw ON (uri.USER_ID = uw.USER_ID)
LEFT JOIN user_wechat uw ON (uri.USER_ID = uw.USER_ID AND uw.DEL_FLAG = '0' AND uw.USER_ID = #{userId})
WHERE
uri.DEL_FLAG = '0'
AND uw.DEL_FLAG = '0'
AND uri.USER_ID = #{userId}
AND uw.USER_ID = #{userId}
</select>
<select id="selectResiInfoByMobile" parameterType="string"
@ -112,24 +111,24 @@
<!-- 根据userId集合查询用户注册信息 -->
<select id="selectListUserResiInfoDTO" resultType="com.epmet.dto.result.UserResiInfoResultDTO">
SELECT
uri.id,
uri.USER_ID,
ubi.USER_ID,
uri.REG_MOBILE,
uri.SURNAME,
uri.`NAME`,
uri.STREET,
uri.DISTRICT,
uri.BUILDING_ADDRESS,
ubi.SURNAME,
ubi.`NAME`,
ubi.STREET,
ubi.DISTRICT,
ubi.BUILDING_ADDRESS,
CONCAT(
uri.STREET,
ubi.STREET,
'-',
uri.SURNAME,
( CASE WHEN uri.GENDER = '1' THEN '先生' WHEN uri.GENDER = '2' THEN '女士' ELSE '先生/女士' END )
ubi.SURNAME,
( CASE WHEN ubi.GENDER = '1' THEN '先生' WHEN ubi.GENDER = '2' THEN '女士' ELSE '先生/女士' END )
) AS show_name,
uri.HEAD_IMG_URL as head_photo
FROM user_resi_info uri
WHERE uri.DEL_FLAG = '0'
AND uri.USER_ID in
ubi.HEAD_IMG_URL as head_photo
FROM user_base_info ubi
left join user_resi_info uri on(ubi.user_id=uri.user_id and uri.del_flag='0')
WHERE ubi.DEL_FLAG = '0'
AND ubi.USER_ID in
<foreach item="userId" collection="userIdList" separator="," open="(" close=")" index="">
#{userId}
</foreach>

12
epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml

@ -100,4 +100,16 @@
AND ur.user_id = #{userId}
AND ( ur.grid_id = #{gridId} OR ur.grid_id = 'all' )
</select>
<!-- 查询所有党员UserId -->
<select id="selectPartyMemberUserIds" resultType="com.epmet.dto.result.PartyMemberUserIdsResultDTO">
SELECT
ur.USER_ID
FROM user_role ur
LEFT JOIN epmet_role er ON er.ID = ur.ROLE_ID
WHERE ur.DEL_FLAG = 0
AND er.DEL_FLAG = 0
AND er.ROLE_KEY = 'partymember'
</select>
</mapper>

Loading…
Cancel
Save