diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberUserIdsResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberUserIdsResultDTO.java index 1e6d3e050e..7bd50bea61 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberUserIdsResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberUserIdsResultDTO.java @@ -16,4 +16,8 @@ public class PartyMemberUserIdsResultDTO implements Serializable { private String userId; private Boolean reStatus; + + public PartyMemberUserIdsResultDTO() { + this.reStatus = false; + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java index 42a8b17015..8b69857184 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBadgeController.java @@ -127,4 +127,16 @@ public class UserBadgeController { Boolean aBoolean = userBadgeService.addUserPartyBadgeRecord(tokenDto, formDTO); return new Result().ok(aBoolean); } + + /** + * @Description 初始化党员徽章 + * @Param userId + * @author zxc + * @date 2020/11/18 下午3:03 + */ + @PostMapping("initbadge") + public Result initPartyMemberBadge(){ + userBadgeService.initPartyMemberBadge(null); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java index 128b27a7e9..d8d9d969f3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserBaseInfoController.java @@ -110,7 +110,7 @@ public class UserBaseInfoController { **/ @PostMapping("queryuserbaseinfo") public Result> queryUserBaseInfo(@RequestBody List userIdList) { - List list = userBaseInfoService.queryUserBaseInfoFromCache(userIdList); + List list = userBaseInfoService.queryUserBaseInfo(userIdList); return new Result>().ok(list); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ResiUserBadgeDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ResiUserBadgeDao.java index e58e8a72f0..0ff7ee2c0d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ResiUserBadgeDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/ResiUserBadgeDao.java @@ -43,4 +43,6 @@ public interface ResiUserBadgeDao extends BaseDao { */ void insertResiUserBadge(@Param("badges")List badges); + List selectUserIds(); + } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java index 106be55a1c..a9d2f1bded 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java +++ b/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; @@ -79,5 +80,5 @@ public interface UserRoleDao extends BaseDao { * @author zxc * @date 2020/11/18 上午10:50 */ - List selectPartyMemberUserIds(); + List selectPartyMemberUserIds(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java index 2c189d7072..142fa1b449 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java @@ -96,8 +96,16 @@ public interface UserBadgeService { * @Description 批量获取用户显示徽章 * @author wangc * @date 2020.11.10 15:12 + */ + Map> getBatchUserSortedBadge(String customerId, List userIds); + + /** + * @Description 初始化党员徽章 + * @Param userId + * @author zxc + * @date 2020/11/18 下午3:03 */ - Map> getBatchUserSortedBadge(String customerId, List userIds); + void initPartyMemberBadge(String userId); /** * desc: 添加用户党员徽章记录 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java index 2aeac53ce9..07acf1138b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBaseInfoService.java @@ -116,7 +116,7 @@ public interface UserBaseInfoService extends BaseService { * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) * @Date 2020/7/22 9:35 **/ - List queryUserBaseInfoFromCache(List userIdList); + List queryUserBaseInfo(List userIdList); /** * @return void diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java index 896474ef15..83e2cf02c4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java @@ -30,6 +30,11 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.*; +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; /** @@ -123,17 +128,78 @@ public class UserBadgeServiceImpl implements UserBadgeService { return userOperListResultDTOS; } - public void initPartyMemberBadge(){ - List userIds = userRoleDao.selectPartyMemberUserIds(); - if (CollectionUtils.isEmpty(userIds)){ - return; - } - List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(userIds); - if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)){ - log.error("未查询到党员基本信息......"); - throw new RenException("未查询到党员基本信息......"); + /** + * @Description 初始化党员徽章 + * @Param userId + * @author zxc + * @date 2020/11/18 下午3:04 + */ + @Override + public void initPartyMemberBadge(String userId){ + List userIds = resiUserBadgeDao.selectUserIds(); + List badges = new ArrayList<>(); + String partyBadgeId = badgeDao.getPartyBadgeId(null); + if (StringUtils.isEmpty(userId)) { + List 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 reUserIds = partyMemberUserIds.stream().filter(p -> !p.getReStatus()).map(p -> p.getUserId()).collect(Collectors.toList()); + List 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 oneUserIds = new ArrayList<>(); + oneUserIds.add(userId); + List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(oneUserIds); + if (!CollectionUtils.isEmpty(userIds)) { + AtomicReference 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); + }); + } + resiUserBadgeDao.insertResiUserBadge(badges); } -// badgeDao.getPartyBadgeId() } /** @@ -155,7 +221,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { UserBadgeCertificateRecordDTO form = ConvertUtils.sourceToTarget(certificationAddFormDTO, UserBadgeCertificateRecordDTO.class); List userIds = new ArrayList<>(); userIds.add(certificationAddFormDTO.getUserId()); - List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfoFromCache(userIds); + List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(userIds); if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)){ throw new RenException("查询用户基本信息集合为空......"); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java index 0552968911..7a961e6fd9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBaseInfoServiceImpl.java @@ -141,7 +141,7 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl userBaseInfoResultDTOS = this.queryUserBaseInfoFromCache(Arrays.asList(userId)); + List userBaseInfoResultDTOS = this.queryUserBaseInfo(Arrays.asList(userId)); if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)) { logger.warn("queryUserBaseInfo return empty,userId:{}", userId); return null; @@ -157,7 +157,7 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl queryUserBaseInfoFromCache(List userIdList) { + public List queryUserBaseInfo(List userIdList) { if (null == userIdList || userIdList.size() < 1) { return new ArrayList<>(); } diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.8__alter_useradvice_pids.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.8__alter_useradvice_pids.sql new file mode 100644 index 0000000000..0c2dbc28b1 --- /dev/null +++ b/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`; diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml index 6325b139ff..3ca95c71d4 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml @@ -275,7 +275,12 @@ badge WHERE DEL_FLAG = '0' + AND (CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} OR CUSTOMER_ID = 'default') + + + AND CUSTOMER_ID = 'default' + AND FIXATION_BADGE_TYPE = 'party' order by CREATED_TIME desc LIMIT 1 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/ResiUserBadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/ResiUserBadgeDao.xml index cf38780a58..82243c17cc 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/ResiUserBadgeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/ResiUserBadgeDao.xml @@ -16,9 +16,7 @@ CERTIFICATION_AUTID_STATUS, DEL_FLAG, REVISION, - CREATED_BY, CREATED_TIME, - UPDATED_BY, UPDATED_TIME ) VALUES @@ -33,13 +31,15 @@ #{b.certificationAutidStatus}, #{b.delFlag}, #{b.revision}, - #{b.createdBy}, NOW(), - #{b.updatedBy}, NOW(), ) + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml index 4f99f7a43c..4472c48b77 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml @@ -102,13 +102,14 @@ - SELECT ur.USER_ID FROM user_role ur - LEFT JOIN epmet_role er ON er.ID = ur.ROLE_ID + 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' +