From 16bd05b9518086e6d53c561ecdfd47c1e5bfe4f6 Mon Sep 17 00:00:00 2001 From: wangchao Date: Thu, 12 Nov 2020 16:27:10 +0800 Subject: [PATCH 01/24] =?UTF-8?q?extstaffinfo=20=20=20=20=20=20=E8=BD=AC?= =?UTF-8?q?=E8=AE=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java | 2 ++ .../java/com/epmet/service/impl/CustomerStaffServiceImpl.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java index 16ac17dca2..399062ece8 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueShiftedFromTopicFormDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -73,6 +74,7 @@ public class IssueShiftedFromTopicFormDTO implements Serializable { /** * 议题创建时间 * */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createdTime; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java index 17f0ae9f5e..7cf683e111 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/CustomerStaffServiceImpl.java @@ -594,14 +594,15 @@ public class CustomerStaffServiceImpl extends BaseServiceImpl govOrgResult = govOrgOpenFeignClient.staffInfoExt(result); if(govOrgResult.success() && null != govOrgResult.getData()){ return govOrgResult.getData(); } } + log.warn("com.epmet.service.impl.CustomerStaffServiceImpl.extStaffInfo,根据传入的用户Id未找到对应的工作人员,传参:{}",JSON.toJSONString(staffParam)); return null; } From 2244ae5c4d64d7a4732cbabdf5c87f0b33f324db Mon Sep 17 00:00:00 2001 From: wxz Date: Sat, 14 Nov 2020 13:35:44 +0800 Subject: [PATCH 02/24] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=B1=BB=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0MessageMode=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/exception/RenException.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java index 8d6285a26c..73ae4bf6b5 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/RenException.java @@ -19,6 +19,12 @@ import org.apache.commons.lang3.StringUtils; * @since 1.0.0 */ public class RenException extends RuntimeException { + + public enum MessageMode { + //code_内部信息_外部信息 + CODE_INTERNAL_EXTERNAL + } + private static final long serialVersionUID = 1L; private int code; /** @@ -47,7 +53,7 @@ public class RenException extends RuntimeException { } } - public RenException(int code, String internalMsg, String msg) { + public RenException(int code, String internalMsg, String msg, MessageMode mode) { this(code, internalMsg); this.msg = msg; } From 55df7c1e7714a4d8c7c3f7d1200cf6c77fb24610 Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 16 Nov 2020 13:26:23 +0800 Subject: [PATCH 03/24] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E5=8E=9F=E5=A7=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=8A=BD=E5=8F=96=EF=BC=8C=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E7=BB=B4=E5=BA=A6-=E7=BD=91=E6=A0=BC=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E7=BD=91=E6=A0=BC=E6=95=B0=E6=8D=AE=EF=BC=8C=E4=BB=A5=E7=BB=B4?= =?UTF-8?q?=E5=BA=A6-=E7=BD=91=E6=A0=BC=E6=95=B0=E6=8D=AE=E4=B8=BA?= =?UTF-8?q?=E4=B8=BB=EF=BC=8C=E6=B2=A1=E6=9C=89=E5=88=A0=E9=99=A4=E7=9A=84?= =?UTF-8?q?=E7=BB=84=E6=95=B0=E6=8D=AE=E4=BC=9A=E8=A2=AB=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginGroupMainDailyDao.java | 10 ++++++++ .../FactOriginGroupMainDailyService.java | 2 +- .../FactOriginGroupMainDailyServiceImpl.java | 7 +++++- .../todata/impl/GroupExtractServiceImpl.java | 24 ++++++++++++------- .../extract/FactOriginGroupMainDailyDao.xml | 21 ++++++++++++++++ 5 files changed, 54 insertions(+), 10 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java index e5e603a40f..5bd0c89103 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginGroupMainDailyDao.java @@ -79,6 +79,16 @@ public interface FactOriginGroupMainDailyDao extends BaseDao groups); + /** * @param customerId * @return diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginGroupMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginGroupMainDailyService.java index f6fc9f2dc6..c9a74e31b8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginGroupMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginGroupMainDailyService.java @@ -64,7 +64,7 @@ public interface FactOriginGroupMainDailyService extends BaseService originGroupData, List memberList); + boolean insertExtractedData(boolean isFirst, String customerId, String dateId, List originGroupData, List memberList, List missing); /** * @param customerId diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginGroupMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginGroupMainDailyServiceImpl.java index 093905835b..ab3efce8b4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginGroupMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginGroupMainDailyServiceImpl.java @@ -84,7 +84,7 @@ public class FactOriginGroupMainDailyServiceImpl extends BaseServiceImpl originGroupData, List memberList) { + public boolean insertExtractedData(boolean isFirst, String customerId, String dateId,List originGroupData, List memberList,List missing) { if (isFirst) { //isFirst baseDao.deleteBatchMemberByCustomerId(customerId,null,null); @@ -95,8 +95,13 @@ public class FactOriginGroupMainDailyServiceImpl extends BaseServiceImpl memberList = new LinkedList<>(); if (!CollectionUtils.isEmpty(originGroupData)) { List gridList = dimGridService.getGridAttributes(param.getCustomerId(),originGroupData.stream().map(FactOriginGroupMainDailyDTO::getGridId).distinct().collect(Collectors.toList())); - + List missingGroups = new LinkedList<>(); if (!CollectionUtils.isEmpty(gridList)) { Map gridMap = gridList.stream().collect(Collectors.toMap(GridAttributesResultDTO::getGridId, Function.identity(), (key1, key2) -> key2)); - if (!CollectionUtils.isEmpty(originGroupData)) { + + + for(Iterator iter = originGroupData.iterator(); + iter.hasNext();){ + FactOriginGroupMainDailyDTO pointer = iter.next(); + if(null == gridMap.get(pointer.getGridId())){ + missingGroups.add(pointer.getId()); + iter.remove(); + } + } + originGroupData.forEach(group -> { GridAttributesResultDTO attr = gridMap.get(group.getGridId()); if (null != attr) { @@ -141,14 +148,15 @@ public class GroupExtractServiceImpl implements GroupExtractService { } }); - } + factOriginGroupMainDailyService.insertExtractedData( count <= NumConstant.ZERO ? true : false, param.getCustomerId(), param.getDateId(), originGroupData, - memberList + memberList, + missingGroups ); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml index 4710c224fa..c2c75be60f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginGroupMainDailyDao.xml @@ -64,6 +64,17 @@ + + + DELETE FROM + fact_origin_group_member_daily + WHERE + CUSTOMER_ID = #{customerId} + + GROUP_ID = #{groupId} + + + DELETE FROM fact_origin_group_main_daily @@ -74,6 +85,16 @@ + + + DELETE FROM + fact_origin_group_main_daily + + CUSTOMER_ID = #{customerId} + AND + DATE_ID = + + UPDATE fact_origin_group_main_daily From 1f495c3d9f24fa704687b307844d3802cbd8f9a9 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 14:04:06 +0800 Subject: [PATCH 04/24] =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=82=E4=B8=8E?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=20dimGrid=20=E7=BB=B4=E5=BA=A6=E4=B8=8D?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E6=97=B6=E7=9A=84=E6=83=85=E5=86=B5=E5=85=BC?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PublicPartExtractServiceImpl.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java index 3c58609ada..f26101c3dd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PublicPartExtractServiceImpl.java @@ -112,14 +112,18 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { return; } Map userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getOrgId, o -> o)); - issueTotal.forEach(issue -> { + for (FactIssueGridMonthlyEntity issue : issueTotal) { String gridId = issue.getGridId(); ScreenUserJoinEntity entity = insertMap.get(gridId); + if (entity == null) { + log.warn("gridId:{} is not exist in dimGrid,monthId:{},gridId:{}", formDTO.getCustomerId(), formDTO.getMonthId(), gridId); + continue; + } entity.setJoinTotal(issue.getIssueIncr()); GridUserCountResultDTO user = userCountMap.get(gridId); if (user == null) { log.warn("gridId:{} is not exist in issue,customerId:{},monthId:{},gridId:{}", JSON.toJSONString(issue), formDTO.getCustomerId(), formDTO.getMonthId(), gridId); - return; + continue; } //百人人均议题:统计周期内总的议题数/(注册用户数/100) log.debug("issue:{}", JSON.toJSONString(issue)); @@ -129,7 +133,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { .divide(new BigDecimal(NumConstant.ONE_HUNDRED)), 4, BigDecimal.ROUND_HALF_UP); entity.setAvgIssue(avgIssueCount); } - }); + } //获取该月 表决的人数 @@ -153,6 +157,10 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { for (Map.Entry> entry : voteMap.entrySet()) { String gridId = entry.getKey(); ScreenUserJoinEntity entity = insertMap.get(gridId); + if (entity == null) { + log.warn("gridId:{} is not exist in dimGrid,monthId:{},gridId:{}", formDTO.getCustomerId(), formDTO.getMonthId(), gridId); + continue; + } List issueList = entry.getValue(); BigDecimal bigDecimal = new BigDecimal(0); BigDecimal votedByIssueCount = new BigDecimal(issueList.get(0).getIssueCount()); From cc54476df01323f65c8903be0c84e8bb8c2afcd7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 14:11:06 +0800 Subject: [PATCH 05/24] =?UTF-8?q?=E5=BE=97=E5=88=86=E5=86=99=E5=85=A5?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=89=93=E5=8D=B0=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/toscreen/impl/ScreenExtractServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 1ad6a429fc..2ca72cacc5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -243,7 +243,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { param.setDateId(monthId); screenGrassrootsGovernDataAbsorptionService.userScoreDataHub(param); }catch(Exception e){ - log.error("大屏热心市民/党员得分数据写入失败,参数为:{}",JSON.toJSONString(formDTO)); + log.error("大屏热心市民/党员得分数据写入失败,参数为:{}" + JSON.toJSONString(formDTO), e); } //此方法保持在最后即可 计算指标分数 todo 优化 手动创建线程池 控制任务数量 ExecutorService pool = Executors.newSingleThreadExecutor(); From ce4d6e4f917e76acec3cfe6f8b6d9d2f5ff4d89c Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 14:30:07 +0800 Subject: [PATCH 06/24] =?UTF-8?q?=E5=BE=97=E5=88=86=E5=86=99=E5=85=A5?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=89=93=E5=8D=B0=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...srootsGovernDataAbsorptionServiceImpl.java | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index d791fb239e..53aebc29cb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.evaluationindex.extract.toscreen.impl; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.utils.DateUtils; @@ -21,16 +22,13 @@ import com.epmet.service.project.ProjectService; import com.epmet.service.topic.TopicService; import com.epmet.service.user.UserService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; import java.math.BigDecimal; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @@ -91,10 +89,10 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr dateId = DateUtils.getBeforeNMonth(NumConstant.ONE); }else{ String dateType = DateUtils.identifyTimeDimension(dateId); - if(StringUtils.isEmpty(dateType) || !org.apache.commons.lang3.StringUtils.equalsAny(dateType,"date","month")){ + if (StringUtils.isEmpty(dateType) || !StringUtils.equalsAny(dateType, "date", "month")) { dateId = DateUtils.getBeforeNMonth(NumConstant.ONE); - }else if(org.apache.commons.lang3.StringUtils.equals(dateType,"date")){ - dateId = dateId.substring(NumConstant.ZERO,dateId.length() - NumConstant.TWO); + } else if (StringUtils.equals(dateType, "date")) { + dateId = dateId.substring(NumConstant.ZERO, dateId.length() - NumConstant.TWO); } } final String finalDateId = dateId; @@ -125,7 +123,19 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //6.存入数据库 //不按照时间删除,每次插入之前将该客户下的所有历史数据清空 - screenPartyUserRankDataService.dataClean(registeredUsers,param.getCustomerId()); + //过滤 统计维度中没有的数据 + Set gridIdSet = new HashSet<>(); + List newInsertList = registeredUsers.stream() + .filter(o -> { + if (StringUtils.isBlank(o.getGridName())) { + gridIdSet.add(o.getGridId()); + return false; + } else { + return true; + } + }).collect(Collectors.toList()); + log.warn("userScoreDataHub grids:{} not in DimGrid", JSON.toJSONString(gridIdSet)); + screenPartyUserRankDataService.dataClean(newInsertList, param.getCustomerId()); } /** From 64954f43dee90d374b4a0e6b115c0215ca8a288a Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 15:02:12 +0800 Subject: [PATCH 07/24] =?UTF-8?q?=E6=97=A5=E6=8A=BD=E5=8F=96=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20=E5=BC=82=E6=AD=A5=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/ScreenExtractDailyController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java index 133dc09f8c..c2e4d0f6d6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java @@ -5,6 +5,7 @@ import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.service.evaluationindex.extract.toscreen.ScreenExtractService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -27,6 +28,7 @@ public class ScreenExtractDailyController { * @author zxc * @date 2020/9/24 10:15 上午 */ + @Async @PostMapping("extractdailyall") public Result screenExtractDaily(@RequestBody ExtractOriginFormDTO extractOriginFormDTO) { screenExtractService.extractDailyAll(extractOriginFormDTO); From 851bc4f3d7e1c6b7bec6f372d8e3e0562b1ae862 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 15:25:37 +0800 Subject: [PATCH 08/24] =?UTF-8?q?=E6=97=A5=E6=8A=BD=E5=8F=96=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20=E4=BD=BF=E7=94=A8=E7=BA=BF=E7=A8=8B=E6=B1=A0?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScreenExtractDailyController.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java index c2e4d0f6d6..07919aa425 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenExtractDailyController.java @@ -1,24 +1,33 @@ package com.epmet.controller; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.service.evaluationindex.extract.toscreen.ScreenExtractService; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; 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 java.util.concurrent.*; + /** * @Author zxc * @DateTime 2020/9/24 9:42 上午 */ +@Slf4j @RestController @RequestMapping("screenextract") public class ScreenExtractDailyController { - + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("ScreenExtractDailyController-pool-%d").build(); + ExecutorService threadPool = new ThreadPoolExecutor(1, 1, + 10L, TimeUnit.MINUTES, + new LinkedBlockingQueue<>(500), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); @Autowired private ScreenExtractService screenExtractService; @@ -28,10 +37,17 @@ public class ScreenExtractDailyController { * @author zxc * @date 2020/9/24 10:15 上午 */ - @Async @PostMapping("extractdailyall") public Result screenExtractDaily(@RequestBody ExtractOriginFormDTO extractOriginFormDTO) { - screenExtractService.extractDailyAll(extractOriginFormDTO); + threadPool.submit(() -> { + log.info("screenExtractDaily start,param:{}", JSON.toJSONString(extractOriginFormDTO)); + try { + screenExtractService.extractDailyAll(extractOriginFormDTO); + log.info("screenExtractDaily end"); + } catch (Exception e) { + log.error("screenExtractDaily exception", e); + } + }); return new Result(); } From b7753e02728406d5b87e891c850e7af54dc65264 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 16 Nov 2020 16:59:27 +0800 Subject: [PATCH 09/24] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9=EF=BC=8Cfeginclient?= =?UTF-8?q?=E5=A4=9A=E6=B7=BB=E5=8A=A0url=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/feign/OperCustomizeFeignClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java index 015b0d3684..b59a5c7a20 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/feign/OperCustomizeFeignClient.java @@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; //@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallback = OperCustomizeFeignClientFallBack.class, url = "localhost:8089") -@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallback = OperCustomizeFeignClientFallBack.class,url="localhost:8089") +@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallback = OperCustomizeFeignClientFallBack.class) public interface OperCustomizeFeignClient { /** From 97706e0a174b8db1c1636da49ec5eee971725e5f Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 16 Nov 2020 17:06:44 +0800 Subject: [PATCH 10/24] =?UTF-8?q?=E6=8A=BD=E5=8F=96=E5=88=B0=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F-=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9=E3=80=81?= =?UTF-8?q?=E7=83=AD=E5=BF=83=E5=B8=82=E6=B0=91=EF=BC=8C=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=9B=A0=E4=B8=BA=E5=88=A0=E9=99=A4=E7=BD=91=E6=A0=BC=E8=80=8C?= =?UTF-8?q?=E9=80=A0=E6=88=90=E5=9E=83=E5=9C=BE=E6=95=B0=E6=8D=AE=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLatestOperationResultDTO.java | 4 ++ .../epmet/dao/project/ProjectProcessDao.java | 11 ----- ...srootsGovernDataAbsorptionServiceImpl.java | 45 ++++++++++++++----- .../screen/ScreenDifficultyDataService.java | 2 +- .../impl/ScreenDifficultyDataServiceImpl.java | 7 ++- .../project/ProjectProcessService.java | 15 +------ .../impl/ProjectProcessServiceImpl.java | 25 ++--------- .../extract/FactOriginProjectMainDailyDao.xml | 22 +-------- .../mapper/project/ProjectProcessDao.xml | 22 ++------- 9 files changed, 54 insertions(+), 99 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectLatestOperationResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectLatestOperationResultDTO.java index 12750903d1..f1ee458fa0 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectLatestOperationResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectLatestOperationResultDTO.java @@ -17,4 +17,8 @@ public class ProjectLatestOperationResultDTO implements Serializable { private String projectId; private String operationName; + + private Integer costTime; + + private String title; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java index 79e2f51b48..37e130e678 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java @@ -153,15 +153,4 @@ public interface ProjectProcessDao extends BaseDao { * @date 2020.09.28 14:45 */ List selectLatestOperation(@Param("list") List list,@Param("customerId") String customerId); - - /** - * @Description 查找项目标题 - * @param list - * @return java.util.List - * @author wangc - * @date 2020.09.28 14:45 - */ - List selectProjectTitle(@Param("list") List list,@Param("customerId") String customerId); - - } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index 53aebc29cb..8a60c6076b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.dto.org.GridInfoDTO; +import com.epmet.dto.project.result.ProjectLatestOperationResultDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; @@ -77,8 +78,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //2.查询出客户下网格的相关信息 List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); - Map gridMap = new HashMap<>(); - gridList.forEach(grid -> {gridMap.put(grid.getGridId(),grid);}); + Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o)); //3.查询出客户下用户的累计积分(累计值,没有时间概念,否则需要查询积分明细计算出评价周期末的得分) Map pointMap = userPointService.getUserPointMap(param.getCustomerId()); @@ -99,6 +99,12 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr Map scoreMap = cpcIndexCalculateService.getCpcScore(param.getCustomerId(),dateId); + //剔除垃圾数据 + for(Iterator iter = registeredUsers.iterator(); + iter.hasNext();){ + if(null == gridMap.get(iter.next().getGridId())) iter.remove(); + } + //5.整合数据 if(!CollectionUtils.isEmpty(registeredUsers)){ registeredUsers.forEach(user -> { @@ -154,13 +160,26 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //查询数据 List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),projectService.getOvertimeProjectByParameter(param.getCustomerId(),existed)); if(CollectionUtils.isEmpty(difficulties)) return; + //剔除垃圾数据 + //2.查询出客户下网格的相关信息 + List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); + Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o)); + List missing = new LinkedList<>(); + for(Iterator iter = difficulties.iterator(); iter.hasNext();){ + ScreenDifficultyDataEntity pointer = iter.next(); + if(null == gridMap.get(pointer.getOrgId())){ + missing.add(pointer.getEventId()); + iter.remove(); + } + } + + List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList()); //最近一次操作 - Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId()); - //标题 - Map titleMap = projectProcessService.getProjectTitle(projectIds,param.getCustomerId()); + Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId()); + boolean isOperationNull = CollectionUtils.isEmpty(latestOperationMap) ? true : false; - boolean isTitleNull = CollectionUtils.isEmpty(titleMap) ? true : false; + //图片 List projectSourceMap = factOriginProjectMainDailyService.getNewProject(param.getCustomerId(),projectIds); @@ -178,16 +197,20 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr diff.setEventContent(contentMap.get(diff.getEventId())); } if(!isOperationNull){ - diff.setLatestOperateDesc(latestOperationMap.get(diff.getEventId())); - } - if(!isTitleNull){ - diff.setEventTitle(titleMap.get(diff.getEventId())); + ProjectLatestOperationResultDTO oper = latestOperationMap.get(diff.getEventId()); + if(null != oper){ + diff.setLatestOperateDesc(oper.getOperationName()); + diff.setEventTitle(oper.getTitle()); + diff.setEventCostTime(oper.getCostTime()); + } + } + diff.setDataEndTime(DateUtils.getBeforeNDay(NumConstant.ONE)); }); List imgList = new LinkedList<>(); imgMap.values().forEach(list -> {imgList.addAll(list);}); - screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList); + screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList,missing); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java index 3c6dec0673..c133c88c84 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java @@ -49,6 +49,6 @@ public interface ScreenDifficultyDataService extends BaseService difficulties, List imgs); + void dataClean(String customerId,List difficulties, List imgs,List missing); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java index c539114666..a371230024 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java @@ -53,7 +53,11 @@ public class ScreenDifficultyDataServiceImpl extends BaseServiceImpl difficulties, List imgs) { + public void dataClean(String customerId, List difficulties, List imgs,List missing) { + if(!CollectionUtils.isEmpty(missing)){ + baseDao.deleteBatchDifficulty(customerId, missing); + baseDao.deleteBatchDifficultyImg(missing); + } if (!CollectionUtils.isEmpty(difficulties)) { baseDao.deleteBatchDifficulty(customerId, difficulties.stream().map(ScreenDifficultyDataEntity::getEventId).distinct().collect(Collectors.toList())); baseDao.insertBatch(difficulties); @@ -62,7 +66,6 @@ public class ScreenDifficultyDataServiceImpl extends BaseServiceImpl * @Description 获得项目最新操作 * @param list * @param customerId - * @return java.util.Map + * @return * @author wangc * @date 2020.09.28 14:44 */ - Map getLatestOperation(List list, String customerId); - - /** - * @Description 获取项目标题 - * @param list - * @param customerId - * @return java.util.Map - * @author wangc - * @date 2020.10.27 14:34 - */ - Map getProjectTitle(Listlist ,String customerId); - + Map getLatestOperation(List list, String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java index 13552085b8..09d3d2f652 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java @@ -117,36 +117,17 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl + * @return * @author wangc * @date 2020.09.28 14:44 */ @Override - public Map getLatestOperation(List list, String customerId) { + public Map getLatestOperation(List list, String customerId) { List operations = baseDao.selectLatestOperation(list,customerId); if(CollectionUtils.isEmpty(operations)){ return Collections.EMPTY_MAP; }else{ - return operations.stream().collect(Collectors.toMap(ProjectLatestOperationResultDTO :: getProjectId,ProjectLatestOperationResultDTO :: getOperationName)); + return operations.stream().collect(Collectors.toMap(ProjectLatestOperationResultDTO :: getProjectId,o->o,(a,n)-> a)); } } - - /** - * @Description 获取项目标题 - * @param list - * @param customerId - * @return java.util.Map - * @author wangc - * @date 2020.10.27 14:34 - */ - @Override - public Map getProjectTitle(List list, String customerId) { - List titles = baseDao.selectProjectTitle(list,customerId); - if(CollectionUtils.isEmpty(titles)){ - return Collections.EMPTY_MAP; - }else{ - return titles.stream().collect(Collectors.toMap(ProjectLatestOperationResultDTO :: getProjectId,ProjectLatestOperationResultDTO :: getOperationName)); - } - } - } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index baa6a83d25..f5c56529be 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -331,7 +331,7 @@ ( project.PROJECT_STATUS = 'pending', '处理中', '已结案' ) AS eventStatusDesc, IFNULL(relation.reOrg,0) AS eventReOrg, IFNULL(handleCount.HandledCount,0) AS eventHandledCount, - IFNULL(costTime.costTime,0) AS eventCostTime , + gridInfo.allParentIds FROM fact_origin_project_main_daily project @@ -382,26 +382,6 @@ GROUP BY PROJECT_ID ) handleCount ON project.ID = handleCount.PROJECT_ID - LEFT JOIN ( - SELECT - main.ID AS PROJECT_ID, - TIMESTAMPDIFF( - MINUTE, - str_to_date( main.DATE_ID, '%Y%m%d' ), - IF - ( main.IS_RESOLVED = 'resolved', time.HANDLED_DATE, NOW( ) ) - ) AS costTime - FROM - fact_origin_project_main_daily main - LEFT JOIN fact_origin_project_org_period_daily time ON main.ID = time.PROJECT_ID - AND time.DEL_FLAG = '0' - AND time.OPERATION = 'close' - WHERE - main.DEL_FLAG = '0' - AND main.CUSTOMER_ID = #{customerId} - GROUP BY - main.ID - ) costTime ON project.ID = costTime.PROJECT_ID WHERE project.DEL_FLAG = '0' AND project.CUSTOMER_ID = #{customerId} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml index efa7b82bb4..3236a09bea 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml @@ -268,9 +268,11 @@ - - \ No newline at end of file From 0b4375f87c9c78e40c5ba59f3afccdc75985e4bd Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 17:55:10 +0800 Subject: [PATCH 11/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E6=95=B0=E6=8D=AE=E6=8A=BD=E5=8F=96=20?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=95=B0=E6=8D=AE=E6=8F=90=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todata/impl/ProjectExtractServiceImpl.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 5077794d49..5880abebe8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -16,7 +16,6 @@ import com.epmet.dto.issue.IssueDTO; import com.epmet.dto.party.PartyMemberDTO; import com.epmet.dto.project.FinishOrgDTO; import com.epmet.dto.project.ProcessInfoDTO; -import com.epmet.dto.project.ProjectOrgRelationDTO; import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO; import com.epmet.dto.result.WorkDayResultDTO; import com.epmet.dto.topic.ResiTopicDTO; @@ -42,8 +41,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; -import java.util.*; -import java.util.stream.Collector; +import java.util.ArrayList; +import java.util.Date; +import java.util.LinkedList; +import java.util.List; import java.util.stream.Collectors; /** @@ -192,8 +193,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setFinishOrgIds(org); })); //插入数据 + factOriginProjectMainDailyService.deleteByDate(customerId, dateString); if (!list.isEmpty()) { - factOriginProjectMainDailyService.deleteByDate(customerId, dateString); factOriginProjectMainDailyService.insertBatch(list); } } @@ -368,8 +369,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { path =path.substring(NumConstant.ZERO,path.length() - NumConstant.ONE); } entity.setPids(path); - }else{ - log.warn("【data-statistical】业务数据抽取模块,ProjectExtractServiceImpl.saveOriginProjectDaily:查询出的项目节点发起人所属的orgIdPath不正确,agencyId->{},orgIdPath->{}",process.getAgencyId(),process.getPids()); + } else { + log.warn("【data-statistical】业务数据抽取模块,ProjectExtractServiceImpl.saveOriginProjectDaily:查询出的项目节点发起人所属的orgIdPath不正确,agencyId->{},orgIdPath->{}", process.getAgencyId(), process.getPids()); entity.setPid(NumConstant.ZERO_STR); entity.setPids(""); } @@ -378,8 +379,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { return entity; }).collect(Collectors.toList())); + factOriginProjectLogDailyService.deleteByDate(customerId, dateString); if (!logList.isEmpty()) { - factOriginProjectLogDailyService.deleteByDate(customerId, dateString); factOriginProjectLogDailyService.insertBatch(logList); } From ea4045b37e4f245af3e914ec1152137cffad3bbc Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 18:07:09 +0800 Subject: [PATCH 12/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E6=95=B0=E6=8D=AE=E6=8A=BD=E5=8F=96=20?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=95=B0=E6=8D=AE=E6=8F=90=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/todata/impl/ProjectExtractServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 5880abebe8..452edc9665 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -124,6 +124,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { } //获取项目信息 List projectList = projectService.getProjectInfo(customerId, dateString); + factOriginProjectMainDailyService.deleteByDate(customerId, dateString); if (!CollectionUtils.isEmpty(projectList)) { //提取议题ID List issueIds = projectList.stream().map(ProjectDTO::getOriginId).collect(Collectors.toList()); @@ -193,7 +194,6 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setFinishOrgIds(org); })); //插入数据 - factOriginProjectMainDailyService.deleteByDate(customerId, dateString); if (!list.isEmpty()) { factOriginProjectMainDailyService.insertBatch(list); } From 531931c818a4db62871796cfa69469d8da1eafdc Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Tue, 17 Nov 2020 11:08:33 +0800 Subject: [PATCH 13/24] =?UTF-8?q?=E7=94=9F=E6=88=90=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E5=A2=9E=E5=8A=A0=E7=BA=BF=E7=A8=8B=E6=B1=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/AccessTokenDTO.java | 19 +++ .../main/java/com/epmet/utils/ThirdUtils.java | 53 +++++++ .../resi-group/resi-group-server/pom.xml | 20 +++ .../java/com/epmet/config/AsyncConfig.java | 49 +++++++ .../controller/ResiGroupCodeController.java | 2 +- .../group/service/ResiGroupCodeService.java | 4 +- .../impl/ResiGroupCodeServiceImpl.java | 134 +++++++++--------- .../service/impl/ResiGroupServiceImpl.java | 2 +- .../epmet/properties/ThreadProperties.java | 25 ++++ .../src/main/resources/bootstrap.yml | 10 +- 10 files changed, 244 insertions(+), 74 deletions(-) create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/AccessTokenDTO.java create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/utils/ThirdUtils.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/AsyncConfig.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/properties/ThreadProperties.java diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/AccessTokenDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/AccessTokenDTO.java new file mode 100644 index 0000000000..dac9be670e --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/AccessTokenDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @description: + * @author: liushaowen + * @date: 2020/11/17 10:07 + */ +@Data +public class AccessTokenDTO implements Serializable { + private String resiToken; + + private String workToken; + + private String errMsg; +} diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/utils/ThirdUtils.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/utils/ThirdUtils.java new file mode 100644 index 0000000000..426bab2b82 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/utils/ThirdUtils.java @@ -0,0 +1,53 @@ +package com.epmet.utils; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.epmet.commons.tools.enums.EnvEnum; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.HttpClientManager; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.AccessTokenDTO; +import com.epmet.dto.result.CustomerTokensResultDTO; +import org.apache.commons.lang3.StringUtils; + +import java.util.HashMap; +import java.util.Map; + +/** + * @description: + * @author: liushaowen + * @date: 2020/11/17 10:04 + */ + +public class ThirdUtils { + /** + * @Description 获取AccessToken公共方法 + * @param customerId + * @return com.epmet.dto.AccessTokenDTO + * @Author liushaowen + * @Date 2020/11/17 10:09 + */ + public static AccessTokenDTO getAccessToken(String customerId) { + EnvEnum envEnum = EnvEnum.getCurrentEnv(); + AccessTokenDTO accessToken = new AccessTokenDTO(); + + String url = "https://epmet-cloud.elinkservice.cn/api/third/pacustomer/tokenlist"; + JSONObject postData = new JSONObject(); + postData.put("customerId", customerId); + String data = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(postData)).getData(); + JSONObject toResult = JSON.parseObject(data); + Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class); + if (null != toResult.get("code")) { + mapToResult.setCode(((Integer) toResult.get("code")).intValue()); + } + if (!mapToResult.success()) { + accessToken.setErrMsg( StringUtils.isBlank(mapToResult.getMsg()) ? mapToResult.getInternalMsg() : mapToResult.getMsg()); + } + Object CustomerTokensResultDTO = mapToResult.getData(); + JSONObject json = JSON.parseObject(CustomerTokensResultDTO.toString()); + CustomerTokensResultDTO customerTokensResultDTO = ConvertUtils.mapToEntity(json, com.epmet.dto.result.CustomerTokensResultDTO.class); + accessToken.setResiToken(customerTokensResultDTO.getResiAuthorizerToken()); + accessToken.setWorkToken(customerTokensResultDTO.getWorkAuthorizerToken()); + return accessToken; + } +} diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index 8d7f6c1173..1489a642ca 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -160,6 +160,11 @@ false https://epmet-dev.elinkservice.cn/api/epmetscan/api + + 5 + 8 + 10 + 30 @@ -193,6 +198,11 @@ false https://epmet-dev.elinkservice.cn/api/epmetscan/api + + 5 + 8 + 10 + 30 @@ -225,6 +235,11 @@ true https://epmet-dev.elinkservice.cn/api/epmetscan/api + + 5 + 8 + 10 + 30 @@ -254,6 +269,11 @@ true https://epmet-open.elinkservice.cn/api/epmetscan/api + + 5 + 8 + 10 + 30 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/AsyncConfig.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/AsyncConfig.java new file mode 100644 index 0000000000..8a1a958939 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/AsyncConfig.java @@ -0,0 +1,49 @@ +package com.epmet.config; + +import com.epmet.properties.ThreadProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 线程池配置类 + */ +@Configuration +@EnableConfigurationProperties(ThreadProperties.class) +@EnableAsync +public class AsyncConfig { + + @Autowired + private ThreadProperties threadProperties; + + @Bean + public Executor executor() { + ThreadProperties.ThreadPoolProperties threadPoolProps = threadProperties.getThreadPool(); + + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(threadPoolProps.getCorePoolSize()); + executor.setMaxPoolSize(threadPoolProps.getMaxPoolSize()); + executor.setQueueCapacity(threadPoolProps.getQueueCapacity()); + executor.setThreadNamePrefix("epmet-resi-group-"); + // rejection-policy:当pool已经达到max size的时候,如何处理新任务 + // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略 + executor.setKeepAliveSeconds(threadPoolProps.getKeepAlive()); + executor.initialize(); + return executor; + } + + @Bean + public ExecutorService executorService() { + ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); + return executor.getThreadPoolExecutor(); + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupCodeController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupCodeController.java index 6f6430f358..34b4458ea8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupCodeController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupCodeController.java @@ -89,7 +89,7 @@ public class ResiGroupCodeController { @RequestMapping("creategroupcode") public Result createGroupCode(@RequestBody CreateGroupCodeFormDTO dto){ ValidatorUtils.validateEntity(dto); - return new Result().ok(resiGroupCodeService.createGroupCode(dto)); + return new Result().ok(resiGroupCodeService.createGroupCode(dto, true)); } @RequestMapping("getgroupcode") diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupCodeService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupCodeService.java index de9a3a1505..e0b5e7ec4d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupCodeService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupCodeService.java @@ -101,12 +101,12 @@ public interface ResiGroupCodeService extends BaseService { /** * @Description 创建群组二维码 - * @param dto + * @param dto,syncFlag(是否同步执行,true同步,false异步) * @return String * @Author liushaowen * @Date 2020/11/13 16:32 */ - String createGroupCode(CreateGroupCodeFormDTO dto); + String createGroupCode(CreateGroupCodeFormDTO dto, boolean syncFlag); /** * @Description 获取群组二维码 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java index a09b756ca6..d989b3a379 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java @@ -25,6 +25,7 @@ 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.enums.EnvEnum; +import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -48,6 +49,7 @@ import com.epmet.resi.group.dto.group.form.CreateGroupCodeFormDTO; import com.epmet.resi.group.dto.group.form.GetGroupCodeFormDTO; import com.epmet.resi.group.dto.group.form.GroupCodeBasicInfoFormDTO; import com.epmet.resi.group.dto.group.result.GroupCodeBasicInfoResultDTO; +import com.epmet.utils.ThirdUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,6 +60,7 @@ import org.springframework.transaction.annotation.Transactional; import java.io.UnsupportedEncodingException; import java.util.*; +import java.util.concurrent.ExecutorService; /** * 小组二维码 小组唯一二维码,海报码和小组码是同一个二维码,长期有效的 @@ -76,6 +79,9 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -129,14 +135,68 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl{ + try { + long startTs = System.currentTimeMillis(); + createCodeFunction(dto); + long endTs = System.currentTimeMillis(); + logger.info("异步创建群二维码成功,执行时长:{}", endTs - startTs); + } catch (Exception e) { + logger.error("异步创建群二维码失败,错误信息:{}", ExceptionUtils.getErrorStackTrace(e)); + } + }); + return ""; + } + } + + /** + * @param dto + * @return com.epmet.commons.tools.utils.Result + * @Description 获取群组二维码 + * @Author liushaowen + * @Date 2020/11/16 9:37 + */ + @Override + public Result getGroupCode(GetGroupCodeFormDTO dto) { + ResiGroupCodeEntity codeByGroupId = getCode(dto.getGroupId(), dto.getType()); + if (codeByGroupId != null) { + //数据库有数据 + return new Result().ok(codeByGroupId.getUrl()); + } else { + //从微信获取二维码并存储 + CreateGroupCodeFormDTO createDto = new CreateGroupCodeFormDTO(); + BeanUtils.copyProperties(dto, createDto); + String url = createGroupCode(createDto, false); + if (StringUtils.isBlank(url)){ + throw new RenException("获取二维码失败"); + } + return new Result().ok(url); + } + } + + private ResiGroupCodeEntity getCode(String groupId, String type) { + if (StringUtils.isBlank(groupId) || StringUtils.isBlank(type)) { + throw new RenException("获取二维码失败,groupId或type为空"); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DEL_FLAG", "0"); + queryWrapper.eq("GROUP_ID", groupId); + queryWrapper.eq("TYPE", type); + return baseDao.selectOne(queryWrapper); + } + + private String createCodeFunction(CreateGroupCodeFormDTO dto){ String result = ""; ResiGroupCodeEntity codeByGroupId = getCode(dto.getGroupId(), dto.getType()); if (codeByGroupId != null) { @@ -146,7 +206,7 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl - * @Description 获取群组二维码 - * @Author liushaowen - * @Date 2020/11/16 9:37 - */ - @Override - public Result getGroupCode(GetGroupCodeFormDTO dto) { - ResiGroupCodeEntity codeByGroupId = getCode(dto.getGroupId(), dto.getType()); - if (codeByGroupId != null) { - //数据库有数据 - return new Result().ok(codeByGroupId.getUrl()); - } else { - //从微信获取二维码并存储 - CreateGroupCodeFormDTO createDto = new CreateGroupCodeFormDTO(); - BeanUtils.copyProperties(dto, createDto); - String url = createGroupCode(createDto); - if (StringUtils.isBlank(url)){ - throw new RenException("获取二维码失败"); - } - return new Result().ok(url); - } - } - - private ResiGroupCodeEntity getCode(String groupId, String type) { - if (StringUtils.isBlank(groupId) || StringUtils.isBlank(type)) { - throw new RenException("获取二维码失败,groupId或type为空"); - } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("DEL_FLAG", "0"); - queryWrapper.eq("GROUP_ID", groupId); - queryWrapper.eq("TYPE", type); - return baseDao.selectOne(queryWrapper); - } - - //获取AccessToken - private String getAccessToken(String customerId) { - EnvEnum envEnum = EnvEnum.getCurrentEnv(); - String resiAccessToken = null; - if (EnvEnum.PROD.getCode().equals(envEnum.getCode())) { - //居民端 - StringBuilder resiKey = new StringBuilder(customerId).append(":resi"); - Map authorizerRefreshToken = new HashMap<>(); - authorizerRefreshToken = resiGroupCodeRedis.getAuthorizerRefreshToken(resiKey.toString()); - resiAccessToken = (String) authorizerRefreshToken.get("authorizerAccessToken"); - } else { - String url = "https://epmet-cloud.elinkservice.cn/api/third/pacustomer/tokenlist"; - JSONObject postData = new JSONObject(); - postData.put("customerId", customerId); - String data = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(postData)).getData(); - JSONObject toResult = JSON.parseObject(data); - Result mapToResult = ConvertUtils.mapToEntity(toResult, Result.class); - if (null != toResult.get("code")) { - mapToResult.setCode(((Integer) toResult.get("code")).intValue()); - } - Object CustomerTokensResultDTO = mapToResult.getData(); - JSONObject json = JSON.parseObject(CustomerTokensResultDTO.toString()); - CustomerTokensResultDTO customerTokensResultDTO = ConvertUtils.mapToEntity(json, com.epmet.dto.result.CustomerTokensResultDTO.class); - resiAccessToken = customerTokensResultDTO.getResiAuthorizerToken(); - } - return resiAccessToken; - } - /** * @param formDTO * @Description 获取生成海报(小组码)信息 @@ -272,7 +268,7 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl Date: Tue, 17 Nov 2020 11:09:44 +0800 Subject: [PATCH 14/24] =?UTF-8?q?=E8=A1=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/group/service/impl/ResiGroupCodeServiceImpl.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/ResiGroupCodeServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java index d989b3a379..8cdb706bbe 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java @@ -177,7 +177,7 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl Date: Tue, 17 Nov 2020 11:12:27 +0800 Subject: [PATCH 15/24] =?UTF-8?q?resi=5Fgroup=E6=96=B0=E5=A2=9EAUDIT=5FSWI?= =?UTF-8?q?TCH=EF=BC=9Bgroup=5Finvitation=E6=96=B0=E5=A2=9EINVITATION=5FTY?= =?UTF-8?q?PE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/db/migration/V0.0.5__group_audit_switch.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql new file mode 100644 index 0000000000..4d0ea52216 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql @@ -0,0 +1,4 @@ +alter table resi_group add column AUDIT_SWITCH varchar(32) not null DEFAULT'open' COMMENT '进组审核open开启;close关闭'; + + +alter table group_invitation add column INVITATION_TYPE VARCHAR(32) NOT NULL DEFAULT 'link' comment '邀请链接:link;扫码:scan_code'; \ No newline at end of file From 856e131c8db8a1f9c419196c580128dfdb633cae Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 17 Nov 2020 11:13:40 +0800 Subject: [PATCH 16/24] =?UTF-8?q?=E6=89=AB=E7=A0=81=EF=BC=9Ascancode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.0.5__group_audit_switch.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql index 4d0ea52216..00735c03bf 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql @@ -1,4 +1,4 @@ alter table resi_group add column AUDIT_SWITCH varchar(32) not null DEFAULT'open' COMMENT '进组审核open开启;close关闭'; -alter table group_invitation add column INVITATION_TYPE VARCHAR(32) NOT NULL DEFAULT 'link' comment '邀请链接:link;扫码:scan_code'; \ No newline at end of file +alter table group_invitation add column INVITATION_TYPE VARCHAR(32) NOT NULL DEFAULT 'link' comment '邀请链接:link;扫码:scancode'; \ No newline at end of file From 39ea1a7dc8e550b871e3bb6770b3b573a022f55d Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 17 Nov 2020 11:22:05 +0800 Subject: [PATCH 17/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9resi=5Fgroup=5Fmember?= =?UTF-8?q?=E5=92=8Cgroup=5Fmember=5Foperation=E4=B8=AD=E7=9A=84enter=5Fgr?= =?UTF-8?q?oup=5Ftype=E6=8F=8F=E8=BF=B0=EF=BC=8C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=89=AB=E7=A0=81=E5=85=A5=E7=BE=A4=20scancode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/db/migration/V0.0.5__group_audit_switch.sql | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql index 00735c03bf..30eada9edd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.5__group_audit_switch.sql @@ -1,4 +1,9 @@ alter table resi_group add column AUDIT_SWITCH varchar(32) not null DEFAULT'open' COMMENT '进组审核open开启;close关闭'; -alter table group_invitation add column INVITATION_TYPE VARCHAR(32) NOT NULL DEFAULT 'link' comment '邀请链接:link;扫码:scancode'; \ No newline at end of file +alter table group_invitation add column INVITATION_TYPE VARCHAR(32) NOT NULL DEFAULT 'link' comment '邀请链接:link;扫码:scancode'; + + +alter table group_memeber_operation MODIFY ENTER_GROUP_TYPE varchar(32) not null comment '入群方式:(受邀请入群 - invited;主动加入 - join;created创建群自动进入;scancode扫码入群)'; + +alter table resi_group_member modify ENTER_GROUP_TYPE varchar(32) not null comment '入群方式:(受邀请入群 - invited 、 主动加入 - join、created创建群自动进入、扫码入群-scancode)'; From c3bb16180937e0ec2956d98a70f2acb38125f2c2 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 17 Nov 2020 13:49:59 +0800 Subject: [PATCH 18/24] =?UTF-8?q?DB=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/resi/group/dto/group/ResiGroupDTO.java | 5 +++++ .../epmet/resi/group/dto/invitation/GroupInvitationDTO.java | 5 +++++ .../resi/group/dto/member/GroupMemeberOperationDTO.java | 2 +- .../com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java | 2 +- .../java/com/epmet/modules/group/entity/ResiGroupEntity.java | 5 +++++ .../modules/invitation/entity/GroupInvitationEntity.java | 5 +++++ .../modules/member/entity/GroupMemeberOperationEntity.java | 2 +- .../epmet/modules/member/entity/ResiGroupMemberEntity.java | 2 +- 8 files changed, 24 insertions(+), 4 deletions(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java index 9045ac28ea..be61d33c2a 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/ResiGroupDTO.java @@ -74,6 +74,11 @@ Ps: 如果一个小组被拒绝,当前小组的状态将永久停留在“审 */ private Date latestTopicPublishDate; + /** + * 进组审核open开启;close关闭 + */ + private String auditSwitch; + /** * 删除标记 0:未删除,1:已删除 */ diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java index b4bc7fe18a..195403c41c 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java @@ -68,6 +68,11 @@ public class GroupInvitationDTO implements Serializable { */ private Date validEndTime; + /** + * 邀请链接:link;扫码:scancode + */ + private String invitationType; + /** * 删除标记 0:未删除,1:已删除 */ diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/GroupMemeberOperationDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/GroupMemeberOperationDTO.java index 23a8331ac0..751153861a 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/GroupMemeberOperationDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/GroupMemeberOperationDTO.java @@ -62,7 +62,7 @@ public class GroupMemeberOperationDTO implements Serializable { private String operateStatus; /** - * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群、扫码入群 - scancode) */ private String enterGroupType; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java index 49de542902..c6cd651968 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/ResiGroupMemberDTO.java @@ -54,7 +54,7 @@ public class ResiGroupMemberDTO implements Serializable { private String groupLeaderFlag; /** - * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群、扫码入群 - scancode) */ private String enterGroupType; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java index 0305fb7834..8dfa5e2db8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/entity/ResiGroupEntity.java @@ -74,4 +74,9 @@ Ps: 如果一个小组被拒绝,当前小组的状态将永久停留在“审 */ private Date latestTopicPublishDate; + /** + * 进组审核open开启;close关闭 + */ + private String auditSwitch; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java index 5595d7fd5c..12202fc2ad 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java @@ -68,4 +68,9 @@ public class GroupInvitationEntity extends BaseEpmetEntity { */ private Date validEndTime; + /** + * 邀请链接:link;扫码:scancode + */ + private String invitationType; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/GroupMemeberOperationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/GroupMemeberOperationEntity.java index 9ffc9f66d8..fd7537370c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/GroupMemeberOperationEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/GroupMemeberOperationEntity.java @@ -62,7 +62,7 @@ Ps: 1) 入群被拒绝之后,如果再申请是插入一条新的审核中的 private String operateStatus; /** - * 入群方式:(受邀请入群 - invited 、 主动加入 - join) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、扫码入群 - scancode) */ private String enterGroupType; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/ResiGroupMemberEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/ResiGroupMemberEntity.java index 492ab5da62..6dc7d21ad2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/ResiGroupMemberEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/entity/ResiGroupMemberEntity.java @@ -54,7 +54,7 @@ public class ResiGroupMemberEntity extends BaseEpmetEntity { private String groupLeaderFlag; /** - * 入群方式:(受邀请入群 - invited 、 主动加入 - join) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、扫码入群 - scancode) */ private String enterGroupType; From 0208f3ac4137462699a9ac739c06436225a92b6d Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 17 Nov 2020 13:57:21 +0800 Subject: [PATCH 19/24] =?UTF-8?q?=E7=BE=A4=E9=82=80=E8=AF=B7=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/resi/group/constant/GroupStateConstant.java | 8 ++++++++ .../service/impl/GroupInvitationServiceImpl.java | 1 + 2 files changed, 9 insertions(+) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java index fcb2afc28f..b91b09a2f3 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java @@ -41,4 +41,12 @@ public interface GroupStateConstant { * 群已关闭 - closed */ String GROUP_CLOSED = "closed"; + /** + * 邀请链接:link + */ + String GROUP_LINK = "link"; + /** + * 扫码:scancode + */ + String GROUP_SCANCODE = "scancode"; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java index 606eb75fbe..a32d4d1d70 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java @@ -181,6 +181,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl Date: Tue, 17 Nov 2020 14:00:16 +0800 Subject: [PATCH 20/24] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=BB=84=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=95=8C=E9=9D=A2=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BF=94=E5=8F=82=EF=BC=9AauditSwitch=20?= =?UTF-8?q?=EF=BC=9A=E8=BF=9B=E7=BB=84=E5=AE=A1=E6=A0=B8open=E5=BC=80?= =?UTF-8?q?=E5=90=AF=EF=BC=9Bclose=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi/group/dto/group/result/GroupSummarizeResultDTO.java | 5 +++++ .../src/main/resources/mapper/group/ResiGroupDao.xml | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java index 9e54c59eb5..0b19208c9f 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupSummarizeResultDTO.java @@ -65,6 +65,10 @@ public class GroupSummarizeResultDTO implements Serializable { */ private String leaderFlag; + /** + * 进组审核open开启;close关闭 + */ + private String auditSwitch; public GroupSummarizeResultDTO(){ this.setGroupId(""); this.setGroupHeadPhoto(""); @@ -76,5 +80,6 @@ public class GroupSummarizeResultDTO implements Serializable { this.setTotalApplyingMember(NumConstant.ZERO); this.setTotalTopics(NumConstant.ZERO); this.setLeaderFlag(""); + this.setAuditSwitch("open"); } } 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..9f7b719a64 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 @@ -150,7 +150,8 @@ AND gmo.GROUP_ID = rg.id AND gmo.OPERATE_STATUS = 'under_auditting' ) AS totalApplyingMember, - rgs.TOTAL_TOPICS + rgs.TOTAL_TOPICS, + rg.AUDIT_SWITCH FROM resi_group rg LEFT JOIN resi_group_statistical rgs ON ( rg.id = rgs.RESI_GROUP_ID ) From bfa25c3bb78422b69d4a3c6f453cda0ef1cd831f Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Tue, 17 Nov 2020 14:27:06 +0800 Subject: [PATCH 21/24] =?UTF-8?q?=E7=BE=A4=E4=BA=8C=E7=BB=B4=E7=A0=81?= =?UTF-8?q?=E5=8F=98=E4=B8=BAinvitationId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ResiGroupCodeServiceImpl.java | 19 ++++++++++- .../service/GroupInvitationService.java | 11 +++++- .../impl/GroupInvitationServiceImpl.java | 34 +++++++++++++++++++ 3 files changed, 62 insertions(+), 2 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java index 8cdb706bbe..297f2cfd71 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupCodeServiceImpl.java @@ -41,6 +41,8 @@ import com.epmet.modules.group.dao.ResiGroupCodeDao; import com.epmet.modules.group.entity.ResiGroupCodeEntity; import com.epmet.modules.group.redis.ResiGroupCodeRedis; import com.epmet.modules.group.service.ResiGroupCodeService; +import com.epmet.modules.group.service.ResiGroupService; +import com.epmet.modules.invitation.service.GroupInvitationService; import com.epmet.modules.utils.ModuleConstant; import com.epmet.resi.group.constant.GroupCodeConstant; import com.epmet.resi.group.dto.QRCodeMultipartFileDTO; @@ -49,6 +51,8 @@ import com.epmet.resi.group.dto.group.form.CreateGroupCodeFormDTO; import com.epmet.resi.group.dto.group.form.GetGroupCodeFormDTO; import com.epmet.resi.group.dto.group.form.GroupCodeBasicInfoFormDTO; import com.epmet.resi.group.dto.group.result.GroupCodeBasicInfoResultDTO; +import com.epmet.resi.group.dto.invitation.form.CreateGroupInvitationFormDTO; +import com.epmet.resi.group.dto.invitation.result.CreateGroupInvitationResultDTO; import com.epmet.utils.ThirdUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -82,6 +86,12 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -213,7 +223,14 @@ public class ResiGroupCodeServiceImpl extends BaseServiceImpl * @param formDTO * @Author yinzuomei - * @Description 生成邀请连接 + * @Description 生成邀请连接-链接 * @Date 2020/3/31 22:50 **/ CreateGroupInvitationResultDTO createGroupInvitation(CreateGroupInvitationFormDTO formDTO); + /** + * @return com.epmet.commons.tools.utils.Result + * @param formDTO + * @Author liushaowen + * @Description 生成邀请连接-扫码 + * @Date 2020-11-17 13:58 + **/ + CreateGroupInvitationResultDTO createGroupScanCodeInvitation(CreateGroupInvitationFormDTO formDTO); + /** * @return com.epmet.commons.tools.utils.Result * @param formDTO diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java index a32d4d1d70..aa5a5f13af 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java @@ -188,6 +188,40 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl + * @Author liushaowen + * @Description 生成邀请连接-扫码 + * @Date 2020-11-17 13:58 + **/ + @Override + public CreateGroupInvitationResultDTO createGroupScanCodeInvitation(CreateGroupInvitationFormDTO formDTO) { + //1、只有群主可以邀请新成员(这块界面限制死了,只有群主才能看到邀请新成员按钮) + //2、审核通过(讨论中)的群才可以分享邀请连接 + ResiGroupDTO resiGroupDTO = resiGroupService.get(formDTO.getGroupId()); + if (!GroupStateConstant.GROUP_APPROVED.equals(resiGroupDTO.getState())) { + logger.error(String.format("生成群成员链接失败,原因:%s",EpmetErrorCode.INVITE_NEW_MEMBER.getMsg())); + throw new RenException(EpmetErrorCode.INVITE_NEW_MEMBER.getCode()); + } + //3、插入一条邀请记录 + GroupInvitationEntity groupInvitationEntity = new GroupInvitationEntity(); + groupInvitationEntity.setInviterUserId(formDTO.getUserId()); + groupInvitationEntity.setInviterCustomerId(resiGroupDTO.getCustomerId()); + groupInvitationEntity.setInviterGridId(resiGroupDTO.getGridId()); + //添加类型字段 scancode + groupInvitationEntity.setInvitationType(GroupStateConstant.GROUP_SCANCODE); + //暂定50年有效期 + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + NumConstant.FIFTY); + groupInvitationEntity.setValidEndTime(calendar.getTime()); + groupInvitationEntity.setResiGroupId(formDTO.getGroupId()); + insert(groupInvitationEntity); + CreateGroupInvitationResultDTO resultDTO = new CreateGroupInvitationResultDTO(); + resultDTO.setInvitationId(groupInvitationEntity.getId()); + return resultDTO; + } + /** * @param formDTO * @return com.epmet.commons.tools.utils.Result From af95b5311ae49080c2cd17421355b1107baa8e25 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 17 Nov 2020 14:32:34 +0800 Subject: [PATCH 22/24] =?UTF-8?q?=20=E7=BB=84=E9=95=BF=E5=BC=80=E5=90=AF/?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E5=85=A5=E7=BE=A4=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 2 +- .../member/form/EditAuditSwitchFormDTO.java | 27 +++++++++++++++++++ .../group/controller/ResiGroupController.java | 21 +++++++++++++-- .../group/service/ResiGroupService.java | 11 ++++++++ .../service/impl/ResiGroupServiceImpl.java | 24 ++++++++++++++++- 5 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/EditAuditSwitchFormDTO.java 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..c161babc30 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 @@ -47,7 +47,7 @@ public enum EpmetErrorCode { IDCARDNO_ALREADY_EXITS(8109,"系统已存在相同身份证号码,请重新输入"), IDCARDNO_ERROR(8110,"身份证号格式错误,请重新输入"), CANNOT_DELETE_PARTY_MEMBER(8111,"该用户已注册党员,不允许删除"), - GROUP_LEADER_CAN_EDIT_GROUP_INFO(8112,"只有组长才可以修改小组信息"), + GROUP_LEADER_CAN_EDIT_GROUP_INFO(8112,"只有组长才可以操作"), INVITE_NEW_MEMBER(8113,"只有讨论中的小组才可以邀请新成员"), ACT_TITLE_SCAN_FAILED(8114,"活动标题审核失败,请重新编辑"), ACT_REQ_SCAN_FAILED(8115,"活动报名条件审核失败,请重新编辑"), diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/EditAuditSwitchFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/EditAuditSwitchFormDTO.java new file mode 100644 index 0000000000..da1391fa51 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/EditAuditSwitchFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.resi.group.dto.member.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 组长开启/关闭入群审核 + * + * @author yinzuomei@elink-cn.com + * @date 2020/11/17 14:02 + */ +@Data +public class EditAuditSwitchFormDTO implements Serializable { + private static final long serialVersionUID = -8185514609968752625L; + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + @NotBlank(message = "小组id不能为空") + private String groupId; + /** + * 进组审核open开启;close关闭 + */ + @NotBlank(message = "请选择是否开启", groups = {EditAuditSwitchFormDTO.AddUserShowGroup.class}) + private String auditSwitch; +} 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..0b375a570f 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 @@ -27,9 +27,13 @@ import com.epmet.modules.group.service.ResiGroupStatisticalService; import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; +import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import com.epmet.resi.group.dto.member.form.ResiIdentityFormDTO; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +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 java.util.List; @@ -103,7 +107,7 @@ public class ResiGroupController { * @param modifyGroupFormDTO * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei - * @Description 修改组信息 + * @Description 修改组信息 此接口废弃 * @Date 2020/3/28 22:20 **/ @PostMapping("modifygroup") @@ -359,4 +363,17 @@ public class ResiGroupController { resiGroupStatisticalService.updateWhenAuditedResiRole(resiIdentityFormDTO); return new Result(); } + + /** + * @param formDTO + * @author yinzuomei + * @description 组长开启/关闭入群审核 + * @Date 2020/11/17 14:18 + **/ + @PostMapping("editauditswitch") + public Result editAuditSwitch(@RequestBody EditAuditSwitchFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO,EditAuditSwitchFormDTO.AddUserShowGroup.class); + resiGroupService.editAuditSwitch(formDTO); + 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 d410b4f391..c259137f33 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 @@ -27,6 +27,7 @@ import com.epmet.resi.group.dto.group.GroupProcessingCountResultDTO; import com.epmet.resi.group.dto.group.ResiGroupDTO; import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.*; +import com.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import java.util.List; import java.util.Map; @@ -134,6 +135,7 @@ public interface ResiGroupService extends BaseService { * @Description 修改组信息 * @Date 2020/3/28 22:27 **/ + @Deprecated void modifyGroup(ModifyGroupFormDTO modifyGroupFormDTO); /** @@ -293,4 +295,13 @@ public interface ResiGroupService extends BaseService { * @return java.util.List */ List recommendedList(RecommendedListFormDTO formDTO); + + /** + * @return void + * @param formDTO + * @author yinzuomei + * @description 组长开启/关闭入群审核 + * @Date 2020/11/17 14:18 + **/ + void editAuditSwitch(EditAuditSwitchFormDTO formDTO); } 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 1cc0101da5..af234ee47b 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 @@ -28,6 +28,7 @@ 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.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; @@ -58,13 +59,14 @@ 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.*; 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.epmet.resi.group.dto.member.form.EditAuditSwitchFormDTO; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -127,6 +129,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) { @@ -966,6 +970,24 @@ public class ResiGroupServiceImpl extends BaseServiceImpl Date: Tue, 17 Nov 2020 14:34:10 +0800 Subject: [PATCH 23/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E8=A7=A3?= =?UTF-8?q?=E5=86=B3oss-client=E5=BD=B1=E5=93=8D=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/feign/OssFeignClient.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java index 47daa888cc..239ca51acc 100644 --- a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java +++ b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/feign/OssFeignClient.java @@ -30,6 +30,8 @@ import org.springframework.web.multipart.MultipartFile; */ @FeignClient(name = ServiceConstant.EPMET_OSS_SERVER, configuration = OssFeignClient.MultipartSupportConfig.class, fallback = OssFeignClientFallback.class) +//@FeignClient(name = ServiceConstant.EPMET_OSS_SERVER, configuration = OssFeignClient.MultipartSupportConfig.class, fallback = +// OssFeignClientFallback.class) public interface OssFeignClient { /** * 文件上传 @@ -44,7 +46,7 @@ public interface OssFeignClient { Result uploadQrCode(@RequestPart(value = "file") MultipartFile file); - @Configuration + //@Configuration class MultipartSupportConfig { @Bean public Encoder feignFormEncoder() { From 4ef8e25b87a17da68bccab5f486a2e993a888c86 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 17 Nov 2020 15:30:52 +0800 Subject: [PATCH 24/24] =?UTF-8?q?=E6=89=AB=E7=A0=81=E8=BF=9B=E7=BE=A4?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=98=AF=E5=90=A6=E5=BC=80=E5=90=AF=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/constant/GroupStateConstant.java | 12 ++++++-- .../dto/invitation/GroupInvitationDTO.java | 2 +- .../entity/GroupInvitationEntity.java | 2 +- .../impl/GroupInvitationServiceImpl.java | 30 +++++++++++++++---- .../impl/ResiGroupMemberServiceImpl.java | 2 +- .../migration/V0.0.5__group_audit_switch.sql | 2 +- 6 files changed, 38 insertions(+), 12 deletions(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java index b91b09a2f3..ee3bcda420 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/GroupStateConstant.java @@ -42,11 +42,19 @@ public interface GroupStateConstant { */ String GROUP_CLOSED = "closed"; /** - * 邀请链接:link + * 邀请链接:invited */ - String GROUP_LINK = "link"; + String GROUP_INVITED = "invited"; /** * 扫码:scancode */ String GROUP_SCANCODE = "scancode"; + /** + * 进组审核open开启;close关闭 + */ + String AUDIT_SWITCH_OPEN = "open"; + /** + * 进组审核open开启;close关闭 + */ + String AUDIT_SWITCH_CLOSED = "close"; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java index 195403c41c..f157c439d1 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/invitation/GroupInvitationDTO.java @@ -69,7 +69,7 @@ public class GroupInvitationDTO implements Serializable { private Date validEndTime; /** - * 邀请链接:link;扫码:scancode + * 邀请链接:invited;扫码:scancode */ private String invitationType; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java index 12202fc2ad..bba85a4635 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/entity/GroupInvitationEntity.java @@ -69,7 +69,7 @@ public class GroupInvitationEntity extends BaseEpmetEntity { private Date validEndTime; /** - * 邀请链接:link;扫码:scancode + * 邀请链接:invited;扫码:scancode */ private String invitationType; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java index aa5a5f13af..dcd939a5f8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/impl/GroupInvitationServiceImpl.java @@ -45,6 +45,7 @@ import com.epmet.modules.invitation.service.GroupInvitationService; import com.epmet.modules.member.dao.ResiGroupMemberDao; import com.epmet.modules.member.service.GroupMemeberOperationService; import com.epmet.modules.member.service.ResiGroupMemberService; +import com.epmet.modules.member.service.impl.ResiGroupMemberServiceImpl; import com.epmet.resi.group.constant.EnterGroupTypeConstant; import com.epmet.resi.group.constant.GroupStateConstant; import com.epmet.resi.group.constant.LeaderFlagConstant; @@ -102,6 +103,8 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl page(Map params) { @@ -181,7 +184,7 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl