From c3bd49786360f2b2cf91d477372b3def6a654269 Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 2 Nov 2020 17:04:17 +0800 Subject: [PATCH 01/79] =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E7=94=9F=E6=88=90=E7=9A=84=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/group/form/EditGroupFormDTO.java | 24 +++++ .../group/controller/ResiGroupController.java | 9 ++ .../group/dao/GroupEditSubmitRecordDao.java | 33 +++++++ .../entity/GroupEditSubmitRecordEntity.java | 91 +++++++++++++++++++ .../redis/GroupEditSubmitRecordRedis.java | 47 ++++++++++ .../group/service/ResiGroupService.java | 2 + .../service/impl/ResiGroupServiceImpl.java | 10 ++ .../mapper/group/GroupEditSubmitRecordDao.xml | 27 ++++++ 8 files changed, 243 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/GroupEditSubmitRecordRedis.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java new file mode 100644 index 0000000000..370c479070 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class EditGroupFormDTO { + + // 分组详情校验 + public interface GroupDetailVG {} + + + /** + * 组id + */ + @NotBlank(message = "组ID不能为空", groups = { GroupDetailVG.class }) + private String groupId; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index afdce31da0..e1ea6dbeed 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -359,4 +359,13 @@ public class ResiGroupController { resiGroupStatisticalService.updateWhenAuditedResiRole(resiIdentityFormDTO); return new Result(); } + + + @PostMapping("get-detail") + public Result getGroupDetail(@RequestBody EditGroupFormDTO form){ + ValidatorUtils.validateEntity(form, EditGroupFormDTO.GroupDetailVG.class); + resiGroupService.getGroupDetail(form.getGroupId()); + return new Result(); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java new file mode 100644 index 0000000000..db30254f23 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 组编辑提交记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-02 + */ +@Mapper +public interface GroupEditSubmitRecordDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java new file mode 100644 index 0000000000..19b2d50a2e --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java @@ -0,0 +1,91 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 组编辑提交记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-02 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("group_edit_submit_record") +public class GroupEditSubmitRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 小组ID + */ + private String groupId; + + /** + * 客户ID + */ + private String customerId; + + /** + * 网格ID + */ + private Integer gridId; + + /** + * 头像 + */ + private String groupHeadPhoto; + + /** + * 小组名称 + */ + private String groupName; + + /** + * 小组介绍 + */ + private String groupIntroduction; + + /** + * 审核状态。under_auditting:审核中,approved:通过,rejected:驳回 + */ + private String auditStatus; + + /** + * 审核人ID + */ + private String staffId; + + /** + * 回复 + */ + private String remark; + + /** + * 审核时间 + */ + private Date auditTime; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/GroupEditSubmitRecordRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/GroupEditSubmitRecordRedis.java new file mode 100644 index 0000000000..346ebd5924 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/GroupEditSubmitRecordRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 组编辑提交记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-02 + */ +@Component +public class GroupEditSubmitRecordRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index d410b4f391..930e7bd529 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -293,4 +293,6 @@ public interface ResiGroupService extends BaseService { * @return java.util.List */ List recommendedList(RecommendedListFormDTO formDTO); + + void getGroupDetail(String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index dacfd6dbb8..cadf8b8b44 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -122,6 +122,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -970,4 +973,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 02338382fe13f3bdca42fa9e5ad27e659b85165c Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 2 Nov 2020 23:09:26 +0800 Subject: [PATCH 02/79] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=EF=BC=9A=E5=B1=85=E6=B0=91=E7=AB=AF=E6=9F=A5=E8=AF=A2=E5=B0=8F?= =?UTF-8?q?=E7=BB=84=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/utils/DateUtils.java | 20 ++++++ .../constant/GroupAuditStatusConstant.java | 14 +++++ .../group/constant/GroupLimitConstant.java | 10 +++ .../group/result/GroupDetailResultDTO.java | 21 +++++++ .../group/dao/GroupEditSubmitRecordDao.java | 21 ++++++- .../group/service/ResiGroupService.java | 2 +- .../service/impl/ResiGroupServiceImpl.java | 61 +++++++++++++++++-- .../mapper/group/GroupEditSubmitRecordDao.xml | 41 ++++++++++++- 8 files changed, 181 insertions(+), 9 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java index a7a768b095..d739bb8069 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java @@ -681,4 +681,24 @@ public class DateUtils { } }else return null; } + + /** + * 指定月份的开始时间 + * @param date + * @return + */ + public static Date getMonthStart(Date date) { + LocalDate ldn = new LocalDate(date); + return ldn.dayOfMonth().withMinimumValue().toDate(); + } + + /** + * 指定月份的结束时间 + * @param date + * @return + */ + public static Date getMonthEnd(Date date) { + LocalDate ldn = new LocalDate(date); + return ldn.dayOfMonth().withMaximumValue().toDate(); + } } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java new file mode 100644 index 0000000000..8544c6fe12 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupAuditStatusConstant.java @@ -0,0 +1,14 @@ +package com.epmet.resi.group.constant; + +public interface GroupAuditStatusConstant { + + // 审核中 + String UNDER_AUDITING = "under_auditing"; + + // 驳回 + String REJECTED = "rejected"; + + // 支持 + String APPROVED = "approved"; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java new file mode 100644 index 0000000000..0e158a8804 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupLimitConstant.java @@ -0,0 +1,10 @@ +package com.epmet.resi.group.constant; + +public interface GroupLimitConstant { + + /** + * 每月可以编辑2次 + */ + Integer EDIT_NUM_LIMIT_MONTH = 2; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java new file mode 100644 index 0000000000..c7767054d4 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class GroupDetailResultDTO { + + private String groupHeadPhoto; + private String groupName; + private String groupIntroduction; + private Integer editNumLimit; + private Integer avaliableEditNum; + private String auditStatus; + private Boolean editable; + private String remark; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java index db30254f23..37eb9f366e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java @@ -20,6 +20,9 @@ package com.epmet.modules.group.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; /** * 组编辑提交记录表 @@ -29,5 +32,21 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface GroupEditSubmitRecordDao extends BaseDao { - + + /** + * 查询指定组,指定时间段内的编辑次数 + * @param groupId + * @param monthStart + * @param monthEnd + * @return + */ + int countEditNum(@Param("groupId") String groupId, + @Param("monthStart") Date monthStart, + @Param("monthEnd") Date monthEnd); + + /** + * 查询最后一次编辑提交记录 + * @param groupId + */ + GroupEditSubmitRecordEntity getLatestEditSubmitRecord(@Param("groupId") String groupId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 930e7bd529..70011a5c89 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -294,5 +294,5 @@ public interface ResiGroupService extends BaseService { */ List recommendedList(RecommendedListFormDTO formDTO); - void getGroupDetail(String groupId); + GroupDetailResultDTO getGroupDetail(String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index cadf8b8b44..dba8c69a1c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -38,8 +38,10 @@ import com.epmet.modules.constant.UserMessageConstant; import com.epmet.modules.feign.EpmetMessageFeignClient; import com.epmet.modules.feign.EpmetUserFeignClient; import com.epmet.modules.feign.GovOrgFeignClient; +import com.epmet.modules.group.dao.GroupEditSubmitRecordDao; import com.epmet.modules.group.dao.ResiGroupDao; import com.epmet.modules.group.dao.ResiGroupOperationDao; +import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; import com.epmet.modules.group.entity.ResiGroupEntity; import com.epmet.modules.group.entity.ResiGroupOperationEntity; import com.epmet.modules.group.redis.ResiGroupRedis; @@ -52,10 +54,7 @@ import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.service.GroupMemeberOperationService; import com.epmet.modules.member.service.ResiGroupMemberService; import com.epmet.modules.utils.ModuleConstant; -import com.epmet.resi.group.constant.EnterGroupTypeConstant; -import com.epmet.resi.group.constant.GroupStateConstant; -import com.epmet.resi.group.constant.LeaderFlagConstant; -import com.epmet.resi.group.constant.MemberStateConstant; +import com.epmet.resi.group.constant.*; import com.epmet.resi.group.dto.UserRoleDTO; import com.epmet.resi.group.dto.group.*; import com.epmet.resi.group.dto.group.form.*; @@ -125,6 +124,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -975,9 +977,56 @@ public class ResiGroupServiceImpl extends BaseServiceImpl - + + + + id, + group_id, + customer_id, + grid_id, + group_head_photo, + group_name, + group_introduction, + audit_status, + staff_id, + remark, + audit_time, + del_flag, + revision, + created_by, + created_time, + updated_by, + updated_time + @@ -23,5 +43,24 @@ + + + + \ No newline at end of file From 4e1e7ef569586826a4f2b7c229dd5817c85f6604 Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 3 Nov 2020 10:07:36 +0800 Subject: [PATCH 03/79] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E8=A1=A8Entity=E5=B1=9E=E6=80=A7=E7=9B=B8=E5=85=B3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E5=B7=A5=E4=BD=9C=E7=AB=AF=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=8F=82=E5=85=A5?= =?UTF-8?q?=E5=8F=82DTO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/form/CommonGridAndPageFormDTO.java | 37 +++++++++++++++ .../group/form/GroupEditionAuditFormDTO.java | 43 +++++++++++++++++ .../result/GroupEditionApplyResultDTO.java | 46 +++++++++++++++++++ .../result/GroupEditionDetailResultDTO.java | 42 +++++++++++++++++ .../entity/GroupEditSubmitRecordEntity.java | 12 ++++- .../mapper/group/GroupEditSubmitRecordDao.xml | 4 ++ 6 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupEditionAuditFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionApplyResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java new file mode 100644 index 0000000000..87ed69166f --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.resi.group.dto.group.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 通用网格分页传参DTO + * @ClassName CommonGridAndPageFormDTO + * @Auth wangc + * @Date 2020-11-02 17:22 + */ +@Data +public class CommonGridAndPageFormDTO implements Serializable { + private static final long serialVersionUID = -7916909736115741017L; + + public interface GridPageGroup extends CustomerClientShowGroup{} + + /** + * 网格Id + */ + @NotBlank(message = "网格Id不能为空" , groups = GridPageGroup.class) + private String gridId; + + /** + * 页码 + */ + private Integer pageNo; + + /** + * 每页多少条数 + */ + private Integer pageSize; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupEditionAuditFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupEditionAuditFormDTO.java new file mode 100644 index 0000000000..fccd849619 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GroupEditionAuditFormDTO.java @@ -0,0 +1,43 @@ +package com.epmet.resi.group.dto.group.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 组信息修改审核入参DTO + * @ClassName GroupEditionAuditFormDTO + * @Auth wangc + * @Date 2020-11-02 17:30 + */ +@Data +public class GroupEditionAuditFormDTO implements Serializable { + private static final long serialVersionUID = 3851649860177395296L; + + public interface GroupEditionAuditGroup extends CustomerClientShowGroup{} + + /** + * 组Id + */ + @NotBlank(message = "组Id不能为空",groups = GroupEditionAuditGroup.class) + private String groupId; + + /** + * 审核结果 审核结果。approved:支持;rejected:拒绝 + */ + @NotBlank(message = "审核结果不能为空",groups = GroupEditionAuditGroup.class) + private String auditResult; + + /** + * 拒绝时的备注 + */ + private String remark; + + /** + * 工作人员Id + */ + @NotBlank(message = "工作人员Id不能为空",groups = GroupEditionAuditGroup.class) + private String staffId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionApplyResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionApplyResultDTO.java new file mode 100644 index 0000000000..e8811f98c9 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionApplyResultDTO.java @@ -0,0 +1,46 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 工作端 - 群组审核列表返参DTO + * @ClassName GroupEditionApplyResultDTO + * @Auth wangc + * @Date 2020-11-03 09:06 + */ +@Data +public class GroupEditionApplyResultDTO implements Serializable { + private static final long serialVersionUID = 437035656436226205L; + + /** + * 组Id + */ + private String groupId; + + /** + * 原始组姓名 + */ + private String groupName; + + /** + * 原始组头像 + */ + private String groupHeadPhoto; + + /** + * 已读 未读 + */ + private String readFlag; + + /** + * 审核人员查看待审核列表时的文案 如:党员李华申请变更小组【原小组名】,请审核。 + */ + private String messageText; + + /** + * yyyy-MM-dd HH:mm:ss + */ + private String submitTime; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java new file mode 100644 index 0000000000..0cf88d6802 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionDetailResultDTO.java @@ -0,0 +1,42 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; + +import java.io.Serializable; + + +/** + * @Description 工作端 群信息修改申请详情 + * @ClassName GroupEditionDetailResultDTO + * @Auth wangc + * @Date 2020-11-02 17:54 + */ +@Data +public class GroupEditionDetailResultDTO implements Serializable { + private static final long serialVersionUID = -784043668974222480L; + + /** + * 待审核的小组Id + */ + private String groupId; + + /** + * 待审核小组名称 是提交的名称,如果没有更改群名称则还是原来的 + */ + private String groupName; + + /** + * 待审核小组图片 是提交的群头像,如果没有更改群头像则还是原来的 + */ + private String groupHeadPhoto; + + /** + * 待审核小组的介绍 是提交的群介绍,如果没有更改群介绍则还是原来的 + */ + private String groupIntroduction; + + /** + * 群主的昵称 xx路-xx先生/女士 + */ + private String groupLeaderName; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java index 19b2d50a2e..9f8b5c8816 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java @@ -51,7 +51,7 @@ public class GroupEditSubmitRecordEntity extends BaseEpmetEntity { /** * 网格ID */ - private Integer gridId; + private String gridId; /** * 头像 @@ -88,4 +88,14 @@ public class GroupEditSubmitRecordEntity extends BaseEpmetEntity { */ private Date auditTime; + /** + * 审核人员查看待审核列表时的文案 如:党员李华申请变更小组【原小组名】,请审核。 + */ + private String messageText; + + /** + * 已读read 未读unread + */ + private String readFlag; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml index c785d9bb1a..1b689eb363 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml @@ -15,6 +15,8 @@ staff_id, remark, audit_time, + read_flag, + message_text, del_flag, revision, created_by, @@ -35,6 +37,8 @@ + + From 4b78da437d3e02fcef8698afc28ffbecbb317971 Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 3 Nov 2020 10:47:06 +0800 Subject: [PATCH 04/79] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AF=20=20?= =?UTF-8?q?=E7=BB=84=E5=8F=98=E6=9B=B4=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/group/service/ResiGroupService.java | 9 +++++++++ .../group/service/impl/ResiGroupServiceImpl.java | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 70011a5c89..3fa639ae7c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -295,4 +295,13 @@ public interface ResiGroupService extends BaseService { List recommendedList(RecommendedListFormDTO formDTO); GroupDetailResultDTO getGroupDetail(String groupId); + + /** + * @Description 工作端 查询组变更待审核列表 + * @param param + * @return java.util.List + * @author wangc + * @date 2020.11.03 10:19 + */ + List getEditAuditingList(CommonGridAndPageFormDTO param); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index dba8c69a1c..9ced852869 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1029,4 +1029,17 @@ public class ResiGroupServiceImpl extends BaseServiceImpl + * @author wangc + * @date 2020.11.03 10:19 + */ + @Override + public List getEditAuditingList(CommonGridAndPageFormDTO param) { + + return null; + } } From 595c9ca11d852d4665ca8f3cb4e2423bf19aa0c4 Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 3 Nov 2020 10:52:15 +0800 Subject: [PATCH 05/79] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=EF=BC=9A=E7=BB=84=E4=BF=A1=E6=81=AF=E7=BC=96=E8=BE=91=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 1 + .../dto/group/form/EditGroupFormDTO.java | 14 ++- .../group/controller/ResiGroupController.java | 20 +++- .../entity/GroupEditSubmitRecordEntity.java | 2 +- .../group/service/ResiGroupService.java | 2 + .../service/impl/ResiGroupServiceImpl.java | 96 ++++++++++++++++++- 6 files changed, 127 insertions(+), 8 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index e4832a1c8b..1976ca3337 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -41,6 +41,7 @@ public enum EpmetErrorCode { MOBILE_GET_CODE_ERROR(8104,"获取验证码失败"), MESSAGE_SMS_SEND_ERROR(8105, "短信发送失败"), NOT_DEL_GRID(8106,"该网格存在工作人员,不允许删除"), + GROUP_EDIT_ERROR(8107,"组信息编辑失败"), ORG_IS_NOT_NULL(8107,"党组织关系不能为空"), CANNOT_DELETE_PARTY_BRANCH(8108,"当前支部存在党员,不允许删除"), diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java index 370c479070..bb1251bf6a 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java @@ -14,11 +14,23 @@ public class EditGroupFormDTO { // 分组详情校验 public interface GroupDetailVG {} + // 提交组编辑校验组 + public interface SubmitGroupEditVG {} + /** * 组id */ - @NotBlank(message = "组ID不能为空", groups = { GroupDetailVG.class }) + @NotBlank(message = "组ID不能为空", groups = { GroupDetailVG.class, SubmitGroupEditVG.class }) private String groupId; + @NotBlank(message = "组头像不能为空", groups = { SubmitGroupEditVG.class }) + private String groupHeadPhoto; + + @NotBlank(message = "组名称不能为空", groups = { SubmitGroupEditVG.class }) + private String groupName; + + @NotBlank(message = "组介绍不能为空", groups = { SubmitGroupEditVG.class }) + private String groupIntroduction; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index e1ea6dbeed..98c572ad08 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -360,11 +360,27 @@ public class ResiGroupController { return new Result(); } - + /** + * 查询组详情 + * @param form + * @return + */ @PostMapping("get-detail") public Result getGroupDetail(@RequestBody EditGroupFormDTO form){ ValidatorUtils.validateEntity(form, EditGroupFormDTO.GroupDetailVG.class); - resiGroupService.getGroupDetail(form.getGroupId()); + GroupDetailResultDTO groupDetail = resiGroupService.getGroupDetail(form.getGroupId()); + return new Result().ok(groupDetail); + } + + /** + * 提交小组信息编辑 + * @param form + * @return + */ + @PostMapping("submit-edit") + public Result submitGroupEdit(@RequestBody EditGroupFormDTO form){ + ValidatorUtils.validateEntity(form, EditGroupFormDTO.SubmitGroupEditVG.class); + resiGroupService.submitGroupEdit(form.getGroupId(), form.getGroupName(), form.getGroupHeadPhoto(), form.getGroupIntroduction()); return new Result(); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java index 19b2d50a2e..c0f0f3fe2c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/GroupEditSubmitRecordEntity.java @@ -51,7 +51,7 @@ public class GroupEditSubmitRecordEntity extends BaseEpmetEntity { /** * 网格ID */ - private Integer gridId; + private String gridId; /** * 头像 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 70011a5c89..d3c6a6b2ad 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -295,4 +295,6 @@ public interface ResiGroupService extends BaseService { List recommendedList(RecommendedListFormDTO formDTO); GroupDetailResultDTO getGroupDetail(String groupId); + + void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index dba8c69a1c..979462d3f3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -27,9 +27,15 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.scan.param.ImgScanParamDTO; +import com.epmet.commons.tools.scan.param.ImgTaskDTO; +import com.epmet.commons.tools.scan.param.TextScanParamDTO; +import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ReadFlagConstant; import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; @@ -68,6 +74,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -127,6 +134,15 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -980,7 +996,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + logger.error("调用内容审核服务审核文本发生错误:{}", textSyncScanResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode(), EpmetErrorCode.TEXT_SCAN_FAILED.getMsg()); + } + } + + // 图片内容审核 + ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); + ImgTaskDTO task = new ImgTaskDTO(); + task.setUrl(groupHeadPhoto); + imgScanParamDTO.getTasks().add(task); + + Result imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO); + if (!imgScanResult.success()){ + logger.error("调用内容审核服务审核图片发生错误:{}", textSyncScanResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode(), EpmetErrorCode.IMG_SCAN_FAILED.getMsg()); + } + } + } } From 14c662ccc17eeed53743c6bef53e02e597873fb5 Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 3 Nov 2020 14:17:19 +0800 Subject: [PATCH 06/79] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BB=84=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=BC=96=E8=BE=91=E6=8F=90=E4=BA=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/constant/UserMessageConstant.java | 5 + .../service/impl/ResiGroupServiceImpl.java | 92 ++++++++++++++++++- 2 files changed, 94 insertions(+), 3 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java index f9b97bfb9f..5ae3c98d8f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/constant/UserMessageConstant.java @@ -59,6 +59,11 @@ public interface UserMessageConstant { */ String CREATION_OF_GROUP_MESSAGE_TEMPLATE = "%s%s申请创建小组【%s】,请审核。"; + /** + * 变更组信息时的消息模板 + */ + String EDIT_OF_GROUP_MESSAGE_TEMPLATE = "%s%s申请变更小组【%s】,请审核。"; + /** * 组长审核入组申请时的微信订阅behavior */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 979462d3f3..b3bb7d4a5e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -32,6 +32,7 @@ import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; @@ -77,6 +78,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; import java.util.*; @@ -134,6 +136,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl resiRoles = getResiRoles(app, customerId, userId, gridId); + boolean isPartymember = false; + boolean isWarmhearted = false; + for (UserRoleResultDTO role : resiRoles) { + if (EpmetRoleKeyConstant.WARMHEARTED.equals(role.getRoleKey())) { + isWarmhearted = true; + } + if (EpmetRoleKeyConstant.PARTYMEMBER.equals(role.getRoleKey())) { + isPartymember = true; + } + } + if (!isWarmhearted && isPartymember) { + throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode(), "只有党员和热心居民才能创建和编辑小组"); + } + String roleName = ""; + if (isPartymember) { + roleName = ModuleConstant.PARTYMEMBER; + } else if (isWarmhearted) { + roleName = ModuleConstant.WAREMHEARTED_RESI; + } + + //3.获取居民注册信息 + UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO(); + resiParam.setCustomerId(customerId); + resiParam.setUserId(userId); + Result resiResult = + epmetUserFeignClient.getUserResiInfoDTO(resiParam); + String userName = ""; + if (resiResult.success() && null != resiResult.getData()) { + userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) + + (StringUtils.isBlank(resiResult.getData().getName()) ? "" : resiResult.getData().getName()); + } + userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName; + return String.format(UserMessageConstant.EDIT_OF_GROUP_MESSAGE_TEMPLATE, roleName, userName, groupName); + } + + /** + * 查询居民的角色列表 + * @param app + * @param customerId + * @param userId + * @param gridId + * @return + */ + private List getResiRoles(String app, String customerId, String userId, String gridId) { + UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO(); + userRoleFormDTO.setApp(app); + userRoleFormDTO.setCustomerId(customerId); + userRoleFormDTO.setUserId(userId); + userRoleFormDTO.setGridId(gridId); + Result> rolesResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); + + if (! rolesResult.success()) { + logger.error("修改组信息:查询居民角色失败,详情:{}", rolesResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), "查询居民角色失败"); + } else { + List roles = rolesResult.getData(); + if (CollectionUtils.isEmpty(roles)) { + roles = new ArrayList<>(); + } + return roles; + } + } + /** * 内容检查 * @param groupName @@ -1084,12 +1169,12 @@ public class ResiGroupServiceImpl extends BaseServiceImpl textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); if (!textSyncScanResult.success()) { @@ -1104,6 +1189,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Tue, 3 Nov 2020 15:28:49 +0800 Subject: [PATCH 07/79] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E7=BB=84?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=BC=96=E8=BE=91=E6=8F=90=E4=BA=A4=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E5=A2=9E=E5=8A=A0=E7=BD=91=E6=A0=BC=E5=86=85?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E5=AD=98=E5=9C=A8=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/modules/group/dao/ResiGroupDao.java | 13 ++++++++++++ .../service/impl/ResiGroupServiceImpl.java | 7 ++++++- .../resources/mapper/group/ResiGroupDao.xml | 21 +++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 867a3d11ba..57fd94d9ab 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -188,4 +188,17 @@ public interface ResiGroupDao extends BaseDao { * @date 2020.05.22 09:54 **/ List selectGroupListByGridIds(@Param("gridIds") List gridIds); + + /** + * 编辑提交的时候,检查组名是否存在。网格内检查, + * 检查resi_group中已审核通过的和待审核的 + * 检查submit_record中待审核的。已审核的不用检查,因为已经更新到resi_group中了 + * @param groupId + * @param gridId + * @param groupName + * @return + */ + int countExistsGroupNameBeforeEdit(@Param("groupId") String groupId, + @Param("gridId") String gridId, + @Param("groupName") String groupName); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index b3bb7d4a5e..624f0f73ef 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1064,8 +1064,13 @@ public class ResiGroupServiceImpl extends BaseServiceImpl 0) { + // 已存在组名,拒绝提交 + throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), "组名已存在"); + } + // 2.内容检查 - scanGroupEditContent(groupName, groupIntroduction, groupHeadPhoto); + //scanGroupEditContent(groupName, groupIntroduction, groupHeadPhoto); String app = loginUserUtil.getLoginUserApp(); String userId = loginUserUtil.getLoginUserId(); diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml index 119db46b30..94c2422159 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml @@ -397,4 +397,25 @@ GRID_ID = #{gridId} + + From f7044af28bac95c6c1313bac5b28f8cf4e94d604 Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 3 Nov 2020 16:07:02 +0800 Subject: [PATCH 08/79] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=EF=BC=8C=E5=A2=9E=E5=8A=A0=E9=98=BF=E9=87=8C?= =?UTF-8?q?=E4=BA=91=E5=86=85=E5=AE=B9=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ResiGroupServiceImpl.java | 67 ++++++++++--------- 1 file changed, 37 insertions(+), 30 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 624f0f73ef..a36df9e93c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -359,38 +359,45 @@ public class ResiGroupServiceImpl extends BaseServiceImpl resiResult = - epmetUserFeignClient.getUserResiInfoDTO(resiParam); - String userName = ""; - if(resiResult.success() && null != resiResult.getData()){ - userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) - + (StringUtils.isBlank(resiResult.getData().getName()) ? "" :resiResult.getData().getName()); - } + //4.获取居民注册信息 + UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO(); + resiParam.setCustomerId(applyCreateGroupFormDTO.getCustomerId()); + resiParam.setUserId(applyCreateGroupFormDTO.getUserId()); + Result resiResult = + epmetUserFeignClient.getUserResiInfoDTO(resiParam); + String userName = ""; + if(resiResult.success() && null != resiResult.getData()){ + userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) + + (StringUtils.isBlank(resiResult.getData().getName()) ? "" :resiResult.getData().getName()); + } userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName; - String msg = String.format(UserMessageConstant.CREATION_OF_GROUP_MESSAGE_TEMPLATE,roleName,userName,applyCreateGroupFormDTO.getGroupName()); - //3.2、插入一条待审核的操作记录 + String msg = String.format(UserMessageConstant.CREATION_OF_GROUP_MESSAGE_TEMPLATE,roleName,userName,applyCreateGroupFormDTO.getGroupName()); + //4.2、插入一条待审核的操作记录 ResiGroupOperationDTO resiGroupOperation = new ResiGroupOperationDTO(); resiGroupOperation.setResiGroupId(resiGroupEntity.getId()); resiGroupOperation.setState(GroupStateConstant.GROUP_UNDER_AUDITTING); @@ -398,7 +405,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Tue, 3 Nov 2020 16:39:40 +0800 Subject: [PATCH 09/79] =?UTF-8?q?1.=E5=B0=8F=E7=BB=84=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=A2=9E=E5=8A=A0flyway=E8=84=9A=E6=9C=AC=20?= =?UTF-8?q?2.=E5=A2=9E=E5=8A=A0=E5=B0=8F=E7=BB=84=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E5=88=97=E8=A1=A8=E6=9D=83=E9=99=90=E5=AD=97?= =?UTF-8?q?=E5=85=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/enums/RequirePermissionEnum.java | 1 + .../V0.0.4__createGroupSubmitRecord.sql | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java index 284ef67e74..288526433e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java @@ -10,6 +10,7 @@ public enum RequirePermissionEnum { * 工作-基层治理-群组管理 */ WORK_GRASSROOTS_GROUP_AUDITINGLIST("work_grassroots_group_auditinglist", "基层治理:群组管理:待审核列表", "基层治理:群组管理:待审核列表查询"), + WORK_GRASSROOTS_GROUP_EDIT_AUDITINGLIST("work_grassroots_group_edit_auditinglist", "基层治理:群组管理:小组变更待审核列表", "基层治理:群组管理:小组变更待审核列表"), WORK_GRASSROOTS_GROUP_GROUPSINTHEGRID("work_grassroots_group_groupsinthegrid", "基层治理:群组管理:本网格小组列表", "基层治理:群组管理:本网格小组列表查询"), WORK_GRASSROOTS_GROUP_AUDIT("work_grassroots_group_audit", "基层治理:群组管理:审核建组", "基层治理:群组管理:审核建组(通过或驳回)"), WORK_GRASSROOTS_GROUP_AUDITED("work_grassroots_group_audited", "基层治理:群组管理:审核历史", "基层治理:群组管理:审核历史列表查询"), diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql new file mode 100644 index 0000000000..1e53a7d6f1 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.4__createGroupSubmitRecord.sql @@ -0,0 +1,24 @@ +CREATE TABLE `group_edit_submit_record` +( + `ID` varchar(64) NOT NULL, + `GROUP_ID` varchar(64) NOT NULL COMMENT '小组ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `GRID_ID` varchar(64) DEFAULT NULL COMMENT '网格ID', + `GROUP_HEAD_PHOTO` varchar(255) NOT NULL COMMENT '头像', + `GROUP_NAME` varchar(10) NOT NULL COMMENT '小组名称', + `GROUP_INTRODUCTION` varchar(500) NOT NULL COMMENT '小组介绍', + `AUDIT_STATUS` varchar(30) NOT NULL COMMENT '审核状态。under_auditting:审核中,approved:通过,rejected:驳回', + `STAFF_ID` varchar(64) DEFAULT NULL COMMENT '审核人ID', + `REMARK` varchar(255) DEFAULT NULL COMMENT '回复', + `AUDIT_TIME` datetime DEFAULT NULL COMMENT '审核时间', + `DEL_FLAG` char(1) NOT NULL DEFAULT '0' COMMENT '删除标识', + `REVISION` int(8) NOT NULL DEFAULT '0' COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人 提交人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '修改人ID', + `UPDATED_TIME` datetime NOT NULL COMMENT '修改时间', + `READ_FLAG` varchar(8) NOT NULL COMMENT '已读read 未读unread', + `MESSAGE_TEXT` varchar(255) NOT NULL COMMENT '审核人员查看待审核列表时的文案,如:党员李华申请变更小组【原小组名】,请审核。', + PRIMARY KEY (`ID`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='组编辑提交记录表' \ No newline at end of file From 21cacb49a88b41273fb867fb23cb778acbffdd2a Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 4 Nov 2020 11:00:39 +0800 Subject: [PATCH 10/79] =?UTF-8?q?1.=E6=8F=90=E4=BA=A4=E7=BB=84=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=BC=96=E8=BE=91=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=90=8D=E5=AD=97=E5=92=8C=E4=BB=8B=E7=BB=8D=E7=9A=84?= =?UTF-8?q?=E9=95=BF=E5=BA=A6=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java | 3 +++ .../resi-group-server/src/main/resources/logback-spring.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java index bb1251bf6a..a86f1bb9ae 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/EditGroupFormDTO.java @@ -3,6 +3,7 @@ package com.epmet.resi.group.dto.group.form; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; @@ -28,9 +29,11 @@ public class EditGroupFormDTO { private String groupHeadPhoto; @NotBlank(message = "组名称不能为空", groups = { SubmitGroupEditVG.class }) + @Length(max = 10, message = "组名称长度不能超过10个字", groups = { SubmitGroupEditVG.class }) private String groupName; @NotBlank(message = "组介绍不能为空", groups = { SubmitGroupEditVG.class }) + @Length(max = 500, message = "组介绍长度不能超过500个字", groups = { SubmitGroupEditVG.class }) private String groupIntroduction; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml index 40fb0f8615..4232677864 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml @@ -134,7 +134,7 @@ - + From 61dfe891614e365753bdb4aa823eb376612315aa Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 4 Nov 2020 11:12:06 +0800 Subject: [PATCH 11/79] =?UTF-8?q?1.=E7=BB=84=E4=BF=A1=E6=81=AF=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=8F=90=E4=BA=A4=EF=BC=8C=E5=A2=9E=E5=8A=A0=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=AC=A1=E6=95=B0=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/service/impl/ResiGroupServiceImpl.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index a36df9e93c..b5c505adbb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1065,6 +1065,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Wed, 4 Nov 2020 14:27:27 +0800 Subject: [PATCH 12/79] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=AB=AF=20=20?= =?UTF-8?q?=E7=BB=84=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/enums/RequirePermissionEnum.java | 2 + .../epmet/commons/tools/redis/RedisKeys.java | 7 ++ .../form/WorkPointVerificationFormDTO.java | 5 +- .../epmet/controller/ExchangeController.java | 3 +- .../epmet/controller/ResiGroupController.java | 48 ++++++++++++ .../group/form/CommonGridAndPageFormDTO.java | 3 + .../group/form/GovGroupSummarizeFromDTO.java | 6 ++ .../result/GroupEditionApplyResultDTO.java | 46 ------------ .../group/feign/ResiGroupOpenFeignClient.java | 35 +++++++++ .../ResiGroupOpenFeignClientFallback.java | 24 ++++++ .../group/controller/ResiGroupController.java | 38 ++++++++++ .../group/dao/GroupEditSubmitRecordDao.java | 32 ++++++++ .../epmet/modules/group/dao/ResiGroupDao.java | 1 + .../modules/group/redis/ResiGroupRedis.java | 26 +++++++ .../group/service/ResiGroupService.java | 22 +++++- .../service/impl/ResiGroupServiceImpl.java | 73 +++++++++++++++++-- .../epmet/modules/utils/ModuleConstant.java | 10 +++ .../mapper/group/GroupEditSubmitRecordDao.xml | 67 +++++++++++++++++ .../dto/result/UserBaseInfoResultDTO.java | 2 +- 19 files changed, 391 insertions(+), 59 deletions(-) delete mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionApplyResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java index 288526433e..9ddd2f9c8e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java @@ -11,6 +11,8 @@ public enum RequirePermissionEnum { */ WORK_GRASSROOTS_GROUP_AUDITINGLIST("work_grassroots_group_auditinglist", "基层治理:群组管理:待审核列表", "基层治理:群组管理:待审核列表查询"), WORK_GRASSROOTS_GROUP_EDIT_AUDITINGLIST("work_grassroots_group_edit_auditinglist", "基层治理:群组管理:小组变更待审核列表", "基层治理:群组管理:小组变更待审核列表"), + WORK_GRASSROOTS_GROUP_EDIT_DETAIL("work_grassroots_group_edit_detail","基层治理:群组管理:变更申请","基层治理:群组管理:小组信息变更申请详情"), + WORK_GRASSROOTS_GROUP_EDIT_AUDIT("work_grassroots_group_edit_audit","基层治理:群组管理:变更审核","基层治理:群组管理:小组信息变更审核(通过或驳回)"), WORK_GRASSROOTS_GROUP_GROUPSINTHEGRID("work_grassroots_group_groupsinthegrid", "基层治理:群组管理:本网格小组列表", "基层治理:群组管理:本网格小组列表查询"), WORK_GRASSROOTS_GROUP_AUDIT("work_grassroots_group_audit", "基层治理:群组管理:审核建组", "基层治理:群组管理:审核建组(通过或驳回)"), WORK_GRASSROOTS_GROUP_AUDITED("work_grassroots_group_audited", "基层治理:群组管理:审核历史", "基层治理:群组管理:审核历史列表查询"), diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 463ec06427..444077098f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -353,4 +353,11 @@ public class RedisKeys { public static String getScreenIndexDataLockKey() { return rootPrefix.concat("stats:indexcal:lock"); } + + /** + * @Description 用户缓存Key + **/ + public static String getResiUserKey(String userId){ + return rootPrefix.concat("resi:user:").concat(userId); + } } diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/WorkPointVerificationFormDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/WorkPointVerificationFormDTO.java index c9cbe06642..fdb09a68f3 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/WorkPointVerificationFormDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/form/WorkPointVerificationFormDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.Max; @@ -17,7 +18,9 @@ import java.io.Serializable; public class WorkPointVerificationFormDTO implements Serializable { private static final long serialVersionUID = -590822390667788693L; - @NotBlank(message = "获取不到用户Id",groups = ResiCommonUserIdFormDTO.UserIdGroup.class) + public interface WorkPointVerifyGroup extends CustomerClientShowGroup{} + + @NotBlank(message = "获取不到用户Id",groups = WorkPointVerifyGroup.class) private String staffId; /** diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java index 8bb1d31cc5..4624abcaff 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/ExchangeController.java @@ -6,7 +6,6 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.PointVerificationFormDTO; -import com.epmet.dto.form.ResiCommonUserIdFormDTO; import com.epmet.dto.form.WorkPointVerificationFormDTO; import com.epmet.dto.result.PointVerificationResultDTO; import com.epmet.dto.result.WorkPointVerficationListResultDTO; @@ -54,7 +53,7 @@ public class ExchangeController { @PostMapping("recordmonthly") public Result getStaffVerificationRecordMonthly(@LoginUser TokenDto token,@RequestBody WorkPointVerificationFormDTO verificationParam){ verificationParam.setStaffId(token.getUserId()); - ValidatorUtils.validateEntity(verificationParam, ResiCommonUserIdFormDTO.UserIdGroup.class); + ValidatorUtils.validateEntity(verificationParam, WorkPointVerificationFormDTO.WorkPointVerifyGroup.class); return new Result().ok(pointVerificationLogService.getStaffVerificationRecordMonthly(verificationParam)); } diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java index 207ce24099..79fe109f52 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java @@ -11,6 +11,7 @@ import com.epmet.resi.group.dto.group.result.*; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; import com.epmet.resi.group.dto.group.form.GroupAuditedFromDTO; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.ResiGroupService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -31,6 +32,8 @@ import java.util.List; public class ResiGroupController { @Autowired ResiGroupService resiGroupService; + @Autowired + ResiGroupOpenFeignClient groupOpenFeignClient; /** * 小组审核历史列表 * @@ -127,4 +130,49 @@ public class ResiGroupController { ValidatorUtils.validateEntity(disAgreeApplyGroupFormDTO); return resiGroupService.disagreeApplying(disAgreeApplyGroupFormDTO); } + + /** + * @Description 工作端 查询组变更待审核列表 + * @param param + * @return + * @author wangc + * @date 2020.11.03 10:19 + */ + @PostMapping("edit-auditing-list") + //@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_AUDITINGLIST) + public Result> getEditAuditingList(@RequestBody CommonGridAndPageFormDTO param){ + ValidatorUtils.validateEntity(param, CommonGridAndPageFormDTO.GridPageGroup.class); + return groupOpenFeignClient.govEditAuditingList(param); + } + + /** + * @Description 工作端-查询小组修改信息的详情内容 + * @param param + * @returncom.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @PostMapping("edit-auditing-detail") + //@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_DETAIL) + public Result getEditAuditingDetail(@RequestBody GovGroupSummarizeFromDTO param){ + ValidatorUtils.validateEntity(param, GovGroupSummarizeFromDTO.GroupIdG.class); + return groupOpenFeignClient.govEditAuditingDetail(param); + } + + /** + * @Description 工作端-工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @PostMapping("audit-edit") + //@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_AUDIT) + public Result auditEdit(@LoginUser TokenDto tokenDto,@RequestBody GroupEditionAuditFormDTO param){ + param.setStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(param, GroupEditionAuditFormDTO.GroupEditionAuditGroup.class); + return groupOpenFeignClient.govAuditEdit(param); + } + + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java index 87ed69166f..169073eb68 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/CommonGridAndPageFormDTO.java @@ -3,6 +3,7 @@ package com.epmet.resi.group.dto.group.form; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import java.io.Serializable; @@ -27,11 +28,13 @@ public class CommonGridAndPageFormDTO implements Serializable { /** * 页码 */ + @Min(1) private Integer pageNo; /** * 每页多少条数 */ + @Min(1) private Integer pageSize; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java index 7757d54e37..00163136a2 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/GovGroupSummarizeFromDTO.java @@ -1,7 +1,9 @@ package com.epmet.resi.group.dto.group.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -12,8 +14,12 @@ import java.io.Serializable; @Data public class GovGroupSummarizeFromDTO implements Serializable { private static final long serialVersionUID = 1L; + + public interface GroupIdG extends CustomerClientShowGroup{} + /** * 小组id */ + @NotBlank(message = "群组Id不能为空",groups = GroupIdG.class) private String groupId; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionApplyResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionApplyResultDTO.java deleted file mode 100644 index e8811f98c9..0000000000 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupEditionApplyResultDTO.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.epmet.resi.group.dto.group.result; - -import lombok.Data; - -import java.io.Serializable; - -/** - * @Description 工作端 - 群组审核列表返参DTO - * @ClassName GroupEditionApplyResultDTO - * @Auth wangc - * @Date 2020-11-03 09:06 - */ -@Data -public class GroupEditionApplyResultDTO implements Serializable { - private static final long serialVersionUID = 437035656436226205L; - - /** - * 组Id - */ - private String groupId; - - /** - * 原始组姓名 - */ - private String groupName; - - /** - * 原始组头像 - */ - private String groupHeadPhoto; - - /** - * 已读 未读 - */ - private String readFlag; - - /** - * 审核人员查看待审核列表时的文案 如:党员李华申请变更小组【原小组名】,请审核。 - */ - private String messageText; - - /** - * yyyy-MM-dd HH:mm:ss - */ - private String submitTime; -} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index 58ff87be1e..42288e61ea 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -1,9 +1,19 @@ package com.epmet.resi.group.feign; +import com.epmet.commons.tools.utils.Result; +import com.epmet.resi.group.dto.group.form.CommonGridAndPageFormDTO; +import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; +import com.epmet.resi.group.dto.group.form.GroupEditionAuditFormDTO; +import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; +import com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO; import org.springframework.cloud.openfeign.FeignClient; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallback; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -11,6 +21,31 @@ import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallback; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:16 */ +//@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupOpenFeignClientFallback.class,url = "localhost:8095") @FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupOpenFeignClientFallback.class) public interface ResiGroupOpenFeignClient { + + @PostMapping("/resi/group/group/gov-edit-auditing-list") + Result> govEditAuditingList(@RequestBody CommonGridAndPageFormDTO param); + + /** + * @Description 查询小组修改信息的详情内容 + * @param param + * @returncom.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @PostMapping("/resi/group/group/gov-edit-auditing-detail") + Result govEditAuditingDetail(@RequestBody GovGroupSummarizeFromDTO param); + + /** + * @Description 工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @PostMapping("/resi/group/group/gov-audit-edit") + Result govAuditEdit(@RequestBody GroupEditionAuditFormDTO param); + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index df1c7bebf2..de1cb39021 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -1,8 +1,18 @@ package com.epmet.resi.group.feign.fallback; +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.resi.group.dto.group.form.CommonGridAndPageFormDTO; +import com.epmet.resi.group.dto.group.form.GovGroupSummarizeFromDTO; +import com.epmet.resi.group.dto.group.form.GroupEditionAuditFormDTO; +import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; +import com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 * @@ -11,4 +21,18 @@ import org.springframework.stereotype.Component; */ @Component public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClient { + @Override + public Result> govEditAuditingList(CommonGridAndPageFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "govEditAuditingList", param); + } + + @Override + public Result govEditAuditingDetail(GovGroupSummarizeFromDTO param) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "govEditAuditingDetail", param); + } + + @Override + public Result govAuditEdit(GroupEditionAuditFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "govAuditEdit", param); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 98c572ad08..900fa91908 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -384,4 +384,42 @@ public class ResiGroupController { return new Result(); } + + /** + * @Description 工作端 查询组变更待审核列表 + * @param param + * @return + * @author wangc + * @date 2020.11.03 10:19 + */ + @PostMapping("gov-edit-auditing-list") + public Result> govEditAuditingList(@RequestBody CommonGridAndPageFormDTO param){ + return new Result>().ok(resiGroupService.getEditAuditingList(param)); + } + + /** + * @Description 工作端-查询小组修改信息的详情内容 + * @param param + * @returncom.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @PostMapping("gov-edit-auditing-detail") + public Result govEditAuditingDetail(@RequestBody GovGroupSummarizeFromDTO param){ + return new Result().ok(resiGroupService.getEditAuditingDetail(param)); + } + + /** + * @Description 工作端-作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @PostMapping("gov-audit-edit") + public Result govAuditEdit(@RequestBody GroupEditionAuditFormDTO param){ + resiGroupService.auditEdit(param); + return new Result(); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java index 37eb9f366e..71ba9175a3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java @@ -19,10 +19,12 @@ package com.epmet.modules.group.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; +import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.Date; +import java.util.List; /** * 组编辑提交记录表 @@ -49,4 +51,34 @@ public interface GroupEditSubmitRecordDao extends BaseDao selectGroupEditApplyList(@Param("gridId")String gridId); + + /** + * @Description 查询小组修改信息详情 + * @param + * @return com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:32 + */ + GroupEditSubmitRecordEntity selectEditDetail(@Param("groupId")String groupId,@Param("auditResult") String auditResult); + + /** + * @Description 审核群信息更改 + * @param groupId + * @param staffId + * @param auditStatus + * @param remark + * @return int + * @author wangc + * @date 2020.11.03 17:33 + */ + int updateAuditResult(@Param("groupId")String groupId,@Param("staffId") String staffId,@Param("auditStatus") String auditStatus,@Param("remark")String remark); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 57fd94d9ab..2cbc78cae1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -26,6 +26,7 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.List; /** diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java index 7f2442a8e7..6401780dfc 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java @@ -19,8 +19,12 @@ package com.epmet.modules.group.redis; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.UserBaseInfoResultDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.group.service.ResiGroupService; import com.epmet.modules.group.service.ResiGroupStatisticalService; @@ -36,6 +40,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import java.util.*; @@ -57,6 +62,9 @@ public class ResiGroupRedis { @Autowired private ResiGroupStatisticalService statisticalService; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + public void delete(Object[] ids) { @@ -215,4 +223,22 @@ public class ResiGroupRedis { } }); } + + /** + * @Description 从缓存中获取用户的真实姓名 + * @param userId + * @return java.lang.String + * @author wangc + * @date 2020.11.03 15:27 + */ + public String getFullName(String userId){ + String fieldValue = (String)redisUtils.hGet(RedisKeys.getResiUserKey(userId),"realName"); + if(StringUtils.isNotBlank(fieldValue)) return fieldValue; + List userParam = new LinkedList<>(); userParam.add(userId); + Result> userCacheResult = epmetUserOpenFeignClient.queryUserBaseInfo(userParam); + if(userCacheResult.success() && !CollectionUtils.isEmpty(userCacheResult.getData())){ + return userCacheResult.getData().iterator().next().getRealName(); + } + return null; + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index b5227cdc3a..43bbca9b1b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -301,9 +301,27 @@ public interface ResiGroupService extends BaseService { /** * @Description 工作端 查询组变更待审核列表 * @param param - * @return java.util.List + * @return * @author wangc * @date 2020.11.03 10:19 */ - List getEditAuditingList(CommonGridAndPageFormDTO param); + List getEditAuditingList(CommonGridAndPageFormDTO param); + + /** + * @Description 查询小组修改信息的详情内容 + * @param param + * @returncom.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + GroupEditionDetailResultDTO getEditAuditingDetail(GovGroupSummarizeFromDTO param); + + /** + * @Description 工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + void auditEdit(GroupEditionAuditFormDTO param); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index ed535453db..def31ee6ba 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -32,11 +32,9 @@ import com.epmet.commons.tools.scan.param.ImgTaskDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.dto.GovTokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.utils.ScanContentUtils; +import com.epmet.commons.tools.utils.*; import com.epmet.constant.ReadFlagConstant; import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; @@ -71,6 +69,7 @@ import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; +import com.github.pagehelper.PageHelper; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -139,6 +138,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl + * @return * @author wangc * @date 2020.11.03 10:19 */ @Override - public List getEditAuditingList(CommonGridAndPageFormDTO param) { + public List getEditAuditingList(CommonGridAndPageFormDTO param) { + return Optional.ofNullable(PageHelper.startPage(null == param.getPageNo() ? NumConstant.ONE : param.getPageNo() , null == param.getPageSize() ? NumConstant.TWELVE : param.getPageSize()) + .doSelectPage(() -> { + groupEditSubmitRecordDao.selectGroupEditApplyList(param.getGridId());}).getResult()).orElse(new LinkedList<>()) + .stream().map(o -> { return (ApplyingGroupResultDTO)o; }).collect(Collectors.toList()); + } - return null; + /** + * @Description 查询小组修改信息的详情内容 不加事务! + * @param param + * @return com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @Override + public GroupEditionDetailResultDTO getEditAuditingDetail(GovGroupSummarizeFromDTO param) { + GroupEditSubmitRecordEntity edit = groupEditSubmitRecordDao.selectEditDetail(param.getGroupId(),null); + if(null == edit) { + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.getEditAuditingDetail,未找到小组变更信息记录,传参:{}",JSON.toJSONString(param)); + return null;} + //取消未读状态 + GroupEditSubmitRecordEntity _update = new GroupEditSubmitRecordEntity(); + _update.setId(edit.getId());_update.setReadFlag(ModuleConstant.READ); + groupEditSubmitRecordDao.updateById(_update); + GroupEditionDetailResultDTO result = ConvertUtils.sourceToTarget(edit, GroupEditionDetailResultDTO.class); + result.setGroupLeaderName(resiGroupRedis.getFullName(edit.getCreatedBy())); + return result; } + + /** + * @Description 工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void auditEdit(GroupEditionAuditFormDTO param) { + if(StringUtils.equals(param.getAuditResult(),ModuleConstant.AUDITING_OPERATION_REJECT) && StringUtils.isBlank(param.getRemark())){ + throw new RenException("拒绝理由不能为空"); + } + int affectedRows = groupEditSubmitRecordDao.updateAuditResult(param.getGroupId(),param.getStaffId(),param.getAuditResult(),param.getRemark()); + if(affectedRows <= NumConstant.ZERO){ + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.auditEdit,更新组编辑记录时受影响行数小于1,传参:{}",JSON.toJSONString(param)); + throw new RenException("更新组编辑记录时受影响行数小于1"); + } + if(!StringUtils.equals(param.getAuditResult(),ModuleConstant.AUDITING_OPERATION_REJECT)){ + //同意 + GroupEditSubmitRecordEntity edit = groupEditSubmitRecordDao.selectEditDetail(param.getGroupId(),param.getAuditResult()); + if(null == edit){ + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.auditEdit,找不到待审核的组更新记录,传参:{}",JSON.toJSONString(param)); + throw new RenException("找不到待审核的组更新记录"); + } + ResiGroupEntity _update = ConvertUtils.sourceToTarget(edit,ResiGroupEntity.class); + _update.setId(param.getGroupId()); + baseDao.updateById(_update); + } + + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index 094c58bda7..6f6a94d7ed 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java @@ -328,4 +328,14 @@ public interface ModuleConstant extends Constant { String FIELD_OPERATION_TYPE = "OPERATION_TYPE"; String CLOSED_TOPIC_REASON_PREFIX="话题已关闭:"; + + /** + * 审核操作 同意 + */ + String AUDITING_OPERATION_APPROVAL = "approved"; + + /** + * 审核操作 拒绝 + */ + String AUDITING_OPERATION_REJECT = "rejected"; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml index 1b689eb363..5485a96af6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/GroupEditSubmitRecordDao.xml @@ -66,5 +66,72 @@ limit 1 + + + + + + + + UPDATE + group_edit_submit_record + SET + AUDIT_STATUS = #{auditStatus}, + STAFF_ID = #{staffId}, + + REMARK = #{remark}, + + AUDIT_TIME = NOW(),UPDATED_TIME = NOW(),UPDATED_BY = #{staffId} + WHERE + DEL_FLAG = '0' + AND + GROUP_ID = #{groupId} + AND + AUDIT_STATUS = 'under_auditIng' + AND + STAFF_ID IS NULL + LIMIT 1 + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java index c674685ee5..2c23abe08b 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBaseInfoResultDTO.java @@ -1,6 +1,6 @@ package com.epmet.dto.result; -import com.fasterxml.jackson.annotation.JsonIgnore; + import lombok.Data; import java.io.Serializable; From 361edcb801b4988fb89db181d7f3cc928a452a07 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 4 Nov 2020 15:02:12 +0800 Subject: [PATCH 13/79] =?UTF-8?q?1.=E8=B0=83=E6=95=B4=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=BC=96=E8=BE=91=E5=BC=82=E5=B8=B8=E6=8A=9B?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/exception/EpmetErrorCode.java | 8 ++++++-- .../modules/group/service/impl/ResiGroupServiceImpl.java | 9 ++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 1976ca3337..5a261b93bf 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -41,7 +41,6 @@ public enum EpmetErrorCode { MOBILE_GET_CODE_ERROR(8104,"获取验证码失败"), MESSAGE_SMS_SEND_ERROR(8105, "短信发送失败"), NOT_DEL_GRID(8106,"该网格存在工作人员,不允许删除"), - GROUP_EDIT_ERROR(8107,"组信息编辑失败"), ORG_IS_NOT_NULL(8107,"党组织关系不能为空"), CANNOT_DELETE_PARTY_BRANCH(8108,"当前支部存在党员,不允许删除"), @@ -123,7 +122,12 @@ public enum EpmetErrorCode { SELECT_CUSTOMER_ERROR(8652,"未查询到注册客户信息"), SELECT_AGENCY_ERROR(8653,"根据客户信息未查询到注册客户组织信息"), SELECT_USER_ERROR(8654,"根据客户信息未查询到注册客户管理员信息"), - UPDATE_CUSTOMER_ERROR(8655,"更新注册客户信息为已完成初始化失败"); + UPDATE_CUSTOMER_ERROR(8655,"更新注册客户信息为已完成初始化失败"), + + GROUP_EDIT_ERROR(9000,"组信息编辑失败"), + GROUP_NOT_EXISTS(9001,"该组不存在"), + GROUP_IN_AUDITING(9002,"该组已提交编辑,处于待审核状态,完成审核前不可再次提交"), + GROUP_EDIT_NUM_LIMITED(9003,"已达编辑次数上限"); private int code; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index b5c505adbb..03a5f0cd6f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1062,27 +1062,26 @@ public class ResiGroupServiceImpl extends BaseServiceImpl 0) { // 已存在组名,拒绝提交 - throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), "组名已存在"); + throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode(), EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg()); } Date now = new Date(); int usedEditNum = groupEditSubmitRecordDao.countEditNum(groupId, DateUtils.getMonthStart(now), DateUtils.getMonthEnd(now)); if (GroupLimitConstant.EDIT_NUM_LIMIT_MONTH <= usedEditNum) { // 达到最大编辑次数了 - throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), - String.format("本月可用修改次数为%s次,您已使用%s次", GroupLimitConstant.EDIT_NUM_LIMIT_MONTH, usedEditNum)); + throw new RenException(EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getCode(), EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getMsg()); } // 3.内容检查 From dba6589ffa794577b12af879d72ff699d6065fb1 Mon Sep 17 00:00:00 2001 From: wangchao Date: Wed, 4 Nov 2020 15:24:24 +0800 Subject: [PATCH 14/79] =?UTF-8?q?=E7=BB=84=E5=8F=98=E6=9B=B4=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=EF=BC=8C=E4=B8=BB=E9=A1=B5=E7=BA=A2=E7=82=B9=E7=9A=84?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/ResiGroupController.java | 6 +++--- .../group/service/impl/ResiGroupServiceImpl.java | 16 ++++++++++------ .../mapper/group/GroupEditSubmitRecordDao.xml | 5 +++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java index 79fe109f52..193e5bac1e 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/controller/ResiGroupController.java @@ -139,7 +139,7 @@ public class ResiGroupController { * @date 2020.11.03 10:19 */ @PostMapping("edit-auditing-list") - //@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_AUDITINGLIST) + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_AUDITINGLIST) public Result> getEditAuditingList(@RequestBody CommonGridAndPageFormDTO param){ ValidatorUtils.validateEntity(param, CommonGridAndPageFormDTO.GridPageGroup.class); return groupOpenFeignClient.govEditAuditingList(param); @@ -153,7 +153,7 @@ public class ResiGroupController { * @date 2020.11.03 14:10 */ @PostMapping("edit-auditing-detail") - //@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_DETAIL) + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_DETAIL) public Result getEditAuditingDetail(@RequestBody GovGroupSummarizeFromDTO param){ ValidatorUtils.validateEntity(param, GovGroupSummarizeFromDTO.GroupIdG.class); return groupOpenFeignClient.govEditAuditingDetail(param); @@ -167,7 +167,7 @@ public class ResiGroupController { * @date 2020.11.03 16:02 */ @PostMapping("audit-edit") - //@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_AUDIT) + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_GROUP_EDIT_AUDIT) public Result auditEdit(@LoginUser TokenDto tokenDto,@RequestBody GroupEditionAuditFormDTO param){ param.setStaffId(tokenDto.getUserId()); ValidatorUtils.validateEntity(param, GroupEditionAuditFormDTO.GroupEditionAuditGroup.class); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 00b85fcda6..3dad3f4555 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1108,6 +1108,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Wed, 4 Nov 2020 17:06:22 +0800 Subject: [PATCH 15/79] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/modules/group/service/impl/ResiGroupServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 3dad3f4555..a7067e7f6d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1279,7 +1279,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Thu, 5 Nov 2020 10:54:00 +0800 Subject: [PATCH 16/79] =?UTF-8?q?=E6=89=93=E5=BC=80=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E5=B0=8F=E7=BB=84=E4=BF=A1=E6=81=AF=E7=9A=84=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/modules/group/service/impl/ResiGroupServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index a7067e7f6d..b4930b337a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1087,7 +1087,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Thu, 12 Nov 2020 14:12:09 +0800 Subject: [PATCH 17/79] =?UTF-8?q?=E7=BB=84=E4=BF=AE=E6=94=B9=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E9=80=9A=E8=BF=87=E5=90=8E=E5=88=A0=E9=99=A4=E8=AF=A5?= =?UTF-8?q?=E7=BB=84=E4=BF=A1=E6=81=AF=E7=9A=84=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/modules/group/redis/ResiGroupRedis.java | 10 ++++++++++ .../group/service/impl/ResiGroupServiceImpl.java | 1 + 2 files changed, 11 insertions(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java index 6401780dfc..03dcc4ecba 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/redis/ResiGroupRedis.java @@ -132,6 +132,16 @@ public class ResiGroupRedis { return null; } + /** + * @Description 删除组缓存 + * @param groupId + * @return void + * @author wangc + * @date 2020.11.12 14:07 + */ + public void delGroup(String groupId){ + redisUtils.delete(ResiGroupRedisKeys.getResiGroupInfoKey(groupId)); + } /** * @param gridId diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index b4930b337a..f9ce49ff21 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1297,6 +1297,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Fri, 13 Nov 2020 10:19:29 +0800 Subject: [PATCH 18/79] =?UTF-8?q?=E5=9F=BA=E5=B1=82=E6=B2=BB=E7=90=86-?= =?UTF-8?q?=E7=BE=A4=E7=BB=84=E7=AE=A1=E7=90=86=E7=BA=A2=E7=82=B9=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=EF=BC=88+=E5=8F=98=E6=9B=B4=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=8D=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/feign/ResiGroupFeignClient.java | 2 +- .../com/epmet/service/impl/RemindServiceImpl.java | 3 +-- .../group/controller/ResiGroupController.java | 2 +- .../modules/group/dao/GroupEditSubmitRecordDao.java | 8 ++++++++ .../group/service/impl/ResiGroupServiceImpl.java | 7 ++++--- .../mapper/group/GroupEditSubmitRecordDao.xml | 12 ++++++++++++ 6 files changed, 27 insertions(+), 7 deletions(-) diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java index 18815b635a..2fc38efdf0 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -143,7 +143,7 @@ public interface ResiGroupFeignClient { * @param gridIdList * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei - * @Description 查询网格下待审核的小组总数 + * @Description 查询网格下待审核的小组总数+变更小组信息申请数 * @Date 2020/5/13 15:49 **/ @PostMapping(value = "/resi/group/group/groupprocessingcount",consumes = MediaType.APPLICATION_JSON_VALUE) diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java index e7cfdcbd6c..d9a22f75cd 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java +++ b/epmet-module/gov-grid/gov-grid-server/src/main/java/com/epmet/service/impl/RemindServiceImpl.java @@ -104,8 +104,7 @@ public class RemindServiceImpl implements RemindService { } } }else{ - logger.error(String.format("调用%s服务,查询网格%s待审核小组数失败code%s,msg:", ServiceConstant.RESI_GROUP_SERVER, gridIdList.get(0), groupProcessingCountResult.getCode(), - groupProcessingCountResult.getMsg())); + logger.error(String.format("查询群组管理待办事项数失败,%s",groupProcessingCountResult.getMsg())); } return false; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 900fa91908..a32e44626b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -297,7 +297,7 @@ public class ResiGroupController { * @param gridIdList * @return com.epmet.commons.tools.utils.Result> * @Author yinzuomei - * @Description 传入网格id列表,返回每个网格的待审核小组总数 + * @Description 传入网格id列表,返回每个网格的待审核小组总数+变更小组信息申请数 * @Date 2020/5/13 21:33 **/ @PostMapping("groupprocessingcount") diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java index 71ba9175a3..829beba4f7 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/GroupEditSubmitRecordDao.java @@ -81,4 +81,12 @@ public interface GroupEditSubmitRecordDao extends BaseDao + + + \ No newline at end of file From cd6f50a9dede851c708f8284a9ff871b7550007d Mon Sep 17 00:00:00 2001 From: wxz Date: Sat, 14 Nov 2020 13:55:58 +0800 Subject: [PATCH 19/79] =?UTF-8?q?=E4=BF=AE=E6=94=B9:=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=BB=84=E4=BF=A1=E6=81=AF=E7=BC=96=E8=BE=91=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E5=80=99=EF=BC=8C=E5=88=A4=E6=96=AD=E5=BD=93=E5=89=8D=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E4=BA=BA=E6=98=AF=E5=90=A6=E6=98=AF=E7=BB=84=E9=95=BF?= =?UTF-8?q?=EF=BC=8C=E5=8F=AA=E6=9C=89=E7=BB=84=E9=95=BF=E6=89=8D=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/group/controller/ResiGroupController.java | 4 ++-- .../epmet/modules/group/service/ResiGroupService.java | 2 +- .../modules/group/service/impl/ResiGroupServiceImpl.java | 9 ++++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index a32e44626b..8f6620be9d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -378,9 +378,9 @@ public class ResiGroupController { * @return */ @PostMapping("submit-edit") - public Result submitGroupEdit(@RequestBody EditGroupFormDTO form){ + public Result submitGroupEdit(@RequestBody EditGroupFormDTO form, @LoginUser TokenDto tokenDto){ ValidatorUtils.validateEntity(form, EditGroupFormDTO.SubmitGroupEditVG.class); - resiGroupService.submitGroupEdit(form.getGroupId(), form.getGroupName(), form.getGroupHeadPhoto(), form.getGroupIntroduction()); + resiGroupService.submitGroupEdit(form.getGroupId(), form.getGroupName(), form.getGroupHeadPhoto(), form.getGroupIntroduction(), tokenDto.getUserId()); return new Result(); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 43bbca9b1b..b17f2c7cf1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -296,7 +296,7 @@ public interface ResiGroupService extends BaseService { GroupDetailResultDTO getGroupDetail(String groupId); - void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction); + void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction, String editUserId); /** * @Description 工作端 查询组变更待审核列表 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 2e8ee1216b..39acacad26 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -1061,13 +1061,20 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Tue, 17 Nov 2020 16:16:59 +0800 Subject: [PATCH 20/79] =?UTF-8?q?=E6=88=91=E5=8F=82=E4=B8=8E=E7=9A=84?= =?UTF-8?q?=E8=AE=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dao/IssueVoteDetailDao.java | 2 ++ .../impl/IssueVoteStatisticalServiceImpl.java | 15 ++++++++++++ .../resources/mapper/IssueVoteDetailDao.xml | 16 +++++++++++++ .../dto/topic/form/MyPartIssueFormDTO.java | 17 ++++++++++++++ .../topic/result/MyPartIssueResultDTO.java | 23 +++++++++++++++++++ .../group/feign/ResiGroupOpenFeignClient.java | 11 +++++++++ .../ResiGroupOpenFeignClientFallback.java | 7 ++++++ .../topic/controller/ResiTopicController.java | 11 +++++++++ .../epmet/modules/topic/dao/ResiTopicDao.java | 13 +++++++---- .../topic/service/ResiTopicService.java | 8 +++++++ .../service/impl/ResiTopicServiceImpl.java | 17 ++++++++++++++ .../resources/mapper/topic/ResiTopicDao.xml | 12 ++++++++++ 12 files changed, 148 insertions(+), 4 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyPartIssueFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyPartIssueResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java index e1d7cfbddf..e1779a1720 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueVoteDetailDao.java @@ -82,4 +82,6 @@ public interface IssueVoteDetailDao extends BaseDao { * @date 2020/11/10 10:01 上午 */ List myPartIssues(@Param("userId")String userId); + + List myPartIssuesByTopicId(@Param("topicIds")List topicIds); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java index 7f678ba465..bece3fd200 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java @@ -44,6 +44,9 @@ import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.ResiGroupFeignClient; import com.epmet.redis.IssueVoteDetailRedis; import com.epmet.redis.IssueVoteStatisticalRedis; +import com.epmet.resi.group.dto.topic.form.MyPartIssueFormDTO; +import com.epmet.resi.group.dto.topic.result.MyPartIssueResultDTO; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.IssueVoteDetailService; import com.epmet.service.IssueVoteStatisticalService; import com.epmet.utils.ModuleConstants; @@ -90,6 +93,8 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl page(Map params) { @@ -545,6 +550,16 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl myPartIssues(MyPartIssuesFormDTO myPartIssuesFormDTO) { List myPartIssuesResult = issueVoteDetailDao.myPartIssues(myPartIssuesFormDTO.getUserId()); + MyPartIssueFormDTO formDTO = new MyPartIssueFormDTO(); + formDTO.setUserId(myPartIssuesFormDTO.getUserId()); + Result myPartIssueResult = resiGroupOpenFeignClient.selectMyPartTopic(formDTO); + if (!myPartIssueResult.success()){ + throw new RenException("查询我评论过的话题失败......"); + } + if (!CollectionUtils.isEmpty(myPartIssueResult.getData().getTopicIds())){ + List myPartIssuesResultDTOS = issueVoteDetailDao.myPartIssuesByTopicId(myPartIssueResult.getData().getTopicIds()); + myPartIssuesResult.addAll(myPartIssuesResultDTOS); + } if (CollectionUtils.isEmpty(myPartIssuesResult)){ return new ArrayList<>(); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml index 523dd1cb63..d5f4e8bc80 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueVoteDetailDao.xml @@ -87,4 +87,20 @@ AND vd.CREATED_BY = #{userId} ORDER BY i.CREATED_TIME DESC + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyPartIssueFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyPartIssueFormDTO.java new file mode 100644 index 0000000000..98e5100d07 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyPartIssueFormDTO.java @@ -0,0 +1,17 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/11/17 3:29 下午 + */ +@Data +public class MyPartIssueFormDTO implements Serializable { + + private static final long serialVersionUID = -632199437101523924L; + + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyPartIssueResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyPartIssueResultDTO.java new file mode 100644 index 0000000000..35759b6bbc --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyPartIssueResultDTO.java @@ -0,0 +1,23 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2020/11/17 3:30 下午 + */ +@Data +public class MyPartIssueResultDTO implements Serializable { + + private static final long serialVersionUID = -7726879551303168135L; + + private List topicIds; + + public MyPartIssueResultDTO() { + this.topicIds = new ArrayList<>(); + } +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index ba705a5893..18354eb21c 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -6,9 +6,11 @@ import com.epmet.resi.group.dto.group.form.GroupInfoFormDTO; import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO; import com.epmet.resi.group.dto.topic.form.CustomerPageFormDTO; +import com.epmet.resi.group.dto.topic.form.MyPartIssueFormDTO; import com.epmet.resi.group.dto.topic.form.TopicIdListFormDTO; import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO; import com.epmet.resi.group.dto.topic.result.MyCreateTopicsResultDTO; +import com.epmet.resi.group.dto.topic.result.MyPartIssueResultDTO; import com.epmet.resi.group.dto.topic.result.ParticipatedTopicUnitResultDTO; import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallback; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; @@ -71,4 +73,13 @@ public interface ResiGroupOpenFeignClient { */ @PostMapping("resi/group/topic/select-my-create-topic") Result> selectMyCreateTopic(@RequestBody TopicIdListFormDTO topicIdListFormDTO); + + /** + * @Description 查询我评论过的话题 + * @Param myPartIssueFormDTO + * @author zxc + * @date 2020/11/17 3:34 下午 + */ + @PostMapping("resi/group/topic/myparttopic") + Result selectMyPartTopic(@RequestBody MyPartIssueFormDTO myPartIssueFormDTO); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index 636acafb0e..ab936aa96e 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -7,8 +7,10 @@ import com.epmet.resi.group.dto.group.form.GroupInfoFormDTO; import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO; import com.epmet.resi.group.dto.topic.form.CustomerPageFormDTO; +import com.epmet.resi.group.dto.topic.form.MyPartIssueFormDTO; import com.epmet.resi.group.dto.topic.form.TopicIdListFormDTO; import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO; +import com.epmet.resi.group.dto.topic.result.MyPartIssueResultDTO; import com.epmet.resi.group.dto.topic.result.ParticipatedTopicUnitResultDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; @@ -49,4 +51,9 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien public Result> selectMyCreateTopic(TopicIdListFormDTO topicIdListFormDTO) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectMyCreateTopic", topicIdListFormDTO); } + + @Override + public Result selectMyPartTopic(MyPartIssueFormDTO myPartIssueFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectMyPartTopic", myPartIssueFormDTO); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 4c7d08ba93..bb8a8d4b9d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -296,5 +296,16 @@ public class ResiTopicController { return new Result>().ok(topicService.selectMyCreateTopic(topicIdListFormDTO)); } + /** + * @Description 查询我评论过的话题 + * @Param myPartIssueFormDTO + * @author zxc + * @date 2020/11/17 3:34 下午 + */ + @PostMapping("myparttopic") + public Result selectMyPartTopic(@RequestBody MyPartIssueFormDTO myPartIssueFormDTO){ + return new Result().ok(topicService.selectMyPartTopic(myPartIssueFormDTO)); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index 701661cac4..d0d50cea9a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -22,11 +22,8 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.ResiTopicEntity; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; -import com.epmet.resi.group.dto.topic.form.CheckTopicPublisherFormDTO; -import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; -import com.epmet.resi.group.dto.topic.form.TopicIdListFormDTO; +import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.*; -import com.epmet.resi.group.dto.topic.form.TopicInfoFormDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -179,4 +176,12 @@ public interface ResiTopicDao extends BaseDao { * @date 2020/11/13 4:32 下午 */ List selectMyCreateTopic(TopicIdListFormDTO topicIdListFormDTO); + + /** + * @Description 查询我评论过的话题 + * @Param myPartIssueFormDTO + * @author zxc + * @date 2020/11/17 3:34 下午 + */ + List selectMyPartTopic(MyPartIssueFormDTO myPartIssueFormDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index dbd533439e..fd1e965263 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -287,4 +287,12 @@ public interface ResiTopicService extends BaseService { * @date 2020/11/13 4:32 下午 */ List selectMyCreateTopic(TopicIdListFormDTO topicIdListFormDTO); + + /** + * @Description 查询我评论过的话题 + * @Param myPartIssueFormDTO + * @author zxc + * @date 2020/11/17 3:34 下午 + */ + MyPartIssueResultDTO selectMyPartTopic(MyPartIssueFormDTO myPartIssueFormDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index dbdfc2f200..c9aa730284 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -1487,6 +1487,23 @@ public class ResiTopicServiceImpl extends BaseServiceImpl selectMyCreateTopic(TopicIdListFormDTO topicIdListFormDTO) { return baseDao.selectMyCreateTopic(topicIdListFormDTO); } + + /** + * @Description 查询我评论过的话题 + * @Param myPartIssueFormDTO + * @author zxc + * @date 2020/11/17 3:34 下午 + */ + @Override + public MyPartIssueResultDTO selectMyPartTopic(MyPartIssueFormDTO myPartIssueFormDTO) { + List topicIds = baseDao.selectMyPartTopic(myPartIssueFormDTO); + if (CollectionUtils.isEmpty(topicIds)){ + return new MyPartIssueResultDTO(); + } + MyPartIssueResultDTO myPartIssueResultDTO = new MyPartIssueResultDTO(); + myPartIssueResultDTO.setTopicIds(topicIds); + return myPartIssueResultDTO; + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index 5f68af2e92..16db55e31f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -508,5 +508,17 @@ AND STATUS = 'discussing' AND created_by = #{userId} + + + From 1d9068a573c183b22a312bb4236f6d19188663cb Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 17 Nov 2020 16:35:00 +0800 Subject: [PATCH 21/79] =?UTF-8?q?=E6=88=91=E5=8F=82=E4=B8=8E=E7=9A=84?= =?UTF-8?q?=E8=AE=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IssueVoteStatisticalServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java index bece3fd200..d995c8166a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java @@ -563,13 +563,14 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl(); } - List orgIds = myPartIssuesResult.stream().map(m -> m.getGridId()).collect(Collectors.toList()); + List collect = myPartIssuesResult.stream().sorted(Comparator.comparing(MyPartIssuesResultDTO::getShiftIssueTime).reversed()).distinct().collect(Collectors.toList()); + List orgIds = collect.stream().map(m -> m.getGridId()).collect(Collectors.toList()); Result> listResult = govOrgOpenFeignClient.getGridListByGridIds(orgIds); if (!listResult.success()){ throw new RenException("查询议题来源网格名称失败......"); } - myPartIssuesResult.forEach(m -> listResult.getData().stream().filter(l -> m.getGridId().equals(l.getGridId())).forEach(l -> m.setTopicReleaseGridName(l.getGridName()))); - return myPartIssuesResult; + collect.forEach(m -> listResult.getData().stream().filter(l -> m.getGridId().equals(l.getGridId())).forEach(l -> m.setTopicReleaseGridName(l.getGridName()))); + return collect; } } \ No newline at end of file From 7abd59833a589d424db428feb94d3838e37388c7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 17 Nov 2020 17:30:13 +0800 Subject: [PATCH 22/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=8E=B7=E5=8F=96=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/UserBadgeServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 f7939fabb8..3386d421e8 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 @@ -10,7 +10,6 @@ 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.ResiUserBadgeDao; import com.epmet.dao.UserBadgeDao; import com.epmet.dto.UserBadgeCertificateRecordDTO; import com.epmet.dto.form.*; @@ -242,7 +241,11 @@ public class UserBadgeServiceImpl implements UserBadgeService { public List authField(AuthFieldFormDTO authFieldFormDTO) { List authFieldResultDTOS = userBadgeDao.selectAuthField(authFieldFormDTO); if (CollectionUtils.isEmpty(authFieldResultDTOS)){ - return new ArrayList<>(); + authFieldFormDTO.setCustomerId(BadgeConstant.DEFAULT_CUSTOMER); + authFieldResultDTOS = userBadgeDao.selectAuthField(authFieldFormDTO); + if (CollectionUtils.isEmpty(authFieldResultDTOS)) { + return new ArrayList<>(); + } } return authFieldResultDTOS; } From 5e6dd0d610792ad65fa65db4ccb7d5dbe792bdc3 Mon Sep 17 00:00:00 2001 From: wangchao Date: Wed, 18 Nov 2020 09:51:10 +0800 Subject: [PATCH 23/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ResiTopicServiceImpl.java | 110 +++++++++--------- 1 file changed, 56 insertions(+), 54 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index c9aa730284..4653ee1b0c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -373,31 +373,33 @@ public class ResiTopicServiceImpl extends BaseServiceImpl>> badgeR - = userOpenFeignClient.userShowBadge( - new UserGroupFormDTO(group.getCustomerId(), - latestTenTopics.stream() - .filter(top -> StringUtils.equals("other",top.getReleaseUserFlag())) - .map(ResiTopicIncludeIssueInfoResultDTO::getUserId) - .distinct().collect(Collectors.toList()))); - if(null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()){ - Map> badgeM = badgeR.getData(); - latestTenTopics.forEach(top -> { - if(StringUtils.equals("other",top.getReleaseUserFlag())){ - top.setBadgeList( - CollectionUtils.isEmpty(badgeM.get(top.getUserId())) ? - Collections.EMPTY_LIST : - badgeM.get(top.getUserId()).stream().map(UserBadgeUnitFormDTO :: getBadgeIcon).collect(Collectors.toList()) - ); - }else top.setBadgeList(Collections.EMPTY_LIST); - }); - }else latestTenTopics.forEach(top -> top.setBadgeList(Collections.EMPTY_LIST)); + List other = latestTenTopics.stream() + .filter(top -> StringUtils.equals("other", top.getReleaseUserFlag())) + .map(ResiTopicIncludeIssueInfoResultDTO::getUserId) + .distinct().collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(other)) { + ResiGroupEntity group = resiGroupDao.selectById(groupId); + if (null != group && StringUtils.isNotBlank(group.getCustomerId())) { + Result>> badgeR + = userOpenFeignClient.userShowBadge( + new UserGroupFormDTO(group.getCustomerId(),other)); + if (null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()) { + Map> badgeM = badgeR.getData(); + latestTenTopics.forEach(top -> { + if (StringUtils.equals("other", top.getReleaseUserFlag())) { + top.setBadgeList( + CollectionUtils.isEmpty(badgeM.get(top.getUserId())) ? + Collections.EMPTY_LIST : + badgeM.get(top.getUserId()).stream().map(UserBadgeUnitFormDTO::getBadgeIcon).collect(Collectors.toList()) + ); + } else top.setBadgeList(Collections.EMPTY_LIST); + }); - } + } else latestTenTopics.forEach(top -> top.setBadgeList(Collections.EMPTY_LIST)); + } + } } return new Result>().ok(latestTenTopics); @@ -429,15 +431,16 @@ public class ResiTopicServiceImpl extends BaseServiceImpl other = pastTopics.stream() + .filter(top -> StringUtils.equals("other",top.getReleaseUserFlag())) + .map(ResiTopicIncludeIssueInfoResultDTO::getUserId) + .distinct().collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(other)){ ResiGroupEntity group = resiGroupDao.selectById(topicPageFormDTO.getGroupId()); if(null != group && StringUtils.isNotBlank(group.getCustomerId())){ Result>> badgeR = userOpenFeignClient.userShowBadge( - new UserGroupFormDTO(group.getCustomerId(), - pastTopics.stream() - .filter(top -> StringUtils.equals("other",top.getReleaseUserFlag())) - .map(ResiTopicIncludeIssueInfoResultDTO::getUserId) - .distinct().collect(Collectors.toList()))); + new UserGroupFormDTO(group.getCustomerId(),other)); if(null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()){ Map> badgeM = badgeR.getData(); pastTopics.forEach(top -> { @@ -454,7 +457,7 @@ public class ResiTopicServiceImpl extends BaseServiceImpl>> badgeR - = userOpenFeignClient.userShowBadge( - new UserGroupFormDTO(group.getCustomerId(), - hiddenTopics.stream() - .filter(top -> StringUtils.equals("other",top.getReleaseUserFlag())) - .map(ResiTopicInfoResultDTO::getUserId) - .distinct().collect(Collectors.toList()))); - if(null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()){ - Map> badgeM = badgeR.getData(); - hiddenTopics.forEach(top -> { - if(StringUtils.equals("other",top.getReleaseUserFlag())){ - top.setBadgeList( - CollectionUtils.isEmpty(badgeM.get(top.getUserId())) ? - Collections.EMPTY_LIST : - badgeM.get(top.getUserId()).stream().map(UserBadgeUnitFormDTO :: getBadgeIcon).collect(Collectors.toList()) - ); - }else top.setBadgeList(Collections.EMPTY_LIST); - }); + List other = hiddenTopics.stream() + .filter(top -> StringUtils.equals("other",top.getReleaseUserFlag())) + .map(ResiTopicInfoResultDTO::getUserId) + .distinct().collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(other)) { + ResiGroupEntity group = resiGroupDao.selectById(topicPageFormDTO.getGroupId()); + if (null != group && StringUtils.isNotBlank(group.getCustomerId())) { + Result>> badgeR + = userOpenFeignClient.userShowBadge( + new UserGroupFormDTO(group.getCustomerId(), other)); + if (null != badgeR && badgeR.success() && null != badgeR.getData() && !badgeR.getData().isEmpty()) { + Map> badgeM = badgeR.getData(); + hiddenTopics.forEach(top -> { + if (StringUtils.equals("other", top.getReleaseUserFlag())) { + top.setBadgeList( + CollectionUtils.isEmpty(badgeM.get(top.getUserId())) ? + Collections.EMPTY_LIST : + badgeM.get(top.getUserId()).stream().map(UserBadgeUnitFormDTO::getBadgeIcon).collect(Collectors.toList()) + ); + } else top.setBadgeList(Collections.EMPTY_LIST); + }); - }else hiddenTopics.forEach(top -> top.setBadgeList(Collections.EMPTY_LIST)); + } else hiddenTopics.forEach(top -> top.setBadgeList(Collections.EMPTY_LIST)); + } } - } return new Result>().ok(hiddenTopics); @@ -903,9 +907,6 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> getPastTopicListGov(ResiTopicPageFormDTO topicPageFormDTO) { //1.查询历史话题列表 - - topicPageFormDTO.setUserId(topicPageFormDTO.getUserId()); - topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); List pastTopics = @@ -953,7 +954,8 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> getHiddenTopicsGov(ResiTopicPageFormDTO topicPageFormDTO) { - return getHiddenTopics(null,topicPageFormDTO); + topicPageFormDTO.setStatus("hidden"); + return getPastTopicListGov(topicPageFormDTO); } @Override From b7e0eff9937bbe4b8093801f7637e2d74bba321b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 18 Nov 2020 10:54:28 +0800 Subject: [PATCH 24/79] =?UTF-8?q?=E4=BF=AE=E6=94=B9userResiInfoDao.selectU?= =?UTF-8?q?serResiInfoDTO,=E5=A4=B4=E5=83=8F=E5=8F=96user=5Fbase=5Finfo?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/UserResiInfoDao.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index 1203a01e12..23f27f4af8 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -66,11 +66,10 @@ ubi.SURNAME, ( CASE WHEN ubi.GENDER = '1' THEN '先生' WHEN ubi.GENDER = '2' THEN '女士' ELSE '先生/女士' END ) ) AS show_name, - uw.HEAD_IMG_URL AS head_photo + 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' ) - LEFT JOIN user_wechat uw ON ( uri.USER_ID = uw.USER_ID AND uw.DEL_FLAG = '0' ) WHERE ubi.USER_ID =#{userId} AND ubi.DEL_FLAG = '0' From cdd0b6f3637e8c7148d027337ed1392518792f1a Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 18 Nov 2020 10:56:09 +0800 Subject: [PATCH 25/79] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=85=9A=E5=91=98=E5=BE=BD=E7=AB=A0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/AddUserPartyBadgeFormDTO.java | 24 +++++++++++++++ .../com/epmet/controller/BadgeController.java | 30 ++++++++++++++----- .../src/main/java/com/epmet/dao/BadgeDao.java | 12 +++++++- .../java/com/epmet/service/BadgeService.java | 16 +++++++--- .../epmet/service/impl/BadgeServiceImpl.java | 17 ++++++++++- .../src/main/resources/mapper/BadgeDao.xml | 11 +++++++ 6 files changed, 96 insertions(+), 14 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddUserPartyBadgeFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddUserPartyBadgeFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddUserPartyBadgeFormDTO.java new file mode 100644 index 0000000000..912e2deb07 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AddUserPartyBadgeFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/11/4 9:47 + */ +@NoArgsConstructor +@Data +public class AddUserPartyBadgeFormDTO implements Serializable { + + private static final long serialVersionUID = -6890701885153412660L; + /** + * 用户Id + */ + @NotBlank(message = "用户Id不能为空") + private String userId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java index 7a880540bd..5841af3353 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java @@ -167,15 +167,29 @@ public class BadgeController { } /** - * @param gridIdList - * @author yinzuomei - * @description 根据网格id, 查询每个网格有多少个徽章申请单 - * @Date 2020/11/12 15:51 - **/ - @PostMapping("querygridauditingbadgecount") - public Result> queryGridAuditingBadgeCount(@RequestBody List gridIdList){ + * @param gridIdList + * @author yinzuomei + * @description 根据网格id, 查询每个网格有多少个徽章申请单 + * @Date 2020/11/12 15:51 + **/ + @PostMapping("querygridauditingbadgecount") + public Result> queryGridAuditingBadgeCount(@RequestBody List gridIdList) { return new Result>().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(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java index 64356f9b56..1b4e35cef4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java @@ -166,5 +166,15 @@ public interface BadgeDao extends BaseDao { * @description 根据网格id, 查询每个网格有多少个徽章申请 * @Date 2020/11/12 15:59 **/ - List queryGridAuditingBadgeCount(@Param("gridIdList") List gridIdList); + List queryGridAuditingBadgeCount(@Param("gridIdList") List gridIdList); + + /** + * desc: 获取党员徽章Id + * + * @param customerId + * @return java.lang.String + * @author LiuJanJun + * @date 2020/11/18 10:43 上午 + */ + String getPartyBadgeId(@Param("customerId") String customerId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java index b409d5709b..c62354b135 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java @@ -21,10 +21,7 @@ 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.AddBadgeFormDTO; -import com.epmet.dto.form.BadgeAuditFormDTO; -import com.epmet.dto.form.BadgeFormDTO; -import com.epmet.dto.form.EditBadgeFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.BadgeEntity; @@ -187,4 +184,15 @@ public interface BadgeService extends BaseService { * @Date 2020/11/12 15:56 **/ List queryGridAuditingBadgeCount(List gridIdList); + + /** + * desc: 添加用户党员徽章记录 + * + * @param tokenDto + * @param formDTO + * @return java.lang.Boolean + * @author LiuJanJun + * @date 2020/11/18 10:32 上午 + */ + Boolean addUserPartyBadgeRecord(TokenDto tokenDto, AddUserPartyBadgeFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java index 0c52da11ba..a0b24549e3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java @@ -420,10 +420,25 @@ public class BadgeServiceImpl extends BaseServiceImpl imp **/ @Override public List queryGridAuditingBadgeCount(List gridIdList) { - if(CollectionUtils.isEmpty(gridIdList)){ + if (CollectionUtils.isEmpty(gridIdList)) { return new ArrayList<>(); } 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; + } + } \ No newline at end of file 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 b5a72206b6..faf3ef9c00 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 @@ -267,4 +267,15 @@ group by m.GRID_ID + + \ No newline at end of file From a2c9ccd62624e4904119fcbc47db7cf32bea5166 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 18 Nov 2020 11:30:40 +0800 Subject: [PATCH 26/79] =?UTF-8?q?=E4=BF=AE=E6=94=B9user=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=AF=B9=E5=A4=96=E6=8F=90=E4=BE=9B=E6=9F=A5=E8=AF=A2=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E7=BB=9F=E4=B8=80=E6=94=B9=E4=B8=BA=E5=8F=96?= =?UTF-8?q?user=5Fbase=5Finfo=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/EpmetUserOpenFeignClient.java | 4 +- .../com/epmet/controller/UserController.java | 2 +- .../main/resources/mapper/UserBaseInfoDao.xml | 40 +++++++++---------- .../main/resources/mapper/UserResiInfoDao.xml | 6 +-- 4 files changed, 23 insertions(+), 29 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index f58c03e801..8655418acc 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -232,7 +232,7 @@ public interface EpmetUserOpenFeignClient { * * @param tokenDTO * @return com.epmet.commons.tools.utils.Result - * @Author zhangyong + * @Author zhangyong 直接取的 user_base_info * @Date 14:10 2020-07-30 **/ @PostMapping("/epmetuser/userbaseinfo/selectuserbaseinfo") @@ -317,7 +317,7 @@ public interface EpmetUserOpenFeignClient { /** * @Author sun - * @Description 居民端-查询用户基础信息 + * @Description 居民端-查询用户基础信息 返回值只有userId 、openId **/ @PostMapping(value = "epmetuser/user/getuserbasicinfo") Result getUserBasicInfo(@RequestBody UserBasicInfoFormDTO formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java index a524f9f0c9..a5959e0825 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java @@ -146,7 +146,7 @@ public class UserController { /** * @Author sun - * @Description 居民端-查询用户基础信息 + * @Description 居民端-查询用户基础信息 返回值只有userId 、openId **/ @PostMapping("getuserbasicinfo") public Result getUserBasicInfo(@RequestBody UserBasicInfoFormDTO formDTO){ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index cc86f83ccd..fcfbf02d64 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -28,28 +28,24 @@ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index 23f27f4af8..c1f0edfce6 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml @@ -124,13 +124,11 @@ uri.STREET, '-', uri.SURNAME, - ( CASE WHEN uw.SEX = '1' THEN '先生' WHEN uw.SEX = '2' THEN '女士' ELSE '先生/女士' END ) + ( CASE WHEN uri.GENDER = '1' THEN '先生' WHEN uri.GENDER = '2' THEN '女士' ELSE '先生/女士' END ) ) AS show_name, - uw.HEAD_IMG_URL as head_photo + uri.HEAD_IMG_URL as head_photo FROM user_resi_info uri - left join user_wechat uw on(uri.user_id=uw.USER_ID) WHERE uri.DEL_FLAG = '0' - and uw.DEL_FLAG='0' AND uri.USER_ID in #{userId} From 04d993d90ccc4e8710f67cebe580ddd27b91a76d Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 18 Nov 2020 13:36:53 +0800 Subject: [PATCH 27/79] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=85=9A=E5=91=98=E5=BE=BD=E7=AB=A0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/BadgeServiceImpl.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java index a0b24549e3..6bcf4a1b93 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java @@ -45,6 +45,7 @@ import com.epmet.entity.BadgeEntity; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.MessageFeignClient; import com.epmet.redis.UserBadgeRedis; +import com.epmet.redis.UserBaseInfoRedis; import com.epmet.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -78,8 +79,9 @@ public class BadgeServiceImpl extends BaseServiceImpl imp @Autowired private MessageFeignClient messageFeignClient; @Autowired - private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; - + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; + @Autowired + private UserBaseInfoRedis userBaseInfoRedis; @Override @@ -438,7 +440,20 @@ public class BadgeServiceImpl extends BaseServiceImpl imp @Override public Boolean addUserPartyBadgeRecord(TokenDto tokenDto, AddUserPartyBadgeFormDTO formDTO) { String badgeId = baseDao.getPartyBadgeId(tokenDto.getCustomerId()); - return null; + ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO(); + resiUserBadgeDTO.setCustomerId(tokenDto.getCustomerId()); + resiUserBadgeDTO.setBadgeId(badgeId); + UserBaseInfoResultDTO userInfo = userBaseInfoRedis.getUserInfo(formDTO.getUserId()); + if (userInfo == null) { + log.error("获取用户信息失败"); + return false; + } + resiUserBadgeDTO.setGridId(userInfo.getRegisteredGridId()); + resiUserBadgeDTO.setUserId(formDTO.getUserId()); + resiUserBadgeDTO.setIsOpened(NumConstant.ONE); + resiUserBadgeDTO.setCertificationAutidStatus(BadgeConstant.APPROVED); + resiUserBadgeService.save(resiUserBadgeDTO); + return true; } } \ No newline at end of file From 8be9aa78c186003484fa7e075e9306903e9d5b39 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 18 Nov 2020 13:50:48 +0800 Subject: [PATCH 28/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/PartyMemberUserIdsResultDTO.java | 19 +++++++ .../java/com/epmet/dao/ResiUserBadgeDao.java | 15 +++++- .../main/java/com/epmet/dao/UserRoleDao.java | 8 +++ .../service/impl/UserBadgeServiceImpl.java | 33 ++++++++---- .../src/main/resources/mapper/BadgeDao.xml | 1 + .../resources/mapper/ResiUserBadgeDao.xml | 52 +++++++++++++------ .../main/resources/mapper/UserBadgeDao.xml | 10 ++-- .../src/main/resources/mapper/UserRoleDao.xml | 11 ++++ 8 files changed, 118 insertions(+), 31 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberUserIdsResultDTO.java 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 new file mode 100644 index 0000000000..1e6d3e050e --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberUserIdsResultDTO.java @@ -0,0 +1,19 @@ +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; +} 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 0448b16cee..e58e8a72f0 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 @@ -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,14 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ResiUserBadgeDao extends BaseDao { - + + /** + * @Description 初始化党员徽章插入 + * @Param userIds + * @Param badgeId + * @author zxc + * @date 2020/11/18 上午10:56 + */ + void insertResiUserBadge(@Param("badges")List badges); + } \ 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 3801f0fcf4..106be55a1c 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 @@ -72,4 +72,12 @@ public interface UserRoleDao extends BaseDao { * @Description 居民端-查询用户角色key列表 **/ List selectUserRoleKeyList(GetRoleKeyListFormDTO formDTO); + + /** + * @Description 查询所有党员UserId + * @Param + * @author zxc + * @date 2020/11/18 上午10:50 + */ + List selectPartyMemberUserIds(); } 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 3386d421e8..8599ebe0a6 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 @@ -10,7 +10,10 @@ 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.UserBadgeCertificateRecordDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -49,6 +52,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,27 +113,31 @@ public class UserBadgeServiceImpl implements UserBadgeService { }); return userOperListResultDTOS; } - List 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; } + 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("未查询到党员基本信息......"); + } +// badgeDao.getPartyBadgeId() + } + /** * @Description 个人中心-提交徽章认证 * @Param certificationAddFormDTO 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 faf3ef9c00..6325b139ff 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 @@ -276,6 +276,7 @@ WHERE DEL_FLAG = '0' AND (CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} OR CUSTOMER_ID = 'default') + AND FIXATION_BADGE_TYPE = 'party' order by CREATED_TIME desc LIMIT 1 \ No newline at end of file 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 221c9c3d3f..cf38780a58 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 @@ -3,21 +3,43 @@ - - - - - - - - - - - - - - - + + + INSERT INTO resi_user_badge + ( + ID, + CUSTOMER_ID, + GRID_ID, + USER_ID, + BADGE_ID, + IS_OPENED, + CERTIFICATION_AUTID_STATUS, + DEL_FLAG, + REVISION, + CREATED_BY, + CREATED_TIME, + UPDATED_BY, + UPDATED_TIME + ) + VALUES + + ( + REPLACE(UUID(),'-',''), + #{b.customerId}, + #{b.gridId}, + #{b.userId}, + #{b.badgeId}, + #{b.isOpened}, + #{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/UserBadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml index 8377839e72..3709525bb5 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml +++ b/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} 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 d7726d3b7b..4f99f7a43c 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 @@ -100,4 +100,15 @@ AND ur.user_id = #{userId} AND ( ur.grid_id = #{gridId} OR ur.grid_id = 'all' ) + + + From 6957e6dc28c25f1492dea8116055c32ef9620613 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 18 Nov 2020 13:56:20 +0800 Subject: [PATCH 29/79] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/BadgeController.java | 16 ------- .../epmet/controller/UserBadgeController.java | 17 ++++++- .../controller/UserBaseInfoController.java | 2 +- .../java/com/epmet/service/BadgeService.java | 16 ++----- .../com/epmet/service/UserBadgeService.java | 19 ++++++-- .../epmet/service/UserBaseInfoService.java | 13 +++++- .../epmet/service/impl/BadgeServiceImpl.java | 31 ------------- .../service/impl/UserBadgeServiceImpl.java | 44 +++++++++++++++---- .../service/impl/UserBaseInfoServiceImpl.java | 32 +++++++++++--- 9 files changed, 109 insertions(+), 81 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java index 5841af3353..f4e2c3feee 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java @@ -176,20 +176,4 @@ public class BadgeController { public Result> queryGridAuditingBadgeCount(@RequestBody List gridIdList) { return new Result>().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(); - } } 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 a901d9202f..42a8b17015 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 @@ -107,9 +107,24 @@ 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(); } + /** + * 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); + Boolean aBoolean = userBadgeService.addUserPartyBadgeRecord(tokenDto, formDTO); + return new Result().ok(aBoolean); + } } 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 d8d9d969f3..128b27a7e9 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.queryUserBaseInfo(userIdList); + List list = userBaseInfoService.queryUserBaseInfoFromCache(userIdList); return new Result>().ok(list); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java index c62354b135..b409d5709b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java +++ b/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 { * @Date 2020/11/12 15:56 **/ List queryGridAuditingBadgeCount(List gridIdList); - - /** - * desc: 添加用户党员徽章记录 - * - * @param tokenDto - * @param formDTO - * @return java.lang.Boolean - * @author LiuJanJun - * @date 2020/11/18 10:32 上午 - */ - Boolean addUserPartyBadgeRecord(TokenDto tokenDto, AddUserPartyBadgeFormDTO formDTO); } \ No newline at end of file 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 a905bb2f9b..2c189d7072 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 @@ -90,12 +90,23 @@ public interface UserBadgeService { List getUserSortedBadge(String userId,String customerId); /** - * @Description 批量获取用户显示徽章 * @param customerId * @param userIds - * @return java.util.Map> + * @return java.util.Map> + * @Description 批量获取用户显示徽章 * @author wangc * @date 2020.11.10 15:12 - */ - Map> getBatchUserSortedBadge(String customerId, List userIds); + */ + Map> getBatchUserSortedBadge(String customerId, List userIds); + + /** + * desc: 添加用户党员徽章记录 + * + * @param tokenDto + * @param formDTO + * @return java.lang.Boolean + * @author LiuJanJun + * @date 2020/11/18 10:32 上午 + */ + Boolean addUserPartyBadgeRecord(TokenDto tokenDto, AddUserPartyBadgeFormDTO formDTO); } 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 bf5cf90e67..2aeac53ce9 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 @@ -101,13 +101,22 @@ public interface UserBaseInfoService extends BaseService { void delete(String[] ids); /** - * @return java.util.List + * @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 * @author yinzuomei * @description 传入用户id集合,返回用户的基本信息(包含微信基本信息) * @Date 2020/7/22 9:35 **/ - List queryUserBaseInfo(List userIdList); + List queryUserBaseInfoFromCache(List userIdList); /** * @return void diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java index 6bcf4a1b93..01ee9463d0 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java @@ -45,7 +45,6 @@ import com.epmet.entity.BadgeEntity; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.MessageFeignClient; import com.epmet.redis.UserBadgeRedis; -import com.epmet.redis.UserBaseInfoRedis; import com.epmet.service.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -80,8 +79,6 @@ public class BadgeServiceImpl extends BaseServiceImpl imp private MessageFeignClient messageFeignClient; @Autowired private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; - @Autowired - private UserBaseInfoRedis userBaseInfoRedis; @Override @@ -428,32 +425,4 @@ public class BadgeServiceImpl extends BaseServiceImpl 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()); - ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO(); - resiUserBadgeDTO.setCustomerId(tokenDto.getCustomerId()); - resiUserBadgeDTO.setBadgeId(badgeId); - UserBaseInfoResultDTO userInfo = userBaseInfoRedis.getUserInfo(formDTO.getUserId()); - if (userInfo == null) { - log.error("获取用户信息失败"); - return false; - } - resiUserBadgeDTO.setGridId(userInfo.getRegisteredGridId()); - resiUserBadgeDTO.setUserId(formDTO.getUserId()); - resiUserBadgeDTO.setIsOpened(NumConstant.ONE); - resiUserBadgeDTO.setCertificationAutidStatus(BadgeConstant.APPROVED); - resiUserBadgeService.save(resiUserBadgeDTO); - return true; - } - } \ No newline at end of file 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 8599ebe0a6..896474ef15 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 @@ -14,6 +14,7 @@ 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.*; @@ -28,10 +29,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -157,7 +155,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { UserBadgeCertificateRecordDTO form = ConvertUtils.sourceToTarget(certificationAddFormDTO, UserBadgeCertificateRecordDTO.class); List userIds = new ArrayList<>(); userIds.add(certificationAddFormDTO.getUserId()); - List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(userIds); + List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfoFromCache(userIds); if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)){ throw new RenException("查询用户基本信息集合为空......"); } @@ -310,15 +308,43 @@ public class UserBadgeServiceImpl implements UserBadgeService { * @Description 批量获取用户显示徽章 * @param customerId * @param userIds - * @return java.util.Map> + * @return java.util.Map> * @author wangc * @date 2020.11.10 15:12 */ @Override public Map> getBatchUserSortedBadge(String customerId, List userIds) { - List badges = userBadgeDao.selectBatchUserSortedBadge(customerId,userIds); - if(CollectionUtils.isEmpty(badges)) return Collections.EMPTY_MAP; - return badges.stream().collect(Collectors.groupingBy(UserBadgeInfoResultDTO :: getUserId)); + List badges = userBadgeDao.selectBatchUserSortedBadge(customerId, userIds); + if (CollectionUtils.isEmpty(badges)) return Collections.EMPTY_MAP; + return badges.stream().collect(Collectors.groupingBy(UserBadgeInfoResultDTO::getUserId)); + } + + /** + * 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 = badgeDao.getPartyBadgeId(tokenDto.getCustomerId()); + ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO(); + resiUserBadgeDTO.setCustomerId(tokenDto.getCustomerId()); + resiUserBadgeDTO.setBadgeId(badgeId); + UserBaseInfoResultDTO userInfo = userBaseInfoService.queryUserBaseInfoFromCache(formDTO.getUserId()); + if (userInfo == null) { + log.error("获取用户信息失败"); + return false; + } + resiUserBadgeDTO.setGridId(userInfo.getRegisteredGridId()); + resiUserBadgeDTO.setUserId(formDTO.getUserId()); + resiUserBadgeDTO.setIsOpened(NumConstant.ONE); + resiUserBadgeDTO.setCertificationAutidStatus(BadgeConstant.APPROVED); + resiUserBadgeDao.insertResiUserBadge(Arrays.asList(resiUserBadgeDTO)); + return true; } } 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 326e74912d..0552968911 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 @@ -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 + * @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 userBaseInfoResultDTOS = this.queryUserBaseInfoFromCache(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 @@ -135,11 +157,11 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl queryUserBaseInfo(List userIdList) { - if(null==userIdList||userIdList.size()<1){ + public List queryUserBaseInfoFromCache(List userIdList) { + if (null == userIdList || userIdList.size() < 1) { return new ArrayList<>(); } - List userBaseInfoList=new ArrayList<>(); + List userBaseInfoList = new ArrayList<>(); /* for(String userId:userIdList){ UserBaseInfoResultDTO userBaseInfoResultDTO=baseDao.selectListByUserIdList(userId); if(null!=userBaseInfoResultDTO){ @@ -152,7 +174,7 @@ public class UserBaseInfoServiceImpl extends BaseServiceImpl userWechatDTOList=userWechatDao.selectNotInUserBaseInfoTemp(); + List userWechatDTOList = userWechatDao.selectNotInUserBaseInfoTemp(); List userIdList=new ArrayList<>(); for(UserWechatDTO userWechatDTO:userWechatDTOList){ userIdList.add(userWechatDTO.getUserId()); From a23e25cb7c703256d6ff8f4da85ee6618aed357f Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 18 Nov 2020 14:51:14 +0800 Subject: [PATCH 30/79] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=90=8E=20=E6=B7=BB=E5=8A=A0=E5=85=9A?= =?UTF-8?q?=E5=91=98=E5=BE=BD=E7=AB=A0=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PartyMemberConfirmServiceImpl.java | 17 +++++++++++++++- .../epmet/feign/EpmetUserOpenFeignClient.java | 20 +++++++++++++++---- .../EpmetUserOpenFeignClientFallback.java | 5 +++++ 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 5962ea22a2..0f0502b4cf 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/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()); } //将自动认证结果存入党员认证自动审核表 @@ -351,6 +352,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService 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 +362,18 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService return new Result(); } + private void addUserPartyBadge(String partyUserId) { + if (StringUtils.isBlank(partyUserId)) { + throw new RenException("addUserPartyBadge,用户Id不能为空"); + } + AddUserPartyBadgeFormDTO badgeFormDTO = new AddUserPartyBadgeFormDTO(); + badgeFormDTO.setUserId(partyUserId); + Result result = epmetUserOpenFeignClient.addUserPartyBadgeRecord(badgeFormDTO); + if (result == null || !result.success() || !result.getData()) { + throw new RenException("初始化党员徽章信息失败"); + } + } + @Override public Result auditingDetail(AuditingDetailFromDTO fromDTO) { AuditingDetailResultDTO resultDTO = new AuditingDetailResultDTO(); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 8655418acc..7b1bcdec24 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -10,7 +10,10 @@ import com.epmet.dto.result.*; import com.epmet.feign.fallback.EpmetUserOpenFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -430,14 +433,23 @@ public interface EpmetUserOpenFeignClient { * @date 2020.11.10 15:59 */ @PostMapping("/epmetuser/badge/usershowbadge") - Result>> userShowBadge(@RequestBody UserGroupFormDTO param); + Result>> 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> queryGridAuditingBadgeCount(@RequestBody List gridIdList); + + /** + * @param formDTO + * @author yinzuomei + * @description 党员认证成功后 添加userBadge记录到数据库 + * @Date 2020/11/12 15:41 + **/ + @PostMapping(value = "/epmetuser/more/badge/adduserpartybadgerecord") + Result addUserPartyBadgeRecord(@RequestBody AddUserPartyBadgeFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 1a1da3db60..5b40b4e68c 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -311,4 +311,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result> queryGridAuditingBadgeCount(List gridIdList) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "queryGridAuditingBadgeCount", gridIdList); } + + @Override + public Result addUserPartyBadgeRecord(AddUserPartyBadgeFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "addUserPartyBadgeRecord", formDTO); + } } From 9876ac9b7d6003b3bcd133f75b91534045912f02 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Wed, 18 Nov 2020 15:14:17 +0800 Subject: [PATCH 31/79] =?UTF-8?q?advice=E4=BF=AE=E6=94=B9agency=5Fpids?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=20sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/db/migration/V0.0.8__alter_useradvice_pids.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.8__alter_useradvice_pids.sql 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`; From c718e3a8698a22b608681cb295ee3dbe56237423 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 18 Nov 2020 15:16:20 +0800 Subject: [PATCH 32/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/PartyMemberUserIdsResultDTO.java | 4 + .../controller/UserBaseInfoController.java | 2 +- .../java/com/epmet/dao/ResiUserBadgeDao.java | 2 + .../main/java/com/epmet/dao/UserRoleDao.java | 3 +- .../com/epmet/service/UserBadgeService.java | 10 ++- .../epmet/service/UserBaseInfoService.java | 2 +- .../service/impl/UserBadgeServiceImpl.java | 88 ++++++++++++++++--- .../service/impl/UserBaseInfoServiceImpl.java | 4 +- .../src/main/resources/mapper/BadgeDao.xml | 5 ++ .../resources/mapper/ResiUserBadgeDao.xml | 8 +- .../src/main/resources/mapper/UserRoleDao.xml | 5 +- 11 files changed, 110 insertions(+), 23 deletions(-) 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/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/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' + From 7d956831fc77bcfd23702408d958e8ae46c300e6 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 18 Nov 2020 15:18:20 +0800 Subject: [PATCH 33/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/UserBadgeController.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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(); + } } From 1866283d87f0587d896b1f3c7e319ba371ba19f4 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 18 Nov 2020 15:21:03 +0800 Subject: [PATCH 34/79] =?UTF-8?q?=E4=BF=AE=E6=94=B9/epmetuser/userresiinfo?= =?UTF-8?q?/getuserresiinfolist=20=20=20/epmetuser/userresiinfo/getuserres?= =?UTF-8?q?iinfo=20=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/UserResiInfoResultDTO.java | 7 ++-- .../impl/RegisterRelationServiceImpl.java | 14 ++++++-- .../main/resources/mapper/UserResiInfoDao.xml | 35 +++++++++---------- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java index 6bdc1f6d2f..c5482e05ba 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserResiInfoResultDTO.java +++ b/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; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java index 0cd383f980..67962815c1 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java +++ b/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 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.获取权限 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml index c1f0edfce6..3e6adef055 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserResiInfoDao.xml +++ b/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 - 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 #{userId} From d948ad0b39ebd9ecb6d855efc1455167094c2db5 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 18 Nov 2020 15:26:31 +0800 Subject: [PATCH 35/79] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=90=8E=E6=94=BE=E4=B8=AA=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PartyMemberConfirmServiceImpl.java | 9 +++--- .../epmet/feign/EpmetUserOpenFeignClient.java | 4 +-- .../EpmetUserOpenFeignClientFallback.java | 4 +-- .../epmet/controller/UserBadgeController.java | 22 ++------------ .../com/epmet/service/UserBadgeService.java | 13 +-------- .../service/impl/UserBadgeServiceImpl.java | 29 ------------------- 6 files changed, 13 insertions(+), 68 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 0f0502b4cf..7e3f5dd8c6 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -281,6 +281,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService baseInfo.setName(partyMemberInfoDTO.getName()); epmetUserOpenFeignClient.saveUserBaseInfo(baseInfo); + return result; } @@ -347,10 +348,10 @@ 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()); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 7b1bcdec24..ea35e420c0 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -450,6 +450,6 @@ public interface EpmetUserOpenFeignClient { * @description 党员认证成功后 添加userBadge记录到数据库 * @Date 2020/11/12 15:41 **/ - @PostMapping(value = "/epmetuser/more/badge/adduserpartybadgerecord") - Result addUserPartyBadgeRecord(@RequestBody AddUserPartyBadgeFormDTO formDTO); + @PostMapping(value = "/epmetuser/more/badge/initbadge") + Result initBadge(@RequestBody AddUserPartyBadgeFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 5b40b4e68c..2bbc2a83e4 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -313,7 +313,7 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien } @Override - public Result addUserPartyBadgeRecord(AddUserPartyBadgeFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "addUserPartyBadgeRecord", formDTO); + public Result initBadge(AddUserPartyBadgeFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "initBadge", formDTO); } } 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 8b69857184..7524ffa1be 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 @@ -113,30 +113,14 @@ public class UserBadgeController { } /** - * 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); - Boolean aBoolean = userBadgeService.addUserPartyBadgeRecord(tokenDto, formDTO); - return new Result().ok(aBoolean); - } - - /** - * @Description 初始化党员徽章 + * @Description 初始化党员徽章 或 党员认证通过后,添加党员 徽章记录 * @Param userId * @author zxc * @date 2020/11/18 下午3:03 */ @PostMapping("initbadge") - public Result initPartyMemberBadge(){ - userBadgeService.initPartyMemberBadge(null); + public Result initPartyMemberBadge(@RequestBody AddUserPartyBadgeFormDTO formDTO) { + userBadgeService.initPartyMemberBadge(formDTO.getUserId()); return new Result(); } } 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 142fa1b449..08147de433 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 @@ -100,21 +100,10 @@ public interface UserBadgeService { Map> getBatchUserSortedBadge(String customerId, List userIds); /** - * @Description 初始化党员徽章 + * @Description 初始化党员徽章 或审核通过后 添加用户党员徽章记录 * @Param userId * @author zxc * @date 2020/11/18 下午3:03 */ void initPartyMemberBadge(String userId); - - /** - * desc: 添加用户党员徽章记录 - * - * @param tokenDto - * @param formDTO - * @return java.lang.Boolean - * @author LiuJanJun - * @date 2020/11/18 10:32 上午 - */ - Boolean addUserPartyBadgeRecord(TokenDto tokenDto, AddUserPartyBadgeFormDTO formDTO); } 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 83e2cf02c4..ce39a81ebc 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 @@ -29,7 +29,6 @@ import org.springframework.stereotype.Service; 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; @@ -385,32 +384,4 @@ public class UserBadgeServiceImpl implements UserBadgeService { return badges.stream().collect(Collectors.groupingBy(UserBadgeInfoResultDTO::getUserId)); } - /** - * 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 = badgeDao.getPartyBadgeId(tokenDto.getCustomerId()); - ResiUserBadgeDTO resiUserBadgeDTO = new ResiUserBadgeDTO(); - resiUserBadgeDTO.setCustomerId(tokenDto.getCustomerId()); - resiUserBadgeDTO.setBadgeId(badgeId); - UserBaseInfoResultDTO userInfo = userBaseInfoService.queryUserBaseInfoFromCache(formDTO.getUserId()); - if (userInfo == null) { - log.error("获取用户信息失败"); - return false; - } - resiUserBadgeDTO.setGridId(userInfo.getRegisteredGridId()); - resiUserBadgeDTO.setUserId(formDTO.getUserId()); - resiUserBadgeDTO.setIsOpened(NumConstant.ONE); - resiUserBadgeDTO.setCertificationAutidStatus(BadgeConstant.APPROVED); - resiUserBadgeDao.insertResiUserBadge(Arrays.asList(resiUserBadgeDTO)); - return true; - } - } From f322f103157b4aac6a3bd5ab3c8cbac1ad041f08 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 18 Nov 2020 15:31:19 +0800 Subject: [PATCH 36/79] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=90=8E=E6=94=BE=E4=B8=AA=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PartyMemberConfirmServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 7e3f5dd8c6..31d670148a 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -369,8 +369,8 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService } AddUserPartyBadgeFormDTO badgeFormDTO = new AddUserPartyBadgeFormDTO(); badgeFormDTO.setUserId(partyUserId); - Result result = epmetUserOpenFeignClient.addUserPartyBadgeRecord(badgeFormDTO); - if (result == null || !result.success() || !result.getData()) { + Result result = epmetUserOpenFeignClient.initBadge(badgeFormDTO); + if (result == null || !result.success()) { throw new RenException("初始化党员徽章信息失败"); } } From 5cd92d43774615ce7a201f313193f80deff391f6 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 18 Nov 2020 15:35:26 +0800 Subject: [PATCH 37/79] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=90=8E=E5=8F=82=E6=95=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PartyMemberConfirmServiceImpl.java | 4 +--- .../java/com/epmet/feign/EpmetUserOpenFeignClient.java | 9 +++------ .../feign/fallback/EpmetUserOpenFeignClientFallback.java | 4 ++-- .../java/com/epmet/controller/UserBadgeController.java | 9 +++------ 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index 31d670148a..aa77bd8eae 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -367,9 +367,7 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService if (StringUtils.isBlank(partyUserId)) { throw new RenException("addUserPartyBadge,用户Id不能为空"); } - AddUserPartyBadgeFormDTO badgeFormDTO = new AddUserPartyBadgeFormDTO(); - badgeFormDTO.setUserId(partyUserId); - Result result = epmetUserOpenFeignClient.initBadge(badgeFormDTO); + Result result = epmetUserOpenFeignClient.initBadge(partyUserId); if (result == null || !result.success()) { throw new RenException("初始化党员徽章信息失败"); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index ea35e420c0..b385738d82 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -10,10 +10,7 @@ import com.epmet.dto.result.*; import com.epmet.feign.fallback.EpmetUserOpenFeignClientFallback; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; @@ -445,11 +442,11 @@ public interface EpmetUserOpenFeignClient { Result> queryGridAuditingBadgeCount(@RequestBody List gridIdList); /** - * @param formDTO + * @param userId * @author yinzuomei * @description 党员认证成功后 添加userBadge记录到数据库 * @Date 2020/11/12 15:41 **/ @PostMapping(value = "/epmetuser/more/badge/initbadge") - Result initBadge(@RequestBody AddUserPartyBadgeFormDTO formDTO); + Result initBadge(@RequestParam String userId); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 2bbc2a83e4..6ac75b91e1 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -313,7 +313,7 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien } @Override - public Result initBadge(AddUserPartyBadgeFormDTO formDTO) { - return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "initBadge", formDTO); + public Result initBadge(String partyUserId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "initBadge", partyUserId); } } 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 7524ffa1be..3cfab36c41 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 @@ -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; @@ -119,8 +116,8 @@ public class UserBadgeController { * @date 2020/11/18 下午3:03 */ @PostMapping("initbadge") - public Result initPartyMemberBadge(@RequestBody AddUserPartyBadgeFormDTO formDTO) { - userBadgeService.initPartyMemberBadge(formDTO.getUserId()); + public Result initPartyMemberBadge(@RequestParam(required = false) String userId) { + userBadgeService.initPartyMemberBadge(userId); return new Result(); } } From b494e64e78e82a426be0fb16355782b0418de1a7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 18 Nov 2020 15:39:35 +0800 Subject: [PATCH 38/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/ResiUserBadgeDTO.java | 4 ++++ .../src/main/resources/mapper/ResiUserBadgeDao.xml | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ResiUserBadgeDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ResiUserBadgeDTO.java index 21e910101f..45aebb9263 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ResiUserBadgeDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ResiUserBadgeDTO.java @@ -98,4 +98,8 @@ public class ResiUserBadgeDTO implements Serializable { */ private Date updatedTime; + public ResiUserBadgeDTO() { + this.delFlag = "0"; + this.revision = 0; + } } \ No newline at end of file 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 82243c17cc..5aee896f18 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 @@ -20,7 +20,7 @@ UPDATED_TIME ) VALUES - + ( REPLACE(UUID(),'-',''), #{b.customerId}, @@ -32,7 +32,7 @@ #{b.delFlag}, #{b.revision}, NOW(), - NOW(), + NOW() ) From 1bce7e8d49a3dcb3b4d4a3e96c453138f2d4c9b0 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Wed, 18 Nov 2020 15:55:37 +0800 Subject: [PATCH 39/79] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=BB=BA=E8=AE=AEbug?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/CustomerGridDTO.java | 12 +++++++- .../epmet/feign/GovOrgOpenFeignClient.java | 11 ++++++++ .../GovOrgOpenFeignClientFallback.java | 6 ++++ .../main/resources/mapper/CustomerGridDao.xml | 6 ++-- .../service/impl/UserAdviceServiceImpl.java | 28 ++++++++----------- 5 files changed, 43 insertions(+), 20 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java index a3c62138e1..39a0968121 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java @@ -113,4 +113,14 @@ public class CustomerGridDTO implements Serializable { * 所有上级组织ID */ private String pids; -} \ No newline at end of file + + /** + * 所属组织机构名 + */ + private String agencyName; + + /** + * 所有上级组织名 + */ + private String allParentName; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index e0e5cb9608..ffc0721596 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -3,6 +3,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.CustomerPartyBranchDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -294,4 +295,14 @@ public interface GovOrgOpenFeignClient { @PostMapping("/gov/org/customergrid/getgridlistbygridids") Result> getGridListByGridIds(List gridIdList); + /** + * @Description 根据网格Id查询用户数据 + * @param customerGridFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author liushaowen + * @Date 2020/11/18 15:34 + */ + @PostMapping("/gov/org/customergrid/getcustomergridbygridid") + Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO); + } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index 0a5cab1af6..477ed6ea6f 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.CustomerPartyBranchDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -171,4 +172,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result> getGridListByGridIds(List gridIdList) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridListByGridIds", gridIdList); } + + @Override + public Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getCustomerGridByGridId", customerGridFormDTO); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index d121ad399f..99f24e8b85 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -16,7 +16,9 @@ gr.pids, gr.longitude, gr.latitude, - gr.area_code + gr.area_code, + ag.all_parent_name AS allParentName, + ag.ORGANIZATION_NAME AS agencyName FROM customer_grid gr LEFT JOIN customer_agency ag ON gr.PID = ag.ID @@ -541,4 +543,4 @@ ID = #{orgId} - \ No newline at end of file + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java index be97e8ae21..d7b1a19bd9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java @@ -39,11 +39,9 @@ import com.epmet.constant.UserAdviceConstant; import com.epmet.dao.UserAdviceDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerDTO; +import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.UserAdviceDTO; -import com.epmet.dto.form.AdviceListFormDTO; -import com.epmet.dto.form.ReplyAdviceFormDTO; -import com.epmet.dto.form.SubmitAdviceFormDTO; -import com.epmet.dto.form.UserResiInfoFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.UserAdviceEntity; import com.epmet.entity.UserAdviceImgEntity; @@ -322,7 +320,7 @@ public class UserAdviceServiceImpl extends BaseServiceImpl gridInfoResultDTOResult = govOrgOpenFeignClient.queryGridInfo(dto.getGridId()); + CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO(); + customerGridFormDTO.setGridId(dto.getGridId()); + Result gridInfoResultDTOResult = govOrgOpenFeignClient.getCustomerGridByGridId(customerGridFormDTO); if (gridInfoResultDTOResult.success()){ userAdviceDTO.setGridName(gridInfoResultDTOResult.getData().getGridName()); - userAdviceDTO.setAgencyId(gridInfoResultDTOResult.getData().getParentAgencyId()); - //获取agencyName - Result agencyById = govOrgOpenFeignClient.getAgencyById(gridInfoResultDTOResult.getData().getParentAgencyId()); - if (agencyById.success()){ - userAdviceDTO.setAgencyName(agencyById.getData().getAllParentName()); - userAdviceDTO.setAgencyAllParentName(agencyById.getData().getAllParentName()); - userAdviceDTO.setAgencyPids(agencyById.getData().getPids()); - }else { - logger.error("agencyId:{},获取组织详情失败",gridInfoResultDTOResult.getData().getParentAgencyId()); - } + userAdviceDTO.setAgencyId(gridInfoResultDTOResult.getData().getPid()); + userAdviceDTO.setAgencyPids(gridInfoResultDTOResult.getData().getPids()); + userAdviceDTO.setAgencyName(gridInfoResultDTOResult.getData().getAgencyName()); + userAdviceDTO.setAgencyAllParentName(gridInfoResultDTOResult.getData().getAllParentName()); }else { - logger.error("gridId:{},获取网格详情失败",dto.getGridId()); + logger.error("gridId:{},获取网格和所属组织详情失败",dto.getGridId()); } //获取userName,regPhone From dc99121d67b207b2ec423a9b8d2b185c9a501344 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 18 Nov 2020 16:02:27 +0800 Subject: [PATCH 40/79] =?UTF-8?q?=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index ffc0721596..16201827cc 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -303,6 +303,6 @@ public interface GovOrgOpenFeignClient { * @Date 2020/11/18 15:34 */ @PostMapping("/gov/org/customergrid/getcustomergridbygridid") - Result getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO); + Result getCustomerGridByGridId(@RequestBody CustomerGridFormDTO customerGridFormDTO); } From 4419736b340a9c64fd00f72b8049f220f46373af Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 18 Nov 2020 16:11:05 +0800 Subject: [PATCH 41/79] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9-=E5=B0=8F=E5=8C=BA=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=92=8C=E6=A5=BC=E6=A0=8B=E5=8D=95=E5=85=83=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E6=97=B6=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/UserBaseInfoDao.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index fcfbf02d64..276e11a1ac 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -99,8 +99,8 @@ id_num = #{idNum}, gender = #{gender}, street = #{street}, - district = #{district}, - building_address = #{buildingAddress}, + district = #{district}, + building_address = #{buildingAddress}, nickname = #{nickname}, head_img_url = #{headImgUrl}, del_flag = #{delFlag}, From 4e6d7169ba1e6edb3a6c24f1f5286d7dadd99cd9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 18 Nov 2020 16:17:48 +0800 Subject: [PATCH 42/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/ResiUserBadgeDTO.java | 2 ++ .../java/com/epmet/controller/UserBadgeController.java | 4 ++-- .../main/java/com/epmet/service/UserBadgeService.java | 2 +- .../com/epmet/service/impl/UserBadgeServiceImpl.java | 9 ++++++++- .../src/main/resources/mapper/ResiUserBadgeDao.xml | 8 ++++++-- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ResiUserBadgeDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ResiUserBadgeDTO.java index 45aebb9263..09417f15f4 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ResiUserBadgeDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ResiUserBadgeDTO.java @@ -101,5 +101,7 @@ public class ResiUserBadgeDTO implements Serializable { public ResiUserBadgeDTO() { this.delFlag = "0"; this.revision = 0; + this.createdBy = "APP_USER"; + this.updatedBy = "APP_USER"; } } \ No newline at end of file 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 3cfab36c41..6346deb0e4 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 @@ -116,8 +116,8 @@ public class UserBadgeController { * @date 2020/11/18 下午3:03 */ @PostMapping("initbadge") - public Result initPartyMemberBadge(@RequestParam(required = false) String userId) { - userBadgeService.initPartyMemberBadge(userId); + public Result initPartyMemberBadge(@RequestParam(required = false) String userId,@LoginUser TokenDto tokenDto) { + userBadgeService.initPartyMemberBadge(userId,tokenDto); return new Result(); } } 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 08147de433..a8c7e7b0f9 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 @@ -105,5 +105,5 @@ public interface UserBadgeService { * @author zxc * @date 2020/11/18 下午3:03 */ - void initPartyMemberBadge(String userId); + void initPartyMemberBadge(String userId,TokenDto tokenDto); } 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 ce39a81ebc..a3e956ff5c 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 @@ -134,7 +134,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { * @date 2020/11/18 下午3:04 */ @Override - public void initPartyMemberBadge(String userId){ + public void initPartyMemberBadge(String userId,TokenDto tokenDto){ List userIds = resiUserBadgeDao.selectUserIds(); List badges = new ArrayList<>(); String partyBadgeId = badgeDao.getPartyBadgeId(null); @@ -159,6 +159,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { dto.setCustomerId(u.getCustomerId()); dto.setGridId(u.getRegisteredGridId()); dto.setIsOpened(NumConstant.ZERO); + dto.setUserId(u.getUserId()); badges.add(dto); }); resiUserBadgeDao.insertResiUserBadge(badges); @@ -183,6 +184,9 @@ public class UserBadgeServiceImpl implements UserBadgeService { dto.setCustomerId(u.getCustomerId()); dto.setGridId(u.getRegisteredGridId()); dto.setIsOpened(NumConstant.ZERO); + dto.setUserId(u.getUserId()); + dto.setCreatedBy(tokenDto.getUserId()); + dto.setUpdatedBy(tokenDto.getUserId()); badges.add(dto); }); } @@ -194,6 +198,9 @@ public class UserBadgeServiceImpl implements UserBadgeService { dto.setCustomerId(u.getCustomerId()); dto.setGridId(u.getRegisteredGridId()); dto.setIsOpened(NumConstant.ZERO); + dto.setUserId(u.getUserId()); + dto.setCreatedBy(tokenDto.getUserId()); + dto.setUpdatedBy(tokenDto.getUserId()); badges.add(dto); }); } 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 5aee896f18..d67b6d08d0 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 @@ -17,7 +17,9 @@ DEL_FLAG, REVISION, CREATED_TIME, - UPDATED_TIME + CREATED_BY, + UPDATED_TIME, + UPDATED_BY ) VALUES @@ -32,7 +34,9 @@ #{b.delFlag}, #{b.revision}, NOW(), - NOW() + #{b.createdBy}, + NOW(), + #{b.updatedBy} ) From 35bd26f5a2fb5cb6e1cb8ba15302520022cd640a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 18 Nov 2020 16:26:24 +0800 Subject: [PATCH 43/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/UserBadgeServiceImpl.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) 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 a3e956ff5c..eb3851c3ed 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 @@ -29,10 +29,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @@ -124,7 +121,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { } }); }); - return userOperListResultDTOS; + return userOperListResultDTOS.stream().sorted(Comparator.comparing(UserOperListResultDTO::getBadgeName)).collect(Collectors.toList()); } /** From db641b29275ff97d5337bef650fe201c104fb47d Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Wed, 18 Nov 2020 16:46:03 +0800 Subject: [PATCH 44/79] =?UTF-8?q?user=5Fadvice=E4=BF=AE=E6=94=B9content?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.9__alter_useradvice_content.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.9__alter_useradvice_content.sql diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.9__alter_useradvice_content.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.9__alter_useradvice_content.sql new file mode 100644 index 0000000000..112c6b0e72 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.9__alter_useradvice_content.sql @@ -0,0 +1,9 @@ +ALTER TABLE `user_advice` DROP COLUMN `ADVICE_CONTENT`; + +ALTER TABLE `user_advice` +ADD COLUMN `ADVICE_CONTENT` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '建议内容' NOT NULL AFTER `REG_PHONE`; + +ALTER TABLE `user_advice` DROP COLUMN `GOV_CONTENT`; + +ALTER TABLE `user_advice` +ADD COLUMN `GOV_CONTENT` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '建议回复内容' NULL AFTER `REPLY_TIME`; From 23cd7d38733b8aaf9d38c281a2710e2c1b702de7 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 19 Nov 2020 09:46:10 +0800 Subject: [PATCH 45/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/constant/BadgeMessageConstant.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/BadgeMessageConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/BadgeMessageConstant.java index d0dc2a5529..429baa87ad 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/BadgeMessageConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/BadgeMessageConstant.java @@ -15,7 +15,7 @@ public interface BadgeMessageConstant { /** * 审核通过消息模板 */ - String APPROVED_MSG = "您好,您提交的%s申请已通过,请查看。"; + String APPROVED_MSG = "您好,您的%s认证通过并点亮,请查看。"; /** * 审核驳回消息模板 */ From c089cb937914600cedbf088f5250c700b43f9ac2 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 19 Nov 2020 10:06:58 +0800 Subject: [PATCH 46/79] =?UTF-8?q?"=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=90=8E=E5=8F=82=E6=95=B0=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/validator/ValidatorUtils.java | 56 +++++++++++++++++-- .../dto/form/CertificationAddFormDTO.java | 1 + .../epmet/controller/UserBadgeController.java | 1 + .../service/impl/UserBadgeServiceImpl.java | 46 ++++++++++----- 4 files changed, 85 insertions(+), 19 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/ValidatorUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/ValidatorUtils.java index e98cc09fe7..85dc25bd0d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/ValidatorUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/validator/ValidatorUtils.java @@ -8,9 +8,13 @@ package com.epmet.commons.tools.validator; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.epmet.commons.tools.dto.form.DingTalkTextMsg; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import org.apache.commons.lang3.StringUtils; import org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.context.support.ResourceBundleMessageSource; @@ -50,8 +54,8 @@ public class ValidatorUtils { List> customerShowGroups = new ArrayList<>(); List> internalGroups = new ArrayList<>(); - if (groups == null || groups.length ==0){ - validate(EpmetErrorCode.CUSTOMER_VALIDATE_ERROR ,object,groups); + if (groups == null || groups.length == 0) { + validate(EpmetErrorCode.CUSTOMER_VALIDATE_ERROR, object, groups); return; } Arrays.asList(groups).forEach(g -> { @@ -65,7 +69,7 @@ public class ValidatorUtils { // 1.校验客户端显示分组 if (!CollectionUtils.isEmpty(customerShowGroups)) { - validate(EpmetErrorCode.CUSTOMER_VALIDATE_ERROR ,object, customerShowGroups.toArray(new Class[customerShowGroups.size()])); + validate(EpmetErrorCode.CUSTOMER_VALIDATE_ERROR, object, customerShowGroups.toArray(new Class[customerShowGroups.size()])); } // 2.内部校验分组 @@ -86,6 +90,7 @@ public class ValidatorUtils { /** * 真正的校验方法 + * * @param object * @param errorCode * @param groups @@ -103,7 +108,50 @@ public class ValidatorUtils { int lastDouhaoIndex = sb.lastIndexOf(","); sb.replace(lastDouhaoIndex, lastDouhaoIndex + 1, ""); - throw new ValidateException(errorCode.getCode(),sb.toString()); + throw new ValidateException(errorCode.getCode(), sb.toString()); } } + + /** + * desc: 校验对象json串必填字段是否有值 + * + * @param jsonString + * @param requiredColumns + * @return java.lang.String 返回未必填的字段 + * @author LiuJanJun + * @date 2020/11/19 9:47 上午 + */ + public static List hasAllRequired(final String jsonString, Set requiredColumns) { + List missColList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(requiredColumns)) { + //验证字段非空 + requiredColumns.forEach(column -> { + //按照必填字段取前台传过来的参数 + Object val = null; + if (StringUtils.isNotBlank(jsonString)) { + JSONObject jsonObject = JSONObject.parseObject(jsonString); + val = jsonObject.get(column.trim()); + } + //如果没有查到那个值,就代表着传过来的字段少了 + if (val == null || StringUtils.isBlank(val.toString())) { + missColList.add(column); + } + }); + } + return missColList; + } + + public static void main(String[] args) { + DingTalkTextMsg form = new DingTalkTextMsg(); + form.setWebHook("1"); + form.setContent("2"); + //form.setAtMobiles(); + //form.setAtAll(); + //form.setSecret(); + Set requiredColumns = new HashSet<>(); + requiredColumns.add("content"); + requiredColumns.add("secret"); + List s = ValidatorUtils.hasAllRequired(JSON.toJSONString(form), requiredColumns); + System.out.println(s); + } } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java index feef1ee323..da021d64f0 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/CertificationAddFormDTO.java @@ -27,6 +27,7 @@ public class CertificationAddFormDTO implements Serializable { /** * 徽章ID */ + @NotBlank(message = "徽章ID不能为空", groups = {CertificationAdd.class}) private String badgeId; /** 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 6346deb0e4..2765fd9064 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 @@ -56,6 +56,7 @@ public class UserBadgeController { */ @PostMapping("authbadgerecord") public Result authBadgeRecord(@RequestBody CertificationAddFormDTO certificationAddFormDTO){ + ValidatorUtils.validateEntity(certificationAddFormDTO, CertificationAddFormDTO.CertificationAdd.class); return userBadgeService.authBadgeRecord(certificationAddFormDTO); } 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 a3e956ff5c..e85e794e84 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 @@ -8,12 +8,10 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.PhoneValidatorUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; 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.dao.*; import com.epmet.dto.ResiUserBadgeDTO; import com.epmet.dto.UserBadgeCertificateRecordDTO; import com.epmet.dto.form.*; @@ -29,10 +27,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; @@ -60,9 +55,11 @@ public class UserBadgeServiceImpl implements UserBadgeService { private ResiUserBadgeDao resiUserBadgeDao; @Autowired private BadgeDao badgeDao; + @Autowired + private BadgeCertificationConfigDao badgeCertificationConfigDao; /** - * @Description 查询已经点亮的徽章 + * @Description 查询已经点亮的徽章 * @Param userBadgeListFormDTO * @author zxc * @date 2020/11/3 1:33 下午 @@ -124,7 +121,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { } }); }); - return userOperListResultDTOS; + return userOperListResultDTOS.stream().sorted(Comparator.comparing(UserOperListResultDTO::getBadgeName)).collect(Collectors.toList()); } /** @@ -218,9 +215,14 @@ public class UserBadgeServiceImpl implements UserBadgeService { @Transactional(rollbackFor = Exception.class) public Result authBadgeRecord(CertificationAddFormDTO certificationAddFormDTO) { log.info(JSON.toJSONString(certificationAddFormDTO)); - if (StringUtils.isNotBlank(certificationAddFormDTO.getMobile())){ + AuthFieldFormDTO authFieldFormDTO = new AuthFieldFormDTO(); + authFieldFormDTO.setCustomerId(certificationAddFormDTO.getCustomerId()); + authFieldFormDTO.setBadgeId(certificationAddFormDTO.getBadgeId()); + + validateParams(certificationAddFormDTO, authFieldFormDTO); + if (StringUtils.isNotBlank(certificationAddFormDTO.getMobile())) { String smsCode = userBadgeRedis.getBadgeSmsCode(certificationAddFormDTO.getMobile()); - if (!StringUtils.isNotBlank(smsCode)){ + if (!StringUtils.isNotBlank(smsCode)) { return new Result().error(EpmetErrorCode.MOBILE_CODE_ERROR.getCode()); } } @@ -228,7 +230,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { List userIds = new ArrayList<>(); userIds.add(certificationAddFormDTO.getUserId()); List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(userIds); - if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)){ + if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)) { throw new RenException("查询用户基本信息集合为空......"); } userBadgeDao.updateCertificateRecordIsLast(form.getBadgeId(),form.getUserId()); @@ -245,13 +247,27 @@ public class UserBadgeServiceImpl implements UserBadgeService { return new Result(); } + private void validateParams(CertificationAddFormDTO certificationAddFormDTO, AuthFieldFormDTO authFieldFormDTO) { + List authFieldResultDTOS = this.authField(authFieldFormDTO); + if (CollectionUtils.isEmpty(authFieldResultDTOS)) { + throw new RenException("该徽章配置配置错误"); + } + Set requiredColumns = authFieldResultDTOS.stream() + .filter(o -> NumConstant.ONE_STR.equals(o.getIsRequired())) + .map(AuthFieldResultDTO::getEnName).collect(Collectors.toSet()); + List missColumns = ValidatorUtils.hasAllRequired(JSON.toJSONString(certificationAddFormDTO), requiredColumns); + if (!CollectionUtils.isEmpty(missColumns)) { + throw new RenException(JSON.toJSONString(missColumns).concat("不能为空")); + } + } + /** - * @Description 站内信发送——提交徽章认证 + * @Description 站内信发送——提交徽章认证 * @Param form * @author zxc * @date 2020/11/10 9:04 上午 */ - public void sendMessageByUser(UserBadgeCertificateRecordDTO form){ + public void sendMessageByUser(UserBadgeCertificateRecordDTO form) { List msgList = new ArrayList<>(); UserMessageFormDTO formDTO = new UserMessageFormDTO(); formDTO.setApp(BadgeConstant.RESI); From d108faaf98a4e4a34419566c871f157f096efc60 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 19 Nov 2020 10:34:07 +0800 Subject: [PATCH 47/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dao/BadgeDao.java | 10 ++++++++++ .../java/com/epmet/entity/BadgeEntity.java | 20 ++++++++++--------- .../epmet/service/impl/BadgeServiceImpl.java | 4 +++- .../src/main/resources/mapper/BadgeDao.xml | 14 +++++++++++-- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java index 1b4e35cef4..5d727e6ad9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java @@ -177,4 +177,14 @@ public interface BadgeDao extends BaseDao { * @date 2020/11/18 10:43 上午 */ String getPartyBadgeId(@Param("customerId") String customerId); + + /** + * desc: 获取下一次排序号 + * + * @param customerId + * @return int + * @author LiuJanJun + * @date 2020/11/19 10:18 上午 + */ + int selectNextSort(@Param("customerId") String customerId); } \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/BadgeEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/BadgeEntity.java index c6aec0b820..c36124dd7b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/BadgeEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/BadgeEntity.java @@ -18,13 +18,10 @@ package com.epmet.entity; import com.baomidou.mybatisplus.annotation.TableName; - import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; - /** * 徽章 * @@ -53,14 +50,19 @@ public class BadgeEntity extends BaseEpmetEntity { */ private String badgeIcon; - /** - * 固有徽章类型 前端页面跳转标识,党员徽章:party;无:none - */ + /** + * 固有徽章类型 前端页面跳转标识,党员徽章:party;无:none + */ private String fixationBadgeType; - /** - * 状态 上线:online;下线:offline; - */ + /** + * 状态 上线:online;下线:offline; + */ private String badgeStatus; + /** + * 排序 + */ + private Integer sort; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java index 01ee9463d0..3df36a22be 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java @@ -163,9 +163,11 @@ public class BadgeServiceImpl extends BaseServiceImpl imp if (CollectionUtils.isNotEmpty(list)) { throw new RenException(EpmetErrorCode.DUPLICATE_BADGE_NAME.getCode()); } + int nextSort = baseDao.selectNextSort(tokenDto.getCustomerId()); BadgeEntity entity = ConvertUtils.sourceToTarget(formDTO, BadgeEntity.class); entity.setCustomerId(tokenDto.getCustomerId()); entity.setFixationBadgeType(BadgeConstant.NONE); + entity.setSort(nextSort); insert(entity); //保存徽章认证配置 List badgeList = new ArrayList<>(); @@ -220,7 +222,7 @@ public class BadgeServiceImpl extends BaseServiceImpl imp BadgeEntity badgeEntity = baseDao.selectBadgeInfo(tokenDto.getCustomerId(), formDTO.getBadgeId()); if (null == badgeEntity) { - badgeEntity = baseDao.selectBadgeInfo("default", formDTO.getBadgeId()); + badgeEntity = baseDao.selectBadgeInfo(BadgeConstant.DEFAULT_CUSTOMER, formDTO.getBadgeId()); badgeEntity.setCustomerId(tokenDto.getCustomerId()); badgeEntity.setBadgeName(formDTO.getBadgeName()); badgeEntity.setBadgeIcon(formDTO.getBadgeIcon()); 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 3ca95c71d4..3d297a2441 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 @@ -75,7 +75,7 @@ AND NOT EXISTS ( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID)) t ORDER BY - CREATED_TIME DESC + SORT + + \ No newline at end of file From 473342fd5496b50fd3a47184830752d78a740f10 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 Nov 2020 10:39:09 +0800 Subject: [PATCH 48/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/BadgeConstant.java | 2 +- .../dto/result/UserBadgeListResultDTO.java | 2 + .../dto/result/UserOperListResultDTO.java | 2 + .../epmet/feign/EpmetUserOpenFeignClient.java | 3 + .../EpmetUserOpenFeignClientFallback.java | 5 + .../src/main/java/com/epmet/dao/BadgeDao.java | 9 ++ .../com/epmet/feign/GovOrgFeignClient.java | 14 +++ .../fallback/GovOrgFeignClientFallBack.java | 8 ++ .../service/impl/UserBadgeServiceImpl.java | 93 ++++++++++++++++++- .../java/com/epmet/util/ModuleConstant.java | 12 +++ .../src/main/resources/mapper/BadgeDao.xml | 11 +++ .../main/resources/mapper/UserBadgeDao.xml | 4 +- 12 files changed, 158 insertions(+), 7 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/BadgeConstant.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/BadgeConstant.java index 131e4a9203..28c192006f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/BadgeConstant.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/BadgeConstant.java @@ -36,7 +36,7 @@ public interface BadgeConstant { String GET_BADGE_NAME_FAILURE = "获取徽章名称失败......"; - String MESSAGE_CONTENT = "您好,您的%s因认证失败未成功点亮,请查看"; + String MESSAGE_CONTENT = "%s申请认证%s,请审核"; String READ_FLAG = "unread"; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgeListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgeListResultDTO.java index 19fce3bb3c..b865e948a3 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgeListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserBadgeListResultDTO.java @@ -39,6 +39,8 @@ public class UserBadgeListResultDTO implements Serializable { private String fixationBadgeType; @JsonIgnore private Boolean status; + @JsonIgnore + private Integer sort; public UserBadgeListResultDTO() { this.badgeId = ""; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserOperListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserOperListResultDTO.java index 89f3f98aba..49bbf6be77 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserOperListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/UserOperListResultDTO.java @@ -55,6 +55,8 @@ public class UserOperListResultDTO implements Serializable { private String isOpened; @JsonIgnore private String auditStatus; + @JsonIgnore + private Integer sort; public UserOperListResultDTO() { this.badgeId = ""; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index b385738d82..0254a8b3f2 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -449,4 +449,7 @@ public interface EpmetUserOpenFeignClient { **/ @PostMapping(value = "/epmetuser/more/badge/initbadge") Result initBadge(@RequestParam String userId); + + @PostMapping(value = "epmetuser/staffrole/specificrolesstaffs", consumes = MediaType.APPLICATION_JSON_VALUE) + Result> specificRolesStaffs(RolesUsersListFormDTO rolesUsersListFormDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 6ac75b91e1..b3d7f31377 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -316,4 +316,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result initBadge(String partyUserId) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "initBadge", partyUserId); } + + @Override + public Result> specificRolesStaffs(RolesUsersListFormDTO rolesUsersListFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "specificRolesStaffs", rolesUsersListFormDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java index 5d727e6ad9..fc77ac2740 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java @@ -178,6 +178,15 @@ public interface BadgeDao extends BaseDao { */ String getPartyBadgeId(@Param("customerId") String customerId); + /** + * @Description 查询徽章名称 + * @Param customerId + * @Param badgeId + * @author zxc + * @date 2020/11/19 上午9:49 + */ + String selectBadgeName(@Param("customerId") String customerId,@Param("badgeId") String badgeId); + /** * desc: 获取下一次排序号 * diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java index 1f518e6910..d64f5035ff 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/GovOrgFeignClient.java @@ -3,10 +3,14 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.CustomerGridFormDTO; import com.epmet.feign.fallback.GovOrgFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; /** * @Description 居民端陌生人导览 调用gov-org服务 @@ -25,4 +29,14 @@ public interface GovOrgFeignClient { @PostMapping("/gov/org/customergrid/getcustomergridbygridid") Result getCustomerGridByGridId(CustomerGridFormDTO formDTO); + /** + * @Description 查询一个网格下的所有工作人员[copy wangc] + * @param gridIdFormDTO + * @return Result> + * @author zxc + * @date 2020.04.29 22:59 + **/ + @PostMapping("/gov/org/customerstaffgrid/getgridstaffs") + Result> getGridStaffs(@RequestBody CommonGridIdFormDTO gridIdFormDTO); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java index e3402a196f..20cc39ddcd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/feign/fallback/GovOrgFeignClientFallBack.java @@ -4,10 +4,13 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.CommonGridIdFormDTO; import com.epmet.dto.form.CustomerGridFormDTO; import com.epmet.feign.GovOrgFeignClient; import org.springframework.stereotype.Component; +import java.util.List; + /** * @Description 居民端-陌生人导览 调用gov-org服务 * @Author sun @@ -20,4 +23,9 @@ public class GovOrgFeignClientFallBack implements GovOrgFeignClient { public Result getCustomerGridByGridId(CustomerGridFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getcustomergridbygridid", formDTO); } + + @Override + public Result> getGridStaffs(CommonGridIdFormDTO gridIdFormDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridStaffs", gridIdFormDTO); + } } 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 e85e794e84..ed07ea21a6 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 @@ -10,6 +10,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.PhoneValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.BadgeConstant; +import com.epmet.constant.ReadFlagConstant; import com.epmet.constant.SmsTemplateConstant; import com.epmet.dao.*; import com.epmet.dto.ResiUserBadgeDTO; @@ -17,9 +18,12 @@ import com.epmet.dto.UserBadgeCertificateRecordDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.UserBadgeRedis; import com.epmet.service.UserBadgeService; import com.epmet.service.UserBaseInfoService; +import com.epmet.util.ModuleConstant; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -56,6 +60,10 @@ public class UserBadgeServiceImpl implements UserBadgeService { @Autowired private BadgeDao badgeDao; @Autowired + private GovOrgFeignClient govOrgFeignClient; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired private BadgeCertificationConfigDao badgeCertificationConfigDao; /** @@ -74,7 +82,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { List redisUserBadgeList = JSON.parseArray(userBadge.toString(), UserBadgeListResultDTO.class); List userBadgeListResultDTOS = userBadgeDao.selectBadgeList(userBadgeListFormDTO); if (CollectionUtils.isEmpty(userBadgeListResultDTOS)){ - return redisUserBadgeList; + return redisUserBadgeList.stream().sorted(Comparator.comparing(UserBadgeListResultDTO::getSort)).collect(Collectors.toList()); } redisUserBadgeList.forEach(u -> { userBadgeListResultDTOS.forEach(badge -> { @@ -84,11 +92,13 @@ public class UserBadgeServiceImpl implements UserBadgeService { } }); }); + List noOpenBadge = new ArrayList<>(); redisUserBadgeList.forEach(u -> { if (!u.getStatus()){ - userBadgeListResultDTOS.add(u); + noOpenBadge.add(u); } }); + userBadgeListResultDTOS.addAll(noOpenBadge.stream().sorted(Comparator.comparing(UserBadgeListResultDTO::getSort)).collect(Collectors.toList())); return userBadgeListResultDTOS; } @@ -121,7 +131,14 @@ public class UserBadgeServiceImpl implements UserBadgeService { } }); }); - return userOperListResultDTOS.stream().sorted(Comparator.comparing(UserOperListResultDTO::getBadgeName)).collect(Collectors.toList()); + Map> collect = userOperListResultDTOS.stream().collect(Collectors.groupingBy(UserOperListResultDTO::getIsLighted)); + List result = collect.get(BadgeConstant.YES); + List noLight = collect.get(BadgeConstant.NO); + if (CollectionUtils.isEmpty(noLight)){ + return result; + } + result.addAll(noLight.stream().sorted(Comparator.comparing(UserOperListResultDTO::getSort)).collect(Collectors.toList())); + return result; } /** @@ -241,8 +258,9 @@ public class UserBadgeServiceImpl implements UserBadgeService { log.info(JSON.toJSONString(form)); userBadgeDao.insertUserBadgeCertificateRecord(form); - //TODO 站内信发送 您好,您的xxx徽章因认证失败未成功点亮,请查看 - this.sendMessageByUser(form); + //TODO 站内信发送 + String badgeName = badgeDao.selectBadgeName(form.getCustomerId(), form.getBadgeId()); + sendMessage(BadgeConstant.AUTH_TITLE,String.format(BadgeConstant.READ_FLAG,userBaseInfoResultDTOS.get(NumConstant.ZERO).getDistrict().concat(userBaseInfoResultDTOS.get(NumConstant.ZERO).getRealName()),badgeName),form.getGridId(),form.getUserId(),form.getCustomerId()); return new Result(); } @@ -407,4 +425,69 @@ public class UserBadgeServiceImpl implements UserBadgeService { return badges.stream().collect(Collectors.groupingBy(UserBadgeInfoResultDTO::getUserId)); } + /** + * @Description 发送站内信 + * @Param title 标题 + * @Param msg 信息 + * @Param gridId 网格ID + * @Param userId 用户ID + * @Param customerId 客户ID + * @author zxc + * @date 2020/11/19 上午9:16 + */ + public void sendMessage(String title,String msg,String gridId,String userId,String customerId){ + //1.查询加入当前网格下的人员 customer_staff_grid + CommonGridIdFormDTO commonGridIdFormDTO = new CommonGridIdFormDTO(); + commonGridIdFormDTO.setGridId(gridId); + commonGridIdFormDTO.setUserId(userId); + Result> gridstaffs = + govOrgFeignClient.getGridStaffs(commonGridIdFormDTO); + //2.查询这些人是否有管理员身份且未被禁用 staff_role customer_staff + if(gridstaffs.success() && null != gridstaffs.getData() && gridstaffs.getData().size() > 0){ + RolesUsersListFormDTO rolesUsersListFormDTO = new RolesUsersListFormDTO(); + rolesUsersListFormDTO.setCustomerId(customerId); + List roleKeys = new ArrayList(); + roleKeys.add(ModuleConstant.STAFF_ROLE_GRID_MANAGER); + rolesUsersListFormDTO.setRoleKeys(roleKeys); + rolesUsersListFormDTO.setUserIds(gridstaffs.getData()); + Result> staffRoles = + epmetUserOpenFeignClient.specificRolesStaffs(rolesUsersListFormDTO); + //3.发送消息 + if(staffRoles.success() && null != staffRoles.getData() && staffRoles.getData().size() > 0){ + List msgList = new ArrayList<>(); + List subscribeList = new ArrayList<>(); + for(String to : staffRoles.getData()){ + //站内信 + UserMessageFormDTO msgObj = new UserMessageFormDTO(); + msgObj.setApp(ModuleConstant.APP_GOV); + msgObj.setCustomerId(customerId); + msgObj.setGridId(gridId); + msgObj.setMessageContent(msg); + msgObj.setReadFlag(ReadFlagConstant.UN_READ); + msgObj.setTitle(title); + msgObj.setUserId(to); + msgList.add(msgObj); + //微信订阅 + WxSubscribeMessageFormDTO subscribeDTO = new WxSubscribeMessageFormDTO(); + subscribeDTO.setClientType(ModuleConstant.APP_GOV); + subscribeDTO.setGridId(gridId); + subscribeDTO.setCustomerId(customerId); + subscribeDTO.setUserId(to); + subscribeDTO.setBehaviorType(ModuleConstant.BADGE_AUDIT_MESSAGE); + subscribeDTO.setMessageContent(msg); + subscribeDTO.setMessageTime(new Date()); + subscribeList.add(subscribeDTO); + } + if (subscribeList.size() > NumConstant.ZERO){ + epmetMessageOpenFeignClient.sendWxSubscribeMessage(subscribeList); + } + Result result = epmetMessageOpenFeignClient.saveUserMessageList(msgList); + if(result.success()){ + return; + } + } + } + + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java index 68b95319ac..706716aff6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java @@ -34,4 +34,16 @@ public interface ModuleConstant { String GENDER_UNKNOWN = "未知"; + /** + * 工作人员角色key:网格长 + * */ + String STAFF_ROLE_GRID_MANAGER = "grid_manager"; + + /** + * APP 政府端 + * */ + String APP_GOV = "gov"; + + String BADGE_AUDIT_MESSAGE = "徽章审核消息"; + } 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 3d297a2441..660b955904 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 @@ -294,4 +294,15 @@ DEL_FLAG = '0' AND (CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} OR CUSTOMER_ID = 'default') + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml index 3709525bb5..78a53b87e0 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml @@ -46,7 +46,8 @@ CUSTOMER_ID, BADGE_NAME, BADGE_ICON, - FIXATION_BADGE_TYPE AS badgeType + FIXATION_BADGE_TYPE AS badgeType, + sort FROM ( SELECT * FROM badge WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0' @@ -70,6 +71,7 @@ WHERE DEL_FLAG = 0 AND CERTIFICATION_AUTID_STATUS = 'approved' AND USER_ID = #{userId} + order by created_time desc From 96d4a01c8095064f6b0d1c8415317fd3bde3f6de Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 Nov 2020 10:50:26 +0800 Subject: [PATCH 49/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/UserBadgeServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 ed07ea21a6..9cbb4e0e90 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 @@ -98,7 +98,9 @@ public class UserBadgeServiceImpl implements UserBadgeService { noOpenBadge.add(u); } }); - userBadgeListResultDTOS.addAll(noOpenBadge.stream().sorted(Comparator.comparing(UserBadgeListResultDTO::getSort)).collect(Collectors.toList())); + if (!CollectionUtils.isEmpty(noOpenBadge)){ + userBadgeListResultDTOS.addAll(noOpenBadge.stream().sorted(Comparator.comparing(UserBadgeListResultDTO::getSort)).collect(Collectors.toList())); + } return userBadgeListResultDTOS; } From be4c32f755d819c6acdbb9d131313431d14969c3 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 Nov 2020 11:04:45 +0800 Subject: [PATCH 50/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/UserBadgeDao.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml index 78a53b87e0..d90c6aa70b 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml @@ -27,7 +27,8 @@ SELECT ub.BADGE_ID, ub.IS_OPENED, - b.FIXATION_BADGE_TYPE as badgeType + b.FIXATION_BADGE_TYPE as badgeType, + b.sort FROM resi_user_badge ub LEFT JOIN badge b ON b.ID = ub.BADGE_ID WHERE ub.DEL_FLAG = '0' From e0fc623acd72a6815623f2459161560039f0db11 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 19 Nov 2020 11:10:30 +0800 Subject: [PATCH 51/79] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=E4=BB=8Euser=5Fbase=5Finfo=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-user-server/src/main/resources/mapper/UserDao.xml | 2 +- .../src/main/resources/mapper/UserWechatDao.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserDao.xml index c1f8791e16..a46001c8c6 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserDao.xml @@ -40,7 +40,7 @@ LEFT JOIN USER_RESI_INFO resi ON user.ID = resi.USER_ID AND resi.DEL_FLAG = '0' LEFT JOIN - USER_WECHAT wechat ON user.ID = wechat.USER_ID AND wechat.DEL_FLAG = '0' + user_base_info wechat ON user.ID = wechat.USER_ID AND wechat.DEL_FLAG = '0' LEFT JOIN REGISTER_RELATION relation ON user.ID = relation.USER_ID AND relation.DEL_FLAG = '0' diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml index 5797e95eef..d51c98cf19 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserWechatDao.xml @@ -70,7 +70,7 @@ user_id AS userId, IFNULL(head_img_url,'') AS userHeadPhoto FROM - user_wechat + user_base_info WHERE user_id in @@ -96,7 +96,7 @@ SELECT wechat.USER_ID, IFNULL(wechat.NICKNAME,'') AS userNickname, - IFNULL(wechat.HEAD_IMG_URL,'') AS userHeadPhoto, + IFNULL(base.HEAD_IMG_URL,'') AS userHeadPhoto, IFNULL(base.REAL_NAME,'') AS userName FROM user_wechat wechat From 4489d35f947897567724785b06e804b836f5c345 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 19 Nov 2020 13:26:40 +0800 Subject: [PATCH 52/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-03_badege.sql => V0.0.10__add_badege.sql} | 154 ++++++++++-------- 1 file changed, 87 insertions(+), 67 deletions(-) rename epmet-user/epmet-user-server/src/main/resources/db/migration/{2020-11-03_badege.sql => V0.0.10__add_badege.sql} (54%) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/2020-11-03_badege.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql similarity index 54% rename from epmet-user/epmet-user-server/src/main/resources/db/migration/2020-11-03_badege.sql rename to epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql index 0e605aa9ab..cdf653b93e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/db/migration/2020-11-03_badege.sql +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql @@ -11,61 +11,62 @@ Target Server Version : 50728 File Encoding : 65001 - Date: 03/11/2020 10:36:00 + Date: 19/11/2020 11:19:00 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- --- Table structure for badege +-- Table structure for badge -- ---------------------------- -DROP TABLE IF EXISTS `badege`; -CREATE TABLE `badege` +DROP TABLE IF EXISTS `badge`; +CREATE TABLE `badge` ( - `ID` varchar(64) NOT NULL COMMENT '主键ID', - `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id 默认配置id:default', - `BADEGE_NAME` varchar(32) NOT NULL COMMENT '徽章名称', - `BADEGE_ICON` varchar(256) NOT NULL COMMENT '徽章图标url', - `FIXATION_BADEGE_TYPE` varchar(32) NOT NULL DEFAULT 'none' COMMENT '固有徽章类型 前端页面跳转标识,党员徽章:party;无:none', - `BADEGE_STATUS` varchar(16) NOT NULL COMMENT '状态 上线:online;下线:offline;', - `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', - `REVISION` int(11) NOT NULL COMMENT '乐观锁', - `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', - `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', - `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', - `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + `ID` varchar(64) NOT NULL COMMENT '主键ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id 默认配置id:default', + `BADGE_NAME` varchar(32) NOT NULL COMMENT '徽章名称', + `BADGE_ICON` varchar(256) NOT NULL COMMENT '徽章图标url', + `FIXATION_BADGE_TYPE` varchar(32) NOT NULL DEFAULT 'none' COMMENT '固有徽章类型 前端页面跳转标识,党员徽章:party;无:none', + `SORT` int(11) NOT NULL COMMENT '徽章排序', + `BADGE_STATUS` varchar(16) NOT NULL COMMENT '状态 上线:online;下线:offline;', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', PRIMARY KEY (`ID`, `CUSTOMER_ID`) USING BTREE ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='徽章'; -- ---------------------------- --- Records of badege +-- Records of badge -- ---------------------------- BEGIN; -INSERT INTO `badege` +INSERT INTO `badge` VALUES ('1', 'default', '党员徽章', - 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200909/e4935b1f790b4d4e91ac9190a47120bb.jpg', - 'party', 'online', '0', 0, 'APP_USER', '2020-11-03 10:33:52', 'APP_USER', '2020-11-03 10:34:00'); -INSERT INTO `badege` + 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201117/57d817af26e74af2928d7a0dcd53fa69.png', + 'party', 2, 'online', '0', 0, 'APP_USER', '2020-11-03 10:33:52', 'APP_USER', '2020-11-03 10:34:00'); +INSERT INTO `badge` VALUES ('2', 'default', '人大代表徽章', - 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200909/e4935b1f790b4d4e91ac9190a47120bb.jpg', - 'none', 'online', '0', 0, 'APP_USER', '2020-11-03 10:33:52', 'APP_USER', '2020-11-03 10:34:00'); -INSERT INTO `badege` + 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201117/eae64f4039d340f7b83d17c662f29fba.png', + 'none', 1, 'online', '0', 0, 'APP_USER', '2020-11-03 10:33:53', 'APP_USER', '2020-11-03 10:34:00'); +INSERT INTO `badge` VALUES ('3', 'default', '政协委员徽章', - 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200909/e4935b1f790b4d4e91ac9190a47120bb.jpg', - 'none', 'online', '0', 0, 'APP_USER', '2020-11-03 10:33:52', 'APP_USER', '2020-11-03 10:34:00'); + 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201117/5a1d29eabe014d6fb3d8a19a4bd1cc35.png', + 'none', 0, 'online', '0', 0, 'APP_USER', '2020-11-03 10:33:54', 'APP_USER', '2020-11-03 10:34:00'); COMMIT; -- ---------------------------- --- Table structure for badege_certification_config +-- Table structure for badge_certification_config -- ---------------------------- -DROP TABLE IF EXISTS `badege_certification_config`; -CREATE TABLE `badege_certification_config` +DROP TABLE IF EXISTS `badge_certification_config`; +CREATE TABLE `badge_certification_config` ( `ID` varchar(64) NOT NULL COMMENT '主键ID', `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id 默认配置id:default', - `BADEGE_ID` varchar(64) NOT NULL COMMENT '徽章ID', + `BADGE_ID` varchar(64) NOT NULL COMMENT '徽章ID', `CERTIFICATION_TYPE` varchar(16) NOT NULL COMMENT '认证信息类型 手机号:mobile;全名:fullname;身份证:idcard;认证证件: certificate;认证说明(备注):remark', `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', @@ -78,16 +79,44 @@ CREATE TABLE `badege_certification_config` DEFAULT CHARSET = utf8mb4 COMMENT ='徽章认证配置'; -- ---------------------------- --- Records of badege_certification_config +-- Records of badge_certification_config -- ---------------------------- BEGIN; +INSERT INTO `badge_certification_config` +VALUES ('1001', 'default', '1', 'fullname', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('1002', 'default', '1', 'idcard', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('1003', 'default', '1', 'mobile', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('1004', 'default', '1', 'remark', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('2001', 'default', '2', 'fullname', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('2002', 'default', '2', 'idcard', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('2003', 'default', '2', 'mobile', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('2004', 'default', '2', 'certificate', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('2005', 'default', '2', 'remark', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('3001', 'default', '3', 'fullname', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('3002', 'default', '3', 'idcard', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('3003', 'default', '3', 'mobile', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('3004', 'default', '3', 'certificate', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); +INSERT INTO `badge_certification_config` +VALUES ('3005', 'default', '3', 'remark', '0', 0, '1', '2020-11-04 16:46:43', '1', '2020-11-04 16:46:47'); COMMIT; -- ---------------------------- --- Table structure for badege_certification_config_field +-- Table structure for badge_certification_config_field -- ---------------------------- -DROP TABLE IF EXISTS `badege_certification_config_field`; -CREATE TABLE `badege_certification_config_field` +DROP TABLE IF EXISTS `badge_certification_config_field`; +CREATE TABLE `badge_certification_config_field` ( `ID` varchar(64) NOT NULL, `CN_NAME` varchar(64) NOT NULL COMMENT '中文名', @@ -107,42 +136,42 @@ CREATE TABLE `badege_certification_config_field` DEFAULT CHARSET = utf8mb4 COMMENT =' 徽章认证配置字段表\n'; -- ---------------------------- --- Records of badege_certification_config_field +-- Records of badge_certification_config_field -- ---------------------------- BEGIN; -INSERT INTO `badege_certification_config_field` +INSERT INTO `badge_certification_config_field` VALUES ('a5be5d931cf411eb8dcfc03fd56f7847', '手机号', 'mobile', 'text', 1, 'mobile', 3, 0, 0, 'APP_USER', '2020-11-02 18:14:02', 'APP_USER', '2020-11-02 18:14:06'); -INSERT INTO `badege_certification_config_field` -VALUES ('a5c01dd81cf411eb8dcfc03fd56f7847', '姓', 'subName', 'text', 1, 'fullName', 0, 0, 0, 'APP_USER', +INSERT INTO `badge_certification_config_field` +VALUES ('a5c01dd81cf411eb8dcfc03fd56f7847', '姓', 'surname', 'text', 1, 'fullName', 0, 0, 0, 'APP_USER', '2020-11-02 18:14:02', 'APP_USER', '2020-11-02 18:14:06'); -INSERT INTO `badege_certification_config_field` +INSERT INTO `badge_certification_config_field` VALUES ('a5c01de81cf411eb8dcfc03fd56f7847', '名', 'name', 'text', 1, 'fullName', 1, 0, 0, 'APP_USER', '2020-11-02 18:14:02', 'APP_USER', '2020-11-02 18:14:06'); -INSERT INTO `badege_certification_config_field` +INSERT INTO `badge_certification_config_field` VALUES ('a5c22e511cf411eb8dcfc03fd56f7847', '身份证', 'idcard', 'text', 1, 'idcard', 2, 0, 0, 'APP_USER', '2020-11-02 18:14:02', 'APP_USER', '2020-11-02 18:14:06'); -INSERT INTO `badege_certification_config_field` -VALUES ('a5c4c2c11cf411eb8dcfc03fd56f7847', '认证证件', 'certificate', 'img', 1, 'certificate', 4, 0, 0, 'APP_USER', +INSERT INTO `badge_certification_config_field` +VALUES ('a5c4c2c11cf411eb8dcfc03fd56f7847', '认证证件', 'certificationImg', 'img', 1, 'certificate', 4, 0, 0, 'APP_USER', '2020-11-02 18:14:02', 'APP_USER', '2020-11-02 18:14:06'); -INSERT INTO `badege_certification_config_field` -VALUES ('a5c608301cf411eb8dcfc03fd56f7847', '认证说明(备注)', 'remark', 'text', 1, 'remark', 5, 0, 0, 'APP_USER', +INSERT INTO `badge_certification_config_field` +VALUES ('a5c608301cf411eb8dcfc03fd56f7847', '备注', 'remark', 'text', 1, 'remark', 5, 0, 0, 'APP_USER', '2020-11-02 18:14:02', 'APP_USER', '2020-11-02 18:14:06'); COMMIT; -- ---------------------------- --- Table structure for resi_user_badege +-- Table structure for resi_user_badge -- ---------------------------- -DROP TABLE IF EXISTS `resi_user_badege`; -CREATE TABLE `resi_user_badege` +DROP TABLE IF EXISTS `resi_user_badge`; +CREATE TABLE `resi_user_badge` ( `ID` varchar(64) NOT NULL COMMENT '主键ID', `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id 默认配置id:default', `GRID_ID` varchar(64) NOT NULL COMMENT '用户注册网格ID', `USER_ID` varchar(64) NOT NULL COMMENT '用户ID', - `BADEGE_ID` varchar(64) NOT NULL COMMENT '徽章ID', - `IS_OPENED` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否开启(点亮) 1:点亮;0:未点亮', - `CERTIFICATION_AUTID_STATUS` varchar(16) NOT NULL DEFAULT 'auditing' COMMENT '认证(审核)状态 待审核:auditing;审核通过:pass;驳回:rejected;', + `BADGE_ID` varchar(64) NOT NULL COMMENT '徽章ID', + `IS_OPENED` tinyint(1) NOT NULL COMMENT '是否开启(点亮) 1:点亮;0:未点亮', + `CERTIFICATION_AUTID_STATUS` varchar(16) NOT NULL DEFAULT 'auditing' COMMENT '认证(审核)状态 待审核:auditing;审核通过: approved;驳回:rejected;', `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', @@ -153,32 +182,29 @@ CREATE TABLE `resi_user_badege` ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='用户徽章关系表'; --- ---------------------------- --- Records of resi_user_badege --- ---------------------------- -BEGIN; -COMMIT; -- ---------------------------- --- Table structure for user_badege_certificate_record +-- Table structure for user_badge_certificate_record -- ---------------------------- -DROP TABLE IF EXISTS `user_badege_certificate_record`; -CREATE TABLE `user_badege_certificate_record` +DROP TABLE IF EXISTS `user_badge_certificate_record`; +CREATE TABLE `user_badge_certificate_record` ( `ID` varchar(64) NOT NULL COMMENT '主键ID', `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户Id ', `GRID_ID` varchar(64) NOT NULL COMMENT '用户注册网格ID', `USER_ID` varchar(64) NOT NULL COMMENT '用户ID', - `BADEGE_ID` varchar(64) NOT NULL COMMENT '徽章ID', + `BADGE_ID` varchar(64) NOT NULL COMMENT '徽章ID', `SURNAME` varchar(8) DEFAULT NULL COMMENT '姓', `NAME` varchar(16) DEFAULT NULL COMMENT '名', + `MOBILE` varchar(64) DEFAULT NULL COMMENT '手机号', `ID_NUM` varchar(32) DEFAULT NULL COMMENT '身份证号 网格内去重', `CERTIFICATION_IMG` varchar(512) DEFAULT NULL COMMENT '认证证件图片', - `REMAEK` varchar(128) DEFAULT NULL COMMENT '认证说明(备注)', + `REMAEK` varchar(200) DEFAULT NULL COMMENT '认证说明(备注)', `AUDIT_STATUS` varchar(32) NOT NULL DEFAULT 'auditing' COMMENT '审核状态 approved:审核通过,rejected:审核驳回;auditing:审核中', - `AUDIT_REMARK` varchar(128) DEFAULT NULL COMMENT '审核意见', + `AUDIT_REMARK` varchar(200) DEFAULT NULL COMMENT '审核意见', `STAFF_ID` varchar(32) DEFAULT NULL COMMENT '审核人 审核人Id', `AUDIT_TIME` datetime DEFAULT NULL COMMENT '审核时间', + `IS_LAST` varchar(64) NOT NULL COMMENT '是否是最新纪录:yes:最新纪录,no:非最新纪录', `DEL_FLAG` varchar(32) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', @@ -190,10 +216,4 @@ CREATE TABLE `user_badege_certificate_record` ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='用户认证徽章记录表'; --- ---------------------------- --- Records of user_badege_certificate_record --- ---------------------------- -BEGIN; -COMMIT; - SET FOREIGN_KEY_CHECKS = 1; From 39c86ad1f2e01db1604a77a4905b3ac53c36cd6f Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 19 Nov 2020 13:29:35 +0800 Subject: [PATCH 53/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E8=84=9A=E6=9C=AC=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=AD=97=E6=AE=B5=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.10__add_badege.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql index cdf653b93e..4f915c6b94 100644 --- a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql @@ -125,7 +125,7 @@ CREATE TABLE `badge_certification_config_field` `IS_REQUIRED` tinyint(1) NOT NULL COMMENT '是否必填', `CERTIFICATION_TYPE` varchar(255) NOT NULL COMMENT '认证信息类型', `SORT` int(10) NOT NULL COMMENT '字段排序', - `DEL_FLAG` int(11) DEFAULT NULL COMMENT '删除标识 1删除0未删除', + `DEL_FLAG` int(1) DEFAULT NULL COMMENT '删除标识 1删除0未删除', `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人', `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间', @@ -204,8 +204,8 @@ CREATE TABLE `user_badge_certificate_record` `AUDIT_REMARK` varchar(200) DEFAULT NULL COMMENT '审核意见', `STAFF_ID` varchar(32) DEFAULT NULL COMMENT '审核人 审核人Id', `AUDIT_TIME` datetime DEFAULT NULL COMMENT '审核时间', - `IS_LAST` varchar(64) NOT NULL COMMENT '是否是最新纪录:yes:最新纪录,no:非最新纪录', - `DEL_FLAG` varchar(32) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', + `IS_LAST` varchar(8) NOT NULL COMMENT '是否是最新纪录:yes:最新纪录,no:非最新纪录', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', From 6a8c6e4cb8a6e2b3ed843abfbb7dd20e4c9d535b Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 19 Nov 2020 13:41:17 +0800 Subject: [PATCH 54/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E8=84=9A=E6=9C=AC=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=AD=97=E6=AE=B5=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.10__add_badege.sql | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql index 4f915c6b94..cf41c765d1 100644 --- a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.10__add_badege.sql @@ -118,13 +118,13 @@ COMMIT; DROP TABLE IF EXISTS `badge_certification_config_field`; CREATE TABLE `badge_certification_config_field` ( - `ID` varchar(64) NOT NULL, - `CN_NAME` varchar(64) NOT NULL COMMENT '中文名', - `EN_NAME` varchar(64) NOT NULL COMMENT '英文名(字段名)', - `FIELD_TYPE` varchar(32) NOT NULL COMMENT '字段类型 img:图片,text:文本', - `IS_REQUIRED` tinyint(1) NOT NULL COMMENT '是否必填', - `CERTIFICATION_TYPE` varchar(255) NOT NULL COMMENT '认证信息类型', - `SORT` int(10) NOT NULL COMMENT '字段排序', + `ID` varchar(64) NOT NULL, + `CN_NAME` varchar(64) NOT NULL COMMENT '中文名', + `EN_NAME` varchar(64) NOT NULL COMMENT '英文名(字段名)', + `FIELD_TYPE` varchar(32) NOT NULL COMMENT '字段类型 img:图片,text:文本', + `IS_REQUIRED` tinyint(1) NOT NULL COMMENT '是否必填', + `CERTIFICATION_TYPE` varchar(16) NOT NULL COMMENT '认证信息类型 手机号:mobile;全名:fullname;身份证:idcard;认证证件: certificate;认证说明(备注):remark', + `SORT` int(10) NOT NULL COMMENT '字段排序', `DEL_FLAG` int(1) DEFAULT NULL COMMENT '删除标识 1删除0未删除', `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建人', @@ -199,9 +199,9 @@ CREATE TABLE `user_badge_certificate_record` `MOBILE` varchar(64) DEFAULT NULL COMMENT '手机号', `ID_NUM` varchar(32) DEFAULT NULL COMMENT '身份证号 网格内去重', `CERTIFICATION_IMG` varchar(512) DEFAULT NULL COMMENT '认证证件图片', - `REMAEK` varchar(200) DEFAULT NULL COMMENT '认证说明(备注)', + `REMAEK` varchar(256) DEFAULT NULL COMMENT '认证说明(备注)', `AUDIT_STATUS` varchar(32) NOT NULL DEFAULT 'auditing' COMMENT '审核状态 approved:审核通过,rejected:审核驳回;auditing:审核中', - `AUDIT_REMARK` varchar(200) DEFAULT NULL COMMENT '审核意见', + `AUDIT_REMARK` varchar(256) DEFAULT NULL COMMENT '审核意见', `STAFF_ID` varchar(32) DEFAULT NULL COMMENT '审核人 审核人Id', `AUDIT_TIME` datetime DEFAULT NULL COMMENT '审核时间', `IS_LAST` varchar(8) NOT NULL COMMENT '是否是最新纪录:yes:最新纪录,no:非最新纪录', From 675cf6bd92f45fb19b987bb040d04eb1fcfaa9f6 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 19 Nov 2020 13:50:47 +0800 Subject: [PATCH 55/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/UserBadgeServiceImpl.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) 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 9cbb4e0e90..69c804c58d 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 @@ -136,11 +136,10 @@ public class UserBadgeServiceImpl implements UserBadgeService { Map> collect = userOperListResultDTOS.stream().collect(Collectors.groupingBy(UserOperListResultDTO::getIsLighted)); List result = collect.get(BadgeConstant.YES); List noLight = collect.get(BadgeConstant.NO); - if (CollectionUtils.isEmpty(noLight)){ - return result; - } - result.addAll(noLight.stream().sorted(Comparator.comparing(UserOperListResultDTO::getSort)).collect(Collectors.toList())); - return result; + List resultFin = new ArrayList<>(); + resultFin.addAll(CollectionUtils.isEmpty(result)?new ArrayList<>():result); + resultFin.addAll(CollectionUtils.isEmpty(noLight)?new ArrayList<>():noLight.stream().sorted(Comparator.comparing(UserOperListResultDTO::getSort)).collect(Collectors.toList())); + return resultFin; } /** From 51738f72dbf50863919ff1c93de6507789fd35d9 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Thu, 19 Nov 2020 13:52:38 +0800 Subject: [PATCH 56/79] =?UTF-8?q?=E5=BB=BA=E8=AE=AEbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/UserAdviceServiceImpl.java | 8 ++++---- .../src/main/resources/mapper/UserAdviceDao.xml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java index d7b1a19bd9..46a5e96c95 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java @@ -256,11 +256,11 @@ public class UserAdviceServiceImpl extends BaseServiceImpl - SELECT USER_ID FROM resi_user_badge WHERE DEL_FLAG = 0 + From aad2545c730ace162c5b173e5cac0d5cd0314e32 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Nov 2020 10:04:08 +0800 Subject: [PATCH 71/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/UserBadgeServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) 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 d6f7cfb7b8..1cb0b2dbe8 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 @@ -168,6 +168,9 @@ public class UserBadgeServiceImpl implements UserBadgeService { }); } List reUserIds = partyMemberUserIds.stream().filter(p -> !p.getReStatus()).map(p -> p.getUserId()).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(reUserIds)){ + return; + } List userBaseInfoResultDTOS = userBaseInfoService.queryUserBaseInfo(reUserIds); if (CollectionUtils.isEmpty(userBaseInfoResultDTOS)) { log.error("未查询到党员基本信息......"); From 873faa606f97a42ad6d8b98e1157973975fdc56d Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Fri, 20 Nov 2020 10:17:35 +0800 Subject: [PATCH 72/79] =?UTF-8?q?=E4=B8=8B=E8=B0=83=E5=8F=91=E9=80=81?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E7=9A=84=E9=94=99=E8=AF=AF=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/WxmpMessageServiceImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java index d8e6a43485..0d390bfc31 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/WxmpMessageServiceImpl.java @@ -278,12 +278,12 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { decrease = wxmpWorkUserSubscribeDao.decreaseWorkSubscribeCount(openId, templateId, customerId, 1,userId); } if (decrease == 0) { - logger.error("消息{}发送成功但订阅条数-1失败", JSON.toJSONString(msg)); + logger.warn("消息{}发送成功但订阅条数-1失败", JSON.toJSONString(msg)); } //存表 int saveRes = wxmpMsgSendRecordService.saveRecord(initRecord(msg, templateId, openId, WxmpMessageConstant.SUCCESS)); if (saveRes == 0) { - logger.error("消息{}发送成功但存入记录表失败", JSON.toJSONString(msg)); + logger.warn("消息{}发送成功但存入记录表失败", JSON.toJSONString(msg)); } } else { //发送失败 @@ -296,7 +296,7 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { clear = wxmpWorkUserSubscribeDao.clearWorkSubscribeCount(openId, templateId, customerId,userId); } if (clear == 0) { - logger.error("消息{}发送失败且清空订阅条数失败", JSON.toJSONString(msg)); + logger.warn("消息{}发送失败且清空订阅条数失败", JSON.toJSONString(msg)); } } @@ -316,11 +316,11 @@ public class WxmpMessageServiceImpl implements WxmpMessageService { wxmpMsgSendRecordEntity.setReason(errMsg); int saveRes = wxmpMsgSendRecordService.saveRecord(wxmpMsgSendRecordEntity); if (saveRes == 0) { - logger.error("消息{}发送失败且存入记录表失败", JSON.toJSONString(msg)); + logger.warn("消息{}发送失败且存入记录表失败", JSON.toJSONString(msg)); } } - logger.error("消息:{}发送失败,原因是:{}", JSON.toJSONString(msg), errMsg); + logger.warn("消息:{}发送失败,原因是:{}", JSON.toJSONString(msg), errMsg); continue; } } From 5311a12228d1fc480d1330ecfcabda701aed793d Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 20 Nov 2020 10:54:13 +0800 Subject: [PATCH 73/79] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/UserBadgeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1cb0b2dbe8..208611a01f 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 @@ -278,7 +278,7 @@ public class UserBadgeServiceImpl implements UserBadgeService { private void validateParams(CertificationAddFormDTO certificationAddFormDTO, AuthFieldFormDTO authFieldFormDTO) { List authFieldResultDTOS = this.authField(authFieldFormDTO); if (CollectionUtils.isEmpty(authFieldResultDTOS)) { - throw new RenException("该徽章配置配置错误"); + throw new RenException("该徽章配置配置错误,参数参数:{}", JSON.toJSONString(authFieldFormDTO)); } Set requiredColumns = authFieldResultDTOS.stream() .filter(o -> NumConstant.ONE_STR.equals(o.getIsRequired())) From 01a42497c34f0af8efe6b1f1a80ce7d5f4da0281 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Nov 2020 14:05:55 +0800 Subject: [PATCH 74/79] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=BE=BD=E7=AB=A0?= =?UTF-8?q?=E7=BC=93=E5=AD=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/redis/UserBadgeRedis.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java index 16644fa332..13a8dd8b2c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java @@ -178,7 +178,7 @@ public class UserBadgeRedis { * @date 2020.11.05 13:37 */ public long pushOrRemoveUserBadge4List(String userId, String badgeId, String customerId) { - List orient = obtainUserBadge2List(userId,customerId); + List orient = redisUtils.lrange(UserRedisKeys.getResiUserBadgeKey(customerId,userId), NumConstant.ZERO, NumConstant.ONE_NEG, UserBadgeUnitFormDTO.class); UserBadgeUnitFormDTO unit = null; if (!CollectionUtils.isEmpty(orient)) { @@ -206,7 +206,7 @@ public class UserBadgeRedis { if (poolOpt.isPresent()) unit = ConvertUtils.sourceToTarget(poolOpt.get(), UserBadgeUnitFormDTO.class); else return NumConstant.ZERO; } - redisUtils.leftPush(UserRedisKeys.getResiUserBadgeKey(customerId, userId), unit); + redisUtils.leftPush(UserRedisKeys.getResiUserBadgeKey(customerId, userId), unit,-1); return NumConstant.ONE; } From 2c7e78572d55d1e990c03c840067c166be1eedc4 Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 20 Nov 2020 14:46:09 +0800 Subject: [PATCH 75/79] =?UTF-8?q?=E5=8A=A0=E4=B8=AA=E7=A9=BA=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/modules/group/service/impl/ResiGroupServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java index 04718f2add..e5507ab766 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -526,6 +526,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Fri, 20 Nov 2020 14:48:57 +0800 Subject: [PATCH 76/79] =?UTF-8?q?=E5=88=A0=E9=99=A4x=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ResiGroupServiceImpl.java | 1358 ----------------- 1 file changed, 1358 deletions(-) delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java deleted file mode 100644 index e5507ab766..0000000000 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java +++ /dev/null @@ -1,1358 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * 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. - *

- * 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. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.modules.group.service.impl; - -import com.alibaba.fastjson.JSON; -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.AppClientConstant; -import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; -import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.exception.EpmetErrorCode; -import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.scan.param.ImgScanParamDTO; -import com.epmet.commons.tools.scan.param.ImgTaskDTO; -import com.epmet.commons.tools.scan.param.TextScanParamDTO; -import com.epmet.commons.tools.scan.param.TextTaskDTO; -import com.epmet.commons.tools.scan.result.SyncScanResult; -import com.epmet.commons.tools.security.user.LoginUserUtil; -import com.epmet.commons.tools.utils.*; -import com.epmet.constant.ReadFlagConstant; -import com.epmet.dto.form.*; -import com.epmet.dto.result.UserResiInfoResultDTO; -import com.epmet.dto.result.UserRoleResultDTO; -import com.epmet.feign.EpmetMessageOpenFeignClient; -import com.epmet.modules.constant.UserMessageConstant; -import com.epmet.modules.feign.EpmetMessageFeignClient; -import com.epmet.modules.feign.EpmetUserFeignClient; -import com.epmet.modules.feign.GovOrgFeignClient; -import com.epmet.modules.group.dao.GroupEditSubmitRecordDao; -import com.epmet.modules.group.dao.ResiGroupDao; -import com.epmet.modules.group.dao.ResiGroupOperationDao; -import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; -import com.epmet.modules.group.entity.ResiGroupEntity; -import com.epmet.modules.group.entity.ResiGroupOperationEntity; -import com.epmet.modules.group.redis.ResiGroupRedis; -import com.epmet.modules.group.service.ResiGroupOperationService; -import com.epmet.modules.group.service.ResiGroupService; -import com.epmet.modules.group.service.ResiGroupStatisticalService; -import com.epmet.modules.member.dao.GroupMemeberOperationDao; -import com.epmet.modules.member.dao.ResiGroupMemberDao; -import com.epmet.modules.member.redis.ResiGroupMemberRedis; -import com.epmet.modules.member.service.GroupMemeberOperationService; -import com.epmet.modules.member.service.ResiGroupMemberService; -import com.epmet.modules.utils.ModuleConstant; -import com.epmet.resi.group.constant.*; -import com.epmet.resi.group.dto.UserRoleDTO; -import com.epmet.resi.group.dto.group.*; -import com.epmet.resi.group.dto.group.form.GridIdFormDTO; -import com.epmet.resi.group.dto.group.form.ShouldVoteCountFormDTO; -import com.epmet.resi.group.dto.group.form.*; -import com.epmet.resi.group.dto.group.result.*; -import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; -import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; -import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; -import com.github.pagehelper.PageHelper; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; - -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 群组信息表 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-28 - */ -@Service -public class ResiGroupServiceImpl extends BaseServiceImpl implements ResiGroupService { - private Logger logger = LoggerFactory.getLogger(getClass()); - - @Autowired - private ResiGroupMemberService resiGroupMemberService; - - @Autowired - private ResiGroupOperationService resiGroupOperationService; - - @Autowired - private EpmetUserFeignClient epmetUserFeignClient; - - @Autowired - private GroupMemeberOperationService groupMemeberOperationService; - - @Autowired - private ResiGroupStatisticalService resiGroupStatisticalService; - - @Autowired - private ResiGroupOperationDao resiGroupOperationDao; - - @Autowired - private ResiGroupMemberDao resiGroupMemberDao; - - @Autowired - private GroupMemeberOperationDao groupMemeberOperationDao; - - @Autowired - private ResiGroupRedis resiGroupRedis; - - @Autowired - private ResiGroupMemberRedis resiGroupMemberRedis; - - @Autowired - private GovOrgFeignClient govOrgFeignClient; - - @Autowired - private EpmetMessageFeignClient epmetMessageFeignClient; - - @Autowired - private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; - - @Autowired - private ResiGroupDao resiGroupDao; - - @Autowired - private GroupEditSubmitRecordDao groupEditSubmitRecordDao; - - @Autowired - private LoginUserUtil loginUserUtil; - - @Autowired - private CpUserDetailRedis sysUserInfoRedis; - - @Value("${openapi.scan.server.url}") - private String scanApiUrl; - - @Value("${openapi.scan.method.textSyncScan}") - private String textSyncScanMethod; - - @Value("${openapi.scan.method.imgSyncScan}") - private String imgSyncScanMethod; - - @Override - public PageData page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, ResiGroupDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, ResiGroupDTO.class); - } - - private QueryWrapper getWrapper(Map params) { - String id = (String) params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } - - @Override - public ResiGroupDTO get(String id) { - ResiGroupEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, ResiGroupDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(ResiGroupDTO dto) { - ResiGroupEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(ResiGroupDTO dto) { - ResiGroupEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } - - /** - * @param myGroupFormDTO - * @return com.epmet.commons.tools.utils.Result> - * @Author yinzuomei - * @Description 我的小组查询(包含我创建的小组+我加入的小组),以各组的最新话题时间有近到远排序) - * @Date 2020/3/28 20:37 - **/ - @Override - public List getMyGroup(MyGroupFormDTO myGroupFormDTO) { - int pageIndex = (myGroupFormDTO.getPageNo() - NumConstant.ONE) * myGroupFormDTO.getPageSize(); - myGroupFormDTO.setPageNo(pageIndex); - List myGroupList = baseDao.selectListMyGroup(myGroupFormDTO); - if (null == myGroupList || myGroupList.size() < 1) { - logger.info(String.format("我的小组查询为空,selectListMyGroup入参%s", JSON.toJSONString(myGroupFormDTO))); - return new ArrayList<>(); - } - return myGroupList; - } - - /** - * @param recommendGroupFormDTO - * @return com.epmet.commons.tools.utils.Result> - * @Author yinzuomei - * @Description 推荐组列表查询 - * @Date 2020/3/28 19:53 - **/ - @Override - public List getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO) { - int pageIndex = (recommendGroupFormDTO.getPageNo() - NumConstant.ONE) * recommendGroupFormDTO.getPageSize(); - recommendGroupFormDTO.setPageNo(pageIndex); - //显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以最新话题的时间有近到远排序 - List recommendGroupList = baseDao.selectListRecommendGroup(recommendGroupFormDTO); - if (null == recommendGroupList || recommendGroupList.size() == 0) { - logger.info(String.format("推荐小组查询为空,selectListRecommendGroup入参%s", JSON.toJSONString(recommendGroupFormDTO))); - return new ArrayList<>(); - } - for (RecommendGroupResultDTO recommendGroupResultDTO : recommendGroupList) { - GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationService.selectLatestRecord(recommendGroupResultDTO.getGroupId(), - recommendGroupFormDTO.getUserId()); - if (null != groupMemeberOperationDTO) { - recommendGroupResultDTO.setStatus(groupMemeberOperationDTO.getOperateStatus()); - } - } - return recommendGroupList; - } - - /** - * @param createdFormDTO - * @return com.epmet.commons.tools.utils.Result> - * @Author yinzuomei - * @Description 我创建的小组 - * @Date 2020/3/28 22:01 - **/ - @Override - public List getCreated(CreatedFormDTO createdFormDTO) { - int pageIndex = (createdFormDTO.getPageNo() - NumConstant.ONE) * createdFormDTO.getPageSize(); - createdFormDTO.setPageNo(pageIndex); - List createdResultDTOList = baseDao.selectListMyCreated(createdFormDTO); - if (null == createdResultDTOList || createdResultDTOList.size() == 0) { - logger.info(String.format("我创建的小组查询为空,selectListMyCreated入参%s", JSON.toJSONString(createdFormDTO))); - return new ArrayList<>(); - } - return createdResultDTOList; - } - - /** - * @param modifyGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 修改组信息 - * @Date 2020/3/28 22:27 - **/ - @Transactional(rollbackFor = Exception.class) - @Override - public void modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO) { - //校验是否是群主 - ResiGroupMemberDTO groupMemberDTO = resiGroupMemberService.getResiGroupMember(modifyGroupFormDTO.getGroupId(), modifyGroupFormDTO.getUserId()); - if (null == groupMemberDTO || ModuleConstant.GROUP_MEMBER.equals(groupMemberDTO.getGroupLeaderFlag())) { - logger.info(String.format("修改小组信息异常:%s",EpmetErrorCode.GROUP_LEADER_CAN_EDIT_GROUP_INFO.getMsg())); - throw new RenException(EpmetErrorCode.GROUP_LEADER_CAN_EDIT_GROUP_INFO.getCode()); - } - if (StringUtils.isBlank(modifyGroupFormDTO.getGroupHeadPhoto()) - && StringUtils.isBlank(modifyGroupFormDTO.getGroupName()) - && StringUtils.isBlank(modifyGroupFormDTO.getGroupIntroduction())) { - logger.info("小组信息未发生变更,无需更改"); - return; - } - int updatedRows = baseDao.modifyGroupInfo(modifyGroupFormDTO); - if (1 == updatedRows) { - logger.info("修改小组信息成功"); - }else{ - logger.error(String.format("修改小组信息失败,updatedRows=%s",updatedRows)); - } - } - - /** - * @param groupSummarizeFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 查看小组管理界面信息 - * @Date 2020/3/29 17:52 - **/ - @Override - public GroupSummarizeResultDTO getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO) { - GroupSummarizeResultDTO groupSummarizeResultDTO = baseDao.selectGroupSummarize(groupSummarizeFormDTO); - if (null == groupSummarizeResultDTO) { - logger.warn(String.format("查看小组管理界面信息异常,userId=%s,groupId=%s",groupSummarizeFormDTO.getUserId(),groupSummarizeFormDTO.getGroupId())); - return new GroupSummarizeResultDTO(); - } - //获取组长信息 - Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId()); - if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { - groupSummarizeResultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName()); - } else { - logger.warn(String.format("查看小组管理界面信息错误,获取组长注册信息失败,接口返参%s",JSON.toJSONString(groupLeaderUserInfo))); - groupSummarizeResultDTO.setLeaderName(""); - } - return groupSummarizeResultDTO; - } - - /** - * @param groupId - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 根据组id查询组长信息 - * @Date 2020/3/30 15:07 - **/ - private Result getGroupLeaderUserInfo(String groupId) { - //群主名称需要调用feign查询 - ResiGroupEntity resiGroupEntity = baseDao.selectById(groupId); - if (null == resiGroupEntity) { - return new Result<>(); - } - ResiGroupMemberDTO groupMemberDTO = baseDao.selectGroupLeader(groupId); - if (null == groupMemberDTO) { - return new Result<>(); - } - UserResiInfoFormDTO resiUserInfoFormDTO = new UserResiInfoFormDTO(); - resiUserInfoFormDTO.setCustomerId(resiGroupEntity.getCustomerId()); - resiUserInfoFormDTO.setUserId(groupMemberDTO.getCustomerUserId()); - return epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO); - } - - /** - * @param applyCreateGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 创建小组 - * @Date 2020/3/29 19:26 - **/ - @Transactional(rollbackFor = Exception.class) - @Override - public void applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { - //1、校验是否同名 - List resiGroupEntityList = this.getResiGroupEntityList(applyCreateGroupFormDTO); - if (null != resiGroupEntityList && resiGroupEntityList.size() > 0) { - logger.info(String.format("创建小组异常:%s",EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg())); - throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode()); - } - - //2.内容检查 - scanGroupEditContent(applyCreateGroupFormDTO.getGroupName(), - applyCreateGroupFormDTO.getGroupIntroduction(), - applyCreateGroupFormDTO.getGroupHeadPhoto()); - - //3.1、查询当前申请人的身份,生成对应格式的消息内容 - UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyCreateGroupFormDTO.getApp(), - applyCreateGroupFormDTO.getUserId(), - applyCreateGroupFormDTO.getCustomerId(), - applyCreateGroupFormDTO.getGridId()); - if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) { - logger.info(String.format("创建小组异常:%s",EpmetErrorCode.CANNOT_CREATE_GROUP.getMsg())); - throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode()); - } - String roleName = ""; - if(NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())){ - roleName = ModuleConstant.PARTYMEMBER; - }else if(NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())){ - roleName = ModuleConstant.WAREMHEARTED_RESI; - } - - //3.2、插入一条待审核的组信息 - ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO); - insert(resiGroupEntity); - //4.获取居民注册信息 - UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO(); - resiParam.setCustomerId(applyCreateGroupFormDTO.getCustomerId()); - resiParam.setUserId(applyCreateGroupFormDTO.getUserId()); - Result resiResult = - epmetUserFeignClient.getUserResiInfoDTO(resiParam); - String userName = ""; - if(resiResult.success() && null != resiResult.getData()){ - userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) - + (StringUtils.isBlank(resiResult.getData().getName()) ? "" :resiResult.getData().getName()); - } - userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName; - String msg = String.format(UserMessageConstant.CREATION_OF_GROUP_MESSAGE_TEMPLATE,roleName,userName,applyCreateGroupFormDTO.getGroupName()); - //4.2、插入一条待审核的操作记录 - ResiGroupOperationDTO resiGroupOperation = new ResiGroupOperationDTO(); - resiGroupOperation.setResiGroupId(resiGroupEntity.getId()); - resiGroupOperation.setState(GroupStateConstant.GROUP_UNDER_AUDITTING); - resiGroupOperation.setOperateUserId(applyCreateGroupFormDTO.getUserId()); - resiGroupOperation.setMessageText(msg); - resiGroupOperation.setReadFlag(ModuleConstant.UNREAD); - resiGroupOperationService.save(resiGroupOperation); - //5、插入一群成员信息(群主) - ResiGroupMemberDTO resiGroupMemberDTO = new ResiGroupMemberDTO(); - resiGroupMemberDTO.setCustomerUserId(applyCreateGroupFormDTO.getUserId()); - resiGroupMemberDTO.setResiGroupId(resiGroupEntity.getId()); - resiGroupMemberDTO.setGroupLeaderFlag(LeaderFlagConstant.GROUP_LEADER); - resiGroupMemberDTO.setStatus(MemberStateConstant.UNDER_AUDITTING); - resiGroupMemberDTO.setEnterGroupType(EnterGroupTypeConstant.CREATED); - resiGroupMemberService.save(resiGroupMemberDTO); - //6、插入一条入群记录(群主的) - GroupMemeberOperationDTO groupMemeberOperationDTO = new GroupMemeberOperationDTO(); - groupMemeberOperationDTO.setCustomerUserId(applyCreateGroupFormDTO.getUserId()); - groupMemeberOperationDTO.setGroupId(resiGroupEntity.getId()); - groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.UNDER_AUDITTING); - groupMemeberOperationDTO.setOperateUserId(applyCreateGroupFormDTO.getUserId()); - groupMemeberOperationDTO.setEnterGroupType(EnterGroupTypeConstant.CREATED); - groupMemeberOperationService.save(groupMemeberOperationDTO); - //7、群初始统计记录 - /*UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyCreateGroupFormDTO.getApp(), - applyCreateGroupFormDTO.getUserId(), - applyCreateGroupFormDTO.getCustomerId(), - applyCreateGroupFormDTO.getGridId());*/ - ResiGroupStatisticalDTO resiGroupStatisticalDTO = new ResiGroupStatisticalDTO(); - resiGroupStatisticalDTO.setResiGroupId(resiGroupEntity.getId()); - resiGroupStatisticalDTO.setTotalMembers(NumConstant.ONE); - resiGroupStatisticalDTO.setTotalNormalMemebers(NumConstant.ONE); - resiGroupStatisticalDTO.setTotalTopics(NumConstant.ZERO); - resiGroupStatisticalDTO.setTotalIssues(NumConstant.ZERO); - if (NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())) { - resiGroupStatisticalDTO.setTotalPartyMembers(NumConstant.ONE); - } else { - resiGroupStatisticalDTO.setTotalPartyMembers(NumConstant.ZERO); - } - if (NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) { - resiGroupStatisticalDTO.setTotalEarnestMemebers(NumConstant.ONE); - } else { - resiGroupStatisticalDTO.setTotalEarnestMemebers(NumConstant.ZERO); - } - resiGroupStatisticalService.save(resiGroupStatisticalDTO); - //发送消息:创建小组 - sendMsgResi2Gov(UserMessageConstant.CREATE_GROUP_APPLYING_MSG_TITLE,msg,applyCreateGroupFormDTO.getGridId(),applyCreateGroupFormDTO.getUserId(),applyCreateGroupFormDTO.getCustomerId()); - //更新政府端:工作-基层治理-群组管理reddot - resiGroupRedis.addWorkGrassrootsGroupRedDotValue(applyCreateGroupFormDTO.getGridId()); - } - - - private void setWorkGrassrootsGroupRedDot(String gridId) { - try{ - - }catch(Exception e){ - e.printStackTrace(); - } - } - - /** - * @param applyCreateGroupFormDTO - * @return java.util.List - * @Author yinzuomei - * @Description 查询是否存在相同名字的群 - * @Date 2020/3/30 16:01 - **/ - private List getResiGroupEntityList(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { - List list = baseDao.checkResiGroupName(applyCreateGroupFormDTO); - return list; - } - - /** - * @param initApplyGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 加入小组界面初始化 - * @Date 2020/3/30 10:17 - **/ - @Override - public void initApplyGroup(InitApplyGroupFormDTO initApplyGroupFormDTO) { - UserResiInfoFormDTO resiUserInfoFormDTO = new UserResiInfoFormDTO(); - resiUserInfoFormDTO.setUserId(initApplyGroupFormDTO.getUserId()); - resiUserInfoFormDTO.setCustomerId(initApplyGroupFormDTO.getCustomerId()); - Result result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO); - if (!result.success() || null == result.getData() || StringUtils.isBlank(result.getData().getRegMobile())) { - logger.info(String.format("加入小组界面初始化查询成功,当前用户非注册居民,epmet-user-server接口入参%s,返回%s",JSON.toJSONString(resiUserInfoFormDTO),JSON.toJSONString(result))); - throw new RenException(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode()); - } - } - - private ResiGroupEntity structureResiGroupEntity(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { - ResiGroupEntity resiGroupEntity = new ResiGroupEntity(); - resiGroupEntity.setCustomerId(applyCreateGroupFormDTO.getCustomerId()); - resiGroupEntity.setGridId(applyCreateGroupFormDTO.getGridId()); - resiGroupEntity.setGroupHeadPhoto(applyCreateGroupFormDTO.getGroupHeadPhoto()); - resiGroupEntity.setGroupName(applyCreateGroupFormDTO.getGroupName()); - resiGroupEntity.setGroupIntroduction(applyCreateGroupFormDTO.getGroupIntroduction()); - resiGroupEntity.setCreatedBy(applyCreateGroupFormDTO.getUserId()); - resiGroupEntity.setState(GroupStateConstant.GROUP_UNDER_AUDITTING); - return resiGroupEntity; - } - - /** - * @param initApplyCreatedGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 校验用户是否是热心居民或者党员 - * @Date 2020/3/30 15:50 - **/ - @Override - public void initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO) { - UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(initApplyCreatedGroupFormDTO.getApp(), - initApplyCreatedGroupFormDTO.getUserId(), - initApplyCreatedGroupFormDTO.getCustomerId(), - initApplyCreatedGroupFormDTO.getGridId()); - if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) { - logger.info(String.format("创建小组界面初始化查询成功,用户角色列表%s",JSON.toJSONString(userRoleDTO))); - throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode()); - } - } - - - /** - * @param agreeApplyGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 审核群申请-测试用后面会放到政府端 - * @Date 2020/3/31 12:44 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public Result agreeApplyGroup(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) { - //1、更新组的状态 - ResiGroupDTO resiGroupDTO = this.get(agreeApplyGroupFormDTO.getGroupId()); - resiGroupDTO.setState(GroupStateConstant.GROUP_APPROVED); - this.update(resiGroupDTO); - //2、更新组的申请记录改为已通过 - ResiGroupOperationDTO resiGroupOperation = resiGroupOperationDao.selectGroupApplyRecord(agreeApplyGroupFormDTO.getGroupId()); - resiGroupOperation.setState(GroupStateConstant.GROUP_APPROVED); - resiGroupOperation.setOperateUserId(agreeApplyGroupFormDTO.getUserId()); - resiGroupOperationService.update(resiGroupOperation); - //3、将群主在群成员的状态改为已通过 - ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectLeaderMember(agreeApplyGroupFormDTO.getGroupId()); - resiGroupMemberDTO.setStatus(MemberStateConstant.APPROVED); - resiGroupMemberService.update(resiGroupMemberDTO); - //4、更新群主的出入群记录改为已通过 - GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationDao.selectLeaderRecord(agreeApplyGroupFormDTO.getGroupId()); - groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.APPROVED); - groupMemeberOperationDTO.setOperateUserId(agreeApplyGroupFormDTO.getUserId()); - groupMemeberOperationService.update(groupMemeberOperationDTO); - //5、给用户发送消息???待定 - //6、新增小组缓存信息、组员缓存信息 - Map param = new HashMap<>(); - param.put(ModuleConstant.RESI_GROUP_ID, resiGroupDTO.getId()); - param.put(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR); - List statisticalList = resiGroupStatisticalService.list(param); - if (null != statisticalList && statisticalList.size() > 0) { - ResiGroupInfoRedisDTO groupRedis = transferToGroupInfoRedis(resiGroupDTO, statisticalList.get(0)); - resiGroupRedis.set(groupRedis); - - ResiGroupMemberInfoRedisDTO memberRedis = new ResiGroupMemberInfoRedisDTO(); - memberRedis.setUserId(resiGroupMemberDTO.getCustomerUserId()); - memberRedis.setGroupLeaderFlag(ModuleConstant.GROUP_LEADER); - memberRedis.setEnterGroupType(resiGroupMemberDTO.getEnterGroupType()); - memberRedis.setMemberStatus(resiGroupMemberDTO.getStatus()); - memberRedis.setGroupId(resiGroupMemberDTO.getResiGroupId()); - - UserResiInfoFormDTO userParam = new UserResiInfoFormDTO(); - userParam.setUserId(resiGroupMemberDTO.getCustomerUserId()); - userParam.setCustomerId(resiGroupDTO.getCustomerId()); - Result userInfo = - epmetUserFeignClient.getUserResiInfoDTO(userParam); - if(userInfo.success() && null != userInfo.getData()){ - memberRedis.setUserShowName(userInfo.getData().getShowName()); - memberRedis.setUserHeadPhoto(userInfo.getData().getHeadPhoto()); - memberRedis.setMemberMobile(userInfo.getData().getRegMobile()); - }else{ - logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND); - } - resiGroupMemberRedis.set(memberRedis); - } else { - /* - 当没有查询到组统计信息时,需要自己封装统计信息 - @param UserRoleFormDTO::getApp - @param UserRoleFormDTO::getCustomerId - @param UserRoleFormDTO::getUserId - @param UserRoleFormDTO::getGridId - 查询用户身份信息[热心居民/党员] - epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); - */ - logger.warn(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO); - } - //发送消息 - UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO(); - userMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy()); - userMessageFormDTO.setTitle(UserMessageConstant.AUDITED_GROUP_APPLYING_TITLE); - userMessageFormDTO.setReadFlag(ModuleConstant.UNREAD); - userMessageFormDTO.setApp(ModuleConstant.APP_RESI); - userMessageFormDTO.setGridId(resiGroupDTO.getGridId()); - userMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId()); - userMessageFormDTO.setMessageContent(String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName())); - if(!epmetMessageFeignClient.saveUserMessage(userMessageFormDTO).success()){ - logger.warn(String.format(ModuleConstant.FAILED_SEND_MESSAGE,String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName()))); - } - //发送微信订阅消息 - WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); - wxSubscribeMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId()); - wxSubscribeMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy()); - wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI); - wxSubscribeMessageFormDTO.setGridId(resiGroupDTO.getGridId()); - wxSubscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_CREATE_GROUP_BEHAVIOR); - wxSubscribeMessageFormDTO.setMessageContent(String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName())); - wxSubscribeMessageFormDTO.setMessageTime(new Date()); - List msgList = new ArrayList<>(); - msgList.add(wxSubscribeMessageFormDTO); - epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); - //更新政府端:工作-基层治理-党员认证reddot - resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(resiGroupDTO.getGridId()); - return new Result(); - } - - /** - * @param disAgreeApplyGroupFormDTO - * @return com.epmet.commons.tools.utils.Result - * @Author yinzuomei - * @Description 审核(拒绝)群申请-测试用后面会放到政府端 - * @Date 2020/3/31 13:22 - **/ - @Override - @Transactional(rollbackFor = Exception.class) - public Result disagreeApplyGroup(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) { - //1、更新组的状态 - ResiGroupDTO resiGroupDTO = this.get(disAgreeApplyGroupFormDTO.getGroupId()); - resiGroupDTO.setState(GroupStateConstant.GROUP_REJECTED); - this.update(resiGroupDTO); - //2、更新组的申请记录改为已通过 - ResiGroupOperationDTO resiGroupOperation = resiGroupOperationDao.selectGroupApplyRecord(disAgreeApplyGroupFormDTO.getGroupId()); - resiGroupOperation.setState(GroupStateConstant.GROUP_REJECTED); - resiGroupOperation.setOperateUserId(disAgreeApplyGroupFormDTO.getUserId()); - resiGroupOperation.setOperateReason(disAgreeApplyGroupFormDTO.getRejectReason()); - resiGroupOperationService.update(resiGroupOperation); - //3、将群主在群成员的状态改为已通过 - ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectLeaderMember(disAgreeApplyGroupFormDTO.getGroupId()); - resiGroupMemberDTO.setStatus(MemberStateConstant.REJECTED); - resiGroupMemberService.update(resiGroupMemberDTO); - //4、更新群主的出入群记录改为已通过 - GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationDao.selectLeaderRecord(disAgreeApplyGroupFormDTO.getGroupId()); - groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.REJECTED); - groupMemeberOperationDTO.setOperateUserId(disAgreeApplyGroupFormDTO.getUserId()); - groupMemeberOperationService.update(groupMemeberOperationDTO); - //5、给用户发送消息???待定 - UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO(); - userMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy()); - userMessageFormDTO.setTitle(UserMessageConstant.AUDITED_GROUP_APPLYING_TITLE); - userMessageFormDTO.setReadFlag(ModuleConstant.UNREAD); - userMessageFormDTO.setApp(ModuleConstant.APP_RESI); - userMessageFormDTO.setGridId(resiGroupDTO.getGridId()); - userMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId()); - userMessageFormDTO.setMessageContent(String.format(UserMessageConstant.DISAGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName(),disAgreeApplyGroupFormDTO.getRejectReason())); - if(!epmetMessageFeignClient.saveUserMessage(userMessageFormDTO).success()){ - logger.warn(String.format(ModuleConstant.FAILED_SEND_MESSAGE,String.format(UserMessageConstant.DISAGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName(),disAgreeApplyGroupFormDTO.getRejectReason()))); - } - - //发送微信订阅消息 - WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); - wxSubscribeMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId()); - wxSubscribeMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy()); - wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI); - wxSubscribeMessageFormDTO.setGridId(resiGroupDTO.getGridId()); - wxSubscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_CREATE_GROUP_BEHAVIOR); - wxSubscribeMessageFormDTO.setMessageContent(String.format(UserMessageConstant.DISAGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName(),disAgreeApplyGroupFormDTO.getRejectReason())); - wxSubscribeMessageFormDTO.setMessageTime(new Date()); - List msgList = new ArrayList<>(); - msgList.add(wxSubscribeMessageFormDTO); - epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); - - //更新政府端:工作-基层治理-党员认证reddot - resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(resiGroupDTO.getGridId()); - return new Result(); - } - - /** - * @param app - * @param userId - * @param customerId - * @param gridId - * @return boolean - * @Author yinzuomei - * @Description 用户拥有党员或者热心居民标签返回true, 没有权限返回false - * @Date 2020/3/30 16:33 - **/ - @Override - public UserRoleDTO checkPartyMemberOrWarmHeated(String app, String userId, String customerId, String gridId) { - UserRoleDTO userRoleDTO = new UserRoleDTO(); - UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO(); - userRoleFormDTO.setApp(app); - userRoleFormDTO.setCustomerId(customerId); - userRoleFormDTO.setUserId(userId); - userRoleFormDTO.setGridId(gridId); - logger.info(String.format("用户同意邀请进组,获取当前用户所有角色入参:%s", JSON.toJSONString(userRoleFormDTO))); - Result> userRoleListResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); - if (!userRoleListResult.success()) { - logger.error("获取用户角色feign调用失败" + userRoleListResult.getMsg()); - return userRoleDTO; - } - List userRoleList = userRoleListResult.getData(); - if (null == userRoleList || userRoleList.size() == 0) { - return userRoleDTO; - } - for (UserRoleResultDTO userRoleResultDTO : userRoleList) { - if (EpmetRoleKeyConstant.PARTYMEMBER.equals(userRoleResultDTO.getRoleKey())) { - userRoleDTO.setPartymemberFlag(NumConstant.ONE_STR); - } - if (EpmetRoleKeyConstant.WARMHEARTED.equals(userRoleResultDTO.getRoleKey())) { - userRoleDTO.setWarmHeartedFlag(NumConstant.ONE_STR); - } - if (EpmetRoleKeyConstant.REGISTERED_RESI.equals(userRoleResultDTO.getRoleKey())) { - userRoleDTO.setRegisteredResiFlag(NumConstant.ONE_STR); - } - } - logger.info(String.format("用户同意邀请进组,获取当前用户所有角色返参:%s",JSON.toJSONString(userRoleDTO))); - return userRoleDTO; - } - - @Override - public Result> audited(GroupAuditedFromDTO formDTO) { - Result> result = new Result<>(); - //查询条件 - int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); - formDTO.setPageNo(pageIndex); - //获取审核列表 - List resultList = baseDao.selectAuditedGroupList(formDTO); - - return result.ok(resultList); - } - - @Override - public Result> getGroupsInGrid(GroupAuditedFromDTO formDTO) { - List resultList = new ArrayList<>(); - //查询条件 - int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); - formDTO.setPageNo(pageIndex); - List list = baseDao.selectGroupsByGridId(formDTO); - list.forEach(group -> { - GroupsInGridResultDTO groupsInGridResultDTO = new GroupsInGridResultDTO(); - if (MemberStateConstant.REJECTED.equals(group.getState())) { - groupsInGridResultDTO.setGroupId(group.getId()); - groupsInGridResultDTO.setGroupName(group.getGroupName()); - groupsInGridResultDTO.setGroupHeadPhoto(group.getGroupHeadPhoto()); - groupsInGridResultDTO.setStatus(group.getState()); - groupsInGridResultDTO.setTotalMember(NumConstant.ZERO); - groupsInGridResultDTO.setTotalPartyMember(NumConstant.ZERO); - resultList.add(groupsInGridResultDTO); - } else if(MemberStateConstant.APPROVED.equals(group.getState())) { - //缓存中获取组信息 - ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(group.getId()); - groupsInGridResultDTO.setGroupId(resiGroupInfoRedisDTO.getGroupId()); - groupsInGridResultDTO.setGroupName(resiGroupInfoRedisDTO.getGroupName()); - groupsInGridResultDTO.setGroupHeadPhoto(resiGroupInfoRedisDTO.getGroupHeadPhoto()); - groupsInGridResultDTO.setStatus(resiGroupInfoRedisDTO.getGroupState()); - groupsInGridResultDTO.setTotalMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalMembers()); - groupsInGridResultDTO.setTotalPartyMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalPartyMembers()); - resultList.add(groupsInGridResultDTO); - } - - - }); - - return new Result>().ok(resultList); - } - - @Override - public Result getGovGroupSummarize(GovGroupSummarizeFromDTO formDTO) { - GovGroupSummarizeResultDTO resultDTO = new GovGroupSummarizeResultDTO(); - //从缓存中获取组相关信息 - ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(formDTO.getGroupId()); - resultDTO.setGroupId(resiGroupInfoRedisDTO.getGroupId()); - resultDTO.setGroupHeadPhoto(resiGroupInfoRedisDTO.getGroupHeadPhoto()); - resultDTO.setGroupIntroduction(resiGroupInfoRedisDTO.getGroupIntroduction()); - resultDTO.setGroupName(resiGroupInfoRedisDTO.getGroupName()); - resultDTO.setTotalMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalMembers()); - resultDTO.setTotalTopics(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalTopics()); - - //获取组长信息 - Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(formDTO.getGroupId()); - if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { - resultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName()); - } else { - logger.info("组长注册信息查询失败" + groupLeaderUserInfo.getMsg()); - } - - return new Result().ok(resultDTO); - } - - /** - * @return ResiGroupInfoRedisDTO - * @Description 将ResiGroupDTO与ResiGroupStatisticalDTO转换成ResiGroupInfoRedisDTO - * @Param ResiGroupDTO - * @Param ResiGroupStatisticalDTO - * @Author wangc - * @Date 2020.04.13 16:36 - **/ - private ResiGroupInfoRedisDTO transferToGroupInfoRedis(ResiGroupDTO groupDTO, ResiGroupStatisticalDTO statisticalDTO) { - - ResiGroupStatisticalInfoRedisDTO statisticalObjct = - ConvertUtils.sourceToTarget(statisticalDTO, ResiGroupStatisticalInfoRedisDTO.class); - statisticalObjct.setTotalEarnestMembers(statisticalDTO.getTotalEarnestMemebers()); - statisticalObjct.setTotalNormalMembers(statisticalDTO.getTotalNormalMemebers()); - ResiGroupInfoRedisDTO targetObject = - ConvertUtils.sourceToTarget(groupDTO, ResiGroupInfoRedisDTO.class); - targetObject.setGroupId(groupDTO.getId()); - targetObject.setGroupState(groupDTO.getState()); - SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN); - if (null != groupDTO.getLatestTopicPublishDate()) { - targetObject.setLatestTopicPublishDate(format.format(groupDTO.getLatestTopicPublishDate())); - } - targetObject.setGroupStatisticalInfo(statisticalObjct); - return targetObject; - } - - /** - * @Description 查询待审核的小组 (不从缓存中取,这时还没有成功建组,缓存中没有组数据) - * @Param ApplyingGroupsFormDTO - * @return Result> - * @Author wangc - * @Date 2020.04.18 10:18 - **/ - @Override - public Result> getApplyingGroups(ApplyingGroupsFormDTO params){ - if(null == params.getPageNo()){ - throw new RenException(ModuleConstant.PAGE_INDEX_NOT_NULL); - } - params.setPageNo((params.getPageNo() - NumConstant.ONE) * params.getPageSize()); - return new Result>().ok(baseDao.getApplyingGroupsByCustIdAndGridId(params)); - } - - /** - * @Description 建组申请详情 已审核(更新已读未读标识)/未审核 - * @Param AgreeApplyGroupFormDTO - * @return Result - * @Author wangc - * @Date 2020.04.19 23:32 - **/ - @Override - public Result getApplyingGroupDetail(CommonGroupIdFromDTO groupId){ - //1.查询小组信息 - //注意,这里查询出的组申请详情中,无论是已审核还是未审核,都是将该组信息关联到初始化组时状态为[待审核、审核通过、拒绝]其中之一的组操作记录上,并读取审核的已读未读信息,上述三种状态在一个组的所有操作记录当中只可能存在一种,与之后的屏蔽、取消屏蔽、关闭无关,如果查出多条说明建组的逻辑有问题 - ApplyingGroupDetailResultDTO detail = baseDao.getApplyingGroupDetailByGroupId(groupId.getGroupId()); - //2.查询用户信息(TODO 先走数据库,之后改成走缓存) - List userId = new ArrayList<>(); - userId.add(detail.getLeaderId()); - Result> userInfoResult = - epmetUserFeignClient.getUserResiInfoList(new UserResiInfoListFormDTO(userId)); - if(userInfoResult.success() && null != userInfoResult.getData() && userInfoResult.getData().size() >= 1){ - //姓氏+先生/女士 注:在数据库中拼接成[街道+显示名称]默认格式,故要进行截取 - //detail.setGroupLeaderName(userInfoResult.getData().get(0).getShowName().split("-")[NumConstant.ONE]); - //姓氏+名称 - detail.setGroupLeaderName(userInfoResult.getData().get(0).getSurname() + userInfoResult.getData().get(0).getName()); - detail.setStreet(userInfoResult.getData().get(0).getStreet()); - StringBuffer buffer = new StringBuffer(detail.getStreet()); - buffer.append(StringUtils.isBlank(buffer) ? "" : "-"); - detail.setGroupLeaderName(buffer.append(detail.getGroupLeaderName()).toString()); - }else{ - logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND); - } - //3.未读改成已读 - if(StringUtils.equals(detail.getReadFlag(),ModuleConstant.UNREAD)){ - ResiGroupOperationEntity operationEntity = new ResiGroupOperationEntity(); - operationEntity.setId(detail.getOperationId()); - operationEntity.setReadFlag(ModuleConstant.READ); - operationEntity.setUpdatedBy(groupId.getUserId()); - resiGroupOperationDao.updateById(operationEntity); - } - //4.将组长用户Id隐藏 - detail.setLeaderId(null); - detail.setOperationId(null); - - return new Result().ok(ConvertUtils.sourceToTarget(detail, ApplyingGroupDetailResult2DTO.class)); - } - - @Override - public List queryGroupProcessingCount(List gridIdList) { - List list=new ArrayList<>(); - for(String gridId:gridIdList){ - GroupProcessingCountResultDTO resultDTO=new GroupProcessingCountResultDTO(); - resultDTO.setGridId(gridId); - Integer auditingCreateGroupCount=resiGroupRedis.getWorkGrassrootsGroupRedDotValue(gridId); - Integer auditingGroupEditRecordCount=groupEditSubmitRecordDao.selectCountAuditingRec(gridId); - Integer auditingCount=auditingCreateGroupCount+auditingGroupEditRecordCount; - if (null == auditingCount) { - resultDTO.setCount(0); - } else { - resultDTO.setCount(auditingCount); - } - list.add(resultDTO); - } - return list; - } - - - /** - * @Description 查询一个网格下面所有组Id - * @param gridId - * @return List - * @author wangc - * @date 2020.05.14 10:54 - **/ - @Override - public List getGroupIdByGridId(String gridId) { - if(StringUtils.isBlank(gridId)) return null; - return baseDao.getGroupIdByGridId(gridId); - } - - /** - * @Description 返回 Map> - * @param gridIdList - * @return Map> - * @author wangc - * @date 2020.05.22 09:27 - **/ - @Override - public Map> getGroupIdsByGridIdList(List gridIdList) { - if(null == gridIdList || gridIdList.size() < NumConstant.ONE) - return null; - Map> result = new HashMap<>(); - List groups = new ArrayList<>(); - Map> groupMap - = groups.stream().collect(Collectors.groupingBy(ResiGroupDTO::getGridId)); - groupMap.forEach((k,v)->{ - Set groupIds = - v.stream().map(ResiGroupDTO::getId).collect(Collectors.toSet()); - result.put(k,groupIds); - }); - - return result; - } - - /** - * @Description 校验用户是否加入小组 - * @param gridId - * @author zxc - */ - @Override - public CheckJoinTeamResultDTO checkjointeam(GridIdFormDTO gridId) { - CheckJoinTeamResultDTO checkJoinTeamResultDTO = new CheckJoinTeamResultDTO(); - Integer joinTeamCounts = baseDao.checkjointeam(gridId); - if (joinTeamCounts==NumConstant.ZERO){//未加入任何小组(当前网格下) - checkJoinTeamResultDTO.setVoteAuthorization(false); - }else { - checkJoinTeamResultDTO.setVoteAuthorization(true); - } - return checkJoinTeamResultDTO; - } - - /** - * @Description 获取应表决数 - * @param formDTO - * @author zxc - */ - @Override - public ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO) { - //网格下所有加过组的人数 - Integer shouldVoteCount = baseDao.shouldVoteCount(formDTO).getShouldVoteCount(); - Integer outGroupCount = baseDao.getOutGroupCount(formDTO); - ShouldVoteCountResultDTO result = new ShouldVoteCountResultDTO(); - result.setShouldVoteCount(shouldVoteCount-outGroupCount); - return result; - } - - @Override - public List recommendedList(RecommendedListFormDTO formDTO) { - - //显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以话题数由多到少排序 - List recommendGroupList = baseDao.selectListRecommendList(formDTO); - recommendGroupList.forEach(dto -> { - Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(dto.getGroupId()); - if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { - dto.setLeaderName(groupLeaderUserInfo.getData().getShowName()); - } else { - logger.warn("组长注册信息查询失败" + groupLeaderUserInfo.getMsg()); - } - }); - return recommendGroupList; - } - - /** - * @Description 给加入此网格的网格长发送消息 - * @param msg - * @param gridId - * @param userId - * @author wangc - * @date 2020.04.29 22:49 - **/ - private void sendMsgResi2Gov(String title,String msg,String gridId,String userId,String customerId){ - //1.查询加入当前网格下的人员 customer_staff_grid - CommonGridIdFormDTO commonGridIdFormDTO = new CommonGridIdFormDTO(); - commonGridIdFormDTO.setGridId(gridId); - commonGridIdFormDTO.setUserId(userId); - Result> gridstaffs = - govOrgFeignClient.getGridStaffs(commonGridIdFormDTO); - //2.查询这些人是否有管理员身份且未被禁用 staff_role customer_staff - if(gridstaffs.success() && null != gridstaffs.getData() && gridstaffs.getData().size() > 0){ - RolesUsersListFormDTO rolesUsersListFormDTO = new RolesUsersListFormDTO(); - rolesUsersListFormDTO.setCustomerId(customerId); - List roleKeys = new ArrayList(); - roleKeys.add(ModuleConstant.STAFF_ROLE_GRID_MANAGER); - rolesUsersListFormDTO.setRoleKeys(roleKeys); - rolesUsersListFormDTO.setUserIds(gridstaffs.getData()); - Result> staffRoles = - epmetUserFeignClient.specificRolesStaffs(rolesUsersListFormDTO); - //3.发送消息 - if(staffRoles.success() && null != staffRoles.getData() && staffRoles.getData().size() > 0){ - List msgList = new ArrayList<>(); - List subscribeList = new ArrayList<>(); - for(String to : staffRoles.getData()){ - //站内信 - UserMessageFormDTO msgObj = new UserMessageFormDTO(); - msgObj.setApp(ModuleConstant.APP_GOV); - msgObj.setCustomerId(customerId); - msgObj.setGridId(gridId); - msgObj.setMessageContent(msg); - msgObj.setReadFlag(ReadFlagConstant.UN_READ); - msgObj.setTitle(title); - msgObj.setUserId(to); - msgList.add(msgObj); - //微信订阅 - WxSubscribeMessageFormDTO subscribeDTO = new WxSubscribeMessageFormDTO(); - subscribeDTO.setClientType(ModuleConstant.APP_GOV); - subscribeDTO.setGridId(gridId); - subscribeDTO.setCustomerId(customerId); - subscribeDTO.setUserId(to); - subscribeDTO.setBehaviorType(UserMessageConstant.WX_CREATE_GROUP_BEHAVIOR); - subscribeDTO.setMessageContent(msg); - subscribeDTO.setMessageTime(new Date()); - subscribeList.add(subscribeDTO); - } - if (subscribeList.size() > NumConstant.ZERO){ - epmetMessageOpenFeignClient.sendWxSubscribeMessage(subscribeList); - } - Result result = epmetMessageFeignClient.saveUserMessageList(msgList); - if(result.success()){ - return; - } - } - } - logger.warn(String.format(ModuleConstant.FAILED_SEND_MESSAGE,msg)); - - } - - @Override - public GroupDetailResultDTO getGroupDetail(String groupId) { - GroupDetailResultDTO groupDetail = new GroupDetailResultDTO(); - - // 1.拼装组基本信息 - GroupEditSubmitRecordEntity ler = groupEditSubmitRecordDao.getLatestEditSubmitRecord(groupId); - - if (ler != null) { - groupDetail.setAuditStatus(ler.getAuditStatus()); - groupDetail.setRemark(ler.getRemark()); - } - - if (ler != null && GroupAuditStatusConstant.UNDER_AUDITING.equals(ler.getAuditStatus())) { - // 审核中,显示待审核内容 - groupDetail.setGroupHeadPhoto(ler.getGroupHeadPhoto()); - groupDetail.setGroupName(ler.getGroupName()); - groupDetail.setGroupIntroduction(ler.getGroupIntroduction()); - } else { - // 不在审核中,直接显示组信息 - ResiGroupEntity resiGroupEntity = resiGroupDao.selectById(groupId); - if (resiGroupEntity == null) { - return null; - } - - groupDetail.setGroupHeadPhoto(resiGroupEntity.getGroupHeadPhoto()); - groupDetail.setGroupName(resiGroupEntity.getGroupName()); - groupDetail.setGroupIntroduction(resiGroupEntity.getGroupIntroduction()); - } - - // 2.编辑次数及其限制 - groupDetail.setEditNumLimit(GroupLimitConstant.EDIT_NUM_LIMIT_MONTH); - Date now = new Date(); - int usedEditNum = groupEditSubmitRecordDao.countEditNum(groupId, DateUtils.getMonthStart(now), DateUtils.getMonthEnd(now)); - groupDetail.setAvaliableEditNum(GroupLimitConstant.EDIT_NUM_LIMIT_MONTH - usedEditNum); - - // 审核状态 - // 是否可编辑 - boolean editable = true; - - if (GroupLimitConstant.EDIT_NUM_LIMIT_MONTH <= usedEditNum) { - // 达到最大编辑次数了 - editable = false; - } - - if (ler != null && GroupAuditStatusConstant.UNDER_AUDITING.equals(ler.getAuditStatus())) { - // 提交了,还没审核完 - editable = false; - } - - groupDetail.setEditable(editable); - return groupDetail; - } - - @Override - public void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction, String editUserId) { - // 1.判断小组是否存在,判断是否已经在"待审核"状态 - ResiGroupEntity group = resiGroupDao.selectById(groupId); - if (group == null) { - throw new RenException(EpmetErrorCode.GROUP_NOT_EXISTS.getCode(), EpmetErrorCode.GROUP_NOT_EXISTS.getMsg()); - } - - // 判断是否是组长 - ResiGroupMemberDTO groupLeader = resiGroupMemberDao.selectLeaderMember(groupId); - if (groupLeader == null || !groupLeader.getCustomerUserId().equals(editUserId)) { - String msg = "只有该组的组长才可以编辑组信息"; - throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), msg, msg, RenException.MessageMode.CODE_INTERNAL_EXTERNAL); - } - - // 2.判断是否可以提交编辑 - GroupEditSubmitRecordEntity lre = groupEditSubmitRecordDao.getLatestEditSubmitRecord(groupId); - if (lre != null && GroupAuditStatusConstant.UNDER_AUDITING.equals(lre.getAuditStatus())) { - // 在待审核状态,不允许再次提交编辑 - throw new RenException(EpmetErrorCode.GROUP_IN_AUDITING.getCode(), EpmetErrorCode.GROUP_IN_AUDITING.getMsg()); - } - - if (resiGroupDao.countExistsGroupNameBeforeEdit(groupId, group.getGridId(), groupName) > 0) { - // 已存在组名,拒绝提交 - throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode(), EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg()); - } - - Date now = new Date(); - int usedEditNum = groupEditSubmitRecordDao.countEditNum(groupId, DateUtils.getMonthStart(now), DateUtils.getMonthEnd(now)); - if (GroupLimitConstant.EDIT_NUM_LIMIT_MONTH <= usedEditNum) { - // 达到最大编辑次数了 - throw new RenException(EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getCode(), EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getMsg()); - } - - // 3.内容检查 - scanGroupEditContent(groupName, groupIntroduction, groupHeadPhoto); - - String app = loginUserUtil.getLoginUserApp(); - String userId = loginUserUtil.getLoginUserId(); - String messageText = generateGroupEditMessageText(app, userId, group.getCustomerId(), group.getGridId(), groupName); - - // 4.创建编辑提交记录 - GroupEditSubmitRecordEntity editRecord = new GroupEditSubmitRecordEntity(); - editRecord.setAuditStatus(GroupAuditStatusConstant.UNDER_AUDITING); - editRecord.setCustomerId(group.getCustomerId()); - editRecord.setGridId(group.getGridId()); - editRecord.setGroupHeadPhoto(groupHeadPhoto); - editRecord.setGroupIntroduction(groupIntroduction); - editRecord.setGroupId(groupId); - editRecord.setGroupName(groupName); - editRecord.setReadFlag(ReadFlagConstant.UN_READ); - editRecord.setMessageText(messageText); - - if (groupEditSubmitRecordDao.insert(editRecord) == 0) { - throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), EpmetErrorCode.GROUP_EDIT_ERROR.getMsg()); - } - - resiGroupRedis.addWorkGrassrootsGroupRedDotValue(group.getGridId()); - - } - - /** - * 生成组信息编辑简介文本:xxx申请编辑组信息,请审核 - * @param app - * @param userId - * @param customerId - * @param gridId - * @param groupName - * @return - */ - private String generateGroupEditMessageText(String app, String userId, String customerId, String gridId, String groupName) { - List resiRoles = getResiRoles(app, customerId, userId, gridId); - boolean isPartymember = false; - boolean isWarmhearted = false; - for (UserRoleResultDTO role : resiRoles) { - if (EpmetRoleKeyConstant.WARMHEARTED.equals(role.getRoleKey())) { - isWarmhearted = true; - } - if (EpmetRoleKeyConstant.PARTYMEMBER.equals(role.getRoleKey())) { - isPartymember = true; - } - } - if (!isWarmhearted && isPartymember) { - throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode(), "只有党员和热心居民才能创建和编辑小组"); - } - String roleName = ""; - if (isPartymember) { - roleName = ModuleConstant.PARTYMEMBER; - } else if (isWarmhearted) { - roleName = ModuleConstant.WAREMHEARTED_RESI; - } - - //3.获取居民注册信息 - UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO(); - resiParam.setCustomerId(customerId); - resiParam.setUserId(userId); - Result resiResult = - epmetUserFeignClient.getUserResiInfoDTO(resiParam); - String userName = ""; - if (resiResult.success() && null != resiResult.getData()) { - userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) - + (StringUtils.isBlank(resiResult.getData().getName()) ? "" : resiResult.getData().getName()); - } - userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName; - return String.format(UserMessageConstant.EDIT_OF_GROUP_MESSAGE_TEMPLATE, roleName, userName, groupName); - } - - /** - * 查询居民的角色列表 - * @param app - * @param customerId - * @param userId - * @param gridId - * @return - */ - private List getResiRoles(String app, String customerId, String userId, String gridId) { - UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO(); - userRoleFormDTO.setApp(app); - userRoleFormDTO.setCustomerId(customerId); - userRoleFormDTO.setUserId(userId); - userRoleFormDTO.setGridId(gridId); - Result> rolesResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); - - if (! rolesResult.success()) { - logger.error("修改组信息:查询居民角色失败,详情:{}", rolesResult.getInternalMsg()); - throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), "查询居民角色失败"); - } else { - List roles = rolesResult.getData(); - if (CollectionUtils.isEmpty(roles)) { - roles = new ArrayList<>(); - } - return roles; - } - } - - /** - * 内容检查 - * @param groupName - * @param groupIntroduction - * @param groupHeadPhoto - */ - private void scanGroupEditContent(String groupName, String groupIntroduction, String groupHeadPhoto) { - // 文本内容审核 - TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); - TextTaskDTO taskDTO = new TextTaskDTO(); - String content = groupName.concat("-").concat(groupIntroduction); - taskDTO.setContent(content); - taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); - textScanParamDTO.getTasks().add(taskDTO); - Result textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); - if (!textSyncScanResult.success()) { - logger.error("调用内容审核服务审核文本发生错误:{}", textSyncScanResult.getInternalMsg()); - throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); - } else { - if (!textSyncScanResult.getData().isAllPass()) { - throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode(), EpmetErrorCode.TEXT_SCAN_FAILED.getMsg()); - } - } - - // 图片内容审核 - ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); - ImgTaskDTO task = new ImgTaskDTO(); - task.setDataId(UUID.randomUUID().toString().replace("-", "")); - task.setUrl(groupHeadPhoto); - imgScanParamDTO.getTasks().add(task); - - Result imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO); - if (!imgScanResult.success()){ - logger.error("调用内容审核服务审核图片发生错误:{}", textSyncScanResult.getInternalMsg()); - throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); - } else { - if (!textSyncScanResult.getData().isAllPass()) { - throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode(), EpmetErrorCode.IMG_SCAN_FAILED.getMsg()); - } - } - } - - /** - * @Description 工作端 查询组变更待审核列表 - * @param param - * @return - * @author wangc - * @date 2020.11.03 10:19 - */ - @Override - public List getEditAuditingList(CommonGridAndPageFormDTO param) { - return Optional.ofNullable(PageHelper.startPage(null == param.getPageNo() ? NumConstant.ONE : param.getPageNo() , null == param.getPageSize() ? NumConstant.TWELVE : param.getPageSize()) - .doSelectPage(() -> { - groupEditSubmitRecordDao.selectGroupEditApplyList(param.getGridId());}).getResult()).orElse(new LinkedList<>()) - .stream().map(o -> { return (ApplyingGroupResultDTO)o; }).collect(Collectors.toList()); - } - - /** - * @Description 查询小组修改信息的详情内容 不加事务! - * @param param - * @return com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO - * @author wangc - * @date 2020.11.03 14:10 - */ - @Override - public GroupEditionDetailResultDTO getEditAuditingDetail(GovGroupSummarizeFromDTO param) { - GroupEditSubmitRecordEntity edit = groupEditSubmitRecordDao.selectEditDetail(param.getGroupId(),null); - if(null == edit) { - logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.getEditAuditingDetail,未找到小组变更信息记录,传参:{}",JSON.toJSONString(param)); - return null;} - //取消未读状态 - GroupEditSubmitRecordEntity _update = new GroupEditSubmitRecordEntity(); - _update.setId(edit.getId());_update.setReadFlag(ModuleConstant.READ); - groupEditSubmitRecordDao.updateById(_update); - GroupEditionDetailResultDTO result = ConvertUtils.sourceToTarget(edit, GroupEditionDetailResultDTO.class); - result.setGroupLeaderName(resiGroupRedis.getFullName(edit.getCreatedBy())); - return result; - } - - /** - * @Description 工作人员提交审核 - * @param param - * @return void - * @author wangc - * @date 2020.11.03 16:02 - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void auditEdit(GroupEditionAuditFormDTO param) { - if(StringUtils.equals(param.getAuditResult(),ModuleConstant.AUDITING_OPERATION_REJECT) && StringUtils.isBlank(param.getRemark())){ - throw new RenException("拒绝理由不能为空"); - } - GroupEditSubmitRecordEntity edit = groupEditSubmitRecordDao.selectEditDetail(param.getGroupId(),null); - if(null == edit){ - logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.auditEdit,找不到待审核的组更新记录,传参:{}",JSON.toJSONString(param)); - throw new RenException("找不到待审核的组更新记录"); - } - - int affectedRows = groupEditSubmitRecordDao.updateAuditResult(param.getGroupId(),param.getStaffId(),param.getAuditResult(),param.getRemark()); - if(affectedRows <= NumConstant.ZERO){ - logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.auditEdit,更新组编辑记录时受影响行数小于1,传参:{}",JSON.toJSONString(param)); - throw new RenException("更新组编辑记录时受影响行数小于1"); - } - if(!StringUtils.equals(param.getAuditResult(),ModuleConstant.AUDITING_OPERATION_REJECT)){ - //同意 - ResiGroupEntity _update = ConvertUtils.sourceToTarget(edit,ResiGroupEntity.class); - _update.setId(param.getGroupId()); - baseDao.updateById(_update); - } - resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(edit.getGridId()); - resiGroupRedis.delGroup(param.getGroupId()); - } - -} From d95d31f073e3cde9f6d4cc5e6203d43a7cf37748 Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 20 Nov 2020 14:51:06 +0800 Subject: [PATCH 77/79] =?UTF-8?q?=E6=81=A2=E5=A4=8Dx=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ResiGroupServiceImpl.java | 1358 +++++++++++++++++ 1 file changed, 1358 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java new file mode 100644 index 0000000000..e5507ab766 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java @@ -0,0 +1,1358 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * 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. + *

+ * 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. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.service.impl; + +import com.alibaba.fastjson.JSON; +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.AppClientConstant; +import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.scan.param.ImgScanParamDTO; +import com.epmet.commons.tools.scan.param.ImgTaskDTO; +import com.epmet.commons.tools.scan.param.TextScanParamDTO; +import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.user.LoginUserUtil; +import com.epmet.commons.tools.utils.*; +import com.epmet.constant.ReadFlagConstant; +import com.epmet.dto.form.*; +import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.dto.result.UserRoleResultDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.modules.constant.UserMessageConstant; +import com.epmet.modules.feign.EpmetMessageFeignClient; +import com.epmet.modules.feign.EpmetUserFeignClient; +import com.epmet.modules.feign.GovOrgFeignClient; +import com.epmet.modules.group.dao.GroupEditSubmitRecordDao; +import com.epmet.modules.group.dao.ResiGroupDao; +import com.epmet.modules.group.dao.ResiGroupOperationDao; +import com.epmet.modules.group.entity.GroupEditSubmitRecordEntity; +import com.epmet.modules.group.entity.ResiGroupEntity; +import com.epmet.modules.group.entity.ResiGroupOperationEntity; +import com.epmet.modules.group.redis.ResiGroupRedis; +import com.epmet.modules.group.service.ResiGroupOperationService; +import com.epmet.modules.group.service.ResiGroupService; +import com.epmet.modules.group.service.ResiGroupStatisticalService; +import com.epmet.modules.member.dao.GroupMemeberOperationDao; +import com.epmet.modules.member.dao.ResiGroupMemberDao; +import com.epmet.modules.member.redis.ResiGroupMemberRedis; +import com.epmet.modules.member.service.GroupMemeberOperationService; +import com.epmet.modules.member.service.ResiGroupMemberService; +import com.epmet.modules.utils.ModuleConstant; +import com.epmet.resi.group.constant.*; +import com.epmet.resi.group.dto.UserRoleDTO; +import com.epmet.resi.group.dto.group.*; +import com.epmet.resi.group.dto.group.form.GridIdFormDTO; +import com.epmet.resi.group.dto.group.form.ShouldVoteCountFormDTO; +import com.epmet.resi.group.dto.group.form.*; +import com.epmet.resi.group.dto.group.result.*; +import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; +import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; +import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; +import com.github.pagehelper.PageHelper; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; + +/** + * 群组信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-28 + */ +@Service +public class ResiGroupServiceImpl extends BaseServiceImpl implements ResiGroupService { + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private ResiGroupMemberService resiGroupMemberService; + + @Autowired + private ResiGroupOperationService resiGroupOperationService; + + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + + @Autowired + private GroupMemeberOperationService groupMemeberOperationService; + + @Autowired + private ResiGroupStatisticalService resiGroupStatisticalService; + + @Autowired + private ResiGroupOperationDao resiGroupOperationDao; + + @Autowired + private ResiGroupMemberDao resiGroupMemberDao; + + @Autowired + private GroupMemeberOperationDao groupMemeberOperationDao; + + @Autowired + private ResiGroupRedis resiGroupRedis; + + @Autowired + private ResiGroupMemberRedis resiGroupMemberRedis; + + @Autowired + private GovOrgFeignClient govOrgFeignClient; + + @Autowired + private EpmetMessageFeignClient epmetMessageFeignClient; + + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; + + @Autowired + private ResiGroupDao resiGroupDao; + + @Autowired + private GroupEditSubmitRecordDao groupEditSubmitRecordDao; + + @Autowired + private LoginUserUtil loginUserUtil; + + @Autowired + private CpUserDetailRedis sysUserInfoRedis; + + @Value("${openapi.scan.server.url}") + private String scanApiUrl; + + @Value("${openapi.scan.method.textSyncScan}") + private String textSyncScanMethod; + + @Value("${openapi.scan.method.imgSyncScan}") + private String imgSyncScanMethod; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ResiGroupDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ResiGroupDTO.class); + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public ResiGroupDTO get(String id) { + ResiGroupEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ResiGroupDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ResiGroupDTO dto) { + ResiGroupEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ResiGroupDTO dto) { + ResiGroupEntity entity = ConvertUtils.sourceToTarget(dto, ResiGroupEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param myGroupFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 我的小组查询(包含我创建的小组+我加入的小组),以各组的最新话题时间有近到远排序) + * @Date 2020/3/28 20:37 + **/ + @Override + public List getMyGroup(MyGroupFormDTO myGroupFormDTO) { + int pageIndex = (myGroupFormDTO.getPageNo() - NumConstant.ONE) * myGroupFormDTO.getPageSize(); + myGroupFormDTO.setPageNo(pageIndex); + List myGroupList = baseDao.selectListMyGroup(myGroupFormDTO); + if (null == myGroupList || myGroupList.size() < 1) { + logger.info(String.format("我的小组查询为空,selectListMyGroup入参%s", JSON.toJSONString(myGroupFormDTO))); + return new ArrayList<>(); + } + return myGroupList; + } + + /** + * @param recommendGroupFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 推荐组列表查询 + * @Date 2020/3/28 19:53 + **/ + @Override + public List getRecommendGroup(RecommendGroupFormDTO recommendGroupFormDTO) { + int pageIndex = (recommendGroupFormDTO.getPageNo() - NumConstant.ONE) * recommendGroupFormDTO.getPageSize(); + recommendGroupFormDTO.setPageNo(pageIndex); + //显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以最新话题的时间有近到远排序 + List recommendGroupList = baseDao.selectListRecommendGroup(recommendGroupFormDTO); + if (null == recommendGroupList || recommendGroupList.size() == 0) { + logger.info(String.format("推荐小组查询为空,selectListRecommendGroup入参%s", JSON.toJSONString(recommendGroupFormDTO))); + return new ArrayList<>(); + } + for (RecommendGroupResultDTO recommendGroupResultDTO : recommendGroupList) { + GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationService.selectLatestRecord(recommendGroupResultDTO.getGroupId(), + recommendGroupFormDTO.getUserId()); + if (null != groupMemeberOperationDTO) { + recommendGroupResultDTO.setStatus(groupMemeberOperationDTO.getOperateStatus()); + } + } + return recommendGroupList; + } + + /** + * @param createdFormDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 我创建的小组 + * @Date 2020/3/28 22:01 + **/ + @Override + public List getCreated(CreatedFormDTO createdFormDTO) { + int pageIndex = (createdFormDTO.getPageNo() - NumConstant.ONE) * createdFormDTO.getPageSize(); + createdFormDTO.setPageNo(pageIndex); + List createdResultDTOList = baseDao.selectListMyCreated(createdFormDTO); + if (null == createdResultDTOList || createdResultDTOList.size() == 0) { + logger.info(String.format("我创建的小组查询为空,selectListMyCreated入参%s", JSON.toJSONString(createdFormDTO))); + return new ArrayList<>(); + } + return createdResultDTOList; + } + + /** + * @param modifyGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 修改组信息 + * @Date 2020/3/28 22:27 + **/ + @Transactional(rollbackFor = Exception.class) + @Override + public void modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO) { + //校验是否是群主 + ResiGroupMemberDTO groupMemberDTO = resiGroupMemberService.getResiGroupMember(modifyGroupFormDTO.getGroupId(), modifyGroupFormDTO.getUserId()); + if (null == groupMemberDTO || ModuleConstant.GROUP_MEMBER.equals(groupMemberDTO.getGroupLeaderFlag())) { + logger.info(String.format("修改小组信息异常:%s",EpmetErrorCode.GROUP_LEADER_CAN_EDIT_GROUP_INFO.getMsg())); + throw new RenException(EpmetErrorCode.GROUP_LEADER_CAN_EDIT_GROUP_INFO.getCode()); + } + if (StringUtils.isBlank(modifyGroupFormDTO.getGroupHeadPhoto()) + && StringUtils.isBlank(modifyGroupFormDTO.getGroupName()) + && StringUtils.isBlank(modifyGroupFormDTO.getGroupIntroduction())) { + logger.info("小组信息未发生变更,无需更改"); + return; + } + int updatedRows = baseDao.modifyGroupInfo(modifyGroupFormDTO); + if (1 == updatedRows) { + logger.info("修改小组信息成功"); + }else{ + logger.error(String.format("修改小组信息失败,updatedRows=%s",updatedRows)); + } + } + + /** + * @param groupSummarizeFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查看小组管理界面信息 + * @Date 2020/3/29 17:52 + **/ + @Override + public GroupSummarizeResultDTO getGroupSummarize(GroupSummarizeFormDTO groupSummarizeFormDTO) { + GroupSummarizeResultDTO groupSummarizeResultDTO = baseDao.selectGroupSummarize(groupSummarizeFormDTO); + if (null == groupSummarizeResultDTO) { + logger.warn(String.format("查看小组管理界面信息异常,userId=%s,groupId=%s",groupSummarizeFormDTO.getUserId(),groupSummarizeFormDTO.getGroupId())); + return new GroupSummarizeResultDTO(); + } + //获取组长信息 + Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(groupSummarizeFormDTO.getGroupId()); + if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { + groupSummarizeResultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName()); + } else { + logger.warn(String.format("查看小组管理界面信息错误,获取组长注册信息失败,接口返参%s",JSON.toJSONString(groupLeaderUserInfo))); + groupSummarizeResultDTO.setLeaderName(""); + } + return groupSummarizeResultDTO; + } + + /** + * @param groupId + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 根据组id查询组长信息 + * @Date 2020/3/30 15:07 + **/ + private Result getGroupLeaderUserInfo(String groupId) { + //群主名称需要调用feign查询 + ResiGroupEntity resiGroupEntity = baseDao.selectById(groupId); + if (null == resiGroupEntity) { + return new Result<>(); + } + ResiGroupMemberDTO groupMemberDTO = baseDao.selectGroupLeader(groupId); + if (null == groupMemberDTO) { + return new Result<>(); + } + UserResiInfoFormDTO resiUserInfoFormDTO = new UserResiInfoFormDTO(); + resiUserInfoFormDTO.setCustomerId(resiGroupEntity.getCustomerId()); + resiUserInfoFormDTO.setUserId(groupMemberDTO.getCustomerUserId()); + return epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO); + } + + /** + * @param applyCreateGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 创建小组 + * @Date 2020/3/29 19:26 + **/ + @Transactional(rollbackFor = Exception.class) + @Override + public void applyCreateGroup(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { + //1、校验是否同名 + List resiGroupEntityList = this.getResiGroupEntityList(applyCreateGroupFormDTO); + if (null != resiGroupEntityList && resiGroupEntityList.size() > 0) { + logger.info(String.format("创建小组异常:%s",EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg())); + throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode()); + } + + //2.内容检查 + scanGroupEditContent(applyCreateGroupFormDTO.getGroupName(), + applyCreateGroupFormDTO.getGroupIntroduction(), + applyCreateGroupFormDTO.getGroupHeadPhoto()); + + //3.1、查询当前申请人的身份,生成对应格式的消息内容 + UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyCreateGroupFormDTO.getApp(), + applyCreateGroupFormDTO.getUserId(), + applyCreateGroupFormDTO.getCustomerId(), + applyCreateGroupFormDTO.getGridId()); + if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) { + logger.info(String.format("创建小组异常:%s",EpmetErrorCode.CANNOT_CREATE_GROUP.getMsg())); + throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode()); + } + String roleName = ""; + if(NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())){ + roleName = ModuleConstant.PARTYMEMBER; + }else if(NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())){ + roleName = ModuleConstant.WAREMHEARTED_RESI; + } + + //3.2、插入一条待审核的组信息 + ResiGroupEntity resiGroupEntity = this.structureResiGroupEntity(applyCreateGroupFormDTO); + insert(resiGroupEntity); + //4.获取居民注册信息 + UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO(); + resiParam.setCustomerId(applyCreateGroupFormDTO.getCustomerId()); + resiParam.setUserId(applyCreateGroupFormDTO.getUserId()); + Result resiResult = + epmetUserFeignClient.getUserResiInfoDTO(resiParam); + String userName = ""; + if(resiResult.success() && null != resiResult.getData()){ + userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) + + (StringUtils.isBlank(resiResult.getData().getName()) ? "" :resiResult.getData().getName()); + } + userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName; + String msg = String.format(UserMessageConstant.CREATION_OF_GROUP_MESSAGE_TEMPLATE,roleName,userName,applyCreateGroupFormDTO.getGroupName()); + //4.2、插入一条待审核的操作记录 + ResiGroupOperationDTO resiGroupOperation = new ResiGroupOperationDTO(); + resiGroupOperation.setResiGroupId(resiGroupEntity.getId()); + resiGroupOperation.setState(GroupStateConstant.GROUP_UNDER_AUDITTING); + resiGroupOperation.setOperateUserId(applyCreateGroupFormDTO.getUserId()); + resiGroupOperation.setMessageText(msg); + resiGroupOperation.setReadFlag(ModuleConstant.UNREAD); + resiGroupOperationService.save(resiGroupOperation); + //5、插入一群成员信息(群主) + ResiGroupMemberDTO resiGroupMemberDTO = new ResiGroupMemberDTO(); + resiGroupMemberDTO.setCustomerUserId(applyCreateGroupFormDTO.getUserId()); + resiGroupMemberDTO.setResiGroupId(resiGroupEntity.getId()); + resiGroupMemberDTO.setGroupLeaderFlag(LeaderFlagConstant.GROUP_LEADER); + resiGroupMemberDTO.setStatus(MemberStateConstant.UNDER_AUDITTING); + resiGroupMemberDTO.setEnterGroupType(EnterGroupTypeConstant.CREATED); + resiGroupMemberService.save(resiGroupMemberDTO); + //6、插入一条入群记录(群主的) + GroupMemeberOperationDTO groupMemeberOperationDTO = new GroupMemeberOperationDTO(); + groupMemeberOperationDTO.setCustomerUserId(applyCreateGroupFormDTO.getUserId()); + groupMemeberOperationDTO.setGroupId(resiGroupEntity.getId()); + groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.UNDER_AUDITTING); + groupMemeberOperationDTO.setOperateUserId(applyCreateGroupFormDTO.getUserId()); + groupMemeberOperationDTO.setEnterGroupType(EnterGroupTypeConstant.CREATED); + groupMemeberOperationService.save(groupMemeberOperationDTO); + //7、群初始统计记录 + /*UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(applyCreateGroupFormDTO.getApp(), + applyCreateGroupFormDTO.getUserId(), + applyCreateGroupFormDTO.getCustomerId(), + applyCreateGroupFormDTO.getGridId());*/ + ResiGroupStatisticalDTO resiGroupStatisticalDTO = new ResiGroupStatisticalDTO(); + resiGroupStatisticalDTO.setResiGroupId(resiGroupEntity.getId()); + resiGroupStatisticalDTO.setTotalMembers(NumConstant.ONE); + resiGroupStatisticalDTO.setTotalNormalMemebers(NumConstant.ONE); + resiGroupStatisticalDTO.setTotalTopics(NumConstant.ZERO); + resiGroupStatisticalDTO.setTotalIssues(NumConstant.ZERO); + if (NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag())) { + resiGroupStatisticalDTO.setTotalPartyMembers(NumConstant.ONE); + } else { + resiGroupStatisticalDTO.setTotalPartyMembers(NumConstant.ZERO); + } + if (NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) { + resiGroupStatisticalDTO.setTotalEarnestMemebers(NumConstant.ONE); + } else { + resiGroupStatisticalDTO.setTotalEarnestMemebers(NumConstant.ZERO); + } + resiGroupStatisticalService.save(resiGroupStatisticalDTO); + //发送消息:创建小组 + sendMsgResi2Gov(UserMessageConstant.CREATE_GROUP_APPLYING_MSG_TITLE,msg,applyCreateGroupFormDTO.getGridId(),applyCreateGroupFormDTO.getUserId(),applyCreateGroupFormDTO.getCustomerId()); + //更新政府端:工作-基层治理-群组管理reddot + resiGroupRedis.addWorkGrassrootsGroupRedDotValue(applyCreateGroupFormDTO.getGridId()); + } + + + private void setWorkGrassrootsGroupRedDot(String gridId) { + try{ + + }catch(Exception e){ + e.printStackTrace(); + } + } + + /** + * @param applyCreateGroupFormDTO + * @return java.util.List + * @Author yinzuomei + * @Description 查询是否存在相同名字的群 + * @Date 2020/3/30 16:01 + **/ + private List getResiGroupEntityList(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { + List list = baseDao.checkResiGroupName(applyCreateGroupFormDTO); + return list; + } + + /** + * @param initApplyGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 加入小组界面初始化 + * @Date 2020/3/30 10:17 + **/ + @Override + public void initApplyGroup(InitApplyGroupFormDTO initApplyGroupFormDTO) { + UserResiInfoFormDTO resiUserInfoFormDTO = new UserResiInfoFormDTO(); + resiUserInfoFormDTO.setUserId(initApplyGroupFormDTO.getUserId()); + resiUserInfoFormDTO.setCustomerId(initApplyGroupFormDTO.getCustomerId()); + Result result = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO); + if (!result.success() || null == result.getData() || StringUtils.isBlank(result.getData().getRegMobile())) { + logger.info(String.format("加入小组界面初始化查询成功,当前用户非注册居民,epmet-user-server接口入参%s,返回%s",JSON.toJSONString(resiUserInfoFormDTO),JSON.toJSONString(result))); + throw new RenException(EpmetErrorCode.CANNOT_JOIN_GROUP.getCode()); + } + } + + private ResiGroupEntity structureResiGroupEntity(ApplyCreateGroupFormDTO applyCreateGroupFormDTO) { + ResiGroupEntity resiGroupEntity = new ResiGroupEntity(); + resiGroupEntity.setCustomerId(applyCreateGroupFormDTO.getCustomerId()); + resiGroupEntity.setGridId(applyCreateGroupFormDTO.getGridId()); + resiGroupEntity.setGroupHeadPhoto(applyCreateGroupFormDTO.getGroupHeadPhoto()); + resiGroupEntity.setGroupName(applyCreateGroupFormDTO.getGroupName()); + resiGroupEntity.setGroupIntroduction(applyCreateGroupFormDTO.getGroupIntroduction()); + resiGroupEntity.setCreatedBy(applyCreateGroupFormDTO.getUserId()); + resiGroupEntity.setState(GroupStateConstant.GROUP_UNDER_AUDITTING); + return resiGroupEntity; + } + + /** + * @param initApplyCreatedGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 校验用户是否是热心居民或者党员 + * @Date 2020/3/30 15:50 + **/ + @Override + public void initApplyCreatedGroup(InitApplyCreatedGroupFormDTO initApplyCreatedGroupFormDTO) { + UserRoleDTO userRoleDTO = this.checkPartyMemberOrWarmHeated(initApplyCreatedGroupFormDTO.getApp(), + initApplyCreatedGroupFormDTO.getUserId(), + initApplyCreatedGroupFormDTO.getCustomerId(), + initApplyCreatedGroupFormDTO.getGridId()); + if (!NumConstant.ONE_STR.equals(userRoleDTO.getPartymemberFlag()) && !NumConstant.ONE_STR.equals(userRoleDTO.getWarmHeartedFlag())) { + logger.info(String.format("创建小组界面初始化查询成功,用户角色列表%s",JSON.toJSONString(userRoleDTO))); + throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode()); + } + } + + + /** + * @param agreeApplyGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 审核群申请-测试用后面会放到政府端 + * @Date 2020/3/31 12:44 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public Result agreeApplyGroup(AgreeApplyGroupFormDTO agreeApplyGroupFormDTO) { + //1、更新组的状态 + ResiGroupDTO resiGroupDTO = this.get(agreeApplyGroupFormDTO.getGroupId()); + resiGroupDTO.setState(GroupStateConstant.GROUP_APPROVED); + this.update(resiGroupDTO); + //2、更新组的申请记录改为已通过 + ResiGroupOperationDTO resiGroupOperation = resiGroupOperationDao.selectGroupApplyRecord(agreeApplyGroupFormDTO.getGroupId()); + resiGroupOperation.setState(GroupStateConstant.GROUP_APPROVED); + resiGroupOperation.setOperateUserId(agreeApplyGroupFormDTO.getUserId()); + resiGroupOperationService.update(resiGroupOperation); + //3、将群主在群成员的状态改为已通过 + ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectLeaderMember(agreeApplyGroupFormDTO.getGroupId()); + resiGroupMemberDTO.setStatus(MemberStateConstant.APPROVED); + resiGroupMemberService.update(resiGroupMemberDTO); + //4、更新群主的出入群记录改为已通过 + GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationDao.selectLeaderRecord(agreeApplyGroupFormDTO.getGroupId()); + groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.APPROVED); + groupMemeberOperationDTO.setOperateUserId(agreeApplyGroupFormDTO.getUserId()); + groupMemeberOperationService.update(groupMemeberOperationDTO); + //5、给用户发送消息???待定 + //6、新增小组缓存信息、组员缓存信息 + Map param = new HashMap<>(); + param.put(ModuleConstant.RESI_GROUP_ID, resiGroupDTO.getId()); + param.put(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR); + List statisticalList = resiGroupStatisticalService.list(param); + if (null != statisticalList && statisticalList.size() > 0) { + ResiGroupInfoRedisDTO groupRedis = transferToGroupInfoRedis(resiGroupDTO, statisticalList.get(0)); + resiGroupRedis.set(groupRedis); + + ResiGroupMemberInfoRedisDTO memberRedis = new ResiGroupMemberInfoRedisDTO(); + memberRedis.setUserId(resiGroupMemberDTO.getCustomerUserId()); + memberRedis.setGroupLeaderFlag(ModuleConstant.GROUP_LEADER); + memberRedis.setEnterGroupType(resiGroupMemberDTO.getEnterGroupType()); + memberRedis.setMemberStatus(resiGroupMemberDTO.getStatus()); + memberRedis.setGroupId(resiGroupMemberDTO.getResiGroupId()); + + UserResiInfoFormDTO userParam = new UserResiInfoFormDTO(); + userParam.setUserId(resiGroupMemberDTO.getCustomerUserId()); + userParam.setCustomerId(resiGroupDTO.getCustomerId()); + Result userInfo = + epmetUserFeignClient.getUserResiInfoDTO(userParam); + if(userInfo.success() && null != userInfo.getData()){ + memberRedis.setUserShowName(userInfo.getData().getShowName()); + memberRedis.setUserHeadPhoto(userInfo.getData().getHeadPhoto()); + memberRedis.setMemberMobile(userInfo.getData().getRegMobile()); + }else{ + logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND); + } + resiGroupMemberRedis.set(memberRedis); + } else { + /* + 当没有查询到组统计信息时,需要自己封装统计信息 + @param UserRoleFormDTO::getApp + @param UserRoleFormDTO::getCustomerId + @param UserRoleFormDTO::getUserId + @param UserRoleFormDTO::getGridId + 查询用户身份信息[热心居民/党员] + epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); + */ + logger.warn(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO); + } + //发送消息 + UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO(); + userMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy()); + userMessageFormDTO.setTitle(UserMessageConstant.AUDITED_GROUP_APPLYING_TITLE); + userMessageFormDTO.setReadFlag(ModuleConstant.UNREAD); + userMessageFormDTO.setApp(ModuleConstant.APP_RESI); + userMessageFormDTO.setGridId(resiGroupDTO.getGridId()); + userMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId()); + userMessageFormDTO.setMessageContent(String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName())); + if(!epmetMessageFeignClient.saveUserMessage(userMessageFormDTO).success()){ + logger.warn(String.format(ModuleConstant.FAILED_SEND_MESSAGE,String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName()))); + } + //发送微信订阅消息 + WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); + wxSubscribeMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId()); + wxSubscribeMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy()); + wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI); + wxSubscribeMessageFormDTO.setGridId(resiGroupDTO.getGridId()); + wxSubscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_CREATE_GROUP_BEHAVIOR); + wxSubscribeMessageFormDTO.setMessageContent(String.format(UserMessageConstant.AGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName())); + wxSubscribeMessageFormDTO.setMessageTime(new Date()); + List msgList = new ArrayList<>(); + msgList.add(wxSubscribeMessageFormDTO); + epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + //更新政府端:工作-基层治理-党员认证reddot + resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(resiGroupDTO.getGridId()); + return new Result(); + } + + /** + * @param disAgreeApplyGroupFormDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 审核(拒绝)群申请-测试用后面会放到政府端 + * @Date 2020/3/31 13:22 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public Result disagreeApplyGroup(DisAgreeApplyGroupFormDTO disAgreeApplyGroupFormDTO) { + //1、更新组的状态 + ResiGroupDTO resiGroupDTO = this.get(disAgreeApplyGroupFormDTO.getGroupId()); + resiGroupDTO.setState(GroupStateConstant.GROUP_REJECTED); + this.update(resiGroupDTO); + //2、更新组的申请记录改为已通过 + ResiGroupOperationDTO resiGroupOperation = resiGroupOperationDao.selectGroupApplyRecord(disAgreeApplyGroupFormDTO.getGroupId()); + resiGroupOperation.setState(GroupStateConstant.GROUP_REJECTED); + resiGroupOperation.setOperateUserId(disAgreeApplyGroupFormDTO.getUserId()); + resiGroupOperation.setOperateReason(disAgreeApplyGroupFormDTO.getRejectReason()); + resiGroupOperationService.update(resiGroupOperation); + //3、将群主在群成员的状态改为已通过 + ResiGroupMemberDTO resiGroupMemberDTO = resiGroupMemberDao.selectLeaderMember(disAgreeApplyGroupFormDTO.getGroupId()); + resiGroupMemberDTO.setStatus(MemberStateConstant.REJECTED); + resiGroupMemberService.update(resiGroupMemberDTO); + //4、更新群主的出入群记录改为已通过 + GroupMemeberOperationDTO groupMemeberOperationDTO = groupMemeberOperationDao.selectLeaderRecord(disAgreeApplyGroupFormDTO.getGroupId()); + groupMemeberOperationDTO.setOperateStatus(MemberStateConstant.REJECTED); + groupMemeberOperationDTO.setOperateUserId(disAgreeApplyGroupFormDTO.getUserId()); + groupMemeberOperationService.update(groupMemeberOperationDTO); + //5、给用户发送消息???待定 + UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO(); + userMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy()); + userMessageFormDTO.setTitle(UserMessageConstant.AUDITED_GROUP_APPLYING_TITLE); + userMessageFormDTO.setReadFlag(ModuleConstant.UNREAD); + userMessageFormDTO.setApp(ModuleConstant.APP_RESI); + userMessageFormDTO.setGridId(resiGroupDTO.getGridId()); + userMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId()); + userMessageFormDTO.setMessageContent(String.format(UserMessageConstant.DISAGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName(),disAgreeApplyGroupFormDTO.getRejectReason())); + if(!epmetMessageFeignClient.saveUserMessage(userMessageFormDTO).success()){ + logger.warn(String.format(ModuleConstant.FAILED_SEND_MESSAGE,String.format(UserMessageConstant.DISAGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName(),disAgreeApplyGroupFormDTO.getRejectReason()))); + } + + //发送微信订阅消息 + WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); + wxSubscribeMessageFormDTO.setCustomerId(resiGroupDTO.getCustomerId()); + wxSubscribeMessageFormDTO.setUserId(resiGroupDTO.getCreatedBy()); + wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI); + wxSubscribeMessageFormDTO.setGridId(resiGroupDTO.getGridId()); + wxSubscribeMessageFormDTO.setBehaviorType(UserMessageConstant.WX_APPLY_CREATE_GROUP_BEHAVIOR); + wxSubscribeMessageFormDTO.setMessageContent(String.format(UserMessageConstant.DISAGREE_CREATING_GROUP_MSG_TEMPLATE,resiGroupDTO.getGroupName(),disAgreeApplyGroupFormDTO.getRejectReason())); + wxSubscribeMessageFormDTO.setMessageTime(new Date()); + List msgList = new ArrayList<>(); + msgList.add(wxSubscribeMessageFormDTO); + epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + + //更新政府端:工作-基层治理-党员认证reddot + resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(resiGroupDTO.getGridId()); + return new Result(); + } + + /** + * @param app + * @param userId + * @param customerId + * @param gridId + * @return boolean + * @Author yinzuomei + * @Description 用户拥有党员或者热心居民标签返回true, 没有权限返回false + * @Date 2020/3/30 16:33 + **/ + @Override + public UserRoleDTO checkPartyMemberOrWarmHeated(String app, String userId, String customerId, String gridId) { + UserRoleDTO userRoleDTO = new UserRoleDTO(); + UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO(); + userRoleFormDTO.setApp(app); + userRoleFormDTO.setCustomerId(customerId); + userRoleFormDTO.setUserId(userId); + userRoleFormDTO.setGridId(gridId); + logger.info(String.format("用户同意邀请进组,获取当前用户所有角色入参:%s", JSON.toJSONString(userRoleFormDTO))); + Result> userRoleListResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); + if (!userRoleListResult.success()) { + logger.error("获取用户角色feign调用失败" + userRoleListResult.getMsg()); + return userRoleDTO; + } + List userRoleList = userRoleListResult.getData(); + if (null == userRoleList || userRoleList.size() == 0) { + return userRoleDTO; + } + for (UserRoleResultDTO userRoleResultDTO : userRoleList) { + if (EpmetRoleKeyConstant.PARTYMEMBER.equals(userRoleResultDTO.getRoleKey())) { + userRoleDTO.setPartymemberFlag(NumConstant.ONE_STR); + } + if (EpmetRoleKeyConstant.WARMHEARTED.equals(userRoleResultDTO.getRoleKey())) { + userRoleDTO.setWarmHeartedFlag(NumConstant.ONE_STR); + } + if (EpmetRoleKeyConstant.REGISTERED_RESI.equals(userRoleResultDTO.getRoleKey())) { + userRoleDTO.setRegisteredResiFlag(NumConstant.ONE_STR); + } + } + logger.info(String.format("用户同意邀请进组,获取当前用户所有角色返参:%s",JSON.toJSONString(userRoleDTO))); + return userRoleDTO; + } + + @Override + public Result> audited(GroupAuditedFromDTO formDTO) { + Result> result = new Result<>(); + //查询条件 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + //获取审核列表 + List resultList = baseDao.selectAuditedGroupList(formDTO); + + return result.ok(resultList); + } + + @Override + public Result> getGroupsInGrid(GroupAuditedFromDTO formDTO) { + List resultList = new ArrayList<>(); + //查询条件 + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + List list = baseDao.selectGroupsByGridId(formDTO); + list.forEach(group -> { + GroupsInGridResultDTO groupsInGridResultDTO = new GroupsInGridResultDTO(); + if (MemberStateConstant.REJECTED.equals(group.getState())) { + groupsInGridResultDTO.setGroupId(group.getId()); + groupsInGridResultDTO.setGroupName(group.getGroupName()); + groupsInGridResultDTO.setGroupHeadPhoto(group.getGroupHeadPhoto()); + groupsInGridResultDTO.setStatus(group.getState()); + groupsInGridResultDTO.setTotalMember(NumConstant.ZERO); + groupsInGridResultDTO.setTotalPartyMember(NumConstant.ZERO); + resultList.add(groupsInGridResultDTO); + } else if(MemberStateConstant.APPROVED.equals(group.getState())) { + //缓存中获取组信息 + ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(group.getId()); + groupsInGridResultDTO.setGroupId(resiGroupInfoRedisDTO.getGroupId()); + groupsInGridResultDTO.setGroupName(resiGroupInfoRedisDTO.getGroupName()); + groupsInGridResultDTO.setGroupHeadPhoto(resiGroupInfoRedisDTO.getGroupHeadPhoto()); + groupsInGridResultDTO.setStatus(resiGroupInfoRedisDTO.getGroupState()); + groupsInGridResultDTO.setTotalMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalMembers()); + groupsInGridResultDTO.setTotalPartyMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalPartyMembers()); + resultList.add(groupsInGridResultDTO); + } + + + }); + + return new Result>().ok(resultList); + } + + @Override + public Result getGovGroupSummarize(GovGroupSummarizeFromDTO formDTO) { + GovGroupSummarizeResultDTO resultDTO = new GovGroupSummarizeResultDTO(); + //从缓存中获取组相关信息 + ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(formDTO.getGroupId()); + resultDTO.setGroupId(resiGroupInfoRedisDTO.getGroupId()); + resultDTO.setGroupHeadPhoto(resiGroupInfoRedisDTO.getGroupHeadPhoto()); + resultDTO.setGroupIntroduction(resiGroupInfoRedisDTO.getGroupIntroduction()); + resultDTO.setGroupName(resiGroupInfoRedisDTO.getGroupName()); + resultDTO.setTotalMember(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalMembers()); + resultDTO.setTotalTopics(resiGroupInfoRedisDTO.getGroupStatisticalInfo().getTotalTopics()); + + //获取组长信息 + Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(formDTO.getGroupId()); + if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { + resultDTO.setLeaderName(groupLeaderUserInfo.getData().getShowName()); + } else { + logger.info("组长注册信息查询失败" + groupLeaderUserInfo.getMsg()); + } + + return new Result().ok(resultDTO); + } + + /** + * @return ResiGroupInfoRedisDTO + * @Description 将ResiGroupDTO与ResiGroupStatisticalDTO转换成ResiGroupInfoRedisDTO + * @Param ResiGroupDTO + * @Param ResiGroupStatisticalDTO + * @Author wangc + * @Date 2020.04.13 16:36 + **/ + private ResiGroupInfoRedisDTO transferToGroupInfoRedis(ResiGroupDTO groupDTO, ResiGroupStatisticalDTO statisticalDTO) { + + ResiGroupStatisticalInfoRedisDTO statisticalObjct = + ConvertUtils.sourceToTarget(statisticalDTO, ResiGroupStatisticalInfoRedisDTO.class); + statisticalObjct.setTotalEarnestMembers(statisticalDTO.getTotalEarnestMemebers()); + statisticalObjct.setTotalNormalMembers(statisticalDTO.getTotalNormalMemebers()); + ResiGroupInfoRedisDTO targetObject = + ConvertUtils.sourceToTarget(groupDTO, ResiGroupInfoRedisDTO.class); + targetObject.setGroupId(groupDTO.getId()); + targetObject.setGroupState(groupDTO.getState()); + SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN); + if (null != groupDTO.getLatestTopicPublishDate()) { + targetObject.setLatestTopicPublishDate(format.format(groupDTO.getLatestTopicPublishDate())); + } + targetObject.setGroupStatisticalInfo(statisticalObjct); + return targetObject; + } + + /** + * @Description 查询待审核的小组 (不从缓存中取,这时还没有成功建组,缓存中没有组数据) + * @Param ApplyingGroupsFormDTO + * @return Result> + * @Author wangc + * @Date 2020.04.18 10:18 + **/ + @Override + public Result> getApplyingGroups(ApplyingGroupsFormDTO params){ + if(null == params.getPageNo()){ + throw new RenException(ModuleConstant.PAGE_INDEX_NOT_NULL); + } + params.setPageNo((params.getPageNo() - NumConstant.ONE) * params.getPageSize()); + return new Result>().ok(baseDao.getApplyingGroupsByCustIdAndGridId(params)); + } + + /** + * @Description 建组申请详情 已审核(更新已读未读标识)/未审核 + * @Param AgreeApplyGroupFormDTO + * @return Result + * @Author wangc + * @Date 2020.04.19 23:32 + **/ + @Override + public Result getApplyingGroupDetail(CommonGroupIdFromDTO groupId){ + //1.查询小组信息 + //注意,这里查询出的组申请详情中,无论是已审核还是未审核,都是将该组信息关联到初始化组时状态为[待审核、审核通过、拒绝]其中之一的组操作记录上,并读取审核的已读未读信息,上述三种状态在一个组的所有操作记录当中只可能存在一种,与之后的屏蔽、取消屏蔽、关闭无关,如果查出多条说明建组的逻辑有问题 + ApplyingGroupDetailResultDTO detail = baseDao.getApplyingGroupDetailByGroupId(groupId.getGroupId()); + //2.查询用户信息(TODO 先走数据库,之后改成走缓存) + List userId = new ArrayList<>(); + userId.add(detail.getLeaderId()); + Result> userInfoResult = + epmetUserFeignClient.getUserResiInfoList(new UserResiInfoListFormDTO(userId)); + if(userInfoResult.success() && null != userInfoResult.getData() && userInfoResult.getData().size() >= 1){ + //姓氏+先生/女士 注:在数据库中拼接成[街道+显示名称]默认格式,故要进行截取 + //detail.setGroupLeaderName(userInfoResult.getData().get(0).getShowName().split("-")[NumConstant.ONE]); + //姓氏+名称 + detail.setGroupLeaderName(userInfoResult.getData().get(0).getSurname() + userInfoResult.getData().get(0).getName()); + detail.setStreet(userInfoResult.getData().get(0).getStreet()); + StringBuffer buffer = new StringBuffer(detail.getStreet()); + buffer.append(StringUtils.isBlank(buffer) ? "" : "-"); + detail.setGroupLeaderName(buffer.append(detail.getGroupLeaderName()).toString()); + }else{ + logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND); + } + //3.未读改成已读 + if(StringUtils.equals(detail.getReadFlag(),ModuleConstant.UNREAD)){ + ResiGroupOperationEntity operationEntity = new ResiGroupOperationEntity(); + operationEntity.setId(detail.getOperationId()); + operationEntity.setReadFlag(ModuleConstant.READ); + operationEntity.setUpdatedBy(groupId.getUserId()); + resiGroupOperationDao.updateById(operationEntity); + } + //4.将组长用户Id隐藏 + detail.setLeaderId(null); + detail.setOperationId(null); + + return new Result().ok(ConvertUtils.sourceToTarget(detail, ApplyingGroupDetailResult2DTO.class)); + } + + @Override + public List queryGroupProcessingCount(List gridIdList) { + List list=new ArrayList<>(); + for(String gridId:gridIdList){ + GroupProcessingCountResultDTO resultDTO=new GroupProcessingCountResultDTO(); + resultDTO.setGridId(gridId); + Integer auditingCreateGroupCount=resiGroupRedis.getWorkGrassrootsGroupRedDotValue(gridId); + Integer auditingGroupEditRecordCount=groupEditSubmitRecordDao.selectCountAuditingRec(gridId); + Integer auditingCount=auditingCreateGroupCount+auditingGroupEditRecordCount; + if (null == auditingCount) { + resultDTO.setCount(0); + } else { + resultDTO.setCount(auditingCount); + } + list.add(resultDTO); + } + return list; + } + + + /** + * @Description 查询一个网格下面所有组Id + * @param gridId + * @return List + * @author wangc + * @date 2020.05.14 10:54 + **/ + @Override + public List getGroupIdByGridId(String gridId) { + if(StringUtils.isBlank(gridId)) return null; + return baseDao.getGroupIdByGridId(gridId); + } + + /** + * @Description 返回 Map> + * @param gridIdList + * @return Map> + * @author wangc + * @date 2020.05.22 09:27 + **/ + @Override + public Map> getGroupIdsByGridIdList(List gridIdList) { + if(null == gridIdList || gridIdList.size() < NumConstant.ONE) + return null; + Map> result = new HashMap<>(); + List groups = new ArrayList<>(); + Map> groupMap + = groups.stream().collect(Collectors.groupingBy(ResiGroupDTO::getGridId)); + groupMap.forEach((k,v)->{ + Set groupIds = + v.stream().map(ResiGroupDTO::getId).collect(Collectors.toSet()); + result.put(k,groupIds); + }); + + return result; + } + + /** + * @Description 校验用户是否加入小组 + * @param gridId + * @author zxc + */ + @Override + public CheckJoinTeamResultDTO checkjointeam(GridIdFormDTO gridId) { + CheckJoinTeamResultDTO checkJoinTeamResultDTO = new CheckJoinTeamResultDTO(); + Integer joinTeamCounts = baseDao.checkjointeam(gridId); + if (joinTeamCounts==NumConstant.ZERO){//未加入任何小组(当前网格下) + checkJoinTeamResultDTO.setVoteAuthorization(false); + }else { + checkJoinTeamResultDTO.setVoteAuthorization(true); + } + return checkJoinTeamResultDTO; + } + + /** + * @Description 获取应表决数 + * @param formDTO + * @author zxc + */ + @Override + public ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO) { + //网格下所有加过组的人数 + Integer shouldVoteCount = baseDao.shouldVoteCount(formDTO).getShouldVoteCount(); + Integer outGroupCount = baseDao.getOutGroupCount(formDTO); + ShouldVoteCountResultDTO result = new ShouldVoteCountResultDTO(); + result.setShouldVoteCount(shouldVoteCount-outGroupCount); + return result; + } + + @Override + public List recommendedList(RecommendedListFormDTO formDTO) { + + //显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以话题数由多到少排序 + List recommendGroupList = baseDao.selectListRecommendList(formDTO); + recommendGroupList.forEach(dto -> { + Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(dto.getGroupId()); + if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { + dto.setLeaderName(groupLeaderUserInfo.getData().getShowName()); + } else { + logger.warn("组长注册信息查询失败" + groupLeaderUserInfo.getMsg()); + } + }); + return recommendGroupList; + } + + /** + * @Description 给加入此网格的网格长发送消息 + * @param msg + * @param gridId + * @param userId + * @author wangc + * @date 2020.04.29 22:49 + **/ + private void sendMsgResi2Gov(String title,String msg,String gridId,String userId,String customerId){ + //1.查询加入当前网格下的人员 customer_staff_grid + CommonGridIdFormDTO commonGridIdFormDTO = new CommonGridIdFormDTO(); + commonGridIdFormDTO.setGridId(gridId); + commonGridIdFormDTO.setUserId(userId); + Result> gridstaffs = + govOrgFeignClient.getGridStaffs(commonGridIdFormDTO); + //2.查询这些人是否有管理员身份且未被禁用 staff_role customer_staff + if(gridstaffs.success() && null != gridstaffs.getData() && gridstaffs.getData().size() > 0){ + RolesUsersListFormDTO rolesUsersListFormDTO = new RolesUsersListFormDTO(); + rolesUsersListFormDTO.setCustomerId(customerId); + List roleKeys = new ArrayList(); + roleKeys.add(ModuleConstant.STAFF_ROLE_GRID_MANAGER); + rolesUsersListFormDTO.setRoleKeys(roleKeys); + rolesUsersListFormDTO.setUserIds(gridstaffs.getData()); + Result> staffRoles = + epmetUserFeignClient.specificRolesStaffs(rolesUsersListFormDTO); + //3.发送消息 + if(staffRoles.success() && null != staffRoles.getData() && staffRoles.getData().size() > 0){ + List msgList = new ArrayList<>(); + List subscribeList = new ArrayList<>(); + for(String to : staffRoles.getData()){ + //站内信 + UserMessageFormDTO msgObj = new UserMessageFormDTO(); + msgObj.setApp(ModuleConstant.APP_GOV); + msgObj.setCustomerId(customerId); + msgObj.setGridId(gridId); + msgObj.setMessageContent(msg); + msgObj.setReadFlag(ReadFlagConstant.UN_READ); + msgObj.setTitle(title); + msgObj.setUserId(to); + msgList.add(msgObj); + //微信订阅 + WxSubscribeMessageFormDTO subscribeDTO = new WxSubscribeMessageFormDTO(); + subscribeDTO.setClientType(ModuleConstant.APP_GOV); + subscribeDTO.setGridId(gridId); + subscribeDTO.setCustomerId(customerId); + subscribeDTO.setUserId(to); + subscribeDTO.setBehaviorType(UserMessageConstant.WX_CREATE_GROUP_BEHAVIOR); + subscribeDTO.setMessageContent(msg); + subscribeDTO.setMessageTime(new Date()); + subscribeList.add(subscribeDTO); + } + if (subscribeList.size() > NumConstant.ZERO){ + epmetMessageOpenFeignClient.sendWxSubscribeMessage(subscribeList); + } + Result result = epmetMessageFeignClient.saveUserMessageList(msgList); + if(result.success()){ + return; + } + } + } + logger.warn(String.format(ModuleConstant.FAILED_SEND_MESSAGE,msg)); + + } + + @Override + public GroupDetailResultDTO getGroupDetail(String groupId) { + GroupDetailResultDTO groupDetail = new GroupDetailResultDTO(); + + // 1.拼装组基本信息 + GroupEditSubmitRecordEntity ler = groupEditSubmitRecordDao.getLatestEditSubmitRecord(groupId); + + if (ler != null) { + groupDetail.setAuditStatus(ler.getAuditStatus()); + groupDetail.setRemark(ler.getRemark()); + } + + if (ler != null && GroupAuditStatusConstant.UNDER_AUDITING.equals(ler.getAuditStatus())) { + // 审核中,显示待审核内容 + groupDetail.setGroupHeadPhoto(ler.getGroupHeadPhoto()); + groupDetail.setGroupName(ler.getGroupName()); + groupDetail.setGroupIntroduction(ler.getGroupIntroduction()); + } else { + // 不在审核中,直接显示组信息 + ResiGroupEntity resiGroupEntity = resiGroupDao.selectById(groupId); + if (resiGroupEntity == null) { + return null; + } + + groupDetail.setGroupHeadPhoto(resiGroupEntity.getGroupHeadPhoto()); + groupDetail.setGroupName(resiGroupEntity.getGroupName()); + groupDetail.setGroupIntroduction(resiGroupEntity.getGroupIntroduction()); + } + + // 2.编辑次数及其限制 + groupDetail.setEditNumLimit(GroupLimitConstant.EDIT_NUM_LIMIT_MONTH); + Date now = new Date(); + int usedEditNum = groupEditSubmitRecordDao.countEditNum(groupId, DateUtils.getMonthStart(now), DateUtils.getMonthEnd(now)); + groupDetail.setAvaliableEditNum(GroupLimitConstant.EDIT_NUM_LIMIT_MONTH - usedEditNum); + + // 审核状态 + // 是否可编辑 + boolean editable = true; + + if (GroupLimitConstant.EDIT_NUM_LIMIT_MONTH <= usedEditNum) { + // 达到最大编辑次数了 + editable = false; + } + + if (ler != null && GroupAuditStatusConstant.UNDER_AUDITING.equals(ler.getAuditStatus())) { + // 提交了,还没审核完 + editable = false; + } + + groupDetail.setEditable(editable); + return groupDetail; + } + + @Override + public void submitGroupEdit(String groupId, String groupName, String groupHeadPhoto, String groupIntroduction, String editUserId) { + // 1.判断小组是否存在,判断是否已经在"待审核"状态 + ResiGroupEntity group = resiGroupDao.selectById(groupId); + if (group == null) { + throw new RenException(EpmetErrorCode.GROUP_NOT_EXISTS.getCode(), EpmetErrorCode.GROUP_NOT_EXISTS.getMsg()); + } + + // 判断是否是组长 + ResiGroupMemberDTO groupLeader = resiGroupMemberDao.selectLeaderMember(groupId); + if (groupLeader == null || !groupLeader.getCustomerUserId().equals(editUserId)) { + String msg = "只有该组的组长才可以编辑组信息"; + throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), msg, msg, RenException.MessageMode.CODE_INTERNAL_EXTERNAL); + } + + // 2.判断是否可以提交编辑 + GroupEditSubmitRecordEntity lre = groupEditSubmitRecordDao.getLatestEditSubmitRecord(groupId); + if (lre != null && GroupAuditStatusConstant.UNDER_AUDITING.equals(lre.getAuditStatus())) { + // 在待审核状态,不允许再次提交编辑 + throw new RenException(EpmetErrorCode.GROUP_IN_AUDITING.getCode(), EpmetErrorCode.GROUP_IN_AUDITING.getMsg()); + } + + if (resiGroupDao.countExistsGroupNameBeforeEdit(groupId, group.getGridId(), groupName) > 0) { + // 已存在组名,拒绝提交 + throw new RenException(EpmetErrorCode.GROUP_ALREADY_EXISTED.getCode(), EpmetErrorCode.GROUP_ALREADY_EXISTED.getMsg()); + } + + Date now = new Date(); + int usedEditNum = groupEditSubmitRecordDao.countEditNum(groupId, DateUtils.getMonthStart(now), DateUtils.getMonthEnd(now)); + if (GroupLimitConstant.EDIT_NUM_LIMIT_MONTH <= usedEditNum) { + // 达到最大编辑次数了 + throw new RenException(EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getCode(), EpmetErrorCode.GROUP_EDIT_NUM_LIMITED.getMsg()); + } + + // 3.内容检查 + scanGroupEditContent(groupName, groupIntroduction, groupHeadPhoto); + + String app = loginUserUtil.getLoginUserApp(); + String userId = loginUserUtil.getLoginUserId(); + String messageText = generateGroupEditMessageText(app, userId, group.getCustomerId(), group.getGridId(), groupName); + + // 4.创建编辑提交记录 + GroupEditSubmitRecordEntity editRecord = new GroupEditSubmitRecordEntity(); + editRecord.setAuditStatus(GroupAuditStatusConstant.UNDER_AUDITING); + editRecord.setCustomerId(group.getCustomerId()); + editRecord.setGridId(group.getGridId()); + editRecord.setGroupHeadPhoto(groupHeadPhoto); + editRecord.setGroupIntroduction(groupIntroduction); + editRecord.setGroupId(groupId); + editRecord.setGroupName(groupName); + editRecord.setReadFlag(ReadFlagConstant.UN_READ); + editRecord.setMessageText(messageText); + + if (groupEditSubmitRecordDao.insert(editRecord) == 0) { + throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), EpmetErrorCode.GROUP_EDIT_ERROR.getMsg()); + } + + resiGroupRedis.addWorkGrassrootsGroupRedDotValue(group.getGridId()); + + } + + /** + * 生成组信息编辑简介文本:xxx申请编辑组信息,请审核 + * @param app + * @param userId + * @param customerId + * @param gridId + * @param groupName + * @return + */ + private String generateGroupEditMessageText(String app, String userId, String customerId, String gridId, String groupName) { + List resiRoles = getResiRoles(app, customerId, userId, gridId); + boolean isPartymember = false; + boolean isWarmhearted = false; + for (UserRoleResultDTO role : resiRoles) { + if (EpmetRoleKeyConstant.WARMHEARTED.equals(role.getRoleKey())) { + isWarmhearted = true; + } + if (EpmetRoleKeyConstant.PARTYMEMBER.equals(role.getRoleKey())) { + isPartymember = true; + } + } + if (!isWarmhearted && isPartymember) { + throw new RenException(EpmetErrorCode.CANNOT_CREATE_GROUP.getCode(), "只有党员和热心居民才能创建和编辑小组"); + } + String roleName = ""; + if (isPartymember) { + roleName = ModuleConstant.PARTYMEMBER; + } else if (isWarmhearted) { + roleName = ModuleConstant.WAREMHEARTED_RESI; + } + + //3.获取居民注册信息 + UserResiInfoFormDTO resiParam = new UserResiInfoFormDTO(); + resiParam.setCustomerId(customerId); + resiParam.setUserId(userId); + Result resiResult = + epmetUserFeignClient.getUserResiInfoDTO(resiParam); + String userName = ""; + if (resiResult.success() && null != resiResult.getData()) { + userName = (StringUtils.isBlank(resiResult.getData().getSurname()) ? "" : resiResult.getData().getSurname()) + + (StringUtils.isBlank(resiResult.getData().getName()) ? "" : resiResult.getData().getName()); + } + userName = StringUtils.isBlank(userName) ? ModuleConstant.UNKNOWN : userName; + return String.format(UserMessageConstant.EDIT_OF_GROUP_MESSAGE_TEMPLATE, roleName, userName, groupName); + } + + /** + * 查询居民的角色列表 + * @param app + * @param customerId + * @param userId + * @param gridId + * @return + */ + private List getResiRoles(String app, String customerId, String userId, String gridId) { + UserRoleFormDTO userRoleFormDTO = new UserRoleFormDTO(); + userRoleFormDTO.setApp(app); + userRoleFormDTO.setCustomerId(customerId); + userRoleFormDTO.setUserId(userId); + userRoleFormDTO.setGridId(gridId); + Result> rolesResult = epmetUserFeignClient.getUserRoleInfo(userRoleFormDTO); + + if (! rolesResult.success()) { + logger.error("修改组信息:查询居民角色失败,详情:{}", rolesResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.GROUP_EDIT_ERROR.getCode(), "查询居民角色失败"); + } else { + List roles = rolesResult.getData(); + if (CollectionUtils.isEmpty(roles)) { + roles = new ArrayList<>(); + } + return roles; + } + } + + /** + * 内容检查 + * @param groupName + * @param groupIntroduction + * @param groupHeadPhoto + */ + private void scanGroupEditContent(String groupName, String groupIntroduction, String groupHeadPhoto) { + // 文本内容审核 + TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); + TextTaskDTO taskDTO = new TextTaskDTO(); + String content = groupName.concat("-").concat(groupIntroduction); + taskDTO.setContent(content); + taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); + textScanParamDTO.getTasks().add(taskDTO); + Result textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + logger.error("调用内容审核服务审核文本发生错误:{}", textSyncScanResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode(), EpmetErrorCode.TEXT_SCAN_FAILED.getMsg()); + } + } + + // 图片内容审核 + ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); + ImgTaskDTO task = new ImgTaskDTO(); + task.setDataId(UUID.randomUUID().toString().replace("-", "")); + task.setUrl(groupHeadPhoto); + imgScanParamDTO.getTasks().add(task); + + Result imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO); + if (!imgScanResult.success()){ + logger.error("调用内容审核服务审核图片发生错误:{}", textSyncScanResult.getInternalMsg()); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode(), EpmetErrorCode.IMG_SCAN_FAILED.getMsg()); + } + } + } + + /** + * @Description 工作端 查询组变更待审核列表 + * @param param + * @return + * @author wangc + * @date 2020.11.03 10:19 + */ + @Override + public List getEditAuditingList(CommonGridAndPageFormDTO param) { + return Optional.ofNullable(PageHelper.startPage(null == param.getPageNo() ? NumConstant.ONE : param.getPageNo() , null == param.getPageSize() ? NumConstant.TWELVE : param.getPageSize()) + .doSelectPage(() -> { + groupEditSubmitRecordDao.selectGroupEditApplyList(param.getGridId());}).getResult()).orElse(new LinkedList<>()) + .stream().map(o -> { return (ApplyingGroupResultDTO)o; }).collect(Collectors.toList()); + } + + /** + * @Description 查询小组修改信息的详情内容 不加事务! + * @param param + * @return com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO + * @author wangc + * @date 2020.11.03 14:10 + */ + @Override + public GroupEditionDetailResultDTO getEditAuditingDetail(GovGroupSummarizeFromDTO param) { + GroupEditSubmitRecordEntity edit = groupEditSubmitRecordDao.selectEditDetail(param.getGroupId(),null); + if(null == edit) { + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.getEditAuditingDetail,未找到小组变更信息记录,传参:{}",JSON.toJSONString(param)); + return null;} + //取消未读状态 + GroupEditSubmitRecordEntity _update = new GroupEditSubmitRecordEntity(); + _update.setId(edit.getId());_update.setReadFlag(ModuleConstant.READ); + groupEditSubmitRecordDao.updateById(_update); + GroupEditionDetailResultDTO result = ConvertUtils.sourceToTarget(edit, GroupEditionDetailResultDTO.class); + result.setGroupLeaderName(resiGroupRedis.getFullName(edit.getCreatedBy())); + return result; + } + + /** + * @Description 工作人员提交审核 + * @param param + * @return void + * @author wangc + * @date 2020.11.03 16:02 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void auditEdit(GroupEditionAuditFormDTO param) { + if(StringUtils.equals(param.getAuditResult(),ModuleConstant.AUDITING_OPERATION_REJECT) && StringUtils.isBlank(param.getRemark())){ + throw new RenException("拒绝理由不能为空"); + } + GroupEditSubmitRecordEntity edit = groupEditSubmitRecordDao.selectEditDetail(param.getGroupId(),null); + if(null == edit){ + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.auditEdit,找不到待审核的组更新记录,传参:{}",JSON.toJSONString(param)); + throw new RenException("找不到待审核的组更新记录"); + } + + int affectedRows = groupEditSubmitRecordDao.updateAuditResult(param.getGroupId(),param.getStaffId(),param.getAuditResult(),param.getRemark()); + if(affectedRows <= NumConstant.ZERO){ + logger.error("com.epmet.modules.group.service.impl.ResiGroupServiceImpl.auditEdit,更新组编辑记录时受影响行数小于1,传参:{}",JSON.toJSONString(param)); + throw new RenException("更新组编辑记录时受影响行数小于1"); + } + if(!StringUtils.equals(param.getAuditResult(),ModuleConstant.AUDITING_OPERATION_REJECT)){ + //同意 + ResiGroupEntity _update = ConvertUtils.sourceToTarget(edit,ResiGroupEntity.class); + _update.setId(param.getGroupId()); + baseDao.updateById(_update); + } + resiGroupRedis.subtractWorkGrassrootsPartyAuthRedDotValue(edit.getGridId()); + resiGroupRedis.delGroup(param.getGroupId()); + } + +} From 2f034a045c841fa14db67f3fca9fc9a8bfc789bc Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Nov 2020 15:00:18 +0800 Subject: [PATCH 78/79] =?UTF-8?q?=E6=88=91=E5=8F=91=E8=B5=B7=E7=9A=84?= =?UTF-8?q?=E8=AE=AE=E9=A2=98=E8=A1=A8=E5=86=B3=E4=B8=AD=20url=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../person/controller/IssueController.java | 2 +- .../service/impl/UserBadgeServiceImpl.java | 25 ------------------- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/IssueController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/IssueController.java index 1119d95bc3..e4757758f7 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/IssueController.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/IssueController.java @@ -63,7 +63,7 @@ public class IssueController { * @author zxc * @date 2020/11/11 9:24 上午 */ - @PostMapping("my-pub-issues/auditing") + @PostMapping("my-pub-issues/voting") public Result> myPubIssuesAuditing(@LoginUser TokenDto tokenDto, @RequestBody MyPubIssuesAuditingFormDTO myPubIssuesAuditingFormDTO){ ValidatorUtils.validateEntity(myPubIssuesAuditingFormDTO, MyPubIssuesAuditingFormDTO.MyPubIssuesAuditing.class); return new Result>().ok(issueService.myPubIssuesAuditing(tokenDto,myPubIssuesAuditingFormDTO)); 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 208611a01f..a0d4b75a41 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 @@ -289,31 +289,6 @@ public class UserBadgeServiceImpl implements UserBadgeService { } } - /** - * @Description 站内信发送——提交徽章认证 - * @Param form - * @author zxc - * @date 2020/11/10 9:04 上午 - */ - public void sendMessageByUser(UserBadgeCertificateRecordDTO form) { - List msgList = new ArrayList<>(); - UserMessageFormDTO formDTO = new UserMessageFormDTO(); - formDTO.setApp(BadgeConstant.RESI); - formDTO.setCustomerId(form.getCustomerId()); - formDTO.setGridId(form.getGridId()); - UserBadgeListResultDTO userBadgeListResultDTO = userBadgeDao.selectBadgeByBadgeId(form.getCustomerId(), form.getBadgeId()); - if (null == userBadgeListResultDTO){ - log.error(BadgeConstant.GET_BADGE_NAME_FAILURE); - return; - } - formDTO.setMessageContent(String.format(BadgeConstant.MESSAGE_CONTENT,userBadgeListResultDTO.getBadgeName())); - formDTO.setTitle(BadgeConstant.AUTH_TITLE); - formDTO.setReadFlag(BadgeConstant.READ_FLAG); - formDTO.setUserId(form.getUserId()); - msgList.add(formDTO); - Result result = messageFeignClient.saveUserMessageList(msgList); - } - /** * @Description 发送验证码 * @Param badgeSendCodeFormDTO From 0a40ab20884c0a665e5cc443a625f85d8b4d79eb Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 20 Nov 2020 15:14:59 +0800 Subject: [PATCH 79/79] =?UTF-8?q?=E5=BE=BD=E7=AB=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/UserBadgeDao.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml index dfb53c3363..74183a1073 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml @@ -52,10 +52,10 @@ sort FROM ( SELECT * FROM badge - WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0' + WHERE CUSTOMER_ID = #{customerId} AND DEL_FLAG = '0' AND BADGE_STATUS = 'online' UNION ALL SELECT * FROM badge a - WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0' AND BADGE_STATUS = 'online' + WHERE CUSTOMER_ID = 'default' AND a.DEL_FLAG = '0' AND NOT EXISTS ( SELECT ID FROM badge b WHERE CUSTOMER_ID = #{customerId} AND a.ID = b.ID)) t ORDER BY