From 82fa0ad9ddc48b9752ddd676519b4210ab4db4b2 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 11 Dec 2020 09:50:06 +0800 Subject: [PATCH 001/184] =?UTF-8?q?=E6=9A=82=E5=AD=981?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisUtils.java | 11 +- .../src/main/resources/bootstrap.yml | 1 + .../VoiceScanCallBackContentFormDTO.java | 97 ++++++++ .../topic/controller/ResiTopicController.java | 19 +- .../scan/common/enu/VoiceSceneEnum.java | 47 ++++ .../scan/controller/ScanController.java | 29 +++ .../epmet/openapi/scan/redis/ScanRedis.java | 42 ++++ .../scan/service/impl/ScanService.java | 21 ++ .../scan/service/impl/ScanServiceImpl.java | 212 +++++++++++++++++- .../support/param/VoiceAsyncScanParam.java | 63 ++++++ .../openapi/scan/support/param/VoiceTask.java | 31 +++ .../result/VoiceAsyncScanDetailDTO.java | 47 ++++ .../support/result/VoiceAsyncScanResult.java | 51 +++++ .../result/VoiceAsyncScanResultDTO.java | 57 +++++ .../result/VoiceAsyncScanTaskDataDTO.java | 40 ++++ .../result/VoiceAsyncScanTaskResult.java | 22 ++ .../java/VoiceAsyncScanRequestSample.java | 90 ++++++++ .../VoiceAsyncScanResultsRequestSample.java | 113 ++++++++++ 18 files changed, 977 insertions(+), 16 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/scanapicallback/VoiceScanCallBackContentFormDTO.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/enu/VoiceSceneEnum.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/redis/ScanRedis.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceAsyncScanParam.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceTask.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanDetailDTO.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResultDTO.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskDataDTO.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskResult.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/test/java/VoiceAsyncScanRequestSample.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/test/java/VoiceAsyncScanResultsRequestSample.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java index af891dc817..72a6db9b10 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java @@ -10,12 +10,13 @@ package com.epmet.commons.tools.redis; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.utils.ConvertUtils; -import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; -import org.springframework.data.redis.core.*; +import org.springframework.data.redis.core.HashOperations; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.core.ZSetOperations; import org.springframework.data.redis.support.atomic.RedisAtomicLong; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; @@ -49,6 +50,10 @@ public class RedisUtils { * 过期时长为1小时,单位:秒 */ public final static long HOUR_ONE_EXPIRE = 60 * 60 * 1L; + /** + * 过期时长为4小时,单位:秒 + */ + public final static long HOUR_FOUR_EXPIRE = 60 * 60 * 4L; /** * 过期时长为6小时,单位:秒 */ diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 53ec286911..25155b37ea 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -442,6 +442,7 @@ epmet: # 内部认证url白名单(在白名单中的,就不会再校验登录了) internalAuthUrlsWhiteList: - /epmetuser/customerstaff/customerlist + - /resi/group/topic/callBackPublishTopic # 外部应用认证,使用AccessToken等头进行认证 externalOpenUrls: diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/scanapicallback/VoiceScanCallBackContentFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/scanapicallback/VoiceScanCallBackContentFormDTO.java new file mode 100644 index 0000000000..1907cbb8cf --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/scanapicallback/VoiceScanCallBackContentFormDTO.java @@ -0,0 +1,97 @@ +package com.epmet.resi.group.dto.scanapicallback; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 语音检测callBack入参 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/10 10:47 + */ +@Data +public class VoiceScanCallBackContentFormDTO implements Serializable { + + /** + * 错误码,和HTTP状态码一致。 + * 200:表示检测成功。 + * 280:表示处理中,需要继续轮询。 + * 其他:表示任务失败。 + * 更多信息,请参见公共错误码。 + * + * 说明 只有返回280表示任务还在进行,需要继续轮询该任务的检测结果。返回其他值均表示该语音检测任务已结束。如果实际上该语音检测没有结束,而是因为网络异常等原因异常结束,您可以重新提交语音异步检测任务。 + */ + private Integer code; + + /** + * 请求参数的响应信息。 + */ + private String msg; + + /** + * 检测对象对应的数据ID。 + * 说明 如果在检测请求参数中传入了dataId,则此处返回对应的dataId。 + */ + private String dataId; + + /** + * 该检测任务的ID。 + */ + private String taskId; + + /** + * 检测对象的URL。 + */ + private String url; + + /** + * 检测成功(code=200)时,返回的检测结果。该结果包含一个或多个元素,每个元素是个结构体,对应一个场景。关于每个元素的结构描述,请参见result。 + */ + private List results; + + + @Data + private static class ResultDTO{ + /** + * 检测结果的分类。取值: + * normal:正常文本 + * spam:含垃圾信息 + * ad:广告 + * politics:涉政 + * terrorism:暴恐 + * abuse:辱骂 + * porn:色情 + * flood:灌水 + * contraband:违禁 + * meaningless:无意义 + * customized:自定义(例如命中自定义关键词) + */ + private String label; + + /** + * 检测场景,和调用请求中的场景对应。唯一取值:antispam。 + */ + private String scene; + + /** + * 建议您执行的后续操作。取值: + * pass:结果正常,无需进行其余操作。 + * review:结果不确定,需要进行人工审核。 + * block:结果违规,建议直接删除或者限制公开。 + */ + private String suggestion; + + /** + * 置信度分数,取值范围:0(表示置信度最低)~100(表示置信度最高)。 + * 如果suggestion为pass,则置信度越高,表示内容正常的可能性越高;如果suggestion为review或block,则置信度越高,表示内容违规的可能性越高。 + * 注意 该值仅作为参考,强烈建议您不要在业务中使用。建议您参考suggestion和label(或者部分接口返回的sublabel)结果用于内容违规判定。 + */ + private Float rate; + //下面还有个details 语音对应的文本详情。每一句文本对应一个元素,包含一个或者多个元素。关于每个元素的结构描述,请参见detail。 + //暂时不解析了。 + } + + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 820dbc5821..18bfabad0e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -1,5 +1,6 @@ package com.epmet.modules.topic.controller; +import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; @@ -11,10 +12,15 @@ import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.*; +import lombok.extern.slf4j.Slf4j; +import org.apache.http.HttpStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @Description @@ -22,7 +28,7 @@ import java.util.List; * @Author wangc * @date 2020.03.31 13:03 */ - +@Slf4j @RestController @RequestMapping("topic") public class ResiTopicController { @@ -349,5 +355,16 @@ public class ResiTopicController { return new Result().ok(topicService.selectMyPartTopic(myPartIssueFormDTO)); } + @PostMapping("callBackPublishTopic") + public Result callBackPublishTopic(@RequestParam("checksum") String checksum, @RequestParam("content") String content, HttpServletResponse response){ + log.info("checksum:"+checksum); + log.info("content:"+ JSON.toJSONString(content,true)); + Map map=new HashMap<>(); + map.put("checksum",checksum); + map.put("content",content); + response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR); + return new Result<>().ok(map); + } + } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/enu/VoiceSceneEnum.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/enu/VoiceSceneEnum.java new file mode 100644 index 0000000000..777b92f0d7 --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/enu/VoiceSceneEnum.java @@ -0,0 +1,47 @@ +package com.epmet.openapi.scan.common.enu; + +import java.util.ArrayList; +import java.util.List; + +/** + * 语音异步检测场景 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/9 10:12 + */ +public enum VoiceSceneEnum { + ANTISPAM("antispam", "检测场景,取值:antispam"); + + private String code; + private String desc; + + VoiceSceneEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + + public static List getVoiceSceneList() { + List result = new ArrayList<>(); + VoiceSceneEnum[] values = VoiceSceneEnum.values(); + for (VoiceSceneEnum v : values) { + result.add(v.getCode()); + } + return result; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/controller/ScanController.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/controller/ScanController.java index 8a0b268e50..27965201ac 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/controller/ScanController.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/controller/ScanController.java @@ -5,13 +5,19 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.openapi.scan.service.impl.ScanService; import com.epmet.openapi.scan.support.param.ImgScanParam; import com.epmet.openapi.scan.support.param.TextScanParam; +import com.epmet.openapi.scan.support.param.VoiceAsyncScanParam; import com.epmet.openapi.scan.support.result.ImgAsyncScanResult; import com.epmet.openapi.scan.support.result.SyncScanResult; +import com.epmet.openapi.scan.support.result.VoiceAsyncScanResult; +import com.epmet.openapi.scan.support.result.VoiceAsyncScanTaskResult; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @author jianjun liu * @email liujianjun@yunzongnet.com @@ -52,4 +58,27 @@ public class ScanController { public Result ImgAsyncScan(@RequestBody ImgScanParam param) { return null;//scanService.sendASyncImgScan(param); } + + + /** + * @description 语音异步检测 + * @Date 2020/12/9 9:14 + **/ + @PostMapping("voiceAsyncScan") + public Result voiceAsyncScan(@RequestBody VoiceAsyncScanParam param){ + ValidatorUtils.validateEntity(param); + return scanService.sendVoiceAsyncScan(param); + } + + /** + * @param taskIds 要查询的异步检测任务的taskId列表。数组中的元素个数不超过100个 + * @author yinzuomei + * @description 语音异步检测结果查询 + * @Date 2020/12/9 11:16 + **/ + @PostMapping("voiceResults") + public Result> voiceResults(@RequestBody List taskIds){ + return scanService.voiceResults(taskIds); + } + } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/redis/ScanRedis.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/redis/ScanRedis.java new file mode 100644 index 0000000000..294d40e04c --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/redis/ScanRedis.java @@ -0,0 +1,42 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.openapi.scan.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 用户居民端注册信息表 用户在居民端完善的个人信息 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-30 + */ +@Component +public class ScanRedis { + @Autowired + private RedisUtils redisUtils; + + public void test(){ + redisUtils.set("yinzuomei", "尹作梅测试用",RedisUtils.MINUTE_THIRTY_EXPIRE); + } + + public void setVoiceScanKey(String taskId, String seed) { + redisUtils.set(taskId, seed,RedisUtils.HOUR_FOUR_EXPIRE); + } +} \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanService.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanService.java index f48937bc42..d238ef95e5 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanService.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanService.java @@ -3,7 +3,12 @@ package com.epmet.openapi.scan.service.impl; import com.epmet.commons.tools.utils.Result; import com.epmet.openapi.scan.support.param.ImgScanParam; import com.epmet.openapi.scan.support.param.TextScanParam; +import com.epmet.openapi.scan.support.param.VoiceAsyncScanParam; import com.epmet.openapi.scan.support.result.SyncScanResult; +import com.epmet.openapi.scan.support.result.VoiceAsyncScanResult; +import com.epmet.openapi.scan.support.result.VoiceAsyncScanTaskResult; + +import java.util.List; /** * desc:内容扫描接口 @@ -27,4 +32,20 @@ public interface ScanService { * @return */ public Result sendSyncImgScan(ImgScanParam imgScanParam); + + /** + * 语音异步检测 + * + * @param param + * @return com.epmet.openapi.scan.support.result.VoiceAsyncScanTaskResult + */ + Result sendVoiceAsyncScan(VoiceAsyncScanParam param); + + /** + * 语音异步检测结果查询 + * + * @param taskIds 要查询的异步检测任务的taskId列表。数组中的元素个数不超过100个 + * @return com.epmet.openapi.scan.support.result.VoiceAsyncScanResult + */ + Result> voiceResults(List taskIds); } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java index 2a5db725e2..6ea86b824f 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java @@ -6,32 +6,30 @@ import com.alibaba.fastjson.JSONObject; import com.aliyuncs.AcsRequest; import com.aliyuncs.green.model.v20180509.ImageSyncScanRequest; import com.aliyuncs.green.model.v20180509.TextScanRequest; +import com.aliyuncs.green.model.v20180509.VoiceAsyncScanRequest; +import com.aliyuncs.green.model.v20180509.VoiceAsyncScanResultsRequest; import com.aliyuncs.http.FormatType; import com.aliyuncs.http.HttpResponse; import com.epmet.commons.tools.utils.Result; import com.epmet.openapi.scan.common.constant.SysConstant; -import com.epmet.openapi.scan.common.enu.ImgSceneEnum; -import com.epmet.openapi.scan.common.enu.SuggestionEnum; -import com.epmet.openapi.scan.common.enu.SysResponseEnum; -import com.epmet.openapi.scan.common.enu.TextSceneEnum; +import com.epmet.openapi.scan.common.enu.*; import com.epmet.openapi.scan.common.exception.ExecuteHttpException; import com.epmet.openapi.scan.common.util.IAcsClientUtil; -import com.epmet.openapi.scan.support.param.ImgScanParam; -import com.epmet.openapi.scan.support.param.ImgTask; -import com.epmet.openapi.scan.support.param.TextScanParam; -import com.epmet.openapi.scan.support.param.TextTask; -import com.epmet.openapi.scan.support.result.ScanTaskResult; -import com.epmet.openapi.scan.support.result.SceneDetailResult; -import com.epmet.openapi.scan.support.result.SyncScanResult; +import com.epmet.openapi.scan.redis.ScanRedis; +import com.epmet.openapi.scan.support.param.*; +import com.epmet.openapi.scan.support.result.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpStatus; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.io.UnsupportedEncodingException; import java.util.List; +import java.util.UUID; /** * @author jianjun liu @@ -45,7 +43,8 @@ public class ScanServiceImpl implements ScanService { private String regionId; @Value("${aliyun.green.bizType}") private String bizType; - + @Autowired + private ScanRedis scanRedis; @Override public Result sendTextScan(TextScanParam textScanParam) { //默认参数 @@ -263,4 +262,193 @@ public class ScanServiceImpl implements ScanService { throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_SERVER_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_SERVER_ERROR.getMsg()); } } + + /** + * @author yinzuomei + * @description 语音异步检测 + * @Date 2020/12/9 10:02 + */ + @Override + public Result sendVoiceAsyncScan(VoiceAsyncScanParam voiceAsyncScanParam) { + //检测对象不能为空,且最多支持100个元素 + List voiceTasks = voiceAsyncScanParam.getTasks(); + if (CollectionUtils.isEmpty(voiceTasks) || voiceTasks.size() > SysConstant.MAX_TASK_SIZE) { + return new Result().error(SysResponseEnum.SCAN_TASK_LIST_PARAM_ERROR.getCode(), + SysResponseEnum.SCAN_TASK_LIST_PARAM_ERROR.getMsg().concat(SysConstant.MAX_TASK_SIZE.toString())); + } + + //默认参数 + voiceAsyncScanParam.setScenes(VoiceSceneEnum.getVoiceSceneList()); + voiceAsyncScanParam.setBizType(bizType); + // 如果是语音流检测,则修改为true。现在默认为音频文件检测false + voiceAsyncScanParam.setLive(false); + voiceAsyncScanParam.setSeed(UUID.randomUUID().toString().replace("-", "")); + + VoiceAsyncScanRequest voiceAsyncScanRequest=getVoiceAsyncScanRequest(); + + try { + voiceAsyncScanRequest.setHttpContent(JSON.toJSONString(voiceAsyncScanParam).getBytes(SysConstant.UTF8), SysConstant.UTF8, FormatType.JSON); + } catch (UnsupportedEncodingException e) { + log.error("sendVoiceAsyncScan parse param exception", e); + return new Result().error(SysResponseEnum.SCAN_PARAM_ERROR.getCode(), SysResponseEnum.SCAN_PARAM_ERROR.getMsg()); + } + log.info("语音异步检测入参:"+JSON.toJSONString(voiceAsyncScanParam,true)); + List taskList; + try { + taskList = executeSyncVoice(voiceAsyncScanRequest); + log.info("语音异步检测返参taskList:"+JSON.toJSONString(taskList,true)); + } catch (ExecuteHttpException e) { + log.error("sendVoiceAsyncScan execute Exception", e); + return new Result().error(e.getCode(), e.getMsg()); + } + //成功返回 + VoiceAsyncScanTaskResult resultDto=new VoiceAsyncScanTaskResult(); + resultDto.setSeed(voiceAsyncScanParam.getSeed()); + resultDto.setTaskList(taskList); + if (StringUtils.isNotBlank(voiceAsyncScanParam.getCallback())) { + // 存储seed和 任务id、dataId的关系 用于回调鉴权 + log.info("need to save seed and taskId、dataId的关系"); + taskList.forEach(task -> { + scanRedis.setVoiceScanKey(task.getTaskId(), voiceAsyncScanParam.getSeed()); + }); + } + return new Result().ok(resultDto); + } + + /** + * @param + * @author yinzuomei + * @description 构造语音异步检测请求对象 + * @Date 2020/12/9 10:44 + **/ + private VoiceAsyncScanRequest getVoiceAsyncScanRequest() { + VoiceAsyncScanRequest voiceAsyncScanRequest = new VoiceAsyncScanRequest(); + // 指定api返回格式 + voiceAsyncScanRequest.setAcceptFormat(FormatType.JSON); + // 指定请求方法 + voiceAsyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); + voiceAsyncScanRequest.setEncoding(SysConstant.UTF8); + voiceAsyncScanRequest.setRegionId(regionId); + voiceAsyncScanRequest.setConnectTimeout(3000); + voiceAsyncScanRequest.setReadTimeout(6000); + return voiceAsyncScanRequest; + } + + /** + * @param voiceAsyncScanRequest + * @author yinzuomei + * @description 解析返参 + * @Date 2020/12/9 10:44 + **/ + private List executeSyncVoice(AcsRequest voiceAsyncScanRequest) { + try { + HttpResponse httpResponse = IAcsClientUtil.getIAcsClient().doAction(voiceAsyncScanRequest); + + if (httpResponse.isSuccess()) { + + JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8")); + //后面注释掉此日志 + log.info("VoiceAsyncScanRequest原生接口返参:" + JSON.toJSONString(scrResponse, true)); + + if (HttpStatus.SC_OK == scrResponse.getInteger(SysConstant.CODE)) { + + //获取data列表 + JSONArray dataResults = scrResponse.getJSONArray(SysConstant.DATA); + List resultList = dataResults.toJavaList(VoiceAsyncScanTaskDataDTO.class); + //成功返回 + return resultList; + + } else { + + log.warn("executeSyncVoice detect not success. code:{}", scrResponse.getInteger(SysConstant.CODE)); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getCode(), + SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); + } + + } else { + log.warn("executeSyncVoice response status is not success. httpResponse:{}", JSON.toJSONString(httpResponse)); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getCode(), + SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); + } + + } catch (Exception e) { + log.error("executeSyncVoice exception IAcsClientUtil do action exception", e); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_SERVER_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_SERVER_ERROR.getMsg()); + } + } + + + /** + * @param taskIds 要查询的异步检测任务的taskId列表。数组中的元素个数不超过100个 + * @author yinzuomei + * @description 语音异步检测结果查询 + * @Date 2020/12/9 11:17 + **/ + @Override + public Result> voiceResults(List taskIds) { + //检测对象不能为空,且最多支持100个元素 + if (CollectionUtils.isEmpty(taskIds) || taskIds.size() > SysConstant.MAX_TASK_SIZE) { + return new Result>().error(SysResponseEnum.SCAN_TASK_LIST_PARAM_ERROR.getCode(), + SysResponseEnum.SCAN_TASK_LIST_PARAM_ERROR.getMsg().concat(SysConstant.MAX_TASK_SIZE.toString())); + } + + VoiceAsyncScanResultsRequest request=getVoiceAsyncScanResultsRequest(); + try { + request.setHttpContent(JSON.toJSONString(taskIds).getBytes(SysConstant.UTF8), SysConstant.UTF8, FormatType.JSON); + } catch (UnsupportedEncodingException e) { + log.error("getVoiceAsyncScanResult parse param exception", e); + return new Result>().error(SysResponseEnum.SCAN_PARAM_ERROR.getCode(), SysResponseEnum.SCAN_PARAM_ERROR.getMsg()); + } + + log.info("语音异步检测结果查询入参:"+JSON.toJSONString(taskIds,true)); + + try { + HttpResponse httpResponse = IAcsClientUtil.getIAcsClient().doAction(request); + if (httpResponse.isSuccess()) { + + JSONObject scrResponse=JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8")); + //后面注释掉此返参 + log.info("VoiceAsyncScanResultsRequest原生接口返参:"+JSON.toJSONString(scrResponse, true)); + if (HttpStatus.SC_OK == scrResponse.getInteger(SysConstant.CODE)) { + //获取data列表 + JSONArray dataResults = scrResponse.getJSONArray(SysConstant.DATA); + List resultList = dataResults.toJavaList(VoiceAsyncScanResult.class); + //成功返回 + return new Result>().ok(resultList); + + }else{ + + log.warn("getVoiceAsyncScanResult detect not success. code:{}", scrResponse.getInteger(SysConstant.CODE)); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getCode(), + SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); + } + + } else { + log.warn("语音异步检测结果查询预警 getVoiceAsyncScanResult response status is not success. httpResponse:{}", JSON.toJSONString(httpResponse)); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getCode(), + SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); + } + } catch (Exception e) { + log.error("executeSyncVoice exception IAcsClientUtil do action exception", e); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_SERVER_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_SERVER_ERROR.getMsg()); + } + + } + + private VoiceAsyncScanResultsRequest getVoiceAsyncScanResultsRequest(){ + VoiceAsyncScanResultsRequest getResultsRequest = new VoiceAsyncScanResultsRequest(); + // 指定API返回格式。 + getResultsRequest.setAcceptFormat(FormatType.JSON); + // 指定请求方法。 + getResultsRequest.setMethod(com.aliyuncs.http.MethodType.POST); + getResultsRequest.setEncoding(SysConstant.UTF8); + getResultsRequest.setRegionId(regionId); + /** + * 请务必设置超时时间。 + */ + getResultsRequest.setConnectTimeout(3000); + getResultsRequest.setReadTimeout(6000); + return getResultsRequest; + } + } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceAsyncScanParam.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceAsyncScanParam.java new file mode 100644 index 0000000000..d83b8784a0 --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceAsyncScanParam.java @@ -0,0 +1,63 @@ +package com.epmet.openapi.scan.support.param; + +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; +import java.io.Serializable; +import java.util.List; + +/** + * 音频审查 入参 + * 参考文档:https://help.aliyun.com/document_detail/89630.html?spm=a2c4g.11186623.2.12.51a32dbfW6AdqV#reference-bcf-3nk-z2b + * @author yinzuomei@elink-cn.com + * @date 2020/12/9 9:07 + */ +@Data +public class VoiceAsyncScanParam implements Serializable { + private static final long serialVersionUID = 3408043673247901184L; + + /** + * 不必填 + * 该字段用于标识您的业务场景。您可以通过内容安全控制台创建业务场景(具体操作,请参见自定义机审标准),或者提交工单联系我们帮助您创建业务场景。 + */ + private String bizType; + + /** + * 必填 + * 检测场景,取值:antispam。 + */ + private List scenes; + + /** + * 不必填 + * 是否为语音流(例如直播流)检测。取值: + * true:表示语音流检测。 + * false(默认):表示音频文件检测。 + */ + private Boolean live; + + /** + * 不必填 + * 是否为近线检测模式。 取值: + * true:表示近线检测模式。近线检测模式下,您提交的任务不保证能够实时处理,但是可以排队并在24小时内开始检测。 + * false(默认):表示实时检测模式。对于超过了并发路数限制的检测请求会直接拒绝。 + * 说明 该参数仅适用于音频文件检测,不适用于语音流检测。 + */ + private Boolean offline; + + /** + * 异步检测结果回调地址,执行异步审查内容时 必填 + */ + private String callback; + + /** + * 随机字符串,该值用于回调通知请求中的签名,使用callback时 必填 + */ + private String seed; + + @Valid + @NotEmpty(message = "任务列表不能为空") + private List tasks; + +} diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceTask.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceTask.java new file mode 100644 index 0000000000..89f4333bba --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceTask.java @@ -0,0 +1,31 @@ +package com.epmet.openapi.scan.support.param; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 语音异步检测 对象 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/9 10:16 + */ +@Data +public class VoiceTask implements Serializable { + /** + * 不必填 + * 要检测的数据id 非必填 + * 检测对象对应的数据ID。 + * 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。 + * */ + @NotBlank(message = "dataId不能为空") + private String dataId; + + /** + * 必填 + * 需要检测的音频文件或语音流的下载地址。 + */ + @NotBlank(message = "音频URL不能为空") + private String url; +} diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanDetailDTO.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanDetailDTO.java new file mode 100644 index 0000000000..7e74caf5a6 --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanDetailDTO.java @@ -0,0 +1,47 @@ +package com.epmet.openapi.scan.support.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 语音异步检测结果查询结果返参 -data-result-detail详情 + * 语音对应的文本详情。每一句文本对应一个元素,包含一个或者多个元素。关于每个元素的结构描述 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/9 11:11 + */ +@Data +public class VoiceAsyncScanDetailDTO implements Serializable { + private static final long serialVersionUID = -2664219492371705160L; + /** + * 句子开始的时间,单位:秒。 + */ + private Integer startTime; + + /** + * 句子结束的时间,单位:秒。 + */ + private Integer endTime; + + /** + * 语音转换成文本的结果。 + */ + private String text; + + /** + * 检测结果的分类。取值: + * normal:正常文本 + * spam:含垃圾信息 + * ad:广告 + * politics:涉政 + * terrorism:暴恐 + * abuse:辱骂 + * porn:色情 + * flood:灌水 + * contraband:违禁 + * meaningless:无意义 + * customized:自定义(例如命中自定义关键词) + */ + private String label; +} diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java new file mode 100644 index 0000000000..09fd13ec73 --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java @@ -0,0 +1,51 @@ +package com.epmet.openapi.scan.support.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 语音异步检测结果查询结果返参 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/9 10:56 + */ +@Data +public class VoiceAsyncScanResult implements Serializable { + private static final long serialVersionUID = 8702129292884498023L; + /** + * 错误码,和HTTP状态码一致。 + * 200:表示检测成功。 + * 280:表示处理中,需要继续轮询。 + * 其他:表示任务失败。 + * 更多信息,请参见公共错误码。 + */ + private String code; + /** + * 错误描述信息。 + */ + private String msg; + /** + * 检测对象对应的数据ID。 + */ + private String dataId; + + /** + * 检测任务的ID + */ + private String taskId; + + /** + * 暂时没用,所以返回忽略 + */ + @JsonIgnore + private String url; + + /** + * 检测成功(code=200)时,返回的检测结果。该结果包含一个或多个元素,每个元素是个结构体,对应一个场景。关于每个元素的结构描述,请参见result。 + */ + private List results; + +} diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResultDTO.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResultDTO.java new file mode 100644 index 0000000000..34f3280a6f --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResultDTO.java @@ -0,0 +1,57 @@ +package com.epmet.openapi.scan.support.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 语音异步检测结果查询结果返参 -data-result详情 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/9 11:07 + */ +@Data +public class VoiceAsyncScanResultDTO implements Serializable { + private static final long serialVersionUID = 4602226363259983753L; + /** + * 检测场景,和调用请求中的场景对应。取值:antispam。 + */ + private String scene; + + /** + * 检测结果的分类。取值: + * normal:正常文本 + * spam:含垃圾信息 + * ad:广告 + * politics:涉政 + * terrorism:暴恐 + * abuse:辱骂 + * porn:色情 + * flood:灌水 + * contraband:违禁 + * meaningless:无意义 + * customized:自定义(例如命中自定义关键词) + */ + private String label; + + /** + * 建议您执行的后续操作。取值: + * pass:结果正常,无需进行其余操作。 + * review:结果不确定,需要进行人工审核。 + * block:结果违规,建议直接删除或者限制公开。 + */ + private String suggestion; + + /** + * 置信度分数,取值范围:0(表示置信度最低)~100(表示置信度最高)。 + * 如果suggestion为pass,则置信度越高,表示内容正常的可能性越高;如果suggestion为review或block,则置信度越高,表示内容违规的可能性越高。 + * 注意 该值仅作为参考,强烈建议您不要在业务中使用。建议您参考suggestion和label(或者部分接口返回的sublabel)结果用于内容违规判定。 + */ + private Float rate; + + /** + * 语音对应的文本详情。每一句文本对应一个元素,包含一个或者多个元素。关于每个元素的结构描述, + */ + private List details; +} diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskDataDTO.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskDataDTO.java new file mode 100644 index 0000000000..6c94bfa757 --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskDataDTO.java @@ -0,0 +1,40 @@ +package com.epmet.openapi.scan.support.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/9 16:38 + */ +@Data +public class VoiceAsyncScanTaskDataDTO implements Serializable { + /** + * 错误码,和HTTP状态码一致。 + * 更多信息,请参见公共错误码。 + */ + private String code; + /** + * 错误描述信息。 + */ + private String msg; + /** + * 检测对象对应的数据ID。 + */ + private String dataId; + + /** + * 检测任务的ID + */ + private String taskId; + + /** + * 暂时没用,所以返回忽略 + */ + @JsonIgnore + private String url; +} diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskResult.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskResult.java new file mode 100644 index 0000000000..44d54fcf3a --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskResult.java @@ -0,0 +1,22 @@ +package com.epmet.openapi.scan.support.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 音频审查返参,用于接收taskId + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/9 9:23 + */ +@Data +public class VoiceAsyncScanTaskResult implements Serializable { + private static final long serialVersionUID = 8702129292884498023L; + /** + * 随机字符串,该值用于回调通知请求中的签名。 + */ + private String seed; + private List taskList; +} diff --git a/epmet-openapi/epmet-openapi-scan/src/test/java/VoiceAsyncScanRequestSample.java b/epmet-openapi/epmet-openapi-scan/src/test/java/VoiceAsyncScanRequestSample.java new file mode 100644 index 0000000000..617e6246d1 --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/test/java/VoiceAsyncScanRequestSample.java @@ -0,0 +1,90 @@ +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.green.model.v20180509.VoiceAsyncScanRequest; +import com.aliyuncs.http.FormatType; +import com.aliyuncs.http.HttpResponse; +import com.aliyuncs.profile.DefaultProfile; +import com.aliyuncs.profile.IClientProfile; + +import java.util.*; + +/** + * 提交语音异步检测任务 demo + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/8 21:51 + */ +public class VoiceAsyncScanRequestSample extends BaseSample { + + + + public static void main(String[] args) throws Exception { + + //请替换成您自己的AccessKey ID、AccessKey Secret。 + IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", + "LTAI4G6Fv6uTzQbpsayATHq4", //您自己的AccessKey ID + "QevMw1RYCwQUG3RSMPq1J6EAfmSblo");//您自己的AccessKey Secret + final IAcsClient client = new DefaultAcsClient(profile); + + VoiceAsyncScanRequest asyncScanRequest = new VoiceAsyncScanRequest(); //class different vs common + asyncScanRequest.setAcceptFormat(FormatType.JSON); // 指定API返回格式。 + asyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法。 + asyncScanRequest.setRegionId("cn-shanghai"); + asyncScanRequest.setConnectTimeout(3000); + asyncScanRequest.setReadTimeout(6000); + + List> tasks = new ArrayList>(); + Map task1 = new LinkedHashMap(); + // 请将下面的地址修改为要检测的语音文件的地址。 + task1.put("dataId","voice1"); + task1.put("url", "https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201208/6480bd6be9f14a458162218cea84dfa5.aac"); + + Map task2 = new LinkedHashMap(); + task2.put("dataId","voice2"); + task2.put("url", "https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201208/b566d94fd7114ffb9a203e80c22ebb96.aac"); + + tasks.add(task1); + tasks.add(task2); + + JSONObject data = new JSONObject(); + + System.out.println("==========Task count:" + tasks.size()); + data.put("scenes", Arrays.asList("antispam")); + data.put("tasks", tasks); + // 如果是语音流检测,则修改为true。 + data.put("live", false); + asyncScanRequest.setHttpContent(data.toJSONString().getBytes("UTF-8"), "UTF-8", FormatType.JSON); + System.out.println("接口入参:"+JSON.toJSONString(data, true)); + + try { + HttpResponse httpResponse = client.doAction(asyncScanRequest); + + if (httpResponse.isSuccess()) { + JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8")); + System.out.println("接口返参:"+JSON.toJSONString(scrResponse, true)); + if (200 == scrResponse.getInteger("code")) { + JSONArray taskResults = scrResponse.getJSONArray("data"); + for (Object taskResult : taskResults) { + Integer code = ((JSONObject) taskResult).getInteger("code"); + if (200 == code) { + final String taskId = ((JSONObject) taskResult).getString("taskId"); + System.out.println("submit async task success, taskId = [" + taskId + "]"); + } else { + System.out.println("task process fail: " + code); + } + } + } else { + System.out.println("detect not success. code: " + scrResponse.getInteger("code")); + } + } else { + System.out.println("response not success. status: " + httpResponse.getStatus()); + } + } catch (Exception e) { + e.printStackTrace(); + } + + } +} diff --git a/epmet-openapi/epmet-openapi-scan/src/test/java/VoiceAsyncScanResultsRequestSample.java b/epmet-openapi/epmet-openapi-scan/src/test/java/VoiceAsyncScanResultsRequestSample.java new file mode 100644 index 0000000000..85d268f175 --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/test/java/VoiceAsyncScanResultsRequestSample.java @@ -0,0 +1,113 @@ +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.green.model.v20180509.VoiceAsyncScanResultsRequest; +import com.aliyuncs.http.FormatType; +import com.aliyuncs.http.HttpResponse; +import com.aliyuncs.profile.DefaultProfile; +import com.aliyuncs.profile.IClientProfile; + +import java.util.*; + +/** + * 查询异步语音检测结果。 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/8 22:08 + */ +public class VoiceAsyncScanResultsRequestSample extends BaseSample { + + + public static void main(String[] args) throws Exception { + // 请替换成您自己的AccessKey ID、AccessKey Secret。 + IClientProfile profile = DefaultProfile + .getProfile("cn-shanghai", + "LTAI4G6Fv6uTzQbpsayATHq4", + "QevMw1RYCwQUG3RSMPq1J6EAfmSblo"); + final IAcsClient client = new DefaultAcsClient(profile); + //提交语音异步检测任务后返回的taskId + pollingScanResult(client, Arrays.asList("vc_f_7WZZ01BCH0q6ZnM3g1OKGG-1tAaZ7", "vc_f_6AKaBxy4HdG5bruQ0JwweV-1tAaJi")); + // pollingScanResult(client, "vc_f_6AKaBxy4HdG5bruQ0JwweV-1tAaJi"); + } + + public static void pollingScanResult(IAcsClient client, List taskIdList) throws InterruptedException { + int failCount = 0; + boolean stop = false; + do { + // 设置每10秒查询一次。 + Thread.sleep(10 * 1000); + JSONObject scanResult = getScanResult(client, taskIdList); + System.out.println("接口完整返参:"+JSON.toJSONString(scanResult, true)); + if (scanResult == null || 200 != scanResult.getInteger("code")) { + failCount++; + System.out.println("请求失败,get result fail, failCount=" + failCount); + if (scanResult != null) { + System.out.println("请求失败,错误信息errorMsg:" + scanResult.getString("msg")); + } + if (failCount > 20) { + break; + } + continue; + } + + JSONArray taskResults = scanResult.getJSONArray("data"); + if (taskResults.isEmpty()) { + System.out.println("请求成功,but data is empty"); + break; + } + System.out.println("data.size=" + taskResults.size()); + for (Object taskResult : taskResults) { + JSONObject result = (JSONObject) taskResult; + Integer code = result.getInteger("code"); + String taskId = result.getString("taskId"); + if (280 == code) { + System.out.println("taskId=" + taskId + ": processing status: " + result.getString("msg")); + } else if (200 == code) { + System.out.println("taskId=" + taskId + "请求成功,返参:" + JSON.toJSONString(taskResult, true)); + stop = true; + } else { + System.out.println("taskId=" + taskId + "请求失败,返参:" + JSON.toJSONString(taskResult, true)); + stop = true; + } + } + } while (!stop); + } + + private static JSONObject getScanResult(IAcsClient client, List taskIdList) { + VoiceAsyncScanResultsRequest getResultsRequest = new VoiceAsyncScanResultsRequest(); + getResultsRequest.setAcceptFormat(FormatType.JSON); // 指定API返回格式。 + getResultsRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法。 + getResultsRequest.setEncoding("utf-8"); + getResultsRequest.setRegionId("cn-shanghai"); + + + List> tasks = new ArrayList>(); + for (String taskId : taskIdList) { + Map task1 = new LinkedHashMap(); + task1.put("taskId", taskId); + tasks.add(task1); + } + + /** + * 请务必设置超时时间。 + */ + getResultsRequest.setConnectTimeout(3000); + getResultsRequest.setReadTimeout(6000); + + try { + getResultsRequest.setHttpContent(JSON.toJSONString(tasks).getBytes("UTF-8"), "UTF-8", FormatType.JSON); + + HttpResponse httpResponse = client.doAction(getResultsRequest); + if (httpResponse.isSuccess()) { + return JSON.parseObject(new String(httpResponse.getHttpContent(), "UTF-8")); + } else { + System.out.println("response not success. status: " + httpResponse.getStatus()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } +} From 1b084e639bc6b7de80417482df9f0fe1520d0638 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 11 Dec 2020 09:52:18 +0800 Subject: [PATCH 002/184] =?UTF-8?q?=E6=9A=82=E5=AD=982?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../topic/controller/ResiTopicController.java | 44 ++++++++++++++----- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 18bfabad0e..c389fef5eb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -1,12 +1,14 @@ package com.epmet.modules.topic.controller; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.result.FirstTopicShiftedToIssueApplicationResultDTO; import com.epmet.modules.topic.service.ResiTopicService; +import com.epmet.resi.group.dto.scanapicallback.VoiceScanCallBackContentFormDTO; import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; @@ -15,12 +17,12 @@ import com.epmet.resi.group.dto.topic.result.*; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpStatus; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; -import java.util.HashMap; +import java.util.ArrayList; import java.util.List; -import java.util.Map; /** * @Description @@ -355,16 +357,36 @@ public class ResiTopicController { return new Result().ok(topicService.selectMyPartTopic(myPartIssueFormDTO)); } + + /** + * @return com.epmet.commons.tools.utils.Result + * @param checksum 字符串格式,由用户uid + seed + content拼成字符串,通过SHA256算法生成。用户UID即阿里云账号ID,可以在阿里云控制台查询。为防篡改,您可以在获取到推送结果时,按上述算法生成字符串,与checksum做一次校验。说明 用户UID必须是阿里云账号的UID,而不是RAM用户的UID。 + * @param content content:JSON字符串格式,请自行解析反转成JSON对象。关于content结果的示例,请参见查询异步检测结果的返回示例。 + * @author yinzuomei + * @description 测试语音异步检测回调方法 + * @Date 2020/12/11 9:07 + **/ @PostMapping("callBackPublishTopic") public Result callBackPublishTopic(@RequestParam("checksum") String checksum, @RequestParam("content") String content, HttpServletResponse response){ - log.info("checksum:"+checksum); - log.info("content:"+ JSON.toJSONString(content,true)); - Map map=new HashMap<>(); - map.put("checksum",checksum); - map.put("content",content); - response.setStatus(HttpStatus.SC_INTERNAL_SERVER_ERROR); - return new Result<>().ok(map); + // 原因是因为传参的关系,使字符串中保留这"\"线,可以使用String.replaceAll("\\\\","");将所有的"\"线替换为空串 + String contentStr=content.replaceAll("\\\\",""); + List formDTOList=new ArrayList<>(); + if(contentStr.startsWith("[")){ + log.info("入参content为数组:"+ JSON.toJSONString(contentStr,true)); + List list= JSONArray.parseArray(content.replaceAll("\\\\",""), VoiceScanCallBackContentFormDTO.class); + if(!CollectionUtils.isEmpty(list)){ + formDTOList.addAll(list); + } + }else if(contentStr.startsWith("{")){ + VoiceScanCallBackContentFormDTO formDTO= JSON.parseObject(contentStr, VoiceScanCallBackContentFormDTO.class); + log.info("入参content为对象:"+JSON.toJSONString(formDTO,true)); + formDTOList.add(formDTO); + } + formDTOList.forEach(dto->{ + log.info(dto.toString()); + }); + //TODO 判断检测任务结果,执行后续任务 + response.setStatus(HttpStatus.SC_OK); + return new Result<>(); } - - } From 4353141e8578b2f2cc267fcbeafaa1844853933e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 11 Dec 2020 10:34:50 +0800 Subject: [PATCH 003/184] =?UTF-8?q?=E6=9A=82=E5=AD=983?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../openapi/scan/common/redis/RedisKeys.java | 9 ++++ .../epmet/openapi/scan/redis/ScanRedis.java | 42 ------------------- .../scan/service/impl/ScanServiceImpl.java | 10 +++-- 3 files changed, 16 insertions(+), 45 deletions(-) delete mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/redis/ScanRedis.java diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/redis/RedisKeys.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/redis/RedisKeys.java index 3904011b00..2939bd62eb 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/redis/RedisKeys.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/redis/RedisKeys.java @@ -26,4 +26,13 @@ public class RedisKeys { public static String getWhiteList () { return rootPrefix.concat("openapi:scan:whitelist"); } + + /** + * desc: 语音检测任务,异步回调,需要根据taskId获取存储seed的Key + * @param taskId 提交检测任务API接口返回的taskId eg:1001 + * @return epmet:openapi:scan:voice:seed:1001 + */ + public static String getVoiceScanSeedKey(String taskId){ + return rootPrefix.concat("openapi:scan:voice:seed:").concat(taskId); + } } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/redis/ScanRedis.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/redis/ScanRedis.java deleted file mode 100644 index 294d40e04c..0000000000 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/redis/ScanRedis.java +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Copyright 2018 人人开源 https://www.renren.io - *

- * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - *

- * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - *

- * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.epmet.openapi.scan.redis; - -import com.epmet.commons.tools.redis.RedisUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * 用户居民端注册信息表 用户在居民端完善的个人信息 - * - * @author generator generator@elink-cn.com - * @since v1.0.0 2020-03-30 - */ -@Component -public class ScanRedis { - @Autowired - private RedisUtils redisUtils; - - public void test(){ - redisUtils.set("yinzuomei", "尹作梅测试用",RedisUtils.MINUTE_THIRTY_EXPIRE); - } - - public void setVoiceScanKey(String taskId, String seed) { - redisUtils.set(taskId, seed,RedisUtils.HOUR_FOUR_EXPIRE); - } -} \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java index 6ea86b824f..86897f5a9e 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java @@ -14,8 +14,8 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.openapi.scan.common.constant.SysConstant; import com.epmet.openapi.scan.common.enu.*; import com.epmet.openapi.scan.common.exception.ExecuteHttpException; +import com.epmet.openapi.scan.common.redis.RedisKeys; import com.epmet.openapi.scan.common.util.IAcsClientUtil; -import com.epmet.openapi.scan.redis.ScanRedis; import com.epmet.openapi.scan.support.param.*; import com.epmet.openapi.scan.support.result.*; import lombok.extern.slf4j.Slf4j; @@ -24,6 +24,8 @@ import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -44,7 +46,7 @@ public class ScanServiceImpl implements ScanService { @Value("${aliyun.green.bizType}") private String bizType; @Autowired - private ScanRedis scanRedis; + private RedisTemplate redisTemplate; @Override public Result sendTextScan(TextScanParam textScanParam) { //默认参数 @@ -308,8 +310,10 @@ public class ScanServiceImpl implements ScanService { if (StringUtils.isNotBlank(voiceAsyncScanParam.getCallback())) { // 存储seed和 任务id、dataId的关系 用于回调鉴权 log.info("need to save seed and taskId、dataId的关系"); + ValueOperations valueOperations=redisTemplate.opsForValue(); taskList.forEach(task -> { - scanRedis.setVoiceScanKey(task.getTaskId(), voiceAsyncScanParam.getSeed()); + String seedKey = RedisKeys.getVoiceScanSeedKey(task.getTaskId()); + valueOperations.set(seedKey,voiceAsyncScanParam.getSeed()); }); } return new Result().ok(resultDto); From b87a28e0a0d0b46819ef4f07b131ab16613b3899 Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 11 Dec 2020 14:10:07 +0800 Subject: [PATCH 004/184] =?UTF-8?q?=E3=80=90resi-group=E3=80=91=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=A2=9E=E5=8A=A0=E4=BC=98=E9=9B=85=E5=81=9C=E6=AD=A2?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=E5=92=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/config/GracefulShutdownConfig.java | 24 +++++++++ .../epmet/config/GracefulShutdownTomcat.java | 52 +++++++++++++++++++ .../com/epmet/config/ShutdownProperties.java | 17 ++++++ .../epmet/modules/test/TestController.java | 9 ++++ .../src/main/resources/bootstrap.yml | 8 ++- 5 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownConfig.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownTomcat.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/ShutdownProperties.java diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownConfig.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownConfig.java new file mode 100644 index 0000000000..c43854a583 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownConfig.java @@ -0,0 +1,24 @@ +package com.epmet.config; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.servlet.server.ServletWebServerFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * 优雅停机配置 + * matchIfMissing:当缺少shutdown.graceful.enable配置的时候,是否加载该配置类。true:缺少也加载,false:默认的,缺少配置不加载,即不生效 + */ +@Configuration +@ConditionalOnProperty(prefix = "shutdown.graceful", name = "enable", havingValue = "true", matchIfMissing = false) +public class GracefulShutdownConfig { + + @Bean + public ServletWebServerFactory servletContainer(GracefulShutdownTomcat gracefulShutdownTomcat) { + TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); + tomcat.addConnectorCustomizers(gracefulShutdownTomcat); + return tomcat; + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownTomcat.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownTomcat.java new file mode 100644 index 0000000000..117a658b32 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownTomcat.java @@ -0,0 +1,52 @@ +package com.epmet.config; + +import com.epmet.commons.tools.exception.RenException; +import net.bytebuddy.implementation.bytecode.Throw; +import org.apache.catalina.connector.Connector; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextClosedEvent; +import org.springframework.stereotype.Component; + +import java.util.concurrent.Executor; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +@EnableConfigurationProperties(ShutdownProperties.class) +@Component +public class GracefulShutdownTomcat implements TomcatConnectorCustomizer, ApplicationListener { + + private static final Logger logger = LoggerFactory.getLogger(GracefulShutdownTomcat.class); + + @Autowired + private ShutdownProperties shutdownProperties; + + private volatile Connector connector; + + @Override + public void customize(Connector connector) { + this.connector = connector; + } + @Override + public void onApplicationEvent(ContextClosedEvent contextClosedEvent) { + this.connector.pause(); + Executor executor = this.connector.getProtocolHandler().getExecutor(); + long waitTimeSecs = shutdownProperties.getGraceful().getWaitTimeSecs(); + if (executor instanceof ThreadPoolExecutor) { + try { + ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor) executor; + threadPoolExecutor.shutdown(); + if (!threadPoolExecutor.awaitTermination(waitTimeSecs, TimeUnit.SECONDS)) { + String msg = String.format("Tomcat在【%s】秒内优雅停机失败,请手动处理", waitTimeSecs); + logger.error(msg); + } + } catch (InterruptedException ex) { + Thread.currentThread().interrupt(); + } + } + } +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/ShutdownProperties.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/ShutdownProperties.java new file mode 100644 index 0000000000..6be38ccc93 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/ShutdownProperties.java @@ -0,0 +1,17 @@ +package com.epmet.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; + +@ConfigurationProperties(prefix = "shutdown") +@Data +public class ShutdownProperties { + + private GracefulShutdownProperties graceful; + + @Data + public static class GracefulShutdownProperties { + private long waitTimeSecs = 30; + } + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/test/TestController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/test/TestController.java index e68a222f27..c86286bfc5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/test/TestController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/test/TestController.java @@ -18,4 +18,13 @@ public class TestController { return new Result().ok(requestServerNameAndPort); } + @PostMapping("shutdown") + public Result testShutdown() throws InterruptedException { + for (int i = 1; i <= 10; i++) { + System.out.println(i); + Thread.sleep(1000l); + } + return new Result(); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml index 717cff838d..fad0c9c313 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml @@ -139,4 +139,10 @@ thread: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 3 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file From 19cdd873a5297e280afdda18ed9e9da702f203db Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 11 Dec 2020 14:14:32 +0800 Subject: [PATCH 005/184] =?UTF-8?q?=E3=80=90resi-group=E3=80=91=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BC=98=E9=9B=85=E5=81=9C=E6=AD=A2=E7=AD=89=E5=BE=85?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi-group-server/src/main/resources/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml index fad0c9c313..302894d482 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml @@ -145,4 +145,4 @@ dingTalk: shutdown: graceful: enable: true #是否开启优雅停机 - waitTimeSecs: 3 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file From 8e389d76dc48b7fe67a492e3bdcded7930558f24 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 17 Dec 2020 13:59:30 +0800 Subject: [PATCH 006/184] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E8=AF=AD=E9=9F=B3?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/topic/TopicDraftAttachmentDTO.java | 117 ++++++++++++++ .../resi/group/dto/topic/TopicDraftDTO.java | 146 ++++++++++++++++++ .../dto/topic/TopicDraftOperationDTO.java | 96 ++++++++++++ .../controller/TopicDraftController.java | 94 +++++++++++ .../topic/dao/TopicDraftAttachmentDao.java | 33 ++++ .../modules/topic/dao/TopicDraftDao.java | 33 ++++ .../topic/dao/TopicDraftOperationDao.java | 33 ++++ .../entity/TopicDraftAttachmentEntity.java | 87 +++++++++++ .../topic/entity/TopicDraftEntity.java | 116 ++++++++++++++ .../entity/TopicDraftOperationEntity.java | 66 ++++++++ .../com/epmet/modules/topic/excel/.gitkeep | 0 .../excel/TopicDraftAttachmentExcel.java | 80 ++++++++++ .../modules/topic/excel/TopicDraftExcel.java | 98 ++++++++++++ .../topic/excel/TopicDraftOperationExcel.java | 68 ++++++++ .../service/TopicDraftAttachmentService.java | 95 ++++++++++++ .../service/TopicDraftOperationService.java | 95 ++++++++++++ .../topic/service/TopicDraftService.java | 95 ++++++++++++ .../epmet/modules/topic/service/impl/.gitkeep | 0 .../impl/TopicDraftAttachmentServiceImpl.java | 99 ++++++++++++ .../impl/TopicDraftOperationServiceImpl.java | 99 ++++++++++++ .../service/impl/TopicDraftServiceImpl.java | 99 ++++++++++++ .../src/main/resources/mapper/topic/.gitkeep | 0 .../mapper/topic/TopicDraftAttachmentDao.xml | 8 + .../resources/mapper/topic/TopicDraftDao.xml | 7 + .../mapper/topic/TopicDraftOperationDao.xml | 8 + 25 files changed, 1672 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftAttachmentDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftOperationDTO.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftOperationDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftAttachmentEntity.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftEntity.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftOperationEntity.java delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/.gitkeep create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftAttachmentExcel.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftExcel.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftOperationExcel.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftOperationService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/.gitkeep create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftOperationServiceImpl.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java delete mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/.gitkeep create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftOperationDao.xml diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftAttachmentDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftAttachmentDTO.java new file mode 100644 index 0000000000..35ec1d69ee --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftAttachmentDTO.java @@ -0,0 +1,117 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.topic; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 话题草稿附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +public class TopicDraftAttachmentDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 附件id + */ + private String id; + + /** + * 话题草稿id + */ + private String topicDraftId; + + /** + * 客户id + */ + private String customerId; + + /** + * 附件名(uuid随机生成) + */ + private String attachmentName; + + /** + * 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) + */ + private String attachmentFormat; + + /** + * 附件类型((图片 - image、视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * 附件地址url + */ + private String attachmentUrl; + + /** + * 排序字段(按附件类型分组排序) + */ + private Integer sort; + + /** + * 附件状态(审核中:auditing; + auto_passed: 自动通过; + review:结果不确定,需要人工审核; + block: 结果违规; + rejected:人工审核驳回; + approved:人工审核通过) + 现在图片是同步审核的,所以图片只有auto_passed一种状态 + */ + private String status; + + /** + * 删除标记 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftDTO.java new file mode 100644 index 0000000000..80fcc43105 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftDTO.java @@ -0,0 +1,146 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.topic; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 话题草稿内容表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +public class TopicDraftDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 话题草稿id + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 小组Id + */ + private String groupId; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 话题草稿状态(审核中:auditing; + auto_passed: 自动通过; + review:结果不确定,需要人工审核; + block: 结果违规; + rejected:人工审核驳回; + approved:人工审核通过) + */ + private String draftStatus; + + /** + * 草稿审核理由 + */ + private String draftReason; + + /** + * 省 + */ + private String province; + + /** + * 市 + */ + private String city; + + /** + * 区 + */ + private String area; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 维度 + */ + private String dimension; + + /** + * 发布成功后的话题id + */ + private String topicId; + + /** + * 创建者是否可见(0是 1否) + */ + private String isSee; + + /** + * 删除标记 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 话题发布人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftOperationDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftOperationDTO.java new file mode 100644 index 0000000000..b0629f991a --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftOperationDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.topic; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 话题草稿操作日志表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +public class TopicDraftOperationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 话题草稿操作日志id + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 话题草稿id + */ + private String topicDraftId; + + /** + * 操作类型:submit:提交发布; + auto_passed: 自动审核-通过; + review:自动审核-结果不确定,需要人工审核; + block: 自动审核-结果违规; + rejected:人工审核驳回; + approved:人工审核通过 + */ + private String operateType; + + /** + * 操作时的备注,比如驳回理由 + */ + private String remark; + + /** + * 删除标记 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 操作人,API审核结果,存储为SCAN_USER或者APP_USER + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java new file mode 100644 index 0000000000..71f79e615b --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.modules.topic.excel.TopicDraftExcel; +import com.epmet.modules.topic.service.TopicDraftService; +import com.epmet.resi.group.dto.topic.TopicDraftDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 话题草稿内容表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@RestController +@RequestMapping("topicdraft") +public class TopicDraftController { + + @Autowired + private TopicDraftService topicDraftService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = topicDraftService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + TopicDraftDTO data = topicDraftService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody TopicDraftDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + topicDraftService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody TopicDraftDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + topicDraftService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + topicDraftService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = topicDraftService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, TopicDraftExcel.class); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java new file mode 100644 index 0000000000..a41c95d420 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.topic.entity.TopicDraftAttachmentEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 话题草稿附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Mapper +public interface TopicDraftAttachmentDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java new file mode 100644 index 0000000000..e4a41b173b --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.topic.entity.TopicDraftEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 话题草稿内容表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Mapper +public interface TopicDraftDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftOperationDao.java new file mode 100644 index 0000000000..83350cea13 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftOperationDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.topic.entity.TopicDraftOperationEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 话题草稿操作日志表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Mapper +public interface TopicDraftOperationDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftAttachmentEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftAttachmentEntity.java new file mode 100644 index 0000000000..0929f7adba --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftAttachmentEntity.java @@ -0,0 +1,87 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 话题草稿附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("topic_draft_attachment") +public class TopicDraftAttachmentEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 话题草稿id + */ + private String topicDraftId; + + /** + * 客户id + */ + private String customerId; + + /** + * 附件名(uuid随机生成) + */ + private String attachmentName; + + /** + * 文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS) + */ + private String attachmentFormat; + + /** + * 附件类型((图片 - image、视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * 附件地址url + */ + private String attachmentUrl; + + /** + * 排序字段(按附件类型分组排序) + */ + private Integer sort; + + /** + * 附件状态(审核中:auditing; + auto_passed: 自动通过; + review:结果不确定,需要人工审核; + block: 结果违规; + rejected:人工审核驳回; + approved:人工审核通过) + 现在图片是同步审核的,所以图片只有auto_passed一种状态 + */ + private String status; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftEntity.java new file mode 100644 index 0000000000..513e03c4cf --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftEntity.java @@ -0,0 +1,116 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 话题草稿内容表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("topic_draft") +public class TopicDraftEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 小组Id + */ + private String groupId; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 话题草稿状态(审核中:auditing; + auto_passed: 自动通过; + review:结果不确定,需要人工审核; + block: 结果违规; + rejected:人工审核驳回; + approved:人工审核通过) + */ + private String draftStatus; + + /** + * 草稿审核理由 + */ + private String draftReason; + + /** + * 省 + */ + private String province; + + /** + * 市 + */ + private String city; + + /** + * 区 + */ + private String area; + + /** + * 地址 + */ + private String address; + + /** + * 经度 + */ + private String longitude; + + /** + * 维度 + */ + private String dimension; + + /** + * 发布成功后的话题id + */ + private String topicId; + + /** + * 创建者是否可见(0是 1否) + */ + private String isSee; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftOperationEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftOperationEntity.java new file mode 100644 index 0000000000..e1092bbaf5 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftOperationEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 话题草稿操作日志表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("topic_draft_operation") +public class TopicDraftOperationEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 话题草稿id + */ + private String topicDraftId; + + /** + * 操作类型:submit:提交发布; + auto_passed: 自动审核-通过; + review:自动审核-结果不确定,需要人工审核; + block: 自动审核-结果违规; + rejected:人工审核驳回; + approved:人工审核通过 + */ + private String operateType; + + /** + * 操作时的备注,比如驳回理由 + */ + private String remark; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/.gitkeep b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftAttachmentExcel.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftAttachmentExcel.java new file mode 100644 index 0000000000..bf2dfe4460 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftAttachmentExcel.java @@ -0,0 +1,80 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 话题草稿附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +public class TopicDraftAttachmentExcel { + + @Excel(name = "附件id") + private String id; + + @Excel(name = "话题草稿id") + private String topicDraftId; + + @Excel(name = "客户id") + private String customerId; + + @Excel(name = "附件名(uuid随机生成)") + private String attachmentName; + + @Excel(name = "文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)") + private String attachmentFormat; + + @Excel(name = "附件类型((图片 - image、视频 - video、 语音 - voice、 文档 - doc))") + private String attachmentType; + + @Excel(name = "附件地址url") + private String attachmentUrl; + + @Excel(name = "排序字段(按附件类型分组排序)") + private Integer sort; + + @Excel(name = "附件状态(审核中:auditing;auto_passed: 自动通过;review:结果不确定,需要人工审核;"+ +"block: 结果违规;rejected:人工审核驳回;approved:人工审核通过)现在图片是同步审核的,所以图片只有auto_passed一种状态") + private String status; + + @Excel(name = "删除标记 0:未删除,1:已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftExcel.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftExcel.java new file mode 100644 index 0000000000..2a7d97c8b9 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftExcel.java @@ -0,0 +1,98 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 话题草稿内容表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +public class TopicDraftExcel { + + @Excel(name = "话题草稿id") + private String id; + + @Excel(name = "客户id") + private String customerId; + + @Excel(name = "网格ID") + private String gridId; + + @Excel(name = "小组Id") + private String groupId; + + @Excel(name = "话题内容") + private String topicContent; + + @Excel(name = "话题草稿状态(审核中:auditing; auto_passed: 自动通过;review:结果不确定,需要人工审核;"+ +"block: 结果违规;rejected:人工审核驳回;approved:人工审核通过)") + private String draftStatus; + + @Excel(name = "草稿审核理由") + private String draftReason; + + @Excel(name = "省") + private String province; + + @Excel(name = "市") + private String city; + + @Excel(name = "区 ") + private String area; + + @Excel(name = "地址") + private String address; + + @Excel(name = "经度") + private String longitude; + + @Excel(name = "维度") + private String dimension; + + @Excel(name = "发布成功后的话题id") + private String topicId; + + @Excel(name = "创建者是否可见(0是 1否)") + private String isSee; + + @Excel(name = "删除标记 0:未删除,1:已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "话题发布人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftOperationExcel.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftOperationExcel.java new file mode 100644 index 0000000000..428b9c4140 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftOperationExcel.java @@ -0,0 +1,68 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 话题草稿操作日志表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Data +public class TopicDraftOperationExcel { + + @Excel(name = "话题草稿操作日志id") + private String id; + + @Excel(name = "客户id") + private String customerId; + + @Excel(name = "话题草稿id") + private String topicDraftId; + + @Excel(name = "操作类型:submit:提交发布; auto_passed: 自动审核-通过;review:自动审核-结果不确定,需要人工审核;"+ +"block: 自动审核-结果违规;rejected:人工审核驳回;approved:人工审核通过") + private String operateType; + + @Excel(name = "操作时的备注,比如驳回理由") + private String remark; + + @Excel(name = "删除标记 0:未删除,1:已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "操作人,API审核结果,存储为SCAN_USER或者APP_USER") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java new file mode 100644 index 0000000000..6a40eb8236 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.topic.entity.TopicDraftAttachmentEntity; +import com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO; + +import java.util.List; +import java.util.Map; + +/** + * 话题草稿附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +public interface TopicDraftAttachmentService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-17 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-17 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return TopicDraftAttachmentDTO + * @author generator + * @date 2020-12-17 + */ + TopicDraftAttachmentDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-17 + */ + void save(TopicDraftAttachmentDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-17 + */ + void update(TopicDraftAttachmentDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-17 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftOperationService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftOperationService.java new file mode 100644 index 0000000000..f118236a8d --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftOperationService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.topic.entity.TopicDraftOperationEntity; +import com.epmet.resi.group.dto.topic.TopicDraftOperationDTO; + +import java.util.List; +import java.util.Map; + +/** + * 话题草稿操作日志表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +public interface TopicDraftOperationService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-17 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-17 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return TopicDraftOperationDTO + * @author generator + * @date 2020-12-17 + */ + TopicDraftOperationDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-17 + */ + void save(TopicDraftOperationDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-17 + */ + void update(TopicDraftOperationDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-17 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java new file mode 100644 index 0000000000..d32cd5a42a --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.topic.entity.TopicDraftEntity; +import com.epmet.resi.group.dto.topic.TopicDraftDTO; + +import java.util.List; +import java.util.Map; + +/** + * 话题草稿内容表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +public interface TopicDraftService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-17 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-17 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return TopicDraftDTO + * @author generator + * @date 2020-12-17 + */ + TopicDraftDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-17 + */ + void save(TopicDraftDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-17 + */ + void update(TopicDraftDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-17 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/.gitkeep b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java new file mode 100644 index 0000000000..d34c50fe70 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java @@ -0,0 +1,99 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.topic.dao.TopicDraftAttachmentDao; +import com.epmet.modules.topic.entity.TopicDraftAttachmentEntity; +import com.epmet.modules.topic.service.TopicDraftAttachmentService; +import com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题草稿附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Service +public class TopicDraftAttachmentServiceImpl extends BaseServiceImpl implements TopicDraftAttachmentService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, TopicDraftAttachmentDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, TopicDraftAttachmentDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public TopicDraftAttachmentDTO get(String id) { + TopicDraftAttachmentEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, TopicDraftAttachmentDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(TopicDraftAttachmentDTO dto) { + TopicDraftAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, TopicDraftAttachmentEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(TopicDraftAttachmentDTO dto) { + TopicDraftAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, TopicDraftAttachmentEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftOperationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftOperationServiceImpl.java new file mode 100644 index 0000000000..1fcf022738 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftOperationServiceImpl.java @@ -0,0 +1,99 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.topic.dao.TopicDraftOperationDao; +import com.epmet.modules.topic.entity.TopicDraftOperationEntity; +import com.epmet.modules.topic.service.TopicDraftOperationService; +import com.epmet.resi.group.dto.topic.TopicDraftOperationDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题草稿操作日志表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Service +public class TopicDraftOperationServiceImpl extends BaseServiceImpl implements TopicDraftOperationService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, TopicDraftOperationDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, TopicDraftOperationDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public TopicDraftOperationDTO get(String id) { + TopicDraftOperationEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, TopicDraftOperationDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(TopicDraftOperationDTO dto) { + TopicDraftOperationEntity entity = ConvertUtils.sourceToTarget(dto, TopicDraftOperationEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(TopicDraftOperationDTO dto) { + TopicDraftOperationEntity entity = ConvertUtils.sourceToTarget(dto, TopicDraftOperationEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java new file mode 100644 index 0000000000..ac3df4b7b8 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -0,0 +1,99 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.topic.dao.TopicDraftDao; +import com.epmet.modules.topic.entity.TopicDraftEntity; +import com.epmet.modules.topic.service.TopicDraftService; +import com.epmet.resi.group.dto.topic.TopicDraftDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题草稿内容表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-17 + */ +@Service +public class TopicDraftServiceImpl extends BaseServiceImpl implements TopicDraftService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, TopicDraftDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, TopicDraftDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public TopicDraftDTO get(String id) { + TopicDraftEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, TopicDraftDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(TopicDraftDTO dto) { + TopicDraftEntity entity = ConvertUtils.sourceToTarget(dto, TopicDraftEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(TopicDraftDTO dto) { + TopicDraftEntity entity = ConvertUtils.sourceToTarget(dto, TopicDraftEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/.gitkeep b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml new file mode 100644 index 0000000000..107d7bdee0 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml new file mode 100644 index 0000000000..acecc51e74 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftOperationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftOperationDao.xml new file mode 100644 index 0000000000..c25307d1c7 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftOperationDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 8b6f4d399d23b8d4c77605d1b0580ac4749a3c16 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Dec 2020 09:46:41 +0800 Subject: [PATCH 007/184] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=96=87=E4=BB=B6=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/topic/TopicShareLinkRecordDTO.java | 102 ++++++++++++++++++ .../topic/TopicShareLinkVisitRecordDTO.java | 96 +++++++++++++++++ .../TopicShareLinkRecordController.java | 67 ++++++++++++ .../TopicShareLinkVisitRecordController.java | 67 ++++++++++++ .../topic/dao/TopicShareLinkRecordDao.java | 16 +++ .../dao/TopicShareLinkVisitRecordDao.java | 16 +++ .../entity/TopicShareLinkRecordEntity.java | 68 ++++++++++++ .../TopicShareLinkVisitRecordEntity.java | 66 ++++++++++++ .../service/TopicShareLinkRecordService.java | 78 ++++++++++++++ .../TopicShareLinkVisitRecordService.java | 78 ++++++++++++++ .../impl/TopicShareLinkRecordServiceImpl.java | 82 ++++++++++++++ .../TopicShareLinkVisitRecordServiceImpl.java | 82 ++++++++++++++ .../mapper/topic/TopicShareLinkRecordDao.xml | 7 ++ .../topic/TopicShareLinkVisitRecordDao.xml | 7 ++ 14 files changed, 832 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicShareLinkRecordDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicShareLinkVisitRecordDTO.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicShareLinkRecordEntity.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicShareLinkVisitRecordEntity.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicShareLinkRecordDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicShareLinkRecordDTO.java new file mode 100644 index 0000000000..a7a0923715 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicShareLinkRecordDTO.java @@ -0,0 +1,102 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.topic; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 话题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +public class TopicShareLinkRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 邀请ID + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 话题所属网格ID + */ + private String gridId; + + /** + * 小组ID + */ + private String groupId; + + /** + * 话题ID + */ + private String topicId; + + /** + * 分享人ID(当前登录用户) + */ + private String shareUserId; + + /** + * 邀请内容 + */ + private String inviteContent; + + /** + * 删除状态 0:正常,1:删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicShareLinkVisitRecordDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicShareLinkVisitRecordDTO.java new file mode 100644 index 0000000000..572160d9ee --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicShareLinkVisitRecordDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.topic; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 话题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +public class TopicShareLinkVisitRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 分享人【邀请人】ID + */ + private String shareUserId; + + /** + * 被邀请人ID + */ + private String inviteeUserId; + + /** + * 话题分享链接表id + */ + private String shareLinkRecId; + + /** + * 是否邀请注册:0:是,1:不是 + */ + private Integer isInviteRegister; + + /** + * 删除状态,0:正常,1:删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java new file mode 100644 index 0000000000..c8231a7a55 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java @@ -0,0 +1,67 @@ +package com.epmet.modules.topic.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.modules.topic.service.TopicShareLinkRecordService; +import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 话题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@RestController +@RequestMapping("topicsharelinkrecord") +public class TopicShareLinkRecordController { + + @Autowired + private TopicShareLinkRecordService topicShareLinkRecordService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = topicShareLinkRecordService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + TopicShareLinkRecordDTO data = topicShareLinkRecordService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody TopicShareLinkRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + topicShareLinkRecordService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody TopicShareLinkRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + topicShareLinkRecordService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + topicShareLinkRecordService.delete(ids); + return new Result(); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java new file mode 100644 index 0000000000..2c482fb303 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java @@ -0,0 +1,67 @@ +package com.epmet.modules.topic.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.modules.topic.service.TopicShareLinkVisitRecordService; +import com.epmet.resi.group.dto.topic.TopicShareLinkVisitRecordDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 话题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@RestController +@RequestMapping("topicsharelinkvisitrecord") +public class TopicShareLinkVisitRecordController { + + @Autowired + private TopicShareLinkVisitRecordService topicShareLinkVisitRecordService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = topicShareLinkVisitRecordService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + TopicShareLinkVisitRecordDTO data = topicShareLinkVisitRecordService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody TopicShareLinkVisitRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + topicShareLinkVisitRecordService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody TopicShareLinkVisitRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + topicShareLinkVisitRecordService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + topicShareLinkVisitRecordService.delete(ids); + return new Result(); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java new file mode 100644 index 0000000000..4791dc49fe --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java @@ -0,0 +1,16 @@ +package com.epmet.modules.topic.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 话题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Mapper +public interface TopicShareLinkRecordDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java new file mode 100644 index 0000000000..03157f911d --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java @@ -0,0 +1,16 @@ +package com.epmet.modules.topic.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 话题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Mapper +public interface TopicShareLinkVisitRecordDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicShareLinkRecordEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicShareLinkRecordEntity.java new file mode 100644 index 0000000000..e7dd0448c4 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicShareLinkRecordEntity.java @@ -0,0 +1,68 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 话题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("topic_share_link_record") +public class TopicShareLinkRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 话题所属网格ID + */ + private String gridId; + + /** + * 小组ID + */ + private String groupId; + + /** + * 话题ID + */ + private String topicId; + + /** + * 分享人ID(当前登录用户) + */ + private String shareUserId; + + /** + * 邀请内容 + */ + private String inviteContent; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicShareLinkVisitRecordEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicShareLinkVisitRecordEntity.java new file mode 100644 index 0000000000..44edb3624a --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicShareLinkVisitRecordEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 话题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("topic_share_link_visit_record") +public class TopicShareLinkVisitRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 分享人【邀请人】ID + */ + private String shareUserId; + + /** + * 被邀请人ID + */ + private String inviteeUserId; + + /** + * 话题分享链接表id + */ + private String shareLinkRecId; + + /** + * 是否邀请注册:0:是,1:不是 + */ + private Integer isInviteRegister; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java new file mode 100644 index 0000000000..37f1691642 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java @@ -0,0 +1,78 @@ +package com.epmet.modules.topic.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; +import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; + +import java.util.List; +import java.util.Map; + +/** + * 话题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +public interface TopicShareLinkRecordService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return TopicShareLinkRecordDTO + * @author generator + * @date 2020-12-18 + */ + TopicShareLinkRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void save(TopicShareLinkRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void update(TopicShareLinkRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-18 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java new file mode 100644 index 0000000000..e09b2e3605 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java @@ -0,0 +1,78 @@ +package com.epmet.modules.topic.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity; +import com.epmet.resi.group.dto.topic.TopicShareLinkVisitRecordDTO; + +import java.util.List; +import java.util.Map; + +/** + * 话题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +public interface TopicShareLinkVisitRecordService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return TopicShareLinkVisitRecordDTO + * @author generator + * @date 2020-12-18 + */ + TopicShareLinkVisitRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void save(TopicShareLinkVisitRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void update(TopicShareLinkVisitRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-18 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java new file mode 100644 index 0000000000..3681548f68 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.modules.topic.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.topic.dao.TopicShareLinkRecordDao; +import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; +import com.epmet.modules.topic.service.TopicShareLinkRecordService; +import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Service +public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl implements TopicShareLinkRecordService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, TopicShareLinkRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, TopicShareLinkRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public TopicShareLinkRecordDTO get(String id) { + TopicShareLinkRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, TopicShareLinkRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(TopicShareLinkRecordDTO dto) { + TopicShareLinkRecordEntity entity = ConvertUtils.sourceToTarget(dto, TopicShareLinkRecordEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(TopicShareLinkRecordDTO dto) { + TopicShareLinkRecordEntity entity = ConvertUtils.sourceToTarget(dto, TopicShareLinkRecordEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java new file mode 100644 index 0000000000..8719638483 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.modules.topic.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.modules.topic.dao.TopicShareLinkVisitRecordDao; +import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity; +import com.epmet.modules.topic.service.TopicShareLinkVisitRecordService; +import com.epmet.resi.group.dto.topic.TopicShareLinkVisitRecordDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Service +public class TopicShareLinkVisitRecordServiceImpl extends BaseServiceImpl implements TopicShareLinkVisitRecordService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, TopicShareLinkVisitRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, TopicShareLinkVisitRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public TopicShareLinkVisitRecordDTO get(String id) { + TopicShareLinkVisitRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, TopicShareLinkVisitRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(TopicShareLinkVisitRecordDTO dto) { + TopicShareLinkVisitRecordEntity entity = ConvertUtils.sourceToTarget(dto, TopicShareLinkVisitRecordEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(TopicShareLinkVisitRecordDTO dto) { + TopicShareLinkVisitRecordEntity entity = ConvertUtils.sourceToTarget(dto, TopicShareLinkVisitRecordEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml new file mode 100644 index 0000000000..bd2beb3aaa --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml new file mode 100644 index 0000000000..e17f1e1b1a --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 0133c8526b93a72cfa4af3439299e0e5bc6bdee2 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Dec 2020 09:57:22 +0800 Subject: [PATCH 008/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=96=87=E4=BB=B6=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/IssueShareLinkRecordDTO.java | 97 ++++++++++++++++++ .../dto/IssueShareLinkVisitRecordDTO.java | 96 ++++++++++++++++++ .../IssueShareLinkRecordController.java | 84 ++++++++++++++++ .../IssueShareLinkVisitRecordController.java | 67 +++++++++++++ .../epmet/dao/IssueShareLinkRecordDao.java | 33 +++++++ .../dao/IssueShareLinkVisitRecordDao.java | 33 +++++++ .../entity/IssueShareLinkRecordEntity.java | 63 ++++++++++++ .../IssueShareLinkVisitRecordEntity.java | 66 +++++++++++++ .../service/IssueShareLinkRecordService.java | 95 ++++++++++++++++++ .../IssueShareLinkVisitRecordService.java | 95 ++++++++++++++++++ .../impl/IssueShareLinkRecordServiceImpl.java | 82 +++++++++++++++ .../IssueShareLinkVisitRecordServiceImpl.java | 99 +++++++++++++++++++ .../mapper/IssueShareLinkRecordDao.xml | 7 ++ .../mapper/IssueShareLinkVisitRecordDao.xml | 7 ++ 14 files changed, 924 insertions(+) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkRecordDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkRecordDao.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkRecordEntity.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkRecordServiceImpl.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkRecordDao.xml create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkRecordDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkRecordDTO.java new file mode 100644 index 0000000000..a6d4a20ec2 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkRecordDTO.java @@ -0,0 +1,97 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +public class IssueShareLinkRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 议题所属网格ID + */ + private String gridId; + + /** + * 议题ID + */ + private String issueId; + + /** + * 分享人(当前用户id) + */ + private String shareUserId; + + /** + * 邀请内容 + */ + private String inviteContent; + + /** + * 删除状态 0:正常,1:删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java new file mode 100644 index 0000000000..5db5a897d6 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 议题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +public class IssueShareLinkVisitRecordDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 分享人【邀请人】ID + */ + private String shareUserId; + + /** + * 被邀请人ID + */ + private String inviteeUserId; + + /** + * 议题分享链接表.id + */ + private String shareLinkRecId; + + /** + * 是否邀请注册:0:是,1:不是 + */ + private Integer isInviteRegister; + + /** + * 删除状态,0:正常,1:删除 + */ + private Integer delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java new file mode 100644 index 0000000000..fb1fb1c8dc --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java @@ -0,0 +1,84 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.IssueShareLinkRecordDTO; +import com.epmet.service.IssueShareLinkRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 议题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@RestController +@RequestMapping("issuesharelinkrecord") +public class IssueShareLinkRecordController { + + @Autowired + private IssueShareLinkRecordService issueShareLinkRecordService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = issueShareLinkRecordService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + IssueShareLinkRecordDTO data = issueShareLinkRecordService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody IssueShareLinkRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + issueShareLinkRecordService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody IssueShareLinkRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + issueShareLinkRecordService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + issueShareLinkRecordService.delete(ids); + return new Result(); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java new file mode 100644 index 0000000000..cc84275f9a --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java @@ -0,0 +1,67 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.IssueShareLinkVisitRecordDTO; +import com.epmet.service.IssueShareLinkVisitRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 议题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@RestController +@RequestMapping("issuesharelinkvisitrecord") +public class IssueShareLinkVisitRecordController { + + @Autowired + private IssueShareLinkVisitRecordService issueShareLinkVisitRecordService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = issueShareLinkVisitRecordService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + IssueShareLinkVisitRecordDTO data = issueShareLinkVisitRecordService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody IssueShareLinkVisitRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + issueShareLinkVisitRecordService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody IssueShareLinkVisitRecordDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + issueShareLinkVisitRecordService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + issueShareLinkVisitRecordService.delete(ids); + return new Result(); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkRecordDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkRecordDao.java new file mode 100644 index 0000000000..9c1315dd73 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkRecordDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IssueShareLinkRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 议题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Mapper +public interface IssueShareLinkRecordDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java new file mode 100644 index 0000000000..13eafce89f --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.IssueShareLinkVisitRecordEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 议题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Mapper +public interface IssueShareLinkVisitRecordDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkRecordEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkRecordEntity.java new file mode 100644 index 0000000000..5384446168 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkRecordEntity.java @@ -0,0 +1,63 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 议题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("issue_share_link_record") +public class IssueShareLinkRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 议题所属网格ID + */ + private String gridId; + + /** + * 议题ID + */ + private String issueId; + + /** + * 分享人(当前用户id) + */ + private String shareUserId; + + /** + * 邀请内容 + */ + private String inviteContent; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java new file mode 100644 index 0000000000..4cab9430d7 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 议题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("issue_share_link_visit_record") +public class IssueShareLinkVisitRecordEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 分享人【邀请人】ID + */ + private String shareUserId; + + /** + * 被邀请人ID + */ + private String inviteeUserId; + + /** + * 议题分享链接表.id + */ + private String shareLinkRecId; + + /** + * 是否邀请注册:0:是,1:不是 + */ + private Integer isInviteRegister; + +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java new file mode 100644 index 0000000000..82f60709b2 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IssueShareLinkRecordDTO; +import com.epmet.entity.IssueShareLinkRecordEntity; + +import java.util.List; +import java.util.Map; + +/** + * 议题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +public interface IssueShareLinkRecordService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IssueShareLinkRecordDTO + * @author generator + * @date 2020-12-18 + */ + IssueShareLinkRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void save(IssueShareLinkRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void update(IssueShareLinkRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-18 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java new file mode 100644 index 0000000000..1f7ec69f77 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.IssueShareLinkVisitRecordDTO; +import com.epmet.entity.IssueShareLinkVisitRecordEntity; + +import java.util.List; +import java.util.Map; + +/** + * 议题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +public interface IssueShareLinkVisitRecordService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return IssueShareLinkVisitRecordDTO + * @author generator + * @date 2020-12-18 + */ + IssueShareLinkVisitRecordDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void save(IssueShareLinkVisitRecordDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void update(IssueShareLinkVisitRecordDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-18 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkRecordServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkRecordServiceImpl.java new file mode 100644 index 0000000000..151296096e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkRecordServiceImpl.java @@ -0,0 +1,82 @@ +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.IssueShareLinkRecordDao; +import com.epmet.dto.IssueShareLinkRecordDTO; +import com.epmet.entity.IssueShareLinkRecordEntity; +import com.epmet.service.IssueShareLinkRecordService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 议题分享链接表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Service +public class IssueShareLinkRecordServiceImpl extends BaseServiceImpl implements IssueShareLinkRecordService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IssueShareLinkRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IssueShareLinkRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IssueShareLinkRecordDTO get(String id) { + IssueShareLinkRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IssueShareLinkRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IssueShareLinkRecordDTO dto) { + IssueShareLinkRecordEntity entity = ConvertUtils.sourceToTarget(dto, IssueShareLinkRecordEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IssueShareLinkRecordDTO dto) { + IssueShareLinkRecordEntity entity = ConvertUtils.sourceToTarget(dto, IssueShareLinkRecordEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java new file mode 100644 index 0000000000..ce68726089 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java @@ -0,0 +1,99 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.IssueShareLinkVisitRecordDao; +import com.epmet.dto.IssueShareLinkVisitRecordDTO; +import com.epmet.entity.IssueShareLinkVisitRecordEntity; +import com.epmet.service.IssueShareLinkVisitRecordService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 议题分享链接访问记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Service +public class IssueShareLinkVisitRecordServiceImpl extends BaseServiceImpl implements IssueShareLinkVisitRecordService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, IssueShareLinkVisitRecordDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, IssueShareLinkVisitRecordDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public IssueShareLinkVisitRecordDTO get(String id) { + IssueShareLinkVisitRecordEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, IssueShareLinkVisitRecordDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(IssueShareLinkVisitRecordDTO dto) { + IssueShareLinkVisitRecordEntity entity = ConvertUtils.sourceToTarget(dto, IssueShareLinkVisitRecordEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(IssueShareLinkVisitRecordDTO dto) { + IssueShareLinkVisitRecordEntity entity = ConvertUtils.sourceToTarget(dto, IssueShareLinkVisitRecordEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkRecordDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkRecordDao.xml new file mode 100644 index 0000000000..55f97c66de --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkRecordDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml new file mode 100644 index 0000000000..53c48f886b --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From 5721a43f4f894f1127f634f60279a8f72ca451f4 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Dec 2020 11:18:16 +0800 Subject: [PATCH 009/184] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E5=88=86=E4=BA=ABid?= =?UTF-8?q?=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/constant/TopicShareConstant.java | 11 ++++++ .../dto/topic/form/CreateUrlFormDTO.java | 24 +++++++++++++ .../dto/topic/result/CreateUrlResultDTO.java | 22 ++++++++++++ .../TopicShareLinkRecordController.java | 18 +++++++++- .../topic/dao/TopicShareLinkRecordDao.java | 20 ++++++++++- .../service/TopicShareLinkRecordService.java | 11 ++++++ .../impl/TopicShareLinkRecordServiceImpl.java | 34 +++++++++++++++++++ .../mapper/topic/TopicShareLinkRecordDao.xml | 21 ++++++++++++ 8 files changed, 159 insertions(+), 2 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateUrlFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/CreateUrlResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java new file mode 100644 index 0000000000..1b2b680b9d --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java @@ -0,0 +1,11 @@ +package com.epmet.resi.group.constant; + +/** + * @Author zxc + * @DateTime 2020/12/18 上午10:53 + */ +public interface TopicShareConstant { + + String NOT_EXIST_TOPIC_INFO = "未查到该话题信息......"; + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateUrlFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateUrlFormDTO.java new file mode 100644 index 0000000000..905f0208e3 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateUrlFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 上午10:02 + */ +@Data +public class CreateUrlFormDTO implements Serializable { + + private static final long serialVersionUID = -7661839148530902018L; + + public interface CreateUrlForm{} + + /** + * 话题ID + */ + @NotBlank(message = "话题ID不能为空",groups = {CreateUrlForm.class}) + private String topicId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/CreateUrlResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/CreateUrlResultDTO.java new file mode 100644 index 0000000000..7ec576aee5 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/CreateUrlResultDTO.java @@ -0,0 +1,22 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 上午10:01 + */ +@Data +@AllArgsConstructor +public class CreateUrlResultDTO implements Serializable { + + private static final long serialVersionUID = -8606257390921799432L; + + /** + * 分享链接ID + */ + private String shareLinkId; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java index c8231a7a55..2a14242b40 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java @@ -1,6 +1,8 @@ package com.epmet.modules.topic.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -9,6 +11,8 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.topic.service.TopicShareLinkRecordService; import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; +import com.epmet.resi.group.dto.topic.form.CreateUrlFormDTO; +import com.epmet.resi.group.dto.topic.result.CreateUrlResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -22,7 +26,7 @@ import java.util.Map; * @since v1.0.0 2020-12-18 */ @RestController -@RequestMapping("topicsharelinkrecord") +@RequestMapping("topicsharelink") public class TopicShareLinkRecordController { @Autowired @@ -64,4 +68,16 @@ public class TopicShareLinkRecordController { return new Result(); } + /** + * @Description 分享话题邀请ID + * @Param createUrlFormDTO + * @author zxc + * @date 2020/12/18 上午10:14 + */ + @PostMapping("createurl") + public Result getCreateUrlId(@RequestBody CreateUrlFormDTO createUrlFormDTO, @LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(createUrlFormDTO, CreateUrlFormDTO.CreateUrlForm.class); + return new Result().ok(topicShareLinkRecordService.getCreateUrlId(createUrlFormDTO,tokenDto)); + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java index 4791dc49fe..e84f6ff8e2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java @@ -3,6 +3,7 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 话题分享链接表 @@ -12,5 +13,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface TopicShareLinkRecordDao extends BaseDao { - + + /** + * @Description 根据话题ID查询对应信息 + * @Param topicId + * @author zxc + * @date 2020/12/18 上午10:28 + */ + TopicShareLinkRecordEntity selectTopicInfoById(@Param("topicId") String topicId); + + /** + * @Description 校验此人此话题是否存在邀请记录 + * @Param topicId + * @Param userId + * @author zxc + * @date 2020/12/18 上午11:10 + */ + String checkRecord(@Param("topicId") String topicId,@Param("userId") String userId); + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java index 37f1691642..c925a82173 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java @@ -2,8 +2,11 @@ package com.epmet.modules.topic.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; +import com.epmet.resi.group.dto.topic.form.CreateUrlFormDTO; +import com.epmet.resi.group.dto.topic.result.CreateUrlResultDTO; import java.util.List; import java.util.Map; @@ -75,4 +78,12 @@ public interface TopicShareLinkRecordService extends BaseService + + + + \ No newline at end of file From 809225ffe11245fca2fa752e406742da0a8e39dd Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Dec 2020 12:58:46 +0800 Subject: [PATCH 010/184] =?UTF-8?q?ScanContentUtils=E6=96=B0=E5=A2=9Evoice?= =?UTF-8?q?AsyncScan=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/scan/param/VoiceScanParamDTO.java | 35 ++++++++++ .../tools/scan/param/VoiceTaskDTO.java | 31 +++++++++ .../tools/scan/result/AsyncScanResult.java | 49 ++++++++++++++ .../tools/scan/result/AsyncScanTaskDTO.java | 25 +++++++ .../commons/tools/utils/ScanContentUtils.java | 66 ++++++++++++++++++- .../scan/service/impl/ScanServiceImpl.java | 14 +++- .../support/param/VoiceAsyncScanParam.java | 5 ++ .../result/VoiceAsyncScanTaskDataDTO.java | 4 +- .../result/VoiceAsyncScanTaskResult.java | 28 +++++++- 9 files changed, 249 insertions(+), 8 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/param/VoiceScanParamDTO.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/param/VoiceTaskDTO.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/AsyncScanResult.java create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/AsyncScanTaskDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/param/VoiceScanParamDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/param/VoiceScanParamDTO.java new file mode 100644 index 0000000000..e315848ec1 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/param/VoiceScanParamDTO.java @@ -0,0 +1,35 @@ +package com.epmet.commons.tools.scan.param; + +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * 语音检测入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/18 10:15 + */ +@Data +public class VoiceScanParamDTO implements Serializable { + + /** + * 是否开启回调 + */ + @NotNull(message = "openCallBack必填,true开启;false不开启") + private Boolean openCallBack; + + /** + * 异步检测结果回调地址,执行异步审查内容时 必填 + * openCallBack=true时,callback必填 + */ + private String callback; + + @Valid + @NotEmpty(message = "任务列表不能为空") + private List tasks; +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/param/VoiceTaskDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/param/VoiceTaskDTO.java new file mode 100644 index 0000000000..a0abe2303a --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/param/VoiceTaskDTO.java @@ -0,0 +1,31 @@ +package com.epmet.commons.tools.scan.param; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 语音异步检测对象 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/18 10:21 + */ +@Data +public class VoiceTaskDTO implements Serializable { + /** + * 不必填 + * 要检测的数据id 非必填 + * 检测对象对应的数据ID。 + * 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。 + * */ + @NotBlank(message = "dataId不能为空") + private String dataId; + + /** + * 必填 + * 需要检测的音频文件或语音流的下载地址。 + */ + @NotBlank(message = "音频URL不能为空") + private String url; +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/AsyncScanResult.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/AsyncScanResult.java new file mode 100644 index 0000000000..77cabbfed7 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/AsyncScanResult.java @@ -0,0 +1,49 @@ +package com.epmet.commons.tools.scan.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * 语音异步检测 返参 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/18 10:09 + */ +@Data +public class AsyncScanResult implements Serializable { + private static final long serialVersionUID = -939433332419948118L; + + /** + * 随机字符串,该值用于回调通知请求中的签名。 + */ + private String seed; + + /** + * 提交成功的失败对象 + */ + private List successTasks=new ArrayList<>(); + + /** + * 提交失败的检测对象 + */ + private List failTasks=new ArrayList<>(); + + /** + * 是否全部提交成功 + */ + private boolean isAllSuccess; + + public boolean isAllSuccess() { + if (failTasks.isEmpty() && !successTasks.isEmpty()) { + return true; + } + return isAllSuccess; + } + + public void setAllSuccess(boolean allSuccess) { + isAllSuccess = allSuccess; + } +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/AsyncScanTaskDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/AsyncScanTaskDTO.java new file mode 100644 index 0000000000..e09ed9ae5d --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/AsyncScanTaskDTO.java @@ -0,0 +1,25 @@ +package com.epmet.commons.tools.scan.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 语音异步检测 -返回的task集合 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/18 10:31 + */ +@Data +public class AsyncScanTaskDTO implements Serializable { + /** + * 检测对象对应的数据ID。 + * 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。 + */ + private String dataId; + + /** + * 任务id + */ + private String taskId; +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ScanContentUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ScanContentUtils.java index ef7a3257a6..2ab6e7dda6 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ScanContentUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ScanContentUtils.java @@ -4,9 +4,8 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.scan.param.ImgScanParamDTO; -import com.epmet.commons.tools.scan.param.TextScanParamDTO; -import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.param.*; +import com.epmet.commons.tools.scan.result.AsyncScanResult; import com.epmet.commons.tools.scan.result.SyncScanResult; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -75,7 +74,44 @@ public class ScanContentUtils { } } + /** + * desc:语音异步检测任务提交 + * + * @return + */ + public static Result voiceAsyncScan(String url, VoiceScanParamDTO param){ + log.debug("voiceAsyncScan param:{}", JSON.toJSONString(param)); + if (StringUtils.isBlank(url) || param == null) { + throw new RenException("参数错误"); + } + if (param.getOpenCallBack() && StringUtils.isBlank(param.getCallback())) { + throw new RenException("参数错误,开启回调,callback必填"); + } + try { + Result result = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(param)); + log.debug("voiceAsyncScan result:{}", JSON.toJSONString(result)); + if (result.success()) { + return JSON.parseObject(result.getData(),new TypeReference>(){}); + } + Result resultResult = new Result<>(); + resultResult.error(result.getCode(),result.getMsg()); + resultResult.setInternalMsg(result.getInternalMsg()); + return resultResult; + } catch (Exception e) { + log.error("voiceAsyncScan exception:", e); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), e.getMessage()); + } + } + + public static void main(String[] args) { + //测试文本检测 + // testTextSyncScan(); + //测试语音检测 + testVoiceAsyncScan(); + } + + public static void testTextSyncScan(){ String url = "http://localhost:8107/epmetscan/api/textSyncScan"; TextTaskDTO p = new TextTaskDTO(); p.setDataId("1"); @@ -95,6 +131,30 @@ public class ScanContentUtils { result.getFailDataIds().addAll(imgSyncScanResultData.getFailDataIds()); System.out.println("================"+JSON.toJSONString(result)); } + } + } + + public static void testVoiceAsyncScan(){ + String url = "http://localhost:8107/epmetscan/api/voiceAsyncScan"; + VoiceTaskDTO p = new VoiceTaskDTO(); + p.setDataId("1"); + p.setUrl("https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201208/6480bd6be9f14a458162218cea84dfa5.aac"); + List list = new ArrayList<>(); + list.add(p); + VoiceScanParamDTO param = new VoiceScanParamDTO(); + param.setTasks(list); + param.setOpenCallBack(false); + Result asyncScanResultResult = ScanContentUtils.voiceAsyncScan(url, param); + System.out.println(JSON.toJSONString(asyncScanResultResult)); + AsyncScanResult result = new AsyncScanResult(); + if (asyncScanResultResult != null) { + AsyncScanResult asyncScanResult = asyncScanResultResult.getData(); + if (asyncScanResultResult.success()) { + result.setAllSuccess(asyncScanResult.isAllSuccess()); + result.getSuccessTasks().addAll(asyncScanResult.getSuccessTasks()); + result.getFailTasks().addAll(asyncScanResult.getFailTasks()); + System.out.println("================" + JSON.toJSONString(result)); } } + } } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java index 86897f5a9e..27e6ce3ea0 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java @@ -30,6 +30,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -306,7 +307,18 @@ public class ScanServiceImpl implements ScanService { //成功返回 VoiceAsyncScanTaskResult resultDto=new VoiceAsyncScanTaskResult(); resultDto.setSeed(voiceAsyncScanParam.getSeed()); - resultDto.setTaskList(taskList); + List successList = new ArrayList<>(); + List failedList = new ArrayList<>(); + taskList.forEach(taskDetail -> { + if (HttpStatus.SC_OK == taskDetail.getCode()) { + successList.add(taskDetail); + } else { + failedList.add(taskDetail); + } + }); + resultDto.setSuccessTasks(successList); + resultDto.setFailTasks(failedList); + resultDto.setAllSuccess(resultDto.isAllSuccess()); if (StringUtils.isNotBlank(voiceAsyncScanParam.getCallback())) { // 存储seed和 任务id、dataId的关系 用于回调鉴权 log.info("need to save seed and taskId、dataId的关系"); diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceAsyncScanParam.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceAsyncScanParam.java index d83b8784a0..baa8e51be0 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceAsyncScanParam.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/param/VoiceAsyncScanParam.java @@ -17,6 +17,11 @@ import java.util.List; public class VoiceAsyncScanParam implements Serializable { private static final long serialVersionUID = 3408043673247901184L; + /** + * 是否开启回调 + */ + private Boolean openCallBack; + /** * 不必填 * 该字段用于标识您的业务场景。您可以通过内容安全控制台创建业务场景(具体操作,请参见自定义机审标准),或者提交工单联系我们帮助您创建业务场景。 diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskDataDTO.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskDataDTO.java index 6c94bfa757..ce43fec932 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskDataDTO.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskDataDTO.java @@ -6,7 +6,7 @@ import lombok.Data; import java.io.Serializable; /** - * 描述一下 + * 语音异步检测,返回检测对象列表 * * @author yinzuomei@elink-cn.com * @date 2020/12/9 16:38 @@ -17,7 +17,7 @@ public class VoiceAsyncScanTaskDataDTO implements Serializable { * 错误码,和HTTP状态码一致。 * 更多信息,请参见公共错误码。 */ - private String code; + private Integer code; /** * 错误描述信息。 */ diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskResult.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskResult.java index 44d54fcf3a..2dcbecc398 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskResult.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanTaskResult.java @@ -3,10 +3,11 @@ package com.epmet.openapi.scan.support.result; import lombok.Data; import java.io.Serializable; +import java.util.ArrayList; import java.util.List; /** - * 音频审查返参,用于接收taskId + * 语音异步检测,返参 * * @author yinzuomei@elink-cn.com * @date 2020/12/9 9:23 @@ -18,5 +19,28 @@ public class VoiceAsyncScanTaskResult implements Serializable { * 随机字符串,该值用于回调通知请求中的签名。 */ private String seed; - private List taskList; + + /** + * 提交成功的失败对象 + */ + private List successTasks=new ArrayList<>(); + + /** + * 提交失败的检测对象 + */ + private List failTasks=new ArrayList<>(); + + /** + * 是否全部提交成功 + */ + private boolean isAllSuccess; + + public boolean isAllSuccess() { + if (failTasks.isEmpty() && !successTasks.isEmpty()) { + return true; + } + return isAllSuccess; + } + + } From 1973866e3daa5415ed6432f228440c0fa39440a5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 18 Dec 2020 13:33:48 +0800 Subject: [PATCH 011/184] =?UTF-8?q?=E4=B8=BA=E8=AF=9D=E9=A2=98=E9=99=84?= =?UTF-8?q?=E4=BB=B6=E8=A1=A8=E6=B7=BB=E5=8A=A0=E8=AF=AD=E9=9F=B3=E6=88=96?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E9=99=84=E4=BB=B6=E7=9A=84=E6=97=B6=E9=95=BF?= =?UTF-8?q?=EF=BC=8C=E5=8D=95=E4=BD=8D=E6=98=AF=E7=A7=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi/group/dto/topic/ResiTopicAttachmentDTO.java | 10 ++++++++++ .../resi/group/dto/topic/TopicDraftAttachmentDTO.java | 5 +++++ .../topic/entity/ResiTopicAttachmentEntity.java | 5 +++++ .../topic/entity/TopicDraftAttachmentEntity.java | 5 +++++ .../modules/topic/excel/TopicDraftAttachmentExcel.java | 3 +++ .../migration/V0.0.9__alter_resi_topic_attachment.sql | 3 +++ 6 files changed, 31 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.9__alter_resi_topic_attachment.sql diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/ResiTopicAttachmentDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/ResiTopicAttachmentDTO.java index 1b57a93f72..60d086d6fc 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/ResiTopicAttachmentDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/ResiTopicAttachmentDTO.java @@ -63,6 +63,16 @@ public class ResiTopicAttachmentDTO implements Serializable { */ private String attachmentUrl; + /** + * 排序字段,解决多张图片的createdTime相同时的排序问题 + * */ + private Integer sort; + + /** + * 语音或视频时长,秒 + * */ + private Integer duration; + /** * 删除标记 0:未删除,1:已删除 */ diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftAttachmentDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftAttachmentDTO.java index 35ec1d69ee..d6e3337904 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftAttachmentDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftAttachmentDTO.java @@ -84,6 +84,11 @@ public class TopicDraftAttachmentDTO implements Serializable { */ private String status; + /** + * 语音或视频时长,秒 + * */ + private Integer duration; + /** * 删除标记 0:未删除,1:已删除 */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicAttachmentEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicAttachmentEntity.java index ca5980cffc..6b63177921 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicAttachmentEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicAttachmentEntity.java @@ -68,4 +68,9 @@ public class ResiTopicAttachmentEntity extends BaseEpmetEntity { * */ private Integer sort; + /** + * 语音或视频时长,秒 + * */ + private Integer duration; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftAttachmentEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftAttachmentEntity.java index 0929f7adba..f29df3c174 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftAttachmentEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftAttachmentEntity.java @@ -84,4 +84,9 @@ public class TopicDraftAttachmentEntity extends BaseEpmetEntity { */ private String status; + /** + * 语音或视频时长,秒 + * */ + private Integer duration; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftAttachmentExcel.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftAttachmentExcel.java index bf2dfe4460..f16f960fb4 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftAttachmentExcel.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/excel/TopicDraftAttachmentExcel.java @@ -59,6 +59,9 @@ public class TopicDraftAttachmentExcel { "block: 结果违规;rejected:人工审核驳回;approved:人工审核通过)现在图片是同步审核的,所以图片只有auto_passed一种状态") private String status; + @Excel(name = "语音或视频时长,秒") + private Integer duration; + @Excel(name = "删除标记 0:未删除,1:已删除") private String delFlag; diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.9__alter_resi_topic_attachment.sql b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.9__alter_resi_topic_attachment.sql new file mode 100644 index 0000000000..938161ca0e --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.9__alter_resi_topic_attachment.sql @@ -0,0 +1,3 @@ +ALTER TABLE `resi_topic_attachment` +MODIFY COLUMN `SORT` int(1) NOT NULL COMMENT '排序字段' AFTER `ATTACHMENT_URL`, +ADD COLUMN `DURATION` int(11) UNSIGNED ZEROFILL NULL DEFAULT 0 COMMENT '语音或视频时长,秒' AFTER `SORT`; From fcae128fdfc3226e49fc42c9b00a8941cef46096 Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 18 Dec 2020 13:42:15 +0800 Subject: [PATCH 012/184] =?UTF-8?q?=E5=B0=86=E6=89=80=E6=9C=89=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=8A=A0=E4=B8=8A=E4=BC=98=E9=9B=85=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=EF=BC=8C=E7=AD=89=E5=BE=85=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-admin-server/src/main/resources/bootstrap.yml | 6 ++++++ epmet-auth/src/main/resources/bootstrap.yml | 6 ++++++ .../tools/config/shutdown}/GracefulShutdownConfig.java | 2 +- .../tools/config/shutdown}/GracefulShutdownTomcat.java | 4 +--- .../tools/config/shutdown}/ShutdownProperties.java | 2 +- .../data-report-server/src/main/resources/bootstrap.yml | 8 +++++++- .../src/main/resources/bootstrap.yml | 6 ++++++ .../src/main/resources/bootstrap.yml | 8 +++++++- .../epmet-ext-server/src/main/resources/bootstrap.yml | 8 +++++++- .../epmet-heart-server/src/main/resources/bootstrap.yml | 6 ++++++ .../epmet-job-server/src/main/resources/bootstrap.yml | 6 ++++++ .../src/main/resources/bootstrap.yml | 8 +++++++- .../epmet-oss-server/src/main/resources/bootstrap.yml | 8 +++++++- .../epmet-point-server/src/main/resources/bootstrap.yml | 8 +++++++- .../epmet-third-server/src/main/resources/bootstrap.yml | 8 +++++++- .../gov-grid-server/src/main/resources/bootstrap.yml | 8 +++++++- .../gov-issue-server/src/main/resources/bootstrap.yml | 6 ++++++ .../gov-mine-server/src/main/resources/bootstrap.yml | 6 ++++++ .../gov-org-server/src/main/resources/bootstrap.yml | 8 +++++++- .../gov-project-server/src/main/resources/bootstrap.yml | 9 ++++++++- .../gov-voice-server/src/main/resources/bootstrap.yml | 8 +++++++- .../oper-access-server/src/main/resources/bootstrap.yml | 8 +++++++- .../oper-crm-server/src/main/resources/bootstrap.yml | 8 +++++++- .../src/main/resources/bootstrap.yml | 8 +++++++- .../resi-group-server/src/main/resources/bootstrap.yml | 2 +- .../resi-guide-server/src/main/resources/bootstrap.yml | 8 +++++++- .../resi-hall-server/src/main/resources/bootstrap.yml | 6 ++++++ .../resi-home-server/src/main/resources/bootstrap.yml | 6 ++++++ .../resi-mine-server/src/main/resources/bootstrap.yml | 6 ++++++ .../src/main/resources/bootstrap.yml | 8 +++++++- .../resi-voice-server/src/main/resources/bootstrap.yml | 6 ++++++ .../epmet-openapi-scan/src/main/resources/bootstrap.yml | 6 ++++++ .../epmet-user-server/src/main/resources/bootstrap.yml | 8 +++++++- 33 files changed, 196 insertions(+), 23 deletions(-) rename {epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config => epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown}/GracefulShutdownConfig.java (95%) rename {epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config => epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown}/GracefulShutdownTomcat.java (93%) rename {epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config => epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown}/ShutdownProperties.java (87%) diff --git a/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml b/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml index 6b4803d4d8..7ecdd66d2b 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml +++ b/epmet-admin/epmet-admin-server/src/main/resources/bootstrap.yml @@ -127,3 +127,9 @@ hystrix: ribbon: ReadTimeout: 300000 ConnectTimeout: 300000 + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-auth/src/main/resources/bootstrap.yml b/epmet-auth/src/main/resources/bootstrap.yml index d8526d89e6..e7fa54d000 100644 --- a/epmet-auth/src/main/resources/bootstrap.yml +++ b/epmet-auth/src/main/resources/bootstrap.yml @@ -126,3 +126,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownConfig.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownConfig.java similarity index 95% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownConfig.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownConfig.java index c43854a583..143fce4f7f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownConfig.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownConfig.java @@ -1,4 +1,4 @@ -package com.epmet.config; +package com.epmet.commons.tools.config.shutdown; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownTomcat.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownTomcat.java similarity index 93% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownTomcat.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownTomcat.java index 117a658b32..0e3442b5a6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/GracefulShutdownTomcat.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownTomcat.java @@ -1,7 +1,5 @@ -package com.epmet.config; +package com.epmet.commons.tools.config.shutdown; -import com.epmet.commons.tools.exception.RenException; -import net.bytebuddy.implementation.bytecode.Throw; import org.apache.catalina.connector.Connector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/ShutdownProperties.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/ShutdownProperties.java similarity index 87% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/ShutdownProperties.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/ShutdownProperties.java index 6be38ccc93..1561f197be 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/config/ShutdownProperties.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/ShutdownProperties.java @@ -1,4 +1,4 @@ -package com.epmet.config; +package com.epmet.commons.tools.config.shutdown; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml b/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml index 34d40361e4..01c4f3d8db 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml @@ -148,4 +148,10 @@ jwt: #秘钥 secret: 7016867071f0ebf1c46f123eaaf4b9d6[elink.epmet] #token有效时长,默认7天,单位秒 - expire: 604800 \ No newline at end of file + expire: 604800 + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml index 8f22922df8..dfbb2b9a4c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml @@ -198,3 +198,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml index 83b7ee086a..11cc4d6aef 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/bootstrap.yml @@ -130,4 +130,10 @@ elink: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml index 55f2ba49f8..6ac74f4419 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/bootstrap.yml @@ -102,4 +102,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml index 0ac5876e27..07c67a3b3b 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/bootstrap.yml @@ -138,3 +138,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml index 4488897fcf..f30a2913ad 100644 --- a/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-job/epmet-job-server/src/main/resources/bootstrap.yml @@ -122,3 +122,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml index dcdcaab913..fc82a1608a 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/bootstrap.yml @@ -131,4 +131,10 @@ thread: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml index a6d32431be..c05b439898 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/bootstrap.yml @@ -133,4 +133,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml index 720887f6bd..cf2321f62d 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/bootstrap.yml @@ -121,4 +121,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml index 400d4810ed..55f97e495f 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/bootstrap.yml @@ -138,4 +138,10 @@ third: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml b/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml index 003760840c..9153797714 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-grid/gov-grid-server/src/main/resources/bootstrap.yml @@ -79,4 +79,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml index 39f6c8b80c..47a5ebc5a3 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/bootstrap.yml @@ -121,3 +121,9 @@ dingTalk: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml b/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml index c49ee432c1..80c0b06e6b 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-mine/gov-mine-server/src/main/resources/bootstrap.yml @@ -99,3 +99,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml index 8651e49ce2..4183b9c159 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/bootstrap.yml @@ -135,4 +135,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml b/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml index 58ec92257b..fbe1c0a83e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/bootstrap.yml @@ -119,4 +119,11 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml index 6bf735a325..e12f35bd48 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/bootstrap.yml @@ -119,4 +119,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml b/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml index 34a3d56ae9..34a87bb782 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-access/oper-access-server/src/main/resources/bootstrap.yml @@ -122,4 +122,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml index 7b14f2cad1..30b2608312 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/bootstrap.yml @@ -128,4 +128,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml index b6cb0ffbb8..988bd0c217 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/bootstrap.yml @@ -122,4 +122,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml index 302894d482..42cd377706 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml @@ -145,4 +145,4 @@ dingTalk: shutdown: graceful: enable: true #是否开启优雅停机 - waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file + waitTimeSecs: 30 # 优雅停机等待时间,每超过30秒,打印一次错误日志 \ No newline at end of file diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml b/epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml index 836ea9f4ca..4d85502367 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-guide/resi-guide-server/src/main/resources/bootstrap.yml @@ -123,4 +123,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml b/epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml index 479945892d..12c7a97693 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-hall/resi-hall-server/src/main/resources/bootstrap.yml @@ -75,3 +75,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 diff --git a/epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml b/epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml index 3c5dee1515..ec830e5a69 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-home/resi-home-server/src/main/resources/bootstrap.yml @@ -74,3 +74,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml b/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml index eff0b2bbb3..7ba08a2040 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/bootstrap.yml @@ -102,3 +102,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml index 62322c11c8..efd4689143 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/bootstrap.yml @@ -122,4 +122,10 @@ pagehelper: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml b/epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml index 589e4fb19e..cbac285587 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-voice/resi-voice-server/src/main/resources/bootstrap.yml @@ -70,3 +70,9 @@ dingTalk: robot: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 diff --git a/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml b/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml index 2c2a29d61a..e9de135959 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml +++ b/epmet-openapi/epmet-openapi-scan/src/main/resources/bootstrap.yml @@ -82,3 +82,9 @@ dingTalk: webHook: @dingTalk.robot.webHook@ secret: @dingTalk.robot.secret@ +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + diff --git a/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml b/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml index 380e974475..e05a958192 100644 --- a/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml +++ b/epmet-user/epmet-user-server/src/main/resources/bootstrap.yml @@ -144,4 +144,10 @@ openapi: dingTalk: robot: webHook: @dingTalk.robot.webHook@ - secret: @dingTalk.robot.secret@ \ No newline at end of file + secret: @dingTalk.robot.secret@ + +# 停机选项 +shutdown: + graceful: + enable: true #是否开启优雅停机 + waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 \ No newline at end of file From b0f1ce908487b0c0decef20405e31671389f2e2d Mon Sep 17 00:00:00 2001 From: wxz Date: Fri, 18 Dec 2020 13:45:11 +0800 Subject: [PATCH 013/184] =?UTF-8?q?=E6=89=80=E6=9C=89=E6=9C=8D=E5=8A=A1Doc?= =?UTF-8?q?kerfile=E4=B8=AD=E7=9A=84ENTRYPOINT=E5=90=AF=E5=8A=A8=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E5=A2=9E=E5=8A=A0exec=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-admin/epmet-admin-server/Dockerfile | 2 +- epmet-auth/Dockerfile | 2 +- epmet-gateway/Dockerfile | 2 +- epmet-module/data-report/data-report-server/Dockerfile | 2 +- .../data-statistical/data-statistical-server/Dockerfile | 1 - epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile | 2 +- .../epmet-common-service/common-service-server/Dockerfile | 2 +- epmet-module/epmet-job/epmet-job-server/Dockerfile | 2 +- epmet-module/epmet-message/epmet-message-server/Dockerfile | 2 +- epmet-module/epmet-oss/epmet-oss-server/Dockerfile | 2 +- epmet-module/epmet-point/epmet-point-server/Dockerfile | 2 +- epmet-module/gov-grid/gov-grid-server/Dockerfile | 2 +- epmet-module/gov-mine/gov-mine-server/Dockerfile | 2 +- epmet-module/gov-project/gov-project-server/Dockerfile | 2 +- epmet-module/gov-voice/gov-voice-server/Dockerfile | 2 +- epmet-module/oper-access/oper-access-server/Dockerfile | 2 +- epmet-module/oper-crm/oper-crm-server/Dockerfile | 2 +- epmet-module/oper-customize/oper-customize-server/Dockerfile | 2 +- epmet-module/resi-guide/resi-guide-server/Dockerfile | 2 +- epmet-module/resi-home/resi-home-server/Dockerfile | 2 +- .../resi-partymember/resi-partymember-server/Dockerfile | 2 +- epmet-module/resi-voice/resi-voice-server/Dockerfile | 2 +- epmet-openapi/epmet-openapi-scan/Dockerfile | 2 +- 23 files changed, 22 insertions(+), 23 deletions(-) diff --git a/epmet-admin/epmet-admin-server/Dockerfile b/epmet-admin/epmet-admin-server/Dockerfile index 63927bad16..c2df4971cd 100644 --- a/epmet-admin/epmet-admin-server/Dockerfile +++ b/epmet-admin/epmet-admin-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-admin.jar EXPOSE 8082 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-auth/Dockerfile b/epmet-auth/Dockerfile index 207ac66a19..60c6be4331 100644 --- a/epmet-auth/Dockerfile +++ b/epmet-auth/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-auth.jar EXPOSE 8081 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-gateway/Dockerfile b/epmet-gateway/Dockerfile index fad72ba2ca..bb6890eefc 100644 --- a/epmet-gateway/Dockerfile +++ b/epmet-gateway/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-gateway.jar EXPOSE 8080 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/Dockerfile b/epmet-module/data-report/data-report-server/Dockerfile index abb03ca056..98c31d5ed3 100644 --- a/epmet-module/data-report/data-report-server/Dockerfile +++ b/epmet-module/data-report/data-report-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./data-report.jar EXPOSE 8109 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/Dockerfile b/epmet-module/data-statistical/data-statistical-server/Dockerfile index 55d058c4b8..e029544f66 100644 --- a/epmet-module/data-statistical/data-statistical-server/Dockerfile +++ b/epmet-module/data-statistical/data-statistical-server/Dockerfile @@ -8,5 +8,4 @@ COPY ./target/*.jar ./data-stats.jar EXPOSE 8108 -#ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] ENTRYPOINT ["sh","-c","exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile b/epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile index 40a62488b2..a578c93035 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile +++ b/epmet-module/epmet-activiti/epmet-activiti-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-activiti.jar EXPOSE 8086 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/Dockerfile b/epmet-module/epmet-common-service/common-service-server/Dockerfile index fe3d1a6f63..b0366f9c27 100644 --- a/epmet-module/epmet-common-service/common-service-server/Dockerfile +++ b/epmet-module/epmet-common-service/common-service-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./common-service.jar EXPOSE 8103 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-job/epmet-job-server/Dockerfile b/epmet-module/epmet-job/epmet-job-server/Dockerfile index 283ed5f94b..62d98c605d 100644 --- a/epmet-module/epmet-job/epmet-job-server/Dockerfile +++ b/epmet-module/epmet-job/epmet-job-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-job.jar EXPOSE 8084 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/Dockerfile b/epmet-module/epmet-message/epmet-message-server/Dockerfile index 49f97b4c0e..ef183014e3 100644 --- a/epmet-module/epmet-message/epmet-message-server/Dockerfile +++ b/epmet-module/epmet-message/epmet-message-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-message.jar EXPOSE 8085 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-oss/epmet-oss-server/Dockerfile b/epmet-module/epmet-oss/epmet-oss-server/Dockerfile index ca3830ee6c..4c41cd08cb 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/Dockerfile +++ b/epmet-module/epmet-oss/epmet-oss-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-oss.jar EXPOSE 8083 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/Dockerfile b/epmet-module/epmet-point/epmet-point-server/Dockerfile index eccf5af01b..9268360dd7 100644 --- a/epmet-module/epmet-point/epmet-point-server/Dockerfile +++ b/epmet-module/epmet-point/epmet-point-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-point.jar EXPOSE 8090 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-grid/gov-grid-server/Dockerfile b/epmet-module/gov-grid/gov-grid-server/Dockerfile index 0151c7accb..0a753e2a71 100644 --- a/epmet-module/gov-grid/gov-grid-server/Dockerfile +++ b/epmet-module/gov-grid/gov-grid-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./gov-grid.jar EXPOSE 8097 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-mine/gov-mine-server/Dockerfile b/epmet-module/gov-mine/gov-mine-server/Dockerfile index 61472572db..cbc73e687e 100644 --- a/epmet-module/gov-mine/gov-mine-server/Dockerfile +++ b/epmet-module/gov-mine/gov-mine-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./gov-mine.jar EXPOSE 8098 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/Dockerfile b/epmet-module/gov-project/gov-project-server/Dockerfile index 372d5097ca..aed003692d 100644 --- a/epmet-module/gov-project/gov-project-server/Dockerfile +++ b/epmet-module/gov-project/gov-project-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./gov-project.jar EXPOSE 8102 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/Dockerfile b/epmet-module/gov-voice/gov-voice-server/Dockerfile index 3f3ecf336d..503cab5fd2 100644 --- a/epmet-module/gov-voice/gov-voice-server/Dockerfile +++ b/epmet-module/gov-voice/gov-voice-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./gov-voice.jar EXPOSE 8105 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/oper-access/oper-access-server/Dockerfile b/epmet-module/oper-access/oper-access-server/Dockerfile index eb72900e52..c4f36b4688 100644 --- a/epmet-module/oper-access/oper-access-server/Dockerfile +++ b/epmet-module/oper-access/oper-access-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./oper-access.jar EXPOSE 8093 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-server/Dockerfile b/epmet-module/oper-crm/oper-crm-server/Dockerfile index 98146177a2..ad4c30e13b 100644 --- a/epmet-module/oper-crm/oper-crm-server/Dockerfile +++ b/epmet-module/oper-crm/oper-crm-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./oper-crm.jar EXPOSE 8090 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/Dockerfile b/epmet-module/oper-customize/oper-customize-server/Dockerfile index d9b10d355b..ff1a306110 100644 --- a/epmet-module/oper-customize/oper-customize-server/Dockerfile +++ b/epmet-module/oper-customize/oper-customize-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./oper-customize.jar EXPOSE 8089 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/resi-guide/resi-guide-server/Dockerfile b/epmet-module/resi-guide/resi-guide-server/Dockerfile index b305936b9e..106fedc419 100644 --- a/epmet-module/resi-guide/resi-guide-server/Dockerfile +++ b/epmet-module/resi-guide/resi-guide-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./resi-guide.jar EXPOSE 8091 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/resi-home/resi-home-server/Dockerfile b/epmet-module/resi-home/resi-home-server/Dockerfile index 2917a9be89..2cf4822bf1 100644 --- a/epmet-module/resi-home/resi-home-server/Dockerfile +++ b/epmet-module/resi-home/resi-home-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./resi-home.jar EXPOSE 8104 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/resi-partymember/resi-partymember-server/Dockerfile b/epmet-module/resi-partymember/resi-partymember-server/Dockerfile index 11a783524f..6cd220670a 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/Dockerfile +++ b/epmet-module/resi-partymember/resi-partymember-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./resi-partymember.jar EXPOSE 8096 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-module/resi-voice/resi-voice-server/Dockerfile b/epmet-module/resi-voice/resi-voice-server/Dockerfile index abb56beb1c..d00b5083c5 100644 --- a/epmet-module/resi-voice/resi-voice-server/Dockerfile +++ b/epmet-module/resi-voice/resi-voice-server/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./resi-voice.jar EXPOSE 8106 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-scan/Dockerfile b/epmet-openapi/epmet-openapi-scan/Dockerfile index 972fb78535..868fc70ac1 100644 --- a/epmet-openapi/epmet-openapi-scan/Dockerfile +++ b/epmet-openapi/epmet-openapi-scan/Dockerfile @@ -8,4 +8,4 @@ COPY ./target/*.jar ./epmet-openapi-scan.jar EXPOSE 8107 -ENTRYPOINT ["sh", "-c", "$RUN_INSTRUCT"] \ No newline at end of file +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file From e828d1d51f46fb7126e6ae34083e7dd9f7bfc0b1 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 18 Dec 2020 14:20:48 +0800 Subject: [PATCH 014/184] =?UTF-8?q?ScanContentUtils=E6=96=B0=E5=A2=9Evoice?= =?UTF-8?q?Results=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/scan/result/VoiceResultDTO.java | 50 ++++++++++++++ .../commons/tools/utils/ScanContentUtils.java | 47 ++++++++++++- .../scan/common/constant/SysConstant.java | 6 ++ .../openapi/scan/common/enu/LabelEnum.java | 66 +++++++++++++++++++ .../scan/service/impl/ScanServiceImpl.java | 46 +++++++++++-- .../support/result/VoiceAsyncScanResult.java | 52 ++++++++++++--- 6 files changed, 250 insertions(+), 17 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/VoiceResultDTO.java create mode 100644 epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/enu/LabelEnum.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/VoiceResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/VoiceResultDTO.java new file mode 100644 index 0000000000..c16a6a9536 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/VoiceResultDTO.java @@ -0,0 +1,50 @@ +package com.epmet.commons.tools.scan.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 检测成功(检测成功+检测失败的)的任务详情 + * 处理中的该接口不返回,继续轮询即可 + * @author yinzuomei@elink-cn.com + * @date 2020/12/18 13:10 + */ +@Data +public class VoiceResultDTO implements Serializable { + private static final long serialVersionUID = 8006827312407034344L; + /** + * 检测对象对应的数据ID。 + */ + private String dataId; + + /** + * 检测任务的ID + */ + private String taskId; + + /** + * 建议您执行的后续操作。取值: + * pass:结果正常,无需进行其余操作。 + * review:结果不确定,需要进行人工审核。 + * block:结果违规,建议直接删除或者限制公开。 + */ + private String suggestion; + + /** + * 检测结果的分类。取值: + * normal:正常文本 + * spam:含垃圾信息 + * ad:广告 + * politics:涉政 + * terrorism:暴恐 + * abuse:辱骂 + * porn:色情 + * flood:灌水 + * contraband:违禁 + * meaningless:无意义 + * customized:自定义(例如命中自定义关键词) + */ + private String label; + private String labelDesc; +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ScanContentUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ScanContentUtils.java index 2ab6e7dda6..effd25ccd6 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ScanContentUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ScanContentUtils.java @@ -2,13 +2,16 @@ package com.epmet.commons.tools.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; +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.scan.param.*; import com.epmet.commons.tools.scan.result.AsyncScanResult; import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.scan.result.VoiceResultDTO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -77,7 +80,7 @@ public class ScanContentUtils { /** * desc:语音异步检测任务提交 * - * @return + * @return 返回检测对象对应的任务id */ public static Result voiceAsyncScan(String url, VoiceScanParamDTO param){ log.debug("voiceAsyncScan param:{}", JSON.toJSONString(param)); @@ -103,12 +106,44 @@ public class ScanContentUtils { } } + /** + * desc:语音异步检测结果查询 + * + * @param taskIds 数组中的元素个数不超过100个。 + * @return 注意该接口只返回检测任务完成的(即检测成功或失败的);任务正在处理中的不返回,继续轮询即可。 + */ + public static Result> voiceResults(String url, List taskIds) { + if (StringUtils.isBlank(url) || CollectionUtils.isEmpty(taskIds)) { + throw new RenException("参数错误"); + } + if (taskIds.size() > NumConstant.ONE_HUNDRED) { + throw new RenException("参数错误,查询检测任务最大不能超过100"); + } + try { + Result result = HttpClientManager.getInstance().sendPostByJSON(url, JSON.toJSONString(taskIds)); + log.debug("voiceResults result:{}", JSON.toJSONString(result)); + if (result.success()) { + return JSON.parseObject(result.getData(), new TypeReference>>() { + }); + } + Result> resultResult = new Result<>(); + resultResult.error(result.getCode(), result.getMsg()); + resultResult.setInternalMsg(result.getInternalMsg()); + return resultResult; + } catch (Exception e) { + log.error("voiceResults exception:", e); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), e.getMessage()); + } + } + public static void main(String[] args) { //测试文本检测 // testTextSyncScan(); //测试语音检测 - testVoiceAsyncScan(); + // testVoiceAsyncScan(); + //语音检测结果 + testVoiceResults(); } public static void testTextSyncScan(){ @@ -157,4 +192,12 @@ public class ScanContentUtils { } } } + + public static void testVoiceResults(){ + String url = "http://localhost:8107/epmetscan/api/voiceResults"; + List taskIds=new ArrayList<>(); + taskIds.add("vc_f_6CXRk1VcAwM6u0FMA@CfoW-1tDgIp"); + Result> asyncScanResultResult = ScanContentUtils.voiceResults(url, taskIds); + System.out.println("================" + JSON.toJSONString(asyncScanResultResult)); + } } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/constant/SysConstant.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/constant/SysConstant.java index 8d7aa5d4d0..387294c23b 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/constant/SysConstant.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/constant/SysConstant.java @@ -21,4 +21,10 @@ public class SysConstant { public static final String CODE = "code"; public static final String DATA = "data"; + + + /** + * 任务正在执行中,建议您等待一段时间(例如5s)后再查询结果。 + */ + public static final int PROCESSING=280; } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/enu/LabelEnum.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/enu/LabelEnum.java new file mode 100644 index 0000000000..7ad96f3171 --- /dev/null +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/common/enu/LabelEnum.java @@ -0,0 +1,66 @@ +package com.epmet.openapi.scan.common.enu; + +import java.util.ArrayList; +import java.util.List; + +/** + * 阿里检测结果的分类字典 + * + * @author yinzuomei@elink-cn.com + * @date 2020/12/18 14:04 + */ +public enum LabelEnum { + NORMAL("normal", "正常文本"), + SPAM("spam", "含垃圾信息"), + AD("ad", "广告"), + POLITICS("politics","涉政"), + TERRORISM("terrorism","暴恐"), + ABUSE("abuse","辱骂"), + PORN("porn","色情"), + FLOOD("flood","灌水"), + CONTRABAND("contraband","违禁"), + MEANINGLESS("meaningless","无意义"), + CUSTOMIZED("customized","自定义"); + + private String code; + private String desc; + + LabelEnum(String code, String desc) { + this.code = code; + this.desc = desc; + } + + public static List getLabelEnumList() { + List result = new ArrayList<>(); + LabelEnum[] values = LabelEnum.values(); + for (LabelEnum v : values) { + result.add(v.getCode()); + } + return result; + } + + public static String getDesc(String code) { + LabelEnum[] businessModeEnums = values(); + for (LabelEnum labelEnum : businessModeEnums) { + if (labelEnum.getCode().equals(code)) { + return labelEnum.getDesc(); + } + } + return ""; + } + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java index 27e6ce3ea0..6bd9caf156 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java @@ -10,6 +10,8 @@ import com.aliyuncs.green.model.v20180509.VoiceAsyncScanRequest; import com.aliyuncs.green.model.v20180509.VoiceAsyncScanResultsRequest; import com.aliyuncs.http.FormatType; import com.aliyuncs.http.HttpResponse; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.openapi.scan.common.constant.SysConstant; import com.epmet.openapi.scan.common.enu.*; @@ -412,11 +414,11 @@ public class ScanServiceImpl implements ScanService { try { request.setHttpContent(JSON.toJSONString(taskIds).getBytes(SysConstant.UTF8), SysConstant.UTF8, FormatType.JSON); } catch (UnsupportedEncodingException e) { - log.error("getVoiceAsyncScanResult parse param exception", e); + log.error("voiceResults parse param exception", e); return new Result>().error(SysResponseEnum.SCAN_PARAM_ERROR.getCode(), SysResponseEnum.SCAN_PARAM_ERROR.getMsg()); } - log.info("语音异步检测结果查询入参:"+JSON.toJSONString(taskIds,true)); + // log.info("语音异步检测结果查询入参:"+JSON.toJSONString(taskIds,true)); try { HttpResponse httpResponse = IAcsClientUtil.getIAcsClient().doAction(request); @@ -429,12 +431,13 @@ public class ScanServiceImpl implements ScanService { //获取data列表 JSONArray dataResults = scrResponse.getJSONArray(SysConstant.DATA); List resultList = dataResults.toJavaList(VoiceAsyncScanResult.class); + List resultData=processVoiceAsyncScanResult(resultList); //成功返回 - return new Result>().ok(resultList); + return new Result>().ok(resultData); }else{ - log.warn("getVoiceAsyncScanResult detect not success. code:{}", scrResponse.getInteger(SysConstant.CODE)); + log.warn("voiceResults detect not success. code:{}", scrResponse.getInteger(SysConstant.CODE)); throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); } @@ -445,12 +448,45 @@ public class ScanServiceImpl implements ScanService { SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); } } catch (Exception e) { - log.error("executeSyncVoice exception IAcsClientUtil do action exception", e); + log.error("voiceResults exception IAcsClientUtil do action exception", e); throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_SERVER_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_SERVER_ERROR.getMsg()); } } + private List processVoiceAsyncScanResult(List resultList) { + List list = new ArrayList<>(); + for (VoiceAsyncScanResult voiceAsyncScanResult : resultList) { + if (SysConstant.PROCESSING == voiceAsyncScanResult.getCode()) { + //280:表示处理中,需要继续轮询 + continue; + } + VoiceAsyncScanResult dto = ConvertUtils.sourceToTarget(voiceAsyncScanResult, VoiceAsyncScanResult.class); + if (HttpStatus.SC_OK == voiceAsyncScanResult.getCode()) { + if (!CollectionUtils.isEmpty(voiceAsyncScanResult.getResults()) && voiceAsyncScanResult.getResults().size() > NumConstant.ZERO) { + //目前只有一个检测场景,所以只判断返回来的第一个场景 + VoiceAsyncScanResultDTO voiceAsyncScanResultDTO = voiceAsyncScanResult.getResults().get(NumConstant.ZERO); + if (null != voiceAsyncScanResultDTO) { + dto.setLabel(voiceAsyncScanResultDTO.getLabel()); + dto.setLabelDesc(LabelEnum.getDesc(voiceAsyncScanResultDTO.getLabel())); + dto.setSuggestion(voiceAsyncScanResultDTO.getSuggestion()); + } + } + } else if(HttpStatus.SC_NOT_FOUND == voiceAsyncScanResult.getCode()) { + dto.setSuggestion(SuggestionEnum.REVIEW.getCode()); + dto.setLabel(NumConstant.EMPTY_STR); + dto.setLabelDesc("智能检测任务失败,结果已失效," + SuggestionEnum.REVIEW.getDesc()); + }else{ + //其他:表示任务失败 + dto.setSuggestion(SuggestionEnum.REVIEW.getCode()); + dto.setLabel(NumConstant.EMPTY_STR); + dto.setLabelDesc("智能检测任务失败," + SuggestionEnum.REVIEW.getDesc()); + } + list.add(dto); + } + return list; + } + private VoiceAsyncScanResultsRequest getVoiceAsyncScanResultsRequest(){ VoiceAsyncScanResultsRequest getResultsRequest = new VoiceAsyncScanResultsRequest(); // 指定API返回格式。 diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java index 09fd13ec73..df56e86a4c 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java @@ -15,6 +15,43 @@ import java.util.List; @Data public class VoiceAsyncScanResult implements Serializable { private static final long serialVersionUID = 8702129292884498023L; + + /** + * 检测对象对应的数据ID。 + */ + private String dataId; + + /** + * 检测任务的ID + */ + private String taskId; + + /** + * 检测结果的分类。取值: + * normal:正常文本 + * spam:含垃圾信息 + * ad:广告 + * politics:涉政 + * terrorism:暴恐 + * abuse:辱骂 + * porn:色情 + * flood:灌水 + * contraband:违禁 + * meaningless:无意义 + * customized:自定义(例如命中自定义关键词) + */ + private String label; + private String labelDesc; + + /** + * 建议您执行的后续操作。取值: + * pass:结果正常,无需进行其余操作。 + * review:结果不确定,需要进行人工审核。 + * block:结果违规,建议直接删除或者限制公开。 + */ + private String suggestion; + + /** * 错误码,和HTTP状态码一致。 * 200:表示检测成功。 @@ -22,20 +59,13 @@ public class VoiceAsyncScanResult implements Serializable { * 其他:表示任务失败。 * 更多信息,请参见公共错误码。 */ - private String code; + @JsonIgnore + private Integer code; /** * 错误描述信息。 */ + @JsonIgnore private String msg; - /** - * 检测对象对应的数据ID。 - */ - private String dataId; - - /** - * 检测任务的ID - */ - private String taskId; /** * 暂时没用,所以返回忽略 @@ -45,7 +75,9 @@ public class VoiceAsyncScanResult implements Serializable { /** * 检测成功(code=200)时,返回的检测结果。该结果包含一个或多个元素,每个元素是个结构体,对应一个场景。关于每个元素的结构描述,请参见result。 + * 暂时不展示审核结果明细 */ + @JsonIgnore private List results; } From a0870b4d22116aec852c4ae5f5eeda1c667d0d94 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 18 Dec 2020 14:32:43 +0800 Subject: [PATCH 015/184] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AF=9D=E9=A2=98?= =?UTF-8?q?=E9=99=84=E4=BB=B6=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi/group/constant/TopicConstant.java | 9 +++++ .../topic/form/TopicAttachmentFormDTO.java | 23 ++++++++++++ .../result/TopicAttachmentResultDTO.java | 30 ++++++++++++++++ .../topic/controller/ResiTopicController.java | 13 +++++++ .../topic/dao/ResiTopicAttachmentDao.java | 8 +++++ .../topic/service/ResiTopicService.java | 7 ++++ .../service/impl/ResiTopicServiceImpl.java | 36 +++++++++++++++++++ .../mapper/topic/ResiTopicAttachmentDao.xml | 18 ++++++++++ 8 files changed, 144 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicAttachmentFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicAttachmentResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java index 8a96cc23b4..3ae0ec6aa0 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java @@ -78,4 +78,13 @@ public interface TopicConstant { String CREATE_TOPIC = "创建话题失败,话题内容为:%s"; String SHIFT_ISSUE = "转议题失败,标题为:%s , 建议为:%s"; + + /** + * 附件文件类型 + * 图片 - image、文档 - doc、语音 - voice、视频 - video + */ + String FILE_IMAGE = "image"; + String FILE_DOC = "doc"; + String FILE_VOICE = "voice"; + String FILE_VIDEO = "video"; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicAttachmentFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicAttachmentFormDTO.java new file mode 100644 index 0000000000..24ab83af6e --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicAttachmentFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author sun + * @Description 获取话题附件信息-接口入参 + */ +@Data +public class TopicAttachmentFormDTO implements Serializable { + + private static final long serialVersionUID = -7661839148530902018L; + /** + * 话题ID + */ + @NotBlank(message = "话题ID不能为空",groups = {TopicForm.class}) + private String topicId; + + public interface TopicForm{} +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicAttachmentResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicAttachmentResultDTO.java new file mode 100644 index 0000000000..0b28664ce0 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicAttachmentResultDTO.java @@ -0,0 +1,30 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.LinkedList; + +/** + * @Author sun + * @Description 获取话题附件信息-接口返参 + */ +@Data +public class TopicAttachmentResultDTO implements Serializable { + + private static final long serialVersionUID = -8606257390921799432L; + + /** + * 文件附件Url集合 + */ + private LinkedList docList; + /** + * 语音附件Url集合 + */ + private LinkedList voiceList; + /** + * 视频附件Url集合 + */ + private LinkedList videoList; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index c389fef5eb..d6e3bf75a6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -389,4 +389,17 @@ public class ResiTopicController { response.setStatus(HttpStatus.SC_OK); return new Result<>(); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 获取话题附件信息 + **/ + @PostMapping(value = "topicattachmentlist") + public Result topicAttachmentList(@RequestBody TopicAttachmentFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, TopicAttachmentFormDTO.TopicForm.class); + return new Result().ok(topicService.topicAttachmentList(formDTO)); + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java index c58c7e59db..ae67648e60 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicAttachmentDao.java @@ -20,7 +20,9 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity; +import com.epmet.resi.group.dto.topic.ResiTopicAttachmentDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -51,4 +53,10 @@ public interface ResiTopicAttachmentDao extends BaseDao selectTopicAttachmentList(@Param("topicId") String topicId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index 53140e4fef..347f960f6e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -324,4 +324,11 @@ public interface ResiTopicService extends BaseService { */ List getTopicIdsByGroup(String groupId); + /** + * @param formDTO + * @return + * @Author sun + * @Description 获取话题附件信息 + **/ + TopicAttachmentResultDTO topicAttachmentList(TopicAttachmentFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 9b0d2cf52f..28dbeb80e8 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -80,6 +80,7 @@ import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO; import com.epmet.resi.group.dto.member.result.ResiGroupMemberInfoRedisResultDTO; +import com.epmet.resi.group.dto.topic.ResiTopicAttachmentDTO; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; import com.epmet.resi.group.dto.topic.form.CheckTopicPublisherFormDTO; @@ -1822,6 +1823,41 @@ public class ResiTopicServiceImpl extends BaseServiceImpl list = resiTopicAttachmentDao.selectTopicAttachmentList(formDTO.getTopicId()); + if(list.size() docList = new LinkedList<>(); + LinkedList voiceList = new LinkedList<>(); + LinkedList videoList = new LinkedList<>(); + list.forEach(l->{ + if(TopicConstant.FILE_DOC.equals(l.getAttachmentType())){ + docList.add(l.getAttachmentUrl()); + } + if(TopicConstant.FILE_VOICE.equals(l.getAttachmentType())){ + voiceList.add(l.getAttachmentUrl()); + } + if(TopicConstant.FILE_VIDEO.equals(l.getAttachmentType())){ + videoList.add(l.getAttachmentUrl()); + } + }); + resultDTO.setDocList(docList); + resultDTO.setVoiceList(voiceList); + resultDTO.setVideoList(videoList); + return resultDTO; + } + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml index 56744b02de..9ec26817f1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicAttachmentDao.xml @@ -108,5 +108,23 @@ + + \ No newline at end of file From 7ec29b37ebf67f0b154db99d4f07620729de1117 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Dec 2020 14:54:00 +0800 Subject: [PATCH 016/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E5=88=86=E4=BA=ABid?= =?UTF-8?q?=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/IssueShareConstant.java | 15 ++++++ .../epmet/dto/form/IssueCreateUrlFormDTO.java | 21 ++++++++ .../dto/result/IssueCreateUrlResultDTO.java | 22 ++++++++ .../IssueShareLinkRecordController.java | 19 ++++++- .../epmet/dao/IssueShareLinkRecordDao.java | 20 +++++++- .../entity/IssueShareLinkRecordEntity.java | 7 +++ .../service/IssueShareLinkRecordService.java | 12 +++++ .../impl/IssueShareLinkRecordServiceImpl.java | 50 +++++++++++++++++++ .../mapper/IssueShareLinkRecordDao.xml | 18 +++++++ .../group/constant/TopicShareConstant.java | 2 + .../topic/form/TopicBelongGroupFormDTO.java | 17 +++++++ .../result/TopicBelongGroupResultDTO.java | 19 +++++++ .../group/feign/ResiGroupOpenFeignClient.java | 21 ++++---- .../ResiGroupOpenFeignClientFallback.java | 13 +++-- .../TopicShareLinkRecordController.java | 13 +++++ .../service/TopicShareLinkRecordService.java | 10 ++++ .../impl/TopicShareLinkRecordServiceImpl.java | 17 +++++++ 17 files changed, 277 insertions(+), 19 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueShareConstant.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueCreateUrlFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueCreateUrlResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicBelongGroupFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicBelongGroupResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueShareConstant.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueShareConstant.java new file mode 100644 index 0000000000..dd99b8323e --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueShareConstant.java @@ -0,0 +1,15 @@ +package com.epmet.constant; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午1:59 + */ +public interface IssueShareConstant { + + String NOT_EXIST_ISSUE_INFO = "未查询到此议题相关信息"; + + String TOPIC_BELONG_GROUP_FAILURE = "查询话题所属小组失败......"; + + String TOPIC_BELONG_GROUP_NULL = "查询话题所属小组为空......"; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueCreateUrlFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueCreateUrlFormDTO.java new file mode 100644 index 0000000000..5bc984ee80 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueCreateUrlFormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午1:23 + */ +@Data +public class IssueCreateUrlFormDTO implements Serializable { + + private static final long serialVersionUID = -7269328640568283013L; + + public interface IssueCreateUrlForm{} + + @NotBlank(message = "议题ID不能为空",groups = {IssueCreateUrlForm.class}) + private String issueId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueCreateUrlResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueCreateUrlResultDTO.java new file mode 100644 index 0000000000..450f0cec5b --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueCreateUrlResultDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.result; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午1:30 + */ +@Data +@AllArgsConstructor +public class IssueCreateUrlResultDTO implements Serializable { + + private static final long serialVersionUID = 552194128388715353L; + + /** + * 议题分享链接ID + */ + private String shareLinkId; +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java index fb1fb1c8dc..32dfa167af 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java @@ -17,7 +17,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -25,6 +27,8 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IssueShareLinkRecordDTO; +import com.epmet.dto.form.IssueCreateUrlFormDTO; +import com.epmet.dto.result.IssueCreateUrlResultDTO; import com.epmet.service.IssueShareLinkRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -39,7 +43,7 @@ import java.util.Map; * @since v1.0.0 2020-12-18 */ @RestController -@RequestMapping("issuesharelinkrecord") +@RequestMapping("issuesharelink") public class IssueShareLinkRecordController { @Autowired @@ -81,4 +85,17 @@ public class IssueShareLinkRecordController { return new Result(); } + /** + * @Description 议题分享链接ID + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/18 下午1:36 + */ + @PostMapping("createurl") + public Result getIssueShareLinkId(@RequestBody IssueCreateUrlFormDTO formDTO, @LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, IssueCreateUrlFormDTO.IssueCreateUrlForm.class); + return new Result().ok(issueShareLinkRecordService.getIssueShareLinkId(formDTO,tokenDto)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkRecordDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkRecordDao.java index 9c1315dd73..94c6b7e61f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkRecordDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkRecordDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.IssueShareLinkRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 议题分享链接表 @@ -29,5 +30,22 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueShareLinkRecordDao extends BaseDao { - + + /** + * @Description 校验此人此议题是否存在分享记录 + * @Param issueId + * @Param userId + * @author zxc + * @date 2020/12/18 下午1:47 + */ + String checkIssueRecord(@Param("issueId") String issueId, @Param("userId") String userId); + + /** + * @Description 根据issueId查询议题信息 + * @Param issueId + * @author zxc + * @date 2020/12/18 下午1:55 + */ + IssueShareLinkRecordEntity selectIssueInfoById(@Param("issueId") String issueId); + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkRecordEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkRecordEntity.java index 5384446168..0c654926e4 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkRecordEntity.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkRecordEntity.java @@ -17,6 +17,7 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; @@ -60,4 +61,10 @@ public class IssueShareLinkRecordEntity extends BaseEpmetEntity { */ private String inviteContent; + /** + * 话题ID + */ + @TableField(exist = false) + private String topicId; + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java index 82f60709b2..d24c2a2db1 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java @@ -19,7 +19,10 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IssueShareLinkRecordDTO; +import com.epmet.dto.form.IssueCreateUrlFormDTO; +import com.epmet.dto.result.IssueCreateUrlResultDTO; import com.epmet.entity.IssueShareLinkRecordEntity; import java.util.List; @@ -92,4 +95,13 @@ public interface IssueShareLinkRecordService extends BaseService implements IssueShareLinkRecordService { + @Autowired + private ResiGroupOpenFeignClient resiGroupOpenFeignClient; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -79,4 +92,41 @@ public class IssueShareLinkRecordServiceImpl extends BaseServiceImpl topicInfo = resiGroupOpenFeignClient.selectTopicBelongGroup(topicBelongGroupFormDTO); + if (!topicInfo.success()){ + throw new RenException(IssueShareConstant.TOPIC_BELONG_GROUP_FAILURE); + } + IssueShareLinkRecordEntity entity = new IssueShareLinkRecordEntity(); + entity.setCustomerId(issueInfo.getCustomerId()); + if (StringUtils.isBlank(topicInfo.getData().getGroupId())){ + throw new RenException(IssueShareConstant.TOPIC_BELONG_GROUP_NULL); + } + entity.setGridId(topicInfo.getData().getGroupId()); + entity.setIssueId(formDTO.getIssueId()); + entity.setShareUserId(tokenDto.getUserId()); + entity.setInviteContent(null); + baseDao.insert(entity); + return new IssueCreateUrlResultDTO(entity.getId()); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkRecordDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkRecordDao.xml index 55f97c66de..99bbe9d7e4 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkRecordDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkRecordDao.xml @@ -3,5 +3,23 @@ + + + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java index 1b2b680b9d..d6d1706f69 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java @@ -8,4 +8,6 @@ public interface TopicShareConstant { String NOT_EXIST_TOPIC_INFO = "未查到该话题信息......"; + String NOT_EXIST_TOPIC_BELONG_GROUP = "未查询到话题所属小组......"; + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicBelongGroupFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicBelongGroupFormDTO.java new file mode 100644 index 0000000000..b749fd3c73 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicBelongGroupFormDTO.java @@ -0,0 +1,17 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午2:06 + */ +@Data +public class TopicBelongGroupFormDTO implements Serializable { + + private static final long serialVersionUID = -1257699096393262959L; + + private String topicId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicBelongGroupResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicBelongGroupResultDTO.java new file mode 100644 index 0000000000..8151ec6a84 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicBelongGroupResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午2:12 + */ +@Data +@AllArgsConstructor +public class TopicBelongGroupResultDTO implements Serializable { + + private static final long serialVersionUID = 8180287697221964032L; + + private String groupId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index 574af0884f..86b43f05ee 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -11,24 +11,16 @@ import com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO; import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO; import com.epmet.resi.group.dto.topic.form.*; -import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO; -import com.epmet.resi.group.dto.topic.result.MyCreateTopicsResultDTO; -import com.epmet.resi.group.dto.topic.result.MyPartIssueResultDTO; -import com.epmet.resi.group.dto.topic.result.ParticipatedTopicUnitResultDTO; +import com.epmet.resi.group.dto.topic.result.*; import com.epmet.resi.group.feign.fallback.ResiGroupOpenFeignClientFallback; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; -import com.epmet.commons.tools.utils.Result; -import com.epmet.resi.group.dto.group.form.CreateGroupCodeFormDTO; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import java.util.HashMap; import java.util.List; -import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; /** * 本服务对外开放的API,其他服务通过引用此client调用该服务 @@ -148,4 +140,13 @@ public interface ResiGroupOpenFeignClient { */ @PostMapping("resi/group/topic/fetchtopicinfowhenauditissue") Result fetchTopicInfoWhenAuditIssue(@RequestBody ResiTopicTurnIssueFromDTO param); + + /** + * @Description 查询话题所属小组 + * @Param formDTO + * @author zxc + * @date 2020/12/18 下午2:08 + */ + @PostMapping("resi/group/topicsharelink/topicbelonggroup") + Result selectTopicBelongGroup(@RequestBody TopicBelongGroupFormDTO formDTO); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index 7df5d859cf..f445881445 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -8,19 +8,13 @@ import com.epmet.resi.group.dto.group.form.*; import com.epmet.resi.group.dto.group.result.ApplicationDetailCopyResultDTO; import com.epmet.resi.group.dto.group.result.ApplyingGroupResultDTO; import com.epmet.resi.group.dto.group.result.GroupEditionDetailResultDTO; -import com.epmet.resi.group.dto.group.form.ApplicationDetailFormDTO; -import com.epmet.resi.group.dto.group.form.GroupInfoFormDTO; -import com.epmet.resi.group.dto.group.result.ApplicationDetailCopyResultDTO; import com.epmet.resi.group.dto.group.result.GroupInfoResultDTO; import com.epmet.resi.group.dto.topic.MyCreateTopicsFormDTO; import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.IssueGridResultDTO; import com.epmet.resi.group.dto.topic.result.MyPartIssueResultDTO; import com.epmet.resi.group.dto.topic.result.ParticipatedTopicUnitResultDTO; -import com.epmet.commons.tools.constant.ServiceConstant; -import com.epmet.commons.tools.utils.ModuleUtils; -import com.epmet.commons.tools.utils.Result; -import com.epmet.resi.group.dto.group.form.CreateGroupCodeFormDTO; +import com.epmet.resi.group.dto.topic.result.TopicBelongGroupResultDTO; import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; import org.springframework.stereotype.Component; @@ -106,4 +100,9 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien public Result fetchTopicInfoWhenAuditIssue(ResiTopicTurnIssueFromDTO param) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "fetchTopicInfoWhenAuditIssue",param); } + + @Override + public Result selectTopicBelongGroup(TopicBelongGroupFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectTopicBelongGroup",formDTO); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java index 2a14242b40..1597099f55 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java @@ -12,7 +12,9 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.topic.service.TopicShareLinkRecordService; import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; import com.epmet.resi.group.dto.topic.form.CreateUrlFormDTO; +import com.epmet.resi.group.dto.topic.form.TopicBelongGroupFormDTO; import com.epmet.resi.group.dto.topic.result.CreateUrlResultDTO; +import com.epmet.resi.group.dto.topic.result.TopicBelongGroupResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -80,4 +82,15 @@ public class TopicShareLinkRecordController { return new Result().ok(topicShareLinkRecordService.getCreateUrlId(createUrlFormDTO,tokenDto)); } + /** + * @Description 查询话题所属小组 + * @Param formDTO + * @author zxc + * @date 2020/12/18 下午2:08 + */ + @PostMapping("topicbelonggroup") + public Result selectTopicBelongGroup(@RequestBody TopicBelongGroupFormDTO formDTO){ + return new Result().ok(topicShareLinkRecordService.selectTopicBelongGroup(formDTO)); + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java index c925a82173..91900c9dfb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkRecordService.java @@ -6,7 +6,9 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; import com.epmet.resi.group.dto.topic.form.CreateUrlFormDTO; +import com.epmet.resi.group.dto.topic.form.TopicBelongGroupFormDTO; import com.epmet.resi.group.dto.topic.result.CreateUrlResultDTO; +import com.epmet.resi.group.dto.topic.result.TopicBelongGroupResultDTO; import java.util.List; import java.util.Map; @@ -86,4 +88,12 @@ public interface TopicShareLinkRecordService extends BaseService Date: Fri, 18 Dec 2020 16:19:02 +0800 Subject: [PATCH 017/184] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E6=88=91=E5=8F=91=E8=A1=A8=E7=9A=84=E8=AF=9D=E9=A2=98-?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E4=B8=AD=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/topic/form/MyAuditingListFormDTO.java | 37 +++++++++++++ .../topic/result/MyAuditingListResultDTO.java | 49 +++++++++++++++++ .../controller/TopicDraftController.java | 16 ++++++ .../modules/topic/dao/TopicDraftDao.java | 13 ++++- .../topic/service/TopicDraftService.java | 10 ++++ .../service/impl/TopicDraftServiceImpl.java | 52 +++++++++++++++++-- .../resources/mapper/topic/TopicDraftDao.xml | 21 ++++++++ 7 files changed, 194 insertions(+), 4 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyAuditingListFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyAuditingListResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyAuditingListFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyAuditingListFormDTO.java new file mode 100644 index 0000000000..dc4a989bed --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyAuditingListFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; + +/** + * @Author sun + * @Description 个人中心-我发表的话题-审核中列表-接口入参 + */ +@Data +public class MyAuditingListFormDTO { + + /** + * 客户Id + */ + @NotBlank(message = "客户ID不能为空",groups = {MyAuditingListFormDTO.AuditingTopicForm.class}) + private String customerId; + /** + * 页码,从1开始 + */ + @Min(value = 1, message = "页码必须大于0", groups = { MyAuditingListFormDTO.AuditingTopicForm.class }) + private Integer pageNo; + /** + * 页容量,默认10页 + */ + @Min(value = 1, message = "每页条数必须大于0", groups = { MyAuditingListFormDTO.AuditingTopicForm.class }) + private Integer pageSize; + /** + * token中用户Id + */ + private String userId; + + public interface AuditingTopicForm{} + +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyAuditingListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyAuditingListResultDTO.java new file mode 100644 index 0000000000..14b35755ec --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyAuditingListResultDTO.java @@ -0,0 +1,49 @@ +package com.epmet.resi.group.dto.topic.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author sun + * @Description 个人中心-我发表的话题-审核中列表-接口返参 + */ +@Data +public class MyAuditingListResultDTO implements Serializable { + + private static final long serialVersionUID = -703102629653169023L; + + /** + * 话题草稿id + */ + private String topicDraftId; + + /** + * 话题来源网格名称 + */ + private String releaseGridName; + @JsonIgnore + private String gridId; + + /** + * 发布时间戳 + */ + private Long releaseTime; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 小组名称 + */ + private String releaseGroupName; + + /** + * 状态 + */ + private String status; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java index 71f79e615b..ca60f2e453 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java @@ -17,7 +17,9 @@ package com.epmet.modules.topic.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -28,6 +30,8 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.topic.excel.TopicDraftExcel; import com.epmet.modules.topic.service.TopicDraftService; import com.epmet.resi.group.dto.topic.TopicDraftDTO; +import com.epmet.resi.group.dto.topic.form.MyAuditingListFormDTO; +import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -91,4 +95,16 @@ public class TopicDraftController { ExcelUtils.exportExcelToTarget(response, null, list, TopicDraftExcel.class); } + /** + * @param formDTO + * @return + * @Author sun + * @Description 个人中心-我发表的话题-审核中列表 + **/ + @PostMapping(value = "myauditinglist") + public Result> myAuditingList(@LoginUser TokenDto tokenDto, @RequestBody MyAuditingListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, MyAuditingListFormDTO.AuditingTopicForm.class); + formDTO.setUserId(tokenDto.getUserId()); + return new Result>().ok(topicDraftService.myAuditingList(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java index e4a41b173b..0ccebb0a33 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java @@ -19,8 +19,12 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.TopicDraftEntity; +import com.epmet.resi.group.dto.topic.form.MyAuditingListFormDTO; +import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 话题草稿内容表 * @@ -29,5 +33,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface TopicDraftDao extends BaseDao { - + + /** + * @param formDTO + * @return + * @Author sun + * @Description 个人中心-我发表的话题-审核中列表 + **/ + List selectAuditingList(MyAuditingListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java index d32cd5a42a..467553bb0c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java @@ -21,6 +21,8 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.modules.topic.entity.TopicDraftEntity; import com.epmet.resi.group.dto.topic.TopicDraftDTO; +import com.epmet.resi.group.dto.topic.form.MyAuditingListFormDTO; +import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; import java.util.List; import java.util.Map; @@ -92,4 +94,12 @@ public interface TopicDraftService extends BaseService { * @date 2020-12-17 */ void delete(String[] ids); + + /** + * @param formDTO + * @return + * @Author sun + * @Description 个人中心-我发表的话题-审核中列表 + **/ + List myAuditingList(MyAuditingListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java index ac3df4b7b8..b216097a86 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -21,19 +21,29 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.result.AllGridsByUserIdResultDTO; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.modules.topic.dao.TopicDraftDao; import com.epmet.modules.topic.entity.TopicDraftEntity; import com.epmet.modules.topic.service.TopicDraftService; import com.epmet.resi.group.dto.topic.TopicDraftDTO; +import com.epmet.resi.group.dto.topic.form.MyAuditingListFormDTO; +import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * 话题草稿内容表 @@ -43,6 +53,10 @@ import java.util.Map; */ @Service public class TopicDraftServiceImpl extends BaseServiceImpl implements TopicDraftService { + private static Logger logger = LoggerFactory.getLogger(TopicDraftServiceImpl.class); + + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; @Override public PageData page(Map params) { @@ -96,4 +110,36 @@ public class TopicDraftServiceImpl extends BaseServiceImpl myAuditingList(MyAuditingListFormDTO formDTO) { + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + //1.获取当前用户创建的还未成为话题的话题草稿数据 + List list = baseDao.selectAuditingList(formDTO); + if(list.size()(); + } + + //2.获取网格名称,封装数据并返回 【组织-网格】 + List gridIds = list.stream().map(l -> l.getGridId()).collect(Collectors.toList()); + Result> rst = govOrgOpenFeignClient.getGridListByGridIds(gridIds); + if (!rst.success()) { + logger.error("查询【个人中心-我发表的话题-审核中列表】,根据网格id查询网格名称失败, InternalMsg:{},Msg:{}", rst.getInternalMsg(), rst.getMsg()); + } else { + List gridList = rst.getData(); + if (CollectionUtils.isNotEmpty(gridList)) { + HashMap gridIdAndNames = new HashMap<>(); + gridList.stream().forEach(g -> gridIdAndNames.put(g.getGridId(), g.getGridName())); + list.stream().forEach(pt -> pt.setReleaseGridName(gridIdAndNames.get(pt.getGridId()))); + } + } + return list; + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml index acecc51e74..96213c43aa 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml @@ -3,5 +3,26 @@ + \ No newline at end of file From 38e77357eb159d885d532efbb8652f64eb5554d5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 18 Dec 2020 16:58:45 +0800 Subject: [PATCH 018/184] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=BD=95=E9=9F=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/OssController.java | 17 ++++++++++ .../java/com/epmet/service/OssService.java | 2 ++ .../epmet/service/impl/OssServiceImpl.java | 32 +++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index 0f78958d58..2ec080df29 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -272,4 +272,21 @@ public class OssController { return ossService.extUpload(filse,fileName); } + /** + * @param file + * @Description 上传语音文件 + * @Author sun + **/ + @PostMapping("uploadvoice") + public Result uploadVoice(@RequestParam("file") MultipartFile file) { + // 校验文件体积,不超过20M + long maxSize = 20 * 1024 * 1024; + long size = file.getSize(); + if (size > maxSize) { + throw new RenException(EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getCode(), + EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getMsg()); + } + return ossService.uploadVoice(file); + } + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java index c67fec06f2..ea7141050d 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java @@ -31,4 +31,6 @@ public interface OssService extends BaseService { Result uploadImg(MultipartFile file); Result extUpload(MultipartFile file, String fileName); + + Result uploadVoice(MultipartFile file); } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java index cc44456c7e..b856118953 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java @@ -104,4 +104,36 @@ public class OssServiceImpl extends BaseServiceImpl implement dto.setUrl(url); return new Result().ok(dto); } + + /** + * @param file + * @Description 上传语音 + * @Author sun + **/ + @Override + public Result uploadVoice(MultipartFile file) { + if (file.isEmpty()) { + return new Result().error(ModuleErrorCode.UPLOAD_FILE_EMPTY); + } + //上传文件 + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + String url = null; + try { + url = OssFactory.build().uploadSuffix(file.getBytes(), extension); + } catch (IOException e) { + e.printStackTrace(); + logger.error("语音上传异常"); + throw new RenException("语音上传异常"); + + } + //保存文件信息 + OssEntity ossEntity = new OssEntity(); + ossEntity.setUrl(url); + baseDao.insert(ossEntity); + //文件信息 + UploadImgResultDTO dto = new UploadImgResultDTO(); + dto.setUrl(url); + return new Result().ok(dto); + } + } From d283aba972a5d34721b078b841986c1bf94e7e3a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Dec 2020 16:59:31 +0800 Subject: [PATCH 019/184] =?UTF-8?q?=E5=88=86=E4=BA=AB=E8=AF=9D=E9=A2=98id?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/constant/TopicShareConstant.java | 2 + .../dto/topic/form/TopicVisitFormDTO.java | 29 +++++++++ .../dto/topic/result/TopicVisitResultDTO.java | 50 ++++++++++++++ .../member/dao/GroupMemeberOperationDao.java | 9 +++ .../member/dao/ResiGroupMemberDao.java | 9 +++ .../TopicShareLinkRecordController.java | 14 ++++ .../topic/dao/TopicShareLinkRecordDao.java | 3 +- .../service/TopicShareLinkRecordService.java | 11 ++++ .../impl/TopicShareLinkRecordServiceImpl.java | 65 +++++++++++++++++-- .../member/GroupMemeberOperationDao.xml | 11 ++++ .../mapper/member/ResiGroupMemberDao.xml | 11 ++++ .../mapper/topic/TopicShareLinkRecordDao.xml | 7 +- 12 files changed, 214 insertions(+), 7 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicVisitResultDTO.java diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java index d6d1706f69..affeac1fe2 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicShareConstant.java @@ -10,4 +10,6 @@ public interface TopicShareConstant { String NOT_EXIST_TOPIC_BELONG_GROUP = "未查询到话题所属小组......"; + String NOT_EXIST_INVITE_RECORD = "未查询到该邀请记录......"; + } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java new file mode 100644 index 0000000000..2c54362c83 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午3:12 + */ +@Data +public class TopicVisitFormDTO implements Serializable { + + private static final long serialVersionUID = -7231684507046042401L; + + /** + * 当点击右上角三个点分享时,传参为topicId;点击页面内的分享时,传参为inviteId + */ + + /** + * 分享ID + */ + private String shareLinkId; + + /** + * 话题ID + */ + private String topicId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicVisitResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicVisitResultDTO.java new file mode 100644 index 0000000000..6191a5b6b9 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicVisitResultDTO.java @@ -0,0 +1,50 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午3:15 + */ +@Data +public class TopicVisitResultDTO implements Serializable { + + private static final long serialVersionUID = -8053248999188056579L; + + /** + * 是否存在入组待审核记录,true:存在,false:不存在 + */ + private Boolean awaitAudit; + + /** + * 是否在群内标志,已经在群内:true, 不在群内:false + */ + private Boolean inGroup; + + /** + * 小组ID + */ + private String groupId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 话题ID + */ + private String topicId; + + /** + * 客户ID + */ + private String customerId; + + /** + * 话题屏蔽状态,true:已屏蔽,false:未屏蔽 + */ + private Boolean shieldStatus; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java index 8d56bd49af..49ecf7fbbe 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/dao/GroupMemeberOperationDao.java @@ -50,4 +50,13 @@ public interface GroupMemeberOperationDao extends BaseDao { * @date 2020.05.26 14:22 **/ List getGroupIdByUserIdAndGridId(@Param("gridId")String gridId,@Param("userId")String userId,@Param("roleFlag")String roleFlag); + + /** + * @Description 校验此人是不是在组内 + * @Param userId + * @Param groupId + * @author zxc + * @date 2020/12/18 下午4:33 + */ + Integer checkUserInGroup(@Param("userId")String userId,@Param("groupId")String groupId); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java index 1597099f55..64ce18e876 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java @@ -13,8 +13,10 @@ import com.epmet.modules.topic.service.TopicShareLinkRecordService; import com.epmet.resi.group.dto.topic.TopicShareLinkRecordDTO; import com.epmet.resi.group.dto.topic.form.CreateUrlFormDTO; import com.epmet.resi.group.dto.topic.form.TopicBelongGroupFormDTO; +import com.epmet.resi.group.dto.topic.form.TopicVisitFormDTO; import com.epmet.resi.group.dto.topic.result.CreateUrlResultDTO; import com.epmet.resi.group.dto.topic.result.TopicBelongGroupResultDTO; +import com.epmet.resi.group.dto.topic.result.TopicVisitResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -93,4 +95,16 @@ public class TopicShareLinkRecordController { return new Result().ok(topicShareLinkRecordService.selectTopicBelongGroup(formDTO)); } + /** + * @Description 分享话题id获取信息 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/18 下午3:34 + */ + @PostMapping("visit") + public Result topicVisit(@RequestBody TopicVisitFormDTO formDTO,@LoginUser TokenDto tokenDto){ + return new Result().ok(topicShareLinkRecordService.topicVisit(formDTO,tokenDto)); + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java index e84f6ff8e2..1f3a2ea96e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkRecordDao.java @@ -2,6 +2,7 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.TopicShareLinkRecordEntity; +import com.epmet.resi.group.dto.topic.result.TopicVisitResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -20,7 +21,7 @@ public interface TopicShareLinkRecordDao extends BaseDao implements TopicShareLinkRecordService { + @Autowired + private TopicShareLinkVisitRecordDao visitRecordDao; + @Autowired + private ResiGroupMemberDao resiGroupMemberDao; + @Autowired + private GroupMemeberOperationDao groupMemeberOperationDao; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -100,7 +115,7 @@ public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO){ + result.setAwaitAudit(false); + result.setInGroup(true); + }else { + result.setInGroup(false); + Integer awaitAudit = groupMemeberOperationDao.checkAwaitAudit(tokenDto.getUserId(), result.getGroupId()); + result.setAwaitAudit(awaitAudit > NumConstant.ZERO ? true : false); + } + return result; } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml index 0205d7e5c5..c47f80f4d3 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/GroupMemeberOperationDao.xml @@ -28,4 +28,15 @@ gmo.CREATED_TIME DESC LIMIT 1 + + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml index f125ebb551..92408b540b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/member/ResiGroupMemberDao.xml @@ -154,4 +154,15 @@ + + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml index 06f89b0426..cd75277141 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkRecordDao.xml @@ -4,11 +4,13 @@ - SELECT + rt.id AS topicId, rt.GROUP_ID, rg.GRID_ID, - rg.CUSTOMER_ID + rg.CUSTOMER_ID, + (CASE WHEN rt.`STATUS` = 'hidden' THEN TRUE ELSE FALSE END ) AS shieldStatus FROM resi_topic rt LEFT JOIN resi_group rg ON rg.ID = rt.GROUP_ID WHERE rt.DEL_FLAG = '0' @@ -25,4 +27,5 @@ AND SHARE_USER_ID = #{userId} AND TOPIC_ID = #{topicId} + \ No newline at end of file From bbff6bec147ff7e57f73a8bd5242e50ef6bf6f70 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Dec 2020 17:12:20 +0800 Subject: [PATCH 020/184] =?UTF-8?q?=E5=88=86=E4=BA=AB=E8=AF=9D=E9=A2=98id?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/topic/form/TopicVisitFormDTO.java | 11 ++----- .../TopicShareLinkRecordController.java | 1 + .../impl/TopicShareLinkRecordServiceImpl.java | 30 ++++++++----------- 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java index 2c54362c83..359d4be674 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicVisitFormDTO.java @@ -2,6 +2,7 @@ package com.epmet.resi.group.dto.topic.form; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; /** @@ -13,17 +14,11 @@ public class TopicVisitFormDTO implements Serializable { private static final long serialVersionUID = -7231684507046042401L; - /** - * 当点击右上角三个点分享时,传参为topicId;点击页面内的分享时,传参为inviteId - */ + public interface TopicVisitForm{} /** * 分享ID */ + @NotBlank(message = "分享ID不能为空",groups = {TopicVisitForm.class}) private String shareLinkId; - - /** - * 话题ID - */ - private String topicId; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java index 64ce18e876..d8e9614ff2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkRecordController.java @@ -104,6 +104,7 @@ public class TopicShareLinkRecordController { */ @PostMapping("visit") public Result topicVisit(@RequestBody TopicVisitFormDTO formDTO,@LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, TopicVisitFormDTO.TopicVisitForm.class); return new Result().ok(topicShareLinkRecordService.topicVisit(formDTO,tokenDto)); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java index db1cf064cd..4303b06b86 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java @@ -155,23 +155,19 @@ public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl Date: Fri, 18 Dec 2020 17:33:21 +0800 Subject: [PATCH 021/184] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E8=AF=AD=E9=9F=B3?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi/group/constant/TopicConstant.java | 12 + .../dto/topic/TopicDraftScanTaskDTO.java | 104 ++++ .../topic/form/AuditDraftTopicFormDTO.java | 33 ++ .../dto/topic/form/CreateTopicFormDTO.java | 78 +++ .../dto/topic/form/DraftDetailFormDTO.java | 18 + .../topic/form/MyAuditingTopicFormDTO.java | 22 + .../dto/topic/form/TopicAuditFormDTO.java | 30 ++ .../topic/result/DraftDetailResultDTO.java | 57 ++ .../result/MyAuditingTopicResultDTO.java | 22 + .../dto/topic/result/TopicAuditResultDTO.java | 31 ++ .../controller/TopicDraftController.java | 75 ++- .../topic/dao/TopicDraftAttachmentDao.java | 13 +- .../modules/topic/dao/TopicDraftDao.java | 24 + .../topic/dao/TopicDraftScanTaskDao.java | 33 ++ .../entity/TopicDraftScanTaskEntity.java | 74 +++ .../service/TopicDraftAttachmentService.java | 10 + .../service/TopicDraftScanTaskService.java | 95 ++++ .../topic/service/TopicDraftService.java | 51 ++ .../impl/TopicDraftAttachmentServiceImpl.java | 20 + .../impl/TopicDraftScanTaskServiceImpl.java | 99 ++++ .../service/impl/TopicDraftServiceImpl.java | 498 +++++++++++++++++- .../epmet/modules/utils/ModuleConstant.java | 2 + .../src/main/resources/bootstrap.yml | 2 + .../mapper/topic/TopicDraftAttachmentDao.xml | 8 +- .../resources/mapper/topic/TopicDraftDao.xml | 20 + .../mapper/topic/TopicDraftScanTaskDao.xml | 23 + 26 files changed, 1449 insertions(+), 5 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftScanTaskDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/AuditDraftTopicFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateTopicFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/DraftDetailFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyAuditingTopicFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicAuditFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyAuditingTopicResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicAuditResultDTO.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftScanTaskDao.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftScanTaskEntity.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftScanTaskService.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftScanTaskServiceImpl.java create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftScanTaskDao.xml diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java index 3ae0ec6aa0..5c4d550dfd 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java @@ -87,4 +87,16 @@ public interface TopicConstant { String FILE_DOC = "doc"; String FILE_VOICE = "voice"; String FILE_VIDEO = "video"; + + String AUDITING = "auditing"; + String AUTO_PASSED = "auto_passed"; + String REVIEW = "review"; + String BLOCK = "block"; + String REJECTED = "rejected"; + String APPROVED = "approved"; + String SUBMIT = "submit"; + String IMAGE = " image"; + String VIDEO = " video"; + String VOICE = " voice"; + String DOC = " doc"; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftScanTaskDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftScanTaskDTO.java new file mode 100644 index 0000000000..620f56d7ec --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/TopicDraftScanTaskDTO.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.resi.group.dto.topic; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 话题附件检测任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +public class TopicDraftScanTaskDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户id + */ + private String customerId; + + /** + * 话题草稿Id + */ + private String topicDraftId; + + /** + * 话题草稿附件表Id,对应dataId + */ + private String topicDraftAttachmentId; + + /** + * 阿里云审核任务Id + */ + private String taskId; + + /** + * 审核状态【auditing: 审核中; +auto_passed: 自动通过; +review:结果不确定,需要人工审核; +block: 结果违规;】 + */ + private String status; + + /** + * 附件类型(视频 - video、 语音 - voice) + */ + private String attachmentType; + + /** + * 删除标记 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 操作人,API审核结果,存储为SCAN_USER或者APP_USER + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/AuditDraftTopicFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/AuditDraftTopicFormDTO.java new file mode 100644 index 0000000000..0605d39acb --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/AuditDraftTopicFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/18 15:03 + */ +@NoArgsConstructor +@Data +public class AuditDraftTopicFormDTO implements Serializable { + + private static final long serialVersionUID = -4766725540339231386L; + /** + * 草稿话题Id + */ + @NotBlank(message = "话题id不能为空") + private String topicDraftId; + /** + * 审核状态(通过:approved 驳回:rejected) + */ + @NotBlank(message = "审核状态不能为空") + private String auditType; + /** + * 审核原因 + */ + private String reason; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateTopicFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateTopicFormDTO.java new file mode 100644 index 0000000000..a53a8f36db --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/CreateTopicFormDTO.java @@ -0,0 +1,78 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/17 15:08 + */ +@Data +public class CreateTopicFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String customerId; + + private String gridId; + /** + * 小组Id + * */ + @NotBlank(message = "小组Id不能为空") + private String groupId; + + private String topicDraftId; + + private String topicContent; + + /** + * 经度 + * */ + private String longitude; + + /** + * 纬度 + * */ + private String dimension; + + /** + * 地址 + * */ + @NotBlank(message = "地址信息不能为空") + private String address; + + /** + * 省份 + * */ + private String province; + + /** + * 城市 + * */ + private String city; + + /** + * 地区 + * */ + private String area; + + /** + * 图片附件 + */ + private List imageList; + /** + * 文件附件 + */ + private List docList; + /** + * 语音附件 + */ + private List voiceList; + /** + * 视频附件 + */ + private List videoList; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/DraftDetailFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/DraftDetailFormDTO.java new file mode 100644 index 0000000000..e57f420d19 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/DraftDetailFormDTO.java @@ -0,0 +1,18 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/18 14:53 + */ +@Data +public class DraftDetailFormDTO implements Serializable { + private static final long serialVersionUID = -240658534604688292L; + @NotBlank(message = "话题id不能为空") + private String topicDraftId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyAuditingTopicFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyAuditingTopicFormDTO.java new file mode 100644 index 0000000000..47f2d7dd83 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/MyAuditingTopicFormDTO.java @@ -0,0 +1,22 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/18 14:44 + */ +@NoArgsConstructor +@Data +public class MyAuditingTopicFormDTO implements Serializable { + + private static final long serialVersionUID = 9154103669944393282L; + private String customerId; + private String userId; + private Integer pageNo = 1; + private Integer pageSize = 20; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicAuditFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicAuditFormDTO.java new file mode 100644 index 0000000000..ba57670521 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/TopicAuditFormDTO.java @@ -0,0 +1,30 @@ +package com.epmet.resi.group.dto.topic.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/18 14:22 + */ +@NoArgsConstructor +@Data +public class TopicAuditFormDTO extends PageFormDTO implements Serializable { + + private static final long serialVersionUID = 2013373278734345918L; + /** + * 小组ID + */ + @NotBlank(message = "小组id不能为空") + private String groupId; + /** + * 审核状态(待审核:review 已驳回:rejected) + */ + @NotBlank(message = "审核状态不能为空") + private String status; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java new file mode 100644 index 0000000000..f6373df659 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java @@ -0,0 +1,57 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/18 14:50 + */ +@NoArgsConstructor +@Data +public class DraftDetailResultDTO implements Serializable { + + private static final long serialVersionUID = -7445417689558651158L; + /** + * 话题草稿id + */ + private String topicDraftId; + /** + * 话题内容 + */ + private String topicContent; + /** + * 发布时间yyyy-MM-dd HH:mm + */ + private String releaseTime; + /** + * 发布人头像 + */ + private String releaseUserHeadPhoto; + /** + * 发布人名称 + */ + private String releaseUserName; + /** + * 发布地址 + */ + private String releaseAddress; + /** + * 驳回理由 + */ + private String reason; + /** + * 图片附件集合 + */ + private List imageList; + private List docList; + /** + * 音频附件集合 + */ + private List voiceList; + private List videoList; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyAuditingTopicResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyAuditingTopicResultDTO.java new file mode 100644 index 0000000000..efdb157adf --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/MyAuditingTopicResultDTO.java @@ -0,0 +1,22 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/18 14:41 + */ +@Data +public class MyAuditingTopicResultDTO implements Serializable { + private static final long serialVersionUID = -2876904175308968430L; + private String topicDraftId; + private String groupId; + private Long releaseTime; + private String topicContent; + private String releaseGroupName; + private String releaseGridId; + private String releaseGridName; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicAuditResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicAuditResultDTO.java new file mode 100644 index 0000000000..d18a8ab0d5 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicAuditResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/18 14:28 + */ +@NoArgsConstructor +@Data +public class TopicAuditResultDTO { + + /** + * 话题草稿id + */ + private String topicDraftId; + /** + * 话题内容 + */ + private String topicContent; + /** + * 组成员显示名称 + */ + private String userName; + /** + * 话题草稿的发布时间戳 + */ + private Long releaseTime; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java index ca60f2e453..1e01ad76a5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java @@ -30,8 +30,10 @@ import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.topic.excel.TopicDraftExcel; import com.epmet.modules.topic.service.TopicDraftService; import com.epmet.resi.group.dto.topic.TopicDraftDTO; -import com.epmet.resi.group.dto.topic.form.MyAuditingListFormDTO; +import com.epmet.resi.group.dto.topic.form.*; +import com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO; import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; +import com.epmet.resi.group.dto.topic.result.TopicAuditResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -95,6 +97,77 @@ public class TopicDraftController { ExcelUtils.exportExcelToTarget(response, null, list, TopicDraftExcel.class); } + /** + * 发布话题 + * @author zhaoqifeng + * @date 2020/12/17 15:49 + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("createtopic") + public Result createTopic(@LoginUser TokenDto tokenDto, @RequestBody CreateTopicFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + topicDraftService.createTopic(tokenDto, formDTO); + return new Result(); + } + + /** + * 组管理界面-待审核/已驳回列表 + * @author zhaoqifeng + * @date 2020/12/18 14:32 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("auditlist") + public Result> auditList(@RequestBody TopicAuditFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + List result = topicDraftService.auditList(formDTO); + return new Result>().ok(result); + } + + /** + * 话题草稿详情 + * @author zhaoqifeng + * @date 2020/12/18 14:55 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("detail") + public Result detail(@RequestBody DraftDetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + DraftDetailResultDTO result = topicDraftService.detail(formDTO); + return new Result().ok(result); + } + + /** + * 删除已驳回话题 + * @author zhaoqifeng + * @date 2020/12/18 14:57 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("del") + public Result deleteDraft(@RequestBody DraftDetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + topicDraftService.deleteDraft(formDTO); + return new Result(); + } + + /** + * 组长审核 + * @author zhaoqifeng + * @date 2020/12/18 15:06 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("audit") + public Result audit(@RequestBody AuditDraftTopicFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + topicDraftService.audit(formDTO); + return new Result(); + } + /** * @param formDTO * @return diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java index a41c95d420..0f0340e86d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java @@ -20,6 +20,9 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.TopicDraftAttachmentEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 话题草稿附件表 @@ -29,5 +32,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface TopicDraftAttachmentDao extends BaseDao { - + /** + * 获取附件列表 + * @author zhaoqifeng + * @date 2020/12/18 16:44 + * @param topicDraftId + * @param type + * @return java.util.List + */ + List selectFileUrls(@Param("topicDraftId") String topicDraftId, @Param("type") String type); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java index 0ccebb0a33..099a93ffe7 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftDao.java @@ -19,9 +19,15 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.TopicDraftEntity; +import com.epmet.resi.group.dto.topic.TopicDraftDTO; +import com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.TopicAuditResultDTO; import com.epmet.resi.group.dto.topic.form.MyAuditingListFormDTO; import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; import java.util.List; @@ -33,6 +39,24 @@ import java.util.List; */ @Mapper public interface TopicDraftDao extends BaseDao { + /** + * 获取小组待审核/已驳回列表 + * @author zhaoqifeng + * @date 2020/12/18 15:47 + * @param groupId + * @param status + * @return com.epmet.resi.group.dto.topic.TopicDraftDTO + */ + List selectTopicDraftByGroup(@Param("groupId") String groupId, @Param("status") String status); + + /** + * 话题草稿详情 + * @author zhaoqifeng + * @date 2020/12/18 16:19 + * @param topicDraftId + * @return com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO + */ + DraftDetailResultDTO selectTopicDraftDetail(@Param("topicDraftId") String topicDraftId); /** * @param formDTO diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftScanTaskDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftScanTaskDao.java new file mode 100644 index 0000000000..7181ae4308 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftScanTaskDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.modules.topic.entity.TopicDraftScanTaskEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 话题附件检测任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Mapper +public interface TopicDraftScanTaskDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftScanTaskEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftScanTaskEntity.java new file mode 100644 index 0000000000..9e0cdbbaea --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/TopicDraftScanTaskEntity.java @@ -0,0 +1,74 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 话题附件检测任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("topic_draft_scan_task") +public class TopicDraftScanTaskEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户id + */ + private String customerId; + + /** + * 话题草稿Id + */ + private String topicDraftId; + + /** + * 话题草稿附件表Id,对应dataId + */ + private String topicDraftAttachmentId; + + /** + * 阿里云审核任务Id + */ + private String taskId; + + /** + * 审核状态【auditing: 审核中; +auto_passed: 自动通过; +review:结果不确定,需要人工审核; +block: 结果违规;】 + */ + private String status; + + /** + * 附件类型(视频 - video、 语音 - voice) + */ + private String attachmentType; + +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java index 6a40eb8236..182d330f42 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java @@ -92,4 +92,14 @@ public interface TopicDraftAttachmentService extends BaseService + */ + List getFileList(String topicDraftId, String type); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftScanTaskService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftScanTaskService.java new file mode 100644 index 0000000000..795b939b90 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftScanTaskService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.modules.topic.entity.TopicDraftScanTaskEntity; +import com.epmet.resi.group.dto.topic.TopicDraftScanTaskDTO; + +import java.util.List; +import java.util.Map; + +/** + * 话题附件检测任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +public interface TopicDraftScanTaskService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-18 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-18 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return TopicDraftScanTaskDTO + * @author generator + * @date 2020-12-18 + */ + TopicDraftScanTaskDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void save(TopicDraftScanTaskDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-18 + */ + void update(TopicDraftScanTaskDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-18 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java index 467553bb0c..fbf72c76f5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java @@ -19,8 +19,13 @@ package com.epmet.modules.topic.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.modules.topic.entity.TopicDraftEntity; import com.epmet.resi.group.dto.topic.TopicDraftDTO; +import com.epmet.resi.group.dto.topic.form.*; +import com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.MyAuditingTopicResultDTO; +import com.epmet.resi.group.dto.topic.result.TopicAuditResultDTO; import com.epmet.resi.group.dto.topic.form.MyAuditingListFormDTO; import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; @@ -95,6 +100,52 @@ public interface TopicDraftService extends BaseService { */ void delete(String[] ids); + /** + * 发布话题 + * @author zhaoqifeng + * @date 2020/12/17 15:49 + * @param tokenDto + * @param formDTO + * @return void + */ + void createTopic(TokenDto tokenDto, CreateTopicFormDTO formDTO); + + /** + * 组管理界面-待审核/已驳回列表 + * @author zhaoqifeng + * @date 2020/12/18 14:34 + * @param formDTO + * @return java.util.List + */ + List auditList(TopicAuditFormDTO formDTO); + + /** + * 话题草稿详情 + * @author zhaoqifeng + * @date 2020/12/18 14:55 + * @param formDTO + * @return com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO + */ + DraftDetailResultDTO detail(DraftDetailFormDTO formDTO); + + /** + * 删除已驳回话题 + * @author zhaoqifeng + * @date 2020/12/18 14:58 + * @param formDTO + * @return void + */ + void deleteDraft(DraftDetailFormDTO formDTO); + + /** + * 组长审核 + * @author zhaoqifeng + * @date 2020/12/18 15:06 + * @param formDTO + * @return void + */ + void audit(AuditDraftTopicFormDTO formDTO); + /** * @param formDTO * @return diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java index d34c50fe70..e1ad2d3b4e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java @@ -27,11 +27,13 @@ import com.epmet.modules.topic.dao.TopicDraftAttachmentDao; import com.epmet.modules.topic.entity.TopicDraftAttachmentEntity; import com.epmet.modules.topic.service.TopicDraftAttachmentService; import com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -96,4 +98,22 @@ public class TopicDraftAttachmentServiceImpl extends BaseServiceImpl + * @author zhaoqifeng + * @date 2020/12/18 16:42 + */ + @Override + public List getFileList(String topicDraftId, String type) { + List list = baseDao.selectFileUrls(topicDraftId, type); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + return list; + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftScanTaskServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftScanTaskServiceImpl.java new file mode 100644 index 0000000000..8fbe37abcb --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftScanTaskServiceImpl.java @@ -0,0 +1,99 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.topic.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.modules.topic.dao.TopicDraftScanTaskDao; +import com.epmet.modules.topic.entity.TopicDraftScanTaskEntity; +import com.epmet.modules.topic.service.TopicDraftScanTaskService; +import com.epmet.resi.group.dto.topic.TopicDraftScanTaskDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 话题附件检测任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-18 + */ +@Service +public class TopicDraftScanTaskServiceImpl extends BaseServiceImpl implements TopicDraftScanTaskService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, TopicDraftScanTaskDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, TopicDraftScanTaskDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public TopicDraftScanTaskDTO get(String id) { + TopicDraftScanTaskEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, TopicDraftScanTaskDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(TopicDraftScanTaskDTO dto) { + TopicDraftScanTaskEntity entity = ConvertUtils.sourceToTarget(dto, TopicDraftScanTaskEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(TopicDraftScanTaskDTO dto) { + TopicDraftScanTaskEntity entity = ConvertUtils.sourceToTarget(dto, TopicDraftScanTaskEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java index b216097a86..b3bcca8b1e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -22,27 +22,69 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.scan.param.ImgScanParamDTO; +import com.epmet.commons.tools.scan.param.ImgTaskDTO; +import com.epmet.commons.tools.scan.param.TextScanParamDTO; +import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.dto.result.AllGridsByUserIdResultDTO; import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.modules.feign.EpmetUserFeignClient; +import com.epmet.modules.group.dao.ResiGroupDao; +import com.epmet.modules.group.dao.ResiGroupStatisticalDao; +import com.epmet.modules.group.entity.ResiGroupEntity; +import com.epmet.modules.group.entity.ResiGroupStatisticalEntity; +import com.epmet.modules.group.redis.ResiGroupRedis; +import com.epmet.modules.member.dao.ResiGroupMemberDao; +import com.epmet.modules.member.redis.ResiGroupMemberRedis; +import com.epmet.modules.member.service.ResiGroupMemberService; +import com.epmet.modules.topic.dao.ResiTopicAttachmentDao; +import com.epmet.modules.topic.dao.ResiTopicDao; +import com.epmet.modules.topic.dao.ResiTopicOperationDao; import com.epmet.modules.topic.dao.TopicDraftDao; +import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity; +import com.epmet.modules.topic.entity.ResiTopicEntity; +import com.epmet.modules.topic.entity.ResiTopicOperationEntity; import com.epmet.modules.topic.entity.TopicDraftEntity; +import com.epmet.modules.topic.service.TopicDraftAttachmentService; +import com.epmet.modules.topic.service.TopicDraftOperationService; import com.epmet.modules.topic.service.TopicDraftService; +import com.epmet.modules.utils.ModuleConstant; +import com.epmet.resi.group.constant.MemberStateConstant; +import com.epmet.resi.group.constant.TopicConstant; +import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO; +import com.epmet.resi.group.dto.group.ResiGroupStatisticalInfoRedisDTO; +import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; +import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; +import com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO; import com.epmet.resi.group.dto.topic.TopicDraftDTO; -import com.epmet.resi.group.dto.topic.form.MyAuditingListFormDTO; +import com.epmet.resi.group.dto.topic.TopicDraftOperationDTO; +import com.epmet.resi.group.dto.topic.form.*; +import com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO; import com.epmet.resi.group.dto.topic.result.MyAuditingListResultDTO; -import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; +import com.epmet.resi.group.dto.topic.result.TopicAuditResultDTO; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -52,12 +94,54 @@ import java.util.stream.Collectors; * @since v1.0.0 2020-12-17 */ @Service +@Slf4j public class TopicDraftServiceImpl extends BaseServiceImpl implements TopicDraftService { private static Logger logger = LoggerFactory.getLogger(TopicDraftServiceImpl.class); @Autowired private GovOrgOpenFeignClient govOrgOpenFeignClient; + @Autowired + private ResiGroupMemberService resiGroupMemberService; + + @Autowired + private ResiTopicAttachmentDao resiTopicAttachmentDao; + + @Autowired + private ResiTopicOperationDao resiTopicOperationDao; + + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + + @Autowired + private ResiGroupDao resiGroupDao; + + @Autowired + private ResiGroupMemberDao resiGroupMemberDao; + + @Autowired + private ResiGroupStatisticalDao resiGroupStatisticalDao; + + @Autowired + private ResiTopicDao resiTopicDao; + + @Autowired + private ResiGroupRedis resiGroupRedis; + + @Autowired + private TopicDraftAttachmentService topicDraftAttachmentService; + @Autowired + private TopicDraftOperationService topicDraftOperationService; + @Autowired + private ResiGroupMemberRedis resiGroupMemberRedis; + + @Value("${openapi.scan.server.url}") + private String scanApiUrl; + @Value("${openapi.scan.method.textSyncScan}") + private String textSyncScanMethod; + @Value("${openapi.scan.method.imgSyncScan}") + private String imgSyncScanMethod; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -142,4 +226,414 @@ public class TopicDraftServiceImpl extends BaseServiceImpl TopicConstant.MAX_NUMBER_OF_CONTENT){ + //内容超过最大限制 + log.error(ModuleConstant.TOPIC_CONTENT_NUMBER_OF_WORDS_EXCEEDED); + throw new RenException(ModuleConstant.TOPIC_CONTENT_NUMBER_OF_WORDS_EXCEEDED); + } + + TopicDraftEntity topic = ConvertUtils.sourceToTarget(formDTO,TopicDraftEntity.class); + topic.setCreatedBy(tokenDto.getUserId()); + topic.setDraftStatus(TopicConstant.AUDITING); + baseDao.insert(topic); + if (StringUtils.isNotEmpty(formDTO.getTopicDraftId())) { + //隐藏旧话题草稿 + TopicDraftEntity old = new TopicDraftEntity(); + old.setId(formDTO.getTopicDraftId()); + old.setIsSee(NumConstant.ONE_STR); + baseDao.updateById(old); + } + + if(CollectionUtils.isNotEmpty(formDTO.getImageList())){ + TopicDraftAttachmentDTO attachment = new TopicDraftAttachmentDTO(); + int sort = 0; + for(String url : formDTO.getImageList()){ + attachment.setAttachmentUrl(url); + attachment.setTopicDraftId(topic.getId()); + attachment.setCreatedBy(tokenDto.getUserId()); + attachment.setAttachmentFormat(url.substring(url.lastIndexOf(".") + NumConstant.ONE).toLowerCase()); + attachment.setSort(sort++); + attachment.setAttachmentType("image"); + topicDraftAttachmentService.save(attachment); + } + } + + if(CollectionUtils.isNotEmpty(formDTO.getVideoList())){ + TopicDraftAttachmentDTO attachment = new TopicDraftAttachmentDTO(); + int sort = 0; + for(String url : formDTO.getVideoList()){ + attachment.setAttachmentUrl(url); + attachment.setTopicDraftId(topic.getId()); + attachment.setCreatedBy(tokenDto.getUserId()); + attachment.setAttachmentFormat(url.substring(url.lastIndexOf(".") + NumConstant.ONE).toLowerCase()); + attachment.setSort(sort++); + attachment.setAttachmentType("image"); + topicDraftAttachmentService.save(attachment); + } + } + + //话题操作记录 + TopicDraftOperationDTO operation = new TopicDraftOperationDTO(); + operation.setTopicDraftId(topic.getId()); + operation.setOperateType(TopicConstant.SUBMIT); + operation.setCreatedBy(tokenDto.getUserId()); + topicDraftOperationService.save(operation); + + //2.话题内容审核 + String topicContent = formDTO.getTopicContent(); + if (StringUtils.isNotBlank(topicContent)) { + //创建话题内容审核 + TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); + TextTaskDTO taskDTO = new TextTaskDTO(); + taskDTO.setContent(topicContent); + taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); + textScanParamDTO.getTasks().add(taskDTO); + Result textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + //更新话题状态block + TopicDraftEntity draftEntity = new TopicDraftEntity(); + draftEntity.setId(topic.getId()); + draftEntity.setDraftStatus(TopicConstant.BLOCK); + draftEntity.setDraftReason("内容审核失败"); + baseDao.updateById(draftEntity); + //话题操作记录 + TopicDraftOperationDTO operationDTO = new TopicDraftOperationDTO(); + operationDTO.setTopicDraftId(topic.getId()); + operationDTO.setOperateType(TopicConstant.BLOCK); + operationDTO.setCreatedBy(tokenDto.getUserId()); + topicDraftOperationService.save(operationDTO); + + log.error(String.format(TopicConstant.CREATE_TOPIC, topicContent)); + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); + } + } + } + //创建话题图片审核 + if (CollectionUtils.isNotEmpty(formDTO.getImageList())){ + ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); + formDTO.getImageList().forEach(url -> { + ImgTaskDTO task = new ImgTaskDTO(); + task.setDataId(UUID.randomUUID().toString().replace("-", "")); + task.setUrl(url); + imgScanParamDTO.getTasks().add(task); + }); + Result imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO); + if (!imgScanResult.success()){ + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!imgScanResult.getData().isAllPass()) { + //更新话题状态block + TopicDraftEntity draftEntity = new TopicDraftEntity(); + draftEntity.setId(topic.getId()); + draftEntity.setDraftStatus(TopicConstant.BLOCK); + draftEntity.setDraftReason("图片审核失败"); + baseDao.updateById(draftEntity); + //话题操作记录 + TopicDraftOperationDTO operationDTO = new TopicDraftOperationDTO(); + operationDTO.setTopicDraftId(topic.getId()); + operationDTO.setOperateType(TopicConstant.BLOCK); + operationDTO.setCreatedBy(tokenDto.getUserId()); + topicDraftOperationService.save(operationDTO); + throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode()); + } + } + } + + //TODO 创建话题语音审核 + if (CollectionUtils.isNotEmpty(formDTO.getVideoList())){ + ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); + formDTO.getVideoList().forEach(url -> { + ImgTaskDTO task = new ImgTaskDTO(); + task.setDataId(UUID.randomUUID().toString().replace("-", "")); + task.setUrl(url); + imgScanParamDTO.getTasks().add(task); + //TODO 根据返回值, + }); + } else { + //TODO 话题草稿状态为 auto_passed: 自动通过 + //更新话题状态block + TopicDraftEntity draftEntity = new TopicDraftEntity(); + draftEntity.setId(topic.getId()); + draftEntity.setDraftStatus(TopicConstant.AUTO_PASSED); + baseDao.updateById(draftEntity); + //话题操作记录 + TopicDraftOperationDTO operationDTO = new TopicDraftOperationDTO(); + operationDTO.setTopicDraftId(topic.getId()); + operationDTO.setOperateType(TopicConstant.AUTO_PASSED); + operationDTO.setCreatedBy(tokenDto.getUserId()); + topicDraftOperationService.save(operationDTO); + //3.保存话题 + saveTopic(tokenDto, formDTO, topic.getId()); + } + + } + + /** + * 组管理界面-待审核/已驳回列表 + * + * @param formDTO + * @return java.util.List + * @author zhaoqifeng + * @date 2020/12/18 14:34 + */ + @Override + public List auditList(TopicAuditFormDTO formDTO) { + List result; + + if (TopicConstant.REVIEW.equals(formDTO.getStatus())) { + result = baseDao.selectTopicDraftByGroup(formDTO.getGroupId(), formDTO.getStatus()); + } else { + result = baseDao.selectTopicDraftByGroup(formDTO.getGroupId(), formDTO.getStatus()); + } + result.forEach(item -> { + ResiGroupMemberInfoRedisDTO memberRedis = + resiGroupMemberRedis.get(formDTO.getGroupId(),item.getUserName()); + if(null != memberRedis && StringUtils.isNotBlank(memberRedis.getUserId())){ + item.setUserName(StringUtils.isBlank(memberRedis.getUserShowName()) ? "" : memberRedis.getUserShowName()); + } + }); + return result; + } + + /** + * 话题草稿详情 + * + * @param formDTO + * @return com.epmet.resi.group.dto.topic.result.DraftDetailResultDTO + * @author zhaoqifeng + * @date 2020/12/18 14:55 + */ + @Override + public DraftDetailResultDTO detail(DraftDetailFormDTO formDTO) { + TopicDraftEntity entity = baseDao.selectById(formDTO.getTopicDraftId()); + + if(null == entity){ + log.error(ModuleConstant.NO_SUCH_TOPIC); + throw new RenException(ModuleConstant.NO_SUCH_TOPIC); + } + DraftDetailResultDTO result = ConvertUtils.sourceToTarget(entity,DraftDetailResultDTO.class); + result.setTopicDraftId(formDTO.getTopicDraftId()); + result.setReleaseTime(new SimpleDateFormat(DateUtils.DATE_TIME_PATTERN_END_WITH_MINUTE).format(entity.getCreatedTime())); + result.setTopicContent(entity.getTopicContent()); + result.setReleaseAddress(entity.getAddress()); + //2.查询话题图片附件 + List imageUrls = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.IMAGE); + result.setImageList(imageUrls); + + //3.查询话题音频附件 + List voiceUrls = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.VOICE); + result.setVoiceList(voiceUrls); + + //3.拿取用户信息 + ResiGroupMemberInfoRedisDTO memberRedis = + resiGroupMemberRedis.get(entity.getGroupId(),entity.getCreatedBy()); + if(null != memberRedis && StringUtils.isNotBlank(memberRedis.getUserId())){ + result.setReleaseUserName(StringUtils.isBlank(memberRedis.getUserShowName()) ? "" : memberRedis.getUserShowName()); + result.setReleaseUserHeadPhoto(StringUtils.isBlank(memberRedis.getUserHeadPhoto()) ? "" : memberRedis.getUserHeadPhoto()); + } + + return result; + } + + /** + * 删除已驳回话题 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2020/12/18 14:58 + */ + @Override + public void deleteDraft(DraftDetailFormDTO formDTO) { + TopicDraftEntity entity = new TopicDraftEntity(); + entity.setId(formDTO.getTopicDraftId()); + entity.setIsSee(NumConstant.ONE_STR); + baseDao.updateById(entity); + } + + /** + * 组长审核 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2020/12/18 15:06 + */ + @Override + public void audit(AuditDraftTopicFormDTO formDTO) { + + } + + /** + * 保存话题 + * @author zhaoqifeng + * @date 2020/12/18 10:38 + * @param tokenDto + * @param formDTO + * @return void + */ + private void saveTopic(TokenDto tokenDto, CreateTopicFormDTO formDTO, String draftId) { + //1.身份校验,查看当前用户是否是组内成员,当前用户是否被禁言 + ResiGroupMemberDTO resiGroupMemberDTO = + resiGroupMemberService.getResiGroupMember(formDTO.getGroupId(),tokenDto.getUserId() ); + + Result result = verifySilentOrRemoved(resiGroupMemberDTO); + if(!result.success()){ + throw new RenException(result.getCode(), result.getMsg()); + } + + Date currentTime = new Date(); + //2.创建话题 + ResiTopicEntity topic = ConvertUtils.sourceToTarget(formDTO,ResiTopicEntity.class); + topic.setCreatedBy(tokenDto.getUserId()); + topic.setStatus(TopicConstant.PUBLISHMENT); + resiTopicDao.insertOne(topic); + if(StringUtils.isBlank(topic.getId())){ + //没有返回主键 + log.error(ModuleConstant.NO_PRIMARY_KEY_RETURNED); + throw new RenException(ModuleConstant.NO_PRIMARY_KEY_RETURNED); + } + if(CollectionUtils.isNotEmpty(formDTO.getImageList())){ + ResiTopicAttachmentEntity attachment = new ResiTopicAttachmentEntity(); + int sort = 0; + for(String url : formDTO.getImageList()){ + attachment.setAttachmentUrl(url); + attachment.setTopicId(topic.getId()); + attachment.setCreatedBy(tokenDto.getUserId()); + attachment.setAttachmentFormat(url.substring(url.lastIndexOf(".") + NumConstant.ONE).toLowerCase()); + attachment.setSort(sort++); + attachment.setAttachmentType("image"); + resiTopicAttachmentDao.insertOne(attachment); + } + } + + //3.话题操作记录 + ResiTopicOperationEntity operation = new ResiTopicOperationEntity(); + operation.setTopicId(topic.getId()); + operation.setOperationType(TopicConstant.PUBLISHMENT); + operation.setCreatedBy(tokenDto.getUserId()); + resiTopicOperationDao.insertOne(operation); + + //4.小组统计信息,话题数+1 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(FieldConstant.DEL_FLAG, NumConstant.ZERO_STR); + wrapper.eq(TopicConstant.RESI_GROUP_ID,formDTO.getGroupId()); + List statistical = resiGroupStatisticalDao.selectList(wrapper); + if(null != statistical && statistical.size() >= NumConstant.ONE){ + if(statistical.size() != NumConstant.ONE){ + log.error(ModuleConstant.GROUP_STASTICAL_NOT_SINGLE); + throw new RenException(ModuleConstant.GROUP_STASTICAL_NOT_SINGLE); + }else{ + ResiGroupStatisticalEntity statistical2Update = new ResiGroupStatisticalEntity(); + statistical2Update.setId(statistical.get(NumConstant.ZERO).getId()); + statistical2Update.setTotalTopics(null == statistical.get(NumConstant.ZERO).getTotalTopics() ? NumConstant.ONE : statistical.get(NumConstant.ZERO).getTotalTopics() + NumConstant.ONE); + statistical2Update.setUpdatedBy(tokenDto.getUserId()); + statistical2Update.setUpdatedTime(currentTime); + resiGroupStatisticalDao.updateById(statistical2Update); + } + }else{ + log.error(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO); + throw new RenException(ModuleConstant.NO_SUCH_GROUP_STASTICAL_INFO); + } + //5.更新群缓存信息,话题数量+1 + updCacheGroupStatisticalInfo(formDTO.getGroupId(),ModuleConstant.PLUS_OPERATION,NumConstant.ONE); + + //6.群组信息,更新latestTopicPublishDate字段 + ResiGroupEntity group2Update = new ResiGroupEntity(); + group2Update.setId(formDTO.getGroupId()); + group2Update.setLatestTopicPublishDate(currentTime); + resiGroupDao.updateById(group2Update); + + TopicDraftEntity draftEntity = new TopicDraftEntity(); + draftEntity.setId(draftId); + draftEntity.setTopicId(topic.getId()); + baseDao.updateById(draftEntity); + } + + + /** + * 查询当前组员在组内是否被禁言或已被移除 + * @Param resiGroupMemberDTO + * @return Result.class + * @Author zhaoqf + * @Date 2020.04.01 15:00 + **/ + private Result verifySilentOrRemoved(ResiGroupMemberDTO resiGroupMemberDTO){ + if(null != resiGroupMemberDTO){ + if(MemberStateConstant.SILENT.equals(resiGroupMemberDTO.getStatus())){ + //当前用户被禁言 + log.error(ModuleConstant.SLIENT_MEMBER); + throw new RenException(ModuleConstant.SLIENT_MEMBER); + }else if(MemberStateConstant.REMOVED.equals(resiGroupMemberDTO.getStatus())){ + //当前用户已被移出群 + log.error(ModuleConstant.REMOVED_MEMBER); + throw new RenException(ModuleConstant.REMOVED_MEMBER); + }else{ + return new Result(); + } + }else{ + //当前用户非组内成员 + log.error(ModuleConstant.NOT_BELONG_TO_CURRENT_GROUP); + throw new RenException(ModuleConstant.NOT_BELONG_TO_CURRENT_GROUP); + } + } + + /** + * 更新组统计缓存信息 + * @Param groupId + * @Param operation "+":plus "-":minus + * @return + * @Author zhaoqf + * @Date 2020.04.14 23:31 + **/ + private void updCacheGroupStatisticalInfo(String groupId,String operation,Integer quantity){ + + //ResiGroupRedis在get()时已经校验缓存中是否有数据,如果没有数据则从数据库中拉取并重新放入缓存 + ResiGroupInfoRedisDTO groupCache = + resiGroupRedis.get(groupId); + if(groupCache != null && StringUtils.isNotBlank(groupCache.getGroupId())){ + ResiGroupStatisticalInfoRedisDTO statisticalCache = groupCache.getGroupStatisticalInfo(); + if(null != statisticalCache){ + if(StringUtils.equals(ModuleConstant.PLUS_OPERATION,operation)){ + statisticalCache.setTotalTopics( + null == statisticalCache.getTotalTopics() ? quantity : statisticalCache.getTotalTopics() + quantity + ); + }else if(StringUtils.equals(ModuleConstant.MINUS_OPERATION,operation)){ + statisticalCache.setTotalTopics( + null == statisticalCache.getTotalTopics() ? quantity : statisticalCache.getTotalTopics() - quantity + ); + } + + groupCache.setGroupStatisticalInfo(statisticalCache); + }else{ + //没有相应的群组统计缓存信息 + } + resiGroupRedis.set(groupCache); + }else{ + //没有相应的群组缓存信息 + } + + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index 118ed1f5a7..bf0c3a741e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java @@ -368,4 +368,6 @@ public interface ModuleConstant extends Constant { * 群邀请二维码跳转页面 */ String CODE_INVITE_PAGE = "pages/group/group/invitation/invitation"; + + String TOPIC_CONTENT_AND_VOICE_IS_NULL = "请输入话题内容或语音"; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml index 717cff838d..68482e2f61 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/bootstrap.yml @@ -126,6 +126,8 @@ openapi: method: imgSyncScan: /imgSyncScan textSyncScan: /textSyncScan + voiceAsyncScan: /voiceAsyncScan + voiceResults: /voiceResults thread: # 线程池配置 diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml index 107d7bdee0..1f7154b80c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml @@ -4,5 +4,11 @@ - + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml index 96213c43aa..a956df46d7 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftDao.xml @@ -25,4 +25,24 @@ LIMIT #{pageNo}, #{pageSize} + + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftScanTaskDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftScanTaskDao.xml new file mode 100644 index 0000000000..1623b9f5a1 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftScanTaskDao.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 1534e421eae54e79c0e19198c70c2398099f7c29 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 18 Dec 2020 17:41:55 +0800 Subject: [PATCH 022/184] =?UTF-8?q?=E5=88=86=E4=BA=AB=E8=AE=AE=E9=A2=98id?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/constant/IssueShareConstant.java | 2 ++ .../com/epmet/dto/form/IssueVisitFormDTO.java | 24 +++++++++++++ .../epmet/dto/result/IssueVisitResultDTO.java | 34 +++++++++++++++++++ .../IssueShareLinkRecordController.java | 15 ++++++++ .../service/IssueShareLinkRecordService.java | 11 ++++++ .../impl/IssueShareLinkRecordServiceImpl.java | 30 ++++++++++++++++ .../impl/TopicShareLinkRecordServiceImpl.java | 1 - 7 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueVisitFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueVisitResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueShareConstant.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueShareConstant.java index dd99b8323e..620411cafd 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueShareConstant.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/constant/IssueShareConstant.java @@ -12,4 +12,6 @@ public interface IssueShareConstant { String TOPIC_BELONG_GROUP_NULL = "查询话题所属小组为空......"; + String NOT_EXIST_INVITE_ISSUE_RECORD = "未查询到该邀请记录【议题】......"; + } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueVisitFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueVisitFormDTO.java new file mode 100644 index 0000000000..853d3b5b03 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/IssueVisitFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午3:12 + */ +@Data +public class IssueVisitFormDTO implements Serializable { + + private static final long serialVersionUID = -7901684507046042401L; + + public interface IssueVisitForm{} + + /** + * 分享ID + */ + @NotBlank(message = "分享ID不能为空",groups = {IssueVisitForm.class}) + private String shareLinkId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueVisitResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueVisitResultDTO.java new file mode 100644 index 0000000000..864a155d11 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/IssueVisitResultDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dto.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/18 下午5:13 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class IssueVisitResultDTO implements Serializable { + + private static final long serialVersionUID = -5079228371448105954L; + + /** + * 议题ID + */ + private String issueId; + + /** + * 网格ID + */ + private String gridId; + + /** + * 客户ID + */ + private String customerId; +} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java index 32dfa167af..055333c0a5 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java @@ -28,7 +28,9 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IssueShareLinkRecordDTO; import com.epmet.dto.form.IssueCreateUrlFormDTO; +import com.epmet.dto.form.IssueVisitFormDTO; import com.epmet.dto.result.IssueCreateUrlResultDTO; +import com.epmet.dto.result.IssueVisitResultDTO; import com.epmet.service.IssueShareLinkRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -98,4 +100,17 @@ public class IssueShareLinkRecordController { return new Result().ok(issueShareLinkRecordService.getIssueShareLinkId(formDTO,tokenDto)); } + /** + * @Description 分享议题id获取信息 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/18 下午5:22 + */ + @PostMapping("visit") + public Result issueVisit(@RequestBody IssueVisitFormDTO formDTO,@LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, IssueVisitFormDTO.IssueVisitForm.class); + return new Result().ok(issueShareLinkRecordService.issueVisit(formDTO,tokenDto)); + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java index d24c2a2db1..cd3ff90811 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkRecordService.java @@ -22,7 +22,9 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IssueShareLinkRecordDTO; import com.epmet.dto.form.IssueCreateUrlFormDTO; +import com.epmet.dto.form.IssueVisitFormDTO; import com.epmet.dto.result.IssueCreateUrlResultDTO; +import com.epmet.dto.result.IssueVisitResultDTO; import com.epmet.entity.IssueShareLinkRecordEntity; import java.util.List; @@ -104,4 +106,13 @@ public interface IssueShareLinkRecordService extends BaseService page(Map params) { @@ -129,4 +136,27 @@ public class IssueShareLinkRecordServiceImpl extends BaseServiceImpl Date: Fri, 18 Dec 2020 18:20:41 +0800 Subject: [PATCH 023/184] =?UTF-8?q?=E5=9C=A8=E5=88=86=E4=BA=AB=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E6=B3=A8=E5=86=8C=E5=B1=85=E6=B0=91=E4=B9=8B=E5=90=8E?= =?UTF-8?q?=E8=A7=A6=E5=8F=91=E7=9A=84=E6=8E=A5=E5=8F=A3=EF=BC=9A=E5=8F=91?= =?UTF-8?q?=E6=94=BE=E7=A7=AF=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/enums/EventEnum.java | 1 + .../form/SharableIssueAndInviteeFormDTO.java | 29 ++++++++++ .../epmet/feign/GovIssueOpenFeignClient.java | 14 +++++ .../GovIssueOpenFeignClientFallBack.java | 5 ++ .../IssueShareLinkVisitRecordController.java | 18 +++++++ .../dao/IssueShareLinkVisitRecordDao.java | 22 +++++++- .../IssueShareLinkVisitRecordService.java | 11 +++- .../IssueShareLinkVisitRecordServiceImpl.java | 15 ++++++ .../mapper/IssueShareLinkVisitRecordDao.xml | 26 +++++++++ .../form/SharableTopicAndInviteeFormDTO.java | 27 ++++++++++ .../group/feign/ResiGroupOpenFeignClient.java | 14 +++++ .../ResiGroupOpenFeignClientFallback.java | 5 ++ .../TopicShareLinkVisitRecordController.java | 16 ++++++ .../dao/TopicShareLinkVisitRecordDao.java | 22 +++++++- .../TopicShareLinkVisitRecordService.java | 10 ++++ .../TopicShareLinkVisitRecordServiceImpl.java | 15 ++++++ .../topic/TopicShareLinkVisitRecordDao.xml | 26 +++++++++ ...RegisterResidentInSharableLinkFormDTO.java | 35 ++++++++++++ epmet-user/epmet-user-server/pom.xml | 12 +++++ .../controller/UserResiInfoController.java | 11 ++++ .../java/com/epmet/dao/UserCustomerDao.java | 9 ++++ .../epmet/service/UserResiInfoService.java | 12 +++++ .../service/impl/UserResiInfoServiceImpl.java | 54 +++++++++++++++++++ .../java/com/epmet/util/ModuleConstant.java | 8 +++ .../main/resources/mapper/UserCustomerDao.xml | 4 ++ 25 files changed, 418 insertions(+), 3 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/SharableIssueAndInviteeFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/SharableTopicAndInviteeFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AfterRegisterResidentInSharableLinkFormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java index 68347c29f9..e37d7fe13d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java @@ -10,6 +10,7 @@ public enum EventEnum { ACTIVE_SEND_POINT("active_send_point", "epmet_heart", "活动发放积分"), REGISTER_VOLUNTEER("register_volunteer", "epmet_heart", "认证志愿者"), ACTIVE_INSERT_LIVE("active_insert_live", "epmet_heart", "添加活动实况"), + PULL_NEW_RESIDENT("pull_new_resident","epmet_user","拉新用户") ; private String eventClass; diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/SharableIssueAndInviteeFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/SharableIssueAndInviteeFormDTO.java new file mode 100644 index 0000000000..9b1180cd61 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/SharableIssueAndInviteeFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 议题分享链接和被邀请人传参DTO + * @ClassName SharableIssueAndInviteeFormDTO + * @Auth wangc + * @Date 2020-12-18 15:10 + */ +@Data +public class SharableIssueAndInviteeFormDTO implements Serializable { + private static final long serialVersionUID = -2777459178190245842L; + + /** + * 议题分享链接 + */ + @NotBlank(message = "分享链接不能为空") + private String shareLinkId; + + /** + * 通过链接进入议题页面用户的Id + */ + @NotBlank(message = "用户Id不能为空") + private String inviteeId; +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index a974ae1109..e5e68c8599 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -209,4 +209,18 @@ public interface GovIssueOpenFeignClient { **/ @PostMapping(value = "/gov/issue/issueapplication/queryuserpubauditingissues") Result> queryUserPubAuditingIssues(@RequestBody UserPubAuditingIssueFormDTO fomrDTO); + + /** + * @Description 检查邀请关系,如果确实存在邀请关系则返回邀请人Id + * 符合条件: + * ① 链接Id对应 + * ② 邀请人Id对应 + * ③ 邀请人在被邀请时的状态为陌生人 + * @param param + * @return com.epmet.commons.tools.utils.Result + * @author wangc + * @date 2020.12.18 14:53 + */ + @PostMapping("/gov/issue/issuesharelinkvisitrecord/checkinviterelationship") + Result checkInviteRelationship(@RequestBody SharableIssueAndInviteeFormDTO param); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index ea59c6d349..fe2142169e 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -193,4 +193,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result> queryUserPubAuditingIssues(UserPubAuditingIssueFormDTO fomrDTO) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "queryUserPubAuditingIssues", fomrDTO); } + + @Override + public Result checkInviteRelationship(SharableIssueAndInviteeFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "checkInviteRelationship", param); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java index cc84275f9a..db2ea0182e 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java @@ -8,6 +8,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IssueShareLinkVisitRecordDTO; +import com.epmet.dto.form.SharableIssueAndInviteeFormDTO; import com.epmet.service.IssueShareLinkVisitRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -64,4 +65,21 @@ public class IssueShareLinkVisitRecordController { return new Result(); } + + /** + * @Description 检查邀请关系,如果确实存在邀请关系则返回邀请人Id + * 符合条件: + * ① 链接Id对应 + * ② 邀请人Id对应 + * ③ 邀请人在被邀请时的状态为陌生人 + * @param param + * @return com.epmet.commons.tools.utils.Result + * @author wangc + * @date 2020.12.18 14:53 + */ + @PostMapping("checkinviterelationship") + public Result checkInviteRelationship(@RequestBody SharableIssueAndInviteeFormDTO param){ + ValidatorUtils.validateEntity(param); + return new Result().ok(issueShareLinkVisitRecordService.checkInviteRelationship(param)); + } } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java index 13eafce89f..c477de46bf 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.IssueShareLinkVisitRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 议题分享链接访问记录表 @@ -29,5 +30,24 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueShareLinkVisitRecordDao extends BaseDao { - + + /** + * @Description 根据邀请Id和邀请人Id查询邀请人的Id + * @param linkId + * @param invitee + * @return java.lang.String + * @author wangc + * @date 2020.12.18 15:50 + */ + String selectInviterIdByLinkIdAndInvitee(@Param("linkId") String linkId, @Param("invitee") String invitee); + + /** + * @Description 修改是否通过链接注册居民由0改为1 + * @param linkId + * @param invitee + * @return int + * @author wangc + * @date 2020.12.18 15:50 + */ + int updateInviteRegister(@Param("linkId") String linkId, @Param("invitee") String invitee); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java index 1f7ec69f77..9a77c61d18 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java @@ -20,8 +20,8 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IssueShareLinkVisitRecordDTO; +import com.epmet.dto.form.SharableIssueAndInviteeFormDTO; import com.epmet.entity.IssueShareLinkVisitRecordEntity; - import java.util.List; import java.util.Map; @@ -92,4 +92,13 @@ public interface IssueShareLinkVisitRecordService extends BaseService + + + UPDATE + issue_share_link_visit_record + SET + is_invite_register = '1' + WHERE + del_flag = '0' + AND + share_link_rec_id = #{linkId} + AND + invitee_user_id = #{invitee} + \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/SharableTopicAndInviteeFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/SharableTopicAndInviteeFormDTO.java new file mode 100644 index 0000000000..18d54716e0 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/form/SharableTopicAndInviteeFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.resi.group.dto.topic.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 话题分享链接和被邀请人入参Dto + * @ClassName SharableTopicAndInviteeFormDTO + * @Auth wangc + * @Date 2020-12-18 13:43 + */ +@Data +public class SharableTopicAndInviteeFormDTO implements Serializable { + + private static final long serialVersionUID = 4943940805360726855L; + + /** + * 话题分享链接 + */ + private String shareLinkId; + + /** + * 通过链接进入话题页面用户的Id + */ + private String inviteeId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index 86b43f05ee..81ebebf97f 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -149,4 +149,18 @@ public interface ResiGroupOpenFeignClient { */ @PostMapping("resi/group/topicsharelink/topicbelonggroup") Result selectTopicBelongGroup(@RequestBody TopicBelongGroupFormDTO formDTO); + + /** + * @Description 检查邀请关系,如果确实存在邀请关系则返回邀请人Id + * 符合条件: + * ① 链接Id对应 + * ② 邀请人Id对应 + * ③ 邀请人在被邀请时的状态为陌生人 + * @param param + * @return com.epmet.commons.tools.utils.Result + * @author wangc + * @date 2020.12.18 14:53 + */ + @PostMapping("resi/group/topicsharelinkvisitrecord/checkinviterelationship") + Result checkInviteRelationship(@RequestBody SharableTopicAndInviteeFormDTO param); } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index f445881445..17e89e25fa 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -105,4 +105,9 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien public Result selectTopicBelongGroup(TopicBelongGroupFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectTopicBelongGroup",formDTO); } + + @Override + public Result checkInviteRelationship(SharableTopicAndInviteeFormDTO param) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectTopicBelongGroup",param); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java index 2c482fb303..97e2f8d7ac 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java @@ -9,6 +9,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.modules.topic.service.TopicShareLinkVisitRecordService; import com.epmet.resi.group.dto.topic.TopicShareLinkVisitRecordDTO; +import com.epmet.resi.group.dto.topic.form.SharableTopicAndInviteeFormDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -64,4 +65,19 @@ public class TopicShareLinkVisitRecordController { return new Result(); } + /** + * @Description 检查邀请关系,如果确实存在邀请关系则返回邀请人Id + * 符合条件: + * ① 链接Id对应 + * ② 邀请人Id对应 + * ③ 邀请人在被邀请时的状态为陌生人 + * @param param + * @return com.epmet.commons.tools.utils.Result + * @author wangc + * @date 2020.12.18 14:53 + */ + @PostMapping("checkinviterelationship") + public Result checkInviteRelationship(@RequestBody SharableTopicAndInviteeFormDTO param){ + return new Result().ok(topicShareLinkVisitRecordService.checkInviteRelationship(param)); + } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java index 03157f911d..9ffe5d9723 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java @@ -3,6 +3,7 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 话题分享链接访问记录表 @@ -12,5 +13,24 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface TopicShareLinkVisitRecordDao extends BaseDao { - + + /** + * @Description 根据邀请Id和邀请人Id查询邀请人的Id + * @param linkId + * @param invitee + * @return String + * @author wangc + * @date 2020.12.18 14:00 + */ + String selectByLinkIdAndInvitee(@Param("linkId") String linkId, @Param("invitee") String invitee); + + /** + * @Description 修改是否通过链接注册居民由0改为1 + * @param linkId + * @param invitee + * @return int + * @author wangc + * @date 2020.12.18 15:46 + */ + int updateInviteRegister(@Param("linkId") String linkId, @Param("invitee") String invitee); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java index e09b2e3605..c8dcf98114 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicShareLinkVisitRecordService.java @@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity; import com.epmet.resi.group.dto.topic.TopicShareLinkVisitRecordDTO; +import com.epmet.resi.group.dto.topic.form.SharableTopicAndInviteeFormDTO; import java.util.List; import java.util.Map; @@ -75,4 +76,13 @@ public interface TopicShareLinkVisitRecordService extends BaseService + + + UPDATE + topic_share_link_visit_record + SET + is_invite_register = '1' + WHERE + del_flag = '0' + AND + share_link_rec_id = #{linkId} + AND + invitee_user_id = #{invitee} + \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AfterRegisterResidentInSharableLinkFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AfterRegisterResidentInSharableLinkFormDTO.java new file mode 100644 index 0000000000..24c5735440 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/AfterRegisterResidentInSharableLinkFormDTO.java @@ -0,0 +1,35 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 在链接中完成了注册居民之后的入参DTO 主要是为了给邀请人发送积分事件,并更改邀请关系中的"是否通过邀请注册的居民"标识 + * @ClassName AfterRegisterResidentInSharableLinkFormDTO + * @Auth wangc + * @Date 2020-12-18 16:25 + */ +@Data +public class AfterRegisterResidentInSharableLinkFormDTO implements Serializable { + private static final long serialVersionUID = 6921156923900693361L; + + /** + * 分享链接 + */ + @NotBlank(message = "链接Id不能为空") + private String shareLinkId; + + /** + * 链接类型 issue议题 topic话题 + */ + @NotBlank(message = "链接类型不能为空") + private String linkType; + + /** + * 受邀人Id + */ + @NotBlank(message = "用户Id不能为空") + private String inviteeId; +} diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 57707aec01..223a33fd4c 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -100,6 +100,18 @@ 2.0.0 compile + + com.epmet + resi-group-client + 2.0.0 + compile + + + com.epmet + gov-issue-client + 2.0.0 + compile + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java index 604c8ac22b..e4f54f6aa7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserResiInfoController.java @@ -17,7 +17,9 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; @@ -31,6 +33,7 @@ import com.epmet.dto.result.IssueInitiatorResultDTO; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.excel.UserResiInfoExcel; import com.epmet.service.UserResiInfoService; +import jdk.nashorn.internal.parser.Token; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -198,4 +201,12 @@ public class UserResiInfoController { userResiInfoService.editMobile(formDTO); return new Result(); } + + @PostMapping("submitinlink") + public Result submitInLink(@RequestBody AfterRegisterResidentInSharableLinkFormDTO param, @LoginUser TokenDto token){ + param.setInviteeId(token.getUserId()); + ValidatorUtils.validateEntity(param); + userResiInfoService.submitInLink(param); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserCustomerDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserCustomerDao.java index 04473a7b88..5eed213440 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserCustomerDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserCustomerDao.java @@ -22,4 +22,13 @@ public interface UserCustomerDao extends BaseDao { * @return */ int updateRegistered(@Param("customerId") String customerId, @Param("userId") String userId); + + /** + * @Description 根据用户Id查询用户-客户关系 + * @param userId + * @return com.epmet.entity.UserCustomerEntity + * @author wangc + * @date 2020.12.18 18:05 + */ + UserCustomerEntity selectByUserId(@Param("userId") String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java index f0281dae5c..273accf305 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java @@ -175,4 +175,16 @@ public interface UserResiInfoService extends BaseService { * @return void */ void editMobile(EditMobileFormDTO formDTO); + + /** + * @Description 在分享链接之后完成注册居民之后调用的接口 + * 作用 + * ①给邀请人加积分 + * ②更改邀请浏览记录里"是否通过邀请链接注册居民" + * @param param + * @return void + * @author wangc + * @date 2020.12.18 16:34 + */ + void submitInLink(AfterRegisterResidentInSharableLinkFormDTO param); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java index e8efe9816d..6b3d31b337 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java @@ -24,12 +24,17 @@ import com.epmet.common.token.util.UserUtil; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.EpmetRoleKeyConstant; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.MqConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; +import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; +import com.epmet.commons.tools.enums.EventEnum; 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.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.constant.SmsTemplateConstant; import com.epmet.constant.UserRoleConstant; import com.epmet.dao.UserCustomerDao; @@ -46,8 +51,12 @@ import com.epmet.entity.UserBaseInfoEntity; import com.epmet.entity.UserResiInfoEntity; import com.epmet.entity.UserWechatEntity; import com.epmet.feign.EpmetMessageOpenFeignClient; +import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.redis.UserResiInfoRedis; +import com.epmet.resi.group.dto.topic.form.SharableTopicAndInviteeFormDTO; +import com.epmet.resi.group.feign.ResiGroupOpenFeignClient; import com.epmet.service.*; +import com.epmet.util.ModuleConstant; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -88,6 +97,10 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl page(Map params) { @@ -396,4 +409,45 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl response; + + if(StringUtils.equals(ModuleConstant.SHARABLE_LINK_FROM_ISSUE,param.getLinkType())) + response = govIssueClient.checkInviteRelationship(ConvertUtils.sourceToTarget(param,SharableIssueAndInviteeFormDTO.class)); + else + response = resiGroupClient.checkInviteRelationship(ConvertUtils.sourceToTarget(param, SharableTopicAndInviteeFormDTO.class)); + + if(null == response || !response.success() || StringUtils.isBlank(response.getData())){ + //mq的事件类型 + MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); + //事件code + mqBaseMsgDTO.setEventTag(EventEnum.PULL_NEW_RESIDENT.getEventTag()); + List pointEventMsgList = new ArrayList<>(); + BasePointEventMsg pointEventMsg = new BasePointEventMsg(); + pointEventMsg.setCustomerId(userCustomerDao.selectByUserId(response.getData()).getCustomerId()); + pointEventMsg.setUserId(response.getData()); + pointEventMsg.setActionFlag(MqConstant.PLUS); + pointEventMsg.setIsCommon(false); + pointEventMsgList.add(pointEventMsg); + + mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); + Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + if(!result.success()){ + log.error("拉新用户事件发送失败"); + } + } + + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java index 706716aff6..f9890ec52b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/util/ModuleConstant.java @@ -46,4 +46,12 @@ public interface ModuleConstant { String BADGE_AUDIT_MESSAGE = "徽章审核消息"; + /** + * 链接类型- 话题 + */ + String SHARABLE_LINK_FROM_TOPIC = "topic"; + /** + * 链接类型- 议题 + */ + String SHARABLE_LINK_FROM_ISSUE = "issue"; } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserCustomerDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserCustomerDao.xml index 60348584a3..930f14ca25 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserCustomerDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserCustomerDao.xml @@ -7,4 +7,8 @@ update user_customer set IS_REGISTER = 1 where CUSTOMER_ID = #{customerId,jdbcType=VARCHAR} and USER_ID = #{userId,jdbcType=VARCHAR} + + \ No newline at end of file From c5030a03b9b3d3436ebcf5a519f6225773e79c2f Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 21 Dec 2020 10:30:44 +0800 Subject: [PATCH 024/184] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E8=8D=89=E7=A8=BF?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=A1=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.10__createDraft.sql | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.10__createDraft.sql diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.10__createDraft.sql b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.10__createDraft.sql new file mode 100644 index 0000000000..fb1b48fa46 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.10__createDraft.sql @@ -0,0 +1,76 @@ +CREATE TABLE `topic_draft` ( + `ID` varchar(64) NOT NULL COMMENT '话题草稿id', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id', + `GRID_ID` varchar(64) NOT NULL COMMENT '网格ID', + `GROUP_ID` varchar(64) NOT NULL COMMENT '小组Id', + `TOPIC_CONTENT` varchar(3000) DEFAULT NULL COMMENT '话题内容', + `DRAFT_STATUS` varchar(32) NOT NULL COMMENT '话题草稿状态(审核中:auditing; \r\nauto_passed: 自动通过;\r\nreview:结果不确定,需要人工审核;\r\nblock: 结果违规;\r\nrejected:人工审核驳回;\r\napproved:人工审核通过)', + `DRAFT_REASON` varchar(128) DEFAULT NULL COMMENT '草稿审核理由', + `PROVINCE` varchar(32) DEFAULT NULL COMMENT '省', + `CITY` varchar(32) DEFAULT NULL COMMENT '市', + `AREA` varchar(32) DEFAULT NULL COMMENT '区 ', + `ADDRESS` varchar(255) NOT NULL COMMENT '地址', + `LONGITUDE` varchar(32) DEFAULT NULL COMMENT '经度', + `DIMENSION` varchar(32) DEFAULT NULL COMMENT '维度', + `TOPIC_ID` varchar(64) DEFAULT NULL COMMENT '发布成功后的话题id', + `IS_SEE` varchar(1) NOT NULL COMMENT '创建者是否可见(0是 1否)', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '话题发布人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='话题草稿内容表'; + +CREATE TABLE `topic_draft_attachment` ( + `ID` varchar(64) NOT NULL COMMENT '附件id', + `TOPIC_DRAFT_ID` varchar(64) NOT NULL COMMENT '话题草稿id', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id', + `ATTACHMENT_NAME` varchar(64) DEFAULT NULL COMMENT '附件名(uuid随机生成)', + `ATTACHMENT_FORMAT` varchar(64) DEFAULT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)', + `ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、视频 - video、 语音 - voice、 文档 - doc))', + `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址url', + `SORT` int(1) NOT NULL COMMENT '排序字段(按附件类型分组排序)', + `STATUS` varchar(32) NOT NULL COMMENT '附件状态(审核中:auditing; \r\nauto_passed: 自动通过;\r\nreview:结果不确定,需要人工审核;\r\nblock: 结果违规;\r\nrejected:人工审核驳回;\r\napproved:人工审核通过)\r\n现在图片是同步审核的,所以图片只有auto_passed一种状态', + `DURATION` int(11) DEFAULT NULL COMMENT '语音或视频时长,秒', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='话题草稿附件表'; + +CREATE TABLE `topic_draft_operation` ( + `ID` varchar(64) NOT NULL COMMENT '话题草稿操作日志id', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id', + `TOPIC_DRAFT_ID` varchar(64) NOT NULL COMMENT '话题草稿id', + `OPERATE_TYPE` varchar(64) NOT NULL COMMENT '操作类型:submit:提交发布;\r\nauto_passed: 自动审核-通过;\r\nreview:自动审核-结果不确定,需要人工审核;\r\nblock: 自动审核-结果违规;\r\nrejected:人工审核驳回;\r\napproved:人工审核通过', + `REMARK` varchar(255) DEFAULT NULL COMMENT '操作时的备注,比如驳回理由', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '操作人,API审核结果,存储为SCAN_USER或者APP_USER', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='话题草稿操作日志表'; + +CREATE TABLE `topic_draft_scan_task` ( + `ID` varchar(64) NOT NULL COMMENT '主键', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id', + `TOPIC_DRAFT_ID` varchar(64) NOT NULL COMMENT '话题草稿Id', + `TOPIC_DRAFT_ATTACHMENT_ID` varchar(64) NOT NULL COMMENT '话题草稿附件表Id,对应dataId', + `TASK_ID` varchar(64) NOT NULL COMMENT '阿里云审核任务Id', + `STATUS` varchar(32) NOT NULL COMMENT '审核状态【auditing: 审核中;\r\nauto_passed: 自动通过;\r\nreview:结果不确定,需要人工审核;\r\nblock: 结果违规;】', + `ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型(视频 - video、 语音 - voice)', + `DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(64) NOT NULL COMMENT '操作人,API审核结果,存储为SCAN_USER或者APP_USER', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(64) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='话题附件检测任务表'; \ No newline at end of file From db885da7c8c38dc7be82da85822cfed16203230b Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 21 Dec 2020 10:37:09 +0800 Subject: [PATCH 025/184] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AE=AE=E9=A2=98?= =?UTF-8?q?=E5=88=86=E4=BA=ABID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/dto/topic/result/TopicBelongGroupResultDTO.java | 2 ++ .../topic/service/impl/TopicShareLinkRecordServiceImpl.java | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicBelongGroupResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicBelongGroupResultDTO.java index 8151ec6a84..275813b5c6 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicBelongGroupResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/TopicBelongGroupResultDTO.java @@ -2,6 +2,7 @@ package com.epmet.resi.group.dto.topic.result; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.io.Serializable; @@ -11,6 +12,7 @@ import java.io.Serializable; */ @Data @AllArgsConstructor +@NoArgsConstructor public class TopicBelongGroupResultDTO implements Serializable { private static final long serialVersionUID = 8180287697221964032L; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java index 6504c25a56..b0a65886fb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java @@ -142,7 +142,9 @@ public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl Date: Mon, 21 Dec 2020 10:43:56 +0800 Subject: [PATCH 026/184] =?UTF-8?q?=E5=88=86=E4=BA=AB=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E8=84=9A=E6=9C=AC=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.7__issue_share.sql | 39 ++++++++++++++++++ .../db/migration/V0.0.11__topicShare.sql | 40 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.7__issue_share.sql create mode 100644 epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.11__topicShare.sql diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.7__issue_share.sql b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.7__issue_share.sql new file mode 100644 index 0000000000..f99b63c830 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/db/migration/V0.0.7__issue_share.sql @@ -0,0 +1,39 @@ +DROP TABLE IF EXISTS `issue_share_link_record`; +CREATE TABLE `issue_share_link_record` +( + `ID` varchar(64) NOT NULL, + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `GRID_ID` varchar(64) NOT NULL COMMENT '议题所属网格ID', + `ISSUE_ID` varchar(64) NOT NULL COMMENT '议题ID', + `SHARE_USER_ID` varchar(64) NOT NULL COMMENT '分享人(当前用户id)', + `INVITE_CONTENT` varchar(255) DEFAULT NULL COMMENT '邀请内容', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除状态 0:正常,1:删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='议题分享链接表'; + +#================================================================================= + +DROP TABLE IF EXISTS `issue_share_link_visit_record`; +CREATE TABLE `issue_share_link_visit_record` +( + `ID` varchar(64) NOT NULL, + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `SHARE_USER_ID` varchar(64) NOT NULL COMMENT '分享人【邀请人】ID', + `INVITEE_USER_ID` varchar(64) NOT NULL COMMENT '被邀请人ID', + `SHARE_LINK_REC_ID` varchar(64) NOT NULL COMMENT '议题分享链接表.id', + `IS_INVITE_REGISTER` int(11) NOT NULL COMMENT '是否邀请注册:0:是,1:不是', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除状态,0:正常,1:删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='议题分享链接访问记录表 '; \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.11__topicShare.sql b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.11__topicShare.sql new file mode 100644 index 0000000000..7fef4d7c45 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/db/migration/V0.0.11__topicShare.sql @@ -0,0 +1,40 @@ +DROP TABLE IF EXISTS `topic_share_link_record`; +CREATE TABLE `topic_share_link_record` +( + `ID` varchar(64) NOT NULL COMMENT '邀请ID', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `GRID_ID` varchar(64) NOT NULL COMMENT '话题所属网格ID', + `GROUP_ID` varchar(64) NOT NULL COMMENT '小组ID', + `TOPIC_ID` varchar(64) NOT NULL COMMENT '话题ID', + `SHARE_USER_ID` varchar(64) NOT NULL COMMENT '分享人ID(当前登录用户)', + `INVITE_CONTENT` varchar(255) DEFAULT NULL COMMENT '邀请内容', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除状态 0:正常,1:删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='话题分享链接表'; + +#================================================================================= + +DROP TABLE IF EXISTS `topic_share_link_visit_record`; +CREATE TABLE `topic_share_link_visit_record` +( + `ID` varchar(64) NOT NULL, + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `SHARE_USER_ID` varchar(64) NOT NULL COMMENT '分享人【邀请人】ID', + `INVITEE_USER_ID` varchar(64) NOT NULL COMMENT '被邀请人ID', + `SHARE_LINK_REC_ID` varchar(64) NOT NULL COMMENT '话题分享链接表id', + `IS_INVITE_REGISTER` int(11) NOT NULL COMMENT '是否邀请注册:0:是,1:不是;\n默认为1,完成注册后,回填此字段', + `DEL_FLAG` int(11) NOT NULL COMMENT '删除状态,0:正常,1:删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE = InnoDB + DEFAULT CHARSET = utf8mb4 COMMENT ='话题分享链接访问记录表'; \ No newline at end of file From 2cdc25e2ad5245a6b180a6506edd151c9ad62276 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 21 Dec 2020 14:11:34 +0800 Subject: [PATCH 027/184] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TopicShareLinkRecordServiceImpl.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java index b0a65886fb..9d88bc7896 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkRecordServiceImpl.java @@ -115,6 +115,7 @@ public class TopicShareLinkRecordServiceImpl extends BaseServiceImpl NumConstant.ZERO){ result.setAwaitAudit(false); result.setInGroup(true); }else { result.setInGroup(false); + // 查询是否存在入组审核记录 Integer awaitAudit = groupMemeberOperationDao.checkAwaitAudit(tokenDto.getUserId(), result.getGroupId()); result.setAwaitAudit(awaitAudit > NumConstant.ZERO ? true : false); } From bb045d1d3818ef045df7021315ecc1f138c00ebc Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 21 Dec 2020 14:21:57 +0800 Subject: [PATCH 028/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/IssueShareLinkRecordServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkRecordServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkRecordServiceImpl.java index e6dc8502f5..f0880749fb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkRecordServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkRecordServiceImpl.java @@ -113,12 +113,14 @@ public class IssueShareLinkRecordServiceImpl extends BaseServiceImpl topicInfo = resiGroupOpenFeignClient.selectTopicBelongGroup(topicBelongGroupFormDTO); if (!topicInfo.success()){ throw new RenException(IssueShareConstant.TOPIC_BELONG_GROUP_FAILURE); @@ -132,6 +134,7 @@ public class IssueShareLinkRecordServiceImpl extends BaseServiceImpl Date: Mon, 21 Dec 2020 15:01:09 +0800 Subject: [PATCH 029/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E9=99=84=E4=BB=B6=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/ProjectProcessAttachmentDTO.java | 136 ++++++++++++++++++ .../epmet/dto/ProjectProcessScanTaskDTO.java | 104 ++++++++++++++ .../ProjectProcessAttachmentController.java | 94 ++++++++++++ .../ProjectProcessScanTaskController.java | 94 ++++++++++++ .../dao/ProjectProcessAttachmentDao.java | 33 +++++ .../epmet/dao/ProjectProcessScanTaskDao.java | 33 +++++ .../ProjectProcessAttachmentEntity.java | 106 ++++++++++++++ .../entity/ProjectProcessScanTaskEntity.java | 79 ++++++++++ .../excel/ProjectProcessAttachmentExcel.java | 95 ++++++++++++ .../excel/ProjectProcessScanTaskExcel.java | 75 ++++++++++ .../redis/ProjectProcessAttachmentRedis.java | 47 ++++++ .../redis/ProjectProcessScanTaskRedis.java | 47 ++++++ .../ProjectProcessAttachmentService.java | 95 ++++++++++++ .../ProjectProcessScanTaskService.java | 95 ++++++++++++ .../ProjectProcessAttachmentServiceImpl.java | 104 ++++++++++++++ .../ProjectProcessScanTaskServiceImpl.java | 104 ++++++++++++++ .../mapper/ProjectProcessAttachmentDao.xml | 7 + .../mapper/ProjectProcessScanTaskDao.xml | 8 ++ 18 files changed, 1356 insertions(+) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessScanTaskDTO.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessAttachmentController.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessScanTaskController.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessAttachmentDao.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessScanTaskDao.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessScanTaskEntity.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessScanTaskExcel.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectProcessAttachmentRedis.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectProcessScanTaskRedis.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessAttachmentService.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessScanTaskService.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessAttachmentServiceImpl.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessScanTaskServiceImpl.java create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessScanTaskDao.xml diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java new file mode 100644 index 0000000000..e149c211ca --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java @@ -0,0 +1,136 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目节点附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Data +public class ProjectProcessAttachmentDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 项目ID + */ + private String projectId; + + /** + * 项目进展表ID + */ + private String processId; + + /** + * 文件所属内容(内部备注: public 公开答复:internal) + */ + private String filePlace; + + /** + * 文件名 + */ + private String fileName; + + /** + * 附件名(uuid随机生成) + */ + private String attachmentName; + + /** + * 文件大小 + */ + private Integer attachmentSize; + + /** + * 文件格式(JPG、PNG、JPEG、BMP、GIF、PDF、PPT、PPTX、DOC、DOCX、XLS、XLSX、MP3、WMA、M4A、MP4、AVI、MOV、RMVB、RM、WMV) + */ + private String attachmentFormat; + + /** + * 文件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * url地址 + */ + private String attachmentUrl; + + /** + * 排序(按文件所属节点的所属位置分组,在按文件类型排序) + */ + private Integer sort; + + /** + * 语音或视频时长,秒 + */ + private Integer duration; + + /** + * 是否强制发布(0:否 1:是) + */ + private Integer isRelease; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessScanTaskDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessScanTaskDTO.java new file mode 100644 index 0000000000..2a62f79281 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessScanTaskDTO.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 项目节点附件安全校验任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Data +public class ProjectProcessScanTaskDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 唯一标识 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 项目ID + */ + private String projectId; + + /** + * 项目进展表(project_process)ID + */ + private String processId; + + /** + * 项目附件表主键,对应dataId + */ + private String projectProcessAttachmentId; + + /** + * 阿里云审核任务Id + */ + private String taskId; + + /** + * 审核状态【auditing: 审核中; +auto_passed: 自动通过; +review:结果不确定,需要人工审核; +block: 结果违规;】 + */ + private String status; + + /** + * 附件类型(视频 - video、 语音 - voice 文件 - doc) + */ + private String attachmentType; + + /** + * 删除标识:0.未删除 1.已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessAttachmentController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessAttachmentController.java new file mode 100644 index 0000000000..e2552ca57c --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessAttachmentController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.ProjectProcessAttachmentDTO; +import com.epmet.excel.ProjectProcessAttachmentExcel; +import com.epmet.service.ProjectProcessAttachmentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 项目节点附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@RestController +@RequestMapping("projectprocessattachment") +public class ProjectProcessAttachmentController { + + @Autowired + private ProjectProcessAttachmentService projectProcessAttachmentService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = projectProcessAttachmentService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + ProjectProcessAttachmentDTO data = projectProcessAttachmentService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody ProjectProcessAttachmentDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + projectProcessAttachmentService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody ProjectProcessAttachmentDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + projectProcessAttachmentService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + projectProcessAttachmentService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = projectProcessAttachmentService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, ProjectProcessAttachmentExcel.class); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessScanTaskController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessScanTaskController.java new file mode 100644 index 0000000000..2080c6c9bc --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectProcessScanTaskController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.controller; + +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ExcelUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.dto.ProjectProcessScanTaskDTO; +import com.epmet.excel.ProjectProcessScanTaskExcel; +import com.epmet.service.ProjectProcessScanTaskService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 项目节点附件安全校验任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@RestController +@RequestMapping("projectprocessscantask") +public class ProjectProcessScanTaskController { + + @Autowired + private ProjectProcessScanTaskService projectProcessScanTaskService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = projectProcessScanTaskService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + ProjectProcessScanTaskDTO data = projectProcessScanTaskService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody ProjectProcessScanTaskDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + projectProcessScanTaskService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody ProjectProcessScanTaskDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + projectProcessScanTaskService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + projectProcessScanTaskService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = projectProcessScanTaskService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, ProjectProcessScanTaskExcel.class); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessAttachmentDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessAttachmentDao.java new file mode 100644 index 0000000000..afe77492a6 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessAttachmentDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.ProjectProcessAttachmentEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 项目节点附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Mapper +public interface ProjectProcessAttachmentDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessScanTaskDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessScanTaskDao.java new file mode 100644 index 0000000000..ccd1e96503 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessScanTaskDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.ProjectProcessScanTaskEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 项目节点附件安全校验任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Mapper +public interface ProjectProcessScanTaskDao extends BaseDao { + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java new file mode 100644 index 0000000000..aa82b11777 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java @@ -0,0 +1,106 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目节点附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("project_process_attachment") +public class ProjectProcessAttachmentEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 项目ID + */ + private String projectId; + + /** + * 项目进展表ID + */ + private String processId; + + /** + * 文件所属内容(内部备注: public 公开答复:internal) + */ + private String filePlace; + + /** + * 文件名 + */ + private String fileName; + + /** + * 附件名(uuid随机生成) + */ + private String attachmentName; + + /** + * 文件大小 + */ + private Integer attachmentSize; + + /** + * 文件格式(JPG、PNG、JPEG、BMP、GIF、PDF、PPT、PPTX、DOC、DOCX、XLS、XLSX、MP3、WMA、M4A、MP4、AVI、MOV、RMVB、RM、WMV) + */ + private String attachmentFormat; + + /** + * 文件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc)) + */ + private String attachmentType; + + /** + * url地址 + */ + private String attachmentUrl; + + /** + * 排序(按文件所属节点的所属位置分组,在按文件类型排序) + */ + private Integer sort; + + /** + * 语音或视频时长,秒 + */ + private Integer duration; + + /** + * 是否强制发布(0:否 1:是) + */ + private Integer isRelease; + +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessScanTaskEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessScanTaskEntity.java new file mode 100644 index 0000000000..bd4a6a41e5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessScanTaskEntity.java @@ -0,0 +1,79 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 项目节点附件安全校验任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("project_process_scan_task") +public class ProjectProcessScanTaskEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 项目ID + */ + private String projectId; + + /** + * 项目进展表(project_process)ID + */ + private String processId; + + /** + * 项目附件表主键,对应dataId + */ + private String projectProcessAttachmentId; + + /** + * 阿里云审核任务Id + */ + private String taskId; + + /** + * 审核状态【auditing: 审核中; +auto_passed: 自动通过; +review:结果不确定,需要人工审核; +block: 结果违规;】 + */ + private String status; + + /** + * 附件类型(视频 - video、 语音 - voice 文件 - doc) + */ + private String attachmentType; + +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java new file mode 100644 index 0000000000..150132c106 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 项目节点附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Data +public class ProjectProcessAttachmentExcel { + + @Excel(name = "唯一标识") + private String id; + + @Excel(name = "客户ID") + private String customerId; + + @Excel(name = "项目ID") + private String projectId; + + @Excel(name = "项目进展表ID") + private String processId; + + @Excel(name = "文件所属内容(内部备注: public 公开答复:internal)") + private String filePlace; + + @Excel(name = "文件名") + private String fileName; + + @Excel(name = "附件名(uuid随机生成)") + private String attachmentName; + + @Excel(name = "文件大小") + private Integer attachmentSize; + + @Excel(name = "文件格式(JPG、PNG、JPEG、BMP、GIF、PDF、PPT、PPTX、DOC、DOCX、XLS、XLSX、MP3、WMA、M4A、MP4、AVI、MOV、RMVB、RM、WMV)") + private String attachmentFormat; + + @Excel(name = "文件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))") + private String attachmentType; + + @Excel(name = "url地址") + private String attachmentUrl; + + @Excel(name = "排序(按文件所属节点的所属位置分组,在按文件类型排序)") + private Integer sort; + + @Excel(name = "语音或视频时长,秒") + private Integer duration; + + @Excel(name = "是否强制发布(0:否 1:是)") + private Integer isRelease; + + @Excel(name = "删除标识:0.未删除 1.已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessScanTaskExcel.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessScanTaskExcel.java new file mode 100644 index 0000000000..201b31b5b1 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessScanTaskExcel.java @@ -0,0 +1,75 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 项目节点附件安全校验任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Data +public class ProjectProcessScanTaskExcel { + + @Excel(name = "唯一标识") + private String id; + + @Excel(name = "客户ID") + private String customerId; + + @Excel(name = "项目ID") + private String projectId; + + @Excel(name = "项目进展表(project_process)ID") + private String processId; + + @Excel(name = "项目附件表主键,对应dataId") + private String projectProcessAttachmentId; + + @Excel(name = "阿里云审核任务Id") + private String taskId; + + @Excel(name = "审核状态【auditing: 审核中; auto_passed: 自动通过;"+ + "review:结果不确定,需要人工审核;block: 结果违规;】") + private String status; + + @Excel(name = "附件类型(视频 - video、 语音 - voice 文件 - doc)") + private String attachmentType; + + @Excel(name = "删除标识:0.未删除 1.已删除") + private String delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectProcessAttachmentRedis.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectProcessAttachmentRedis.java new file mode 100644 index 0000000000..1e91b2dcda --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectProcessAttachmentRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 项目节点附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Component +public class ProjectProcessAttachmentRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectProcessScanTaskRedis.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectProcessScanTaskRedis.java new file mode 100644 index 0000000000..5087a591e0 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/redis/ProjectProcessScanTaskRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.redis; + +import com.epmet.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 项目节点附件安全校验任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Component +public class ProjectProcessScanTaskRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessAttachmentService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessAttachmentService.java new file mode 100644 index 0000000000..7b5858b5e5 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessAttachmentService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.ProjectProcessAttachmentDTO; +import com.epmet.entity.ProjectProcessAttachmentEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目节点附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +public interface ProjectProcessAttachmentService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-21 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-21 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return ProjectProcessAttachmentDTO + * @author generator + * @date 2020-12-21 + */ + ProjectProcessAttachmentDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-21 + */ + void save(ProjectProcessAttachmentDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-21 + */ + void update(ProjectProcessAttachmentDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-21 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessScanTaskService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessScanTaskService.java new file mode 100644 index 0000000000..079f46580a --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessScanTaskService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.ProjectProcessScanTaskDTO; +import com.epmet.entity.ProjectProcessScanTaskEntity; + +import java.util.List; +import java.util.Map; + +/** + * 项目节点附件安全校验任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +public interface ProjectProcessScanTaskService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2020-12-21 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2020-12-21 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return ProjectProcessScanTaskDTO + * @author generator + * @date 2020-12-21 + */ + ProjectProcessScanTaskDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-21 + */ + void save(ProjectProcessScanTaskDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2020-12-21 + */ + void update(ProjectProcessScanTaskDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2020-12-21 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessAttachmentServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessAttachmentServiceImpl.java new file mode 100644 index 0000000000..cecb5cba05 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessAttachmentServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.ProjectProcessAttachmentDao; +import com.epmet.dto.ProjectProcessAttachmentDTO; +import com.epmet.entity.ProjectProcessAttachmentEntity; +import com.epmet.redis.ProjectProcessAttachmentRedis; +import com.epmet.service.ProjectProcessAttachmentService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目节点附件表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Service +public class ProjectProcessAttachmentServiceImpl extends BaseServiceImpl implements ProjectProcessAttachmentService { + + @Autowired + private ProjectProcessAttachmentRedis projectProcessAttachmentRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ProjectProcessAttachmentDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ProjectProcessAttachmentDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public ProjectProcessAttachmentDTO get(String id) { + ProjectProcessAttachmentEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ProjectProcessAttachmentDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ProjectProcessAttachmentDTO dto) { + ProjectProcessAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, ProjectProcessAttachmentEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ProjectProcessAttachmentDTO dto) { + ProjectProcessAttachmentEntity entity = ConvertUtils.sourceToTarget(dto, ProjectProcessAttachmentEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessScanTaskServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessScanTaskServiceImpl.java new file mode 100644 index 0000000000..34d303c6f7 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessScanTaskServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.dao.ProjectProcessScanTaskDao; +import com.epmet.dto.ProjectProcessScanTaskDTO; +import com.epmet.entity.ProjectProcessScanTaskEntity; +import com.epmet.redis.ProjectProcessScanTaskRedis; +import com.epmet.service.ProjectProcessScanTaskService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 项目节点附件安全校验任务表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-21 + */ +@Service +public class ProjectProcessScanTaskServiceImpl extends BaseServiceImpl implements ProjectProcessScanTaskService { + + @Autowired + private ProjectProcessScanTaskRedis projectProcessScanTaskRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, ProjectProcessScanTaskDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, ProjectProcessScanTaskDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public ProjectProcessScanTaskDTO get(String id) { + ProjectProcessScanTaskEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, ProjectProcessScanTaskDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(ProjectProcessScanTaskDTO dto) { + ProjectProcessScanTaskEntity entity = ConvertUtils.sourceToTarget(dto, ProjectProcessScanTaskEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(ProjectProcessScanTaskDTO dto) { + ProjectProcessScanTaskEntity entity = ConvertUtils.sourceToTarget(dto, ProjectProcessScanTaskEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml new file mode 100644 index 0000000000..7070a392ff --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessScanTaskDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessScanTaskDao.xml new file mode 100644 index 0000000000..233b77baee --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessScanTaskDao.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From f8ce942fb4eb1e9871bea70be44e9b4af977d329 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 21 Dec 2020 15:08:49 +0800 Subject: [PATCH 030/184] =?UTF-8?q?=E8=AF=9D=E9=A2=98=E8=AF=AD=E9=9F=B3?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../topic/result/DraftDetailResultDTO.java | 2 + .../controller/TopicDraftController.java | 4 +- .../topic/dao/TopicDraftAttachmentDao.java | 3 +- .../service/TopicDraftAttachmentService.java | 2 +- .../topic/service/TopicDraftService.java | 2 +- .../impl/TopicDraftAttachmentServiceImpl.java | 5 +- .../service/impl/TopicDraftServiceImpl.java | 52 ++++++++++++++++--- .../mapper/topic/TopicDraftAttachmentDao.xml | 18 +++++-- 8 files changed, 70 insertions(+), 18 deletions(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java index f6373df659..cd0772719d 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/DraftDetailResultDTO.java @@ -44,6 +44,8 @@ public class DraftDetailResultDTO implements Serializable { * 驳回理由 */ private String reason; + private String status; + private String topicId; /** * 图片附件集合 */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java index 1e01ad76a5..89081680fd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicDraftController.java @@ -162,9 +162,9 @@ public class TopicDraftController { * @return com.epmet.commons.tools.utils.Result */ @PostMapping("audit") - public Result audit(@RequestBody AuditDraftTopicFormDTO formDTO) { + public Result audit(@LoginUser TokenDto tokenDto, @RequestBody AuditDraftTopicFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO); - topicDraftService.audit(formDTO); + topicDraftService.audit(tokenDto, formDTO); return new Result(); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java index 0f0340e86d..2cf15e3aff 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicDraftAttachmentDao.java @@ -19,6 +19,7 @@ package com.epmet.modules.topic.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.TopicDraftAttachmentEntity; +import com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -40,5 +41,5 @@ public interface TopicDraftAttachmentDao extends BaseDao */ - List selectFileUrls(@Param("topicDraftId") String topicDraftId, @Param("type") String type); + List selectFileList(@Param("topicDraftId") String topicDraftId, @Param("type") String type); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java index 182d330f42..193ee4ee09 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftAttachmentService.java @@ -101,5 +101,5 @@ public interface TopicDraftAttachmentService extends BaseService */ - List getFileList(String topicDraftId, String type); + List getFileList(String topicDraftId, String type); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java index fbf72c76f5..87b99bc51c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/TopicDraftService.java @@ -144,7 +144,7 @@ public interface TopicDraftService extends BaseService { * @param formDTO * @return void */ - void audit(AuditDraftTopicFormDTO formDTO); + void audit(TokenDto tokenDto, AuditDraftTopicFormDTO formDTO); /** * @param formDTO diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java index e1ad2d3b4e..6a2550bfa2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftAttachmentServiceImpl.java @@ -36,6 +36,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 话题草稿附件表 @@ -108,8 +109,8 @@ public class TopicDraftAttachmentServiceImpl extends BaseServiceImpl getFileList(String topicDraftId, String type) { - List list = baseDao.selectFileUrls(topicDraftId, type); + public List getFileList(String topicDraftId, String type) { + List list = baseDao.selectFileList(topicDraftId, type); if (CollectionUtils.isEmpty(list)) { return Collections.emptyList(); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java index b3bcca8b1e..f8cf0892da 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicDraftServiceImpl.java @@ -50,10 +50,7 @@ import com.epmet.modules.topic.dao.ResiTopicAttachmentDao; import com.epmet.modules.topic.dao.ResiTopicDao; import com.epmet.modules.topic.dao.ResiTopicOperationDao; import com.epmet.modules.topic.dao.TopicDraftDao; -import com.epmet.modules.topic.entity.ResiTopicAttachmentEntity; -import com.epmet.modules.topic.entity.ResiTopicEntity; -import com.epmet.modules.topic.entity.ResiTopicOperationEntity; -import com.epmet.modules.topic.entity.TopicDraftEntity; +import com.epmet.modules.topic.entity.*; import com.epmet.modules.topic.service.TopicDraftAttachmentService; import com.epmet.modules.topic.service.TopicDraftOperationService; import com.epmet.modules.topic.service.TopicDraftService; @@ -64,6 +61,7 @@ import com.epmet.resi.group.dto.group.ResiGroupInfoRedisDTO; import com.epmet.resi.group.dto.group.ResiGroupStatisticalInfoRedisDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberDTO; import com.epmet.resi.group.dto.member.ResiGroupMemberInfoRedisDTO; +import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicDraftAttachmentDTO; import com.epmet.resi.group.dto.topic.TopicDraftDTO; import com.epmet.resi.group.dto.topic.TopicDraftOperationDTO; @@ -437,12 +435,18 @@ public class TopicDraftServiceImpl extends BaseServiceImpl imageUrls = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.IMAGE); + List imageUrls = + topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.IMAGE).stream().map(TopicDraftAttachmentDTO::getAttachmentUrl).collect(Collectors.toList()); result.setImageList(imageUrls); //3.查询话题音频附件 - List voiceUrls = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.VOICE); + List voiceUrls = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), TopicConstant.VOICE).stream().map(TopicDraftAttachmentDTO::getAttachmentUrl).collect(Collectors.toList()); result.setVoiceList(voiceUrls); //3.拿取用户信息 @@ -481,8 +485,40 @@ public class TopicDraftServiceImpl extends BaseServiceImpl attachmentList = topicDraftAttachmentService.getFileList(formDTO.getTopicDraftId(), null); + List topicAttachments = ConvertUtils.sourceToTarget(attachmentList, ResiTopicAttachmentEntity.class); + topicAttachments.forEach(item -> { + item.setId(null); + }); + resiTopicAttachmentDao.insertBatch(topicAttachments); + //将音频状态改为approved + List voiceList = + attachmentList.stream().filter(item -> TopicConstant.VOICE.equals(item.getAttachmentType()) && TopicConstant.REVIEW.equals(item.getStatus())).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(voiceList)) { + voiceList.forEach(item -> item.setStatus(TopicConstant.APPROVED)); + topicDraftAttachmentService.updateBatchById(ConvertUtils.sourceToTarget(voiceList, TopicDraftAttachmentEntity.class)); + } + } + //记录操作记录 + TopicDraftOperationDTO operationDTO = new TopicDraftOperationDTO(); + operationDTO.setTopicDraftId(formDTO.getTopicDraftId()); + operationDTO.setOperateType(formDTO.getAuditType()); + operationDTO.setCreatedBy(tokenDto.getUserId()); + topicDraftOperationService.save(operationDTO); } /** diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml index 1f7154b80c..cf72d88a8d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicDraftAttachmentDao.xml @@ -4,11 +4,23 @@ - + SELECT ID, + TOPIC_DRAFT_ID, + CUSTOMER_ID, + ATTACHMENT_NAME, + ATTACHMENT_FORMAT, + ATTACHMENT_TYPE, + ATTACHMENT_URL, + SORT, + STATUS, + DURATION + FROM topic_draft_attachment WHERE DEL_FLAG = '0' AND TOPIC_DRAFT_ID = #{topicDraftId} - AND ATTACHMENT_TYPE = #{type} + + AND ATTACHMENT_TYPE = #{type} + ORDER BY SORT \ No newline at end of file From f366657cef7fbca8311818ba0e948601ec75f254 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 21 Dec 2020 16:28:56 +0800 Subject: [PATCH 031/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/OssController.java | 32 +++++++++++++++++++ .../java/com/epmet/service/OssService.java | 2 ++ .../epmet/service/impl/OssServiceImpl.java | 26 +++++++++++++++ .../java/com/epmet/utils/ModuleConstant.java | 21 ++++++++++++ 4 files changed, 81 insertions(+) diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index 0f78958d58..5664533b48 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -272,4 +272,36 @@ public class OssController { return ossService.extUpload(filse,fileName); } + /** + * @param file + * @Description 外挂-文件上传 + * @Author sun + **/ + @PostMapping("uploadvariedfile") + public Result uploadVariedFile(@RequestParam("file") MultipartFile file) { + String fileName = file.getOriginalFilename(); + String format = "-" + fileName.substring(fileName.lastIndexOf(".") + NumConstant.ONE) + "-"; + //1.校验上传文件类型 + if (!ModuleConstant.PROJECT_FILE_CONTENT.contains(format)) { + log.error(String.format("上传文件类型格式错误,暂不支持此类文件上传,文件名->%s", fileName)); + throw new RenException(EpmetErrorCode.OPER_UPLOAD_FILE_TYPE_ERROR.getCode(), EpmetErrorCode.OPER_UPLOAD_FILE_TYPE_ERROR.getMsg()); + } + + long size = file.getSize(); + //2.校验文件体积大小 + long maxSize = 0; + if (ModuleConstant.PROJECT_FILE_IMAGE.contains(format)) {//单个图片10M + maxSize = 10 * 1024 * 1024; + } else if (ModuleConstant.PROJECT_FILE_DOC.contains(format)) {//单个文件5M + maxSize = 5 * 1024 * 1024; + } else if (ModuleConstant.PROJECT_FILE_VIDEO.contains(format)) {//单个视频10M + maxSize = 10 * 1024 * 1024; + } + if (size > maxSize) { + throw new RenException(EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getCode(), EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getMsg()); + } + + return ossService.uploadVariedFile(file); + } + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java index c67fec06f2..c9abc33326 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java @@ -31,4 +31,6 @@ public interface OssService extends BaseService { Result uploadImg(MultipartFile file); Result extUpload(MultipartFile file, String fileName); + + Result uploadVariedFile(MultipartFile file); } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java index cc44456c7e..5b657665d5 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java @@ -104,4 +104,30 @@ public class OssServiceImpl extends BaseServiceImpl implement dto.setUrl(url); return new Result().ok(dto); } + + @Override + public Result uploadVariedFile(MultipartFile file) { + if (file.isEmpty()) { + return new Result().error(ModuleErrorCode.UPLOAD_FILE_EMPTY); + } + //上传文件 + String extension = FilenameUtils.getExtension(file.getOriginalFilename()); + String url = null; + try { + url = OssFactory.build().uploadSuffix(file.getBytes(), extension); + } catch (IOException e) { + e.printStackTrace(); + logger.error("文件上传异常"); + throw new RenException("文件上传异常"); + } + //保存文件信息 + OssEntity ossEntity = new OssEntity(); + ossEntity.setUrl(url); + baseDao.insert(ossEntity); + //文件信息 + UploadImgResultDTO dto = new UploadImgResultDTO(); + dto.setUrl(url); + return new Result().ok(dto); + } + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java index efa289bd61..a89b14fbd1 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java @@ -26,4 +26,25 @@ public interface ModuleConstant extends Constant { * jpg文件类型 */ String FILE_CONTENT_TYPE_JPG = "image/jpg"; + + /** + * 项目附件-允许上传的文件类型 + */ + String PROJECT_FILE_CONTENT = "-jpg-png-jpeg-bmp-gif-pdf-ppt-pptx-doc-docx-xls-xlsx-mp4-avi-mov-rmvb-rm-wmv-"; + /** + * 项目附件-允许的图片类型 + */ + String PROJECT_FILE_IMAGE = "-jpg-png-jpeg-bmp-gif-"; + /** + * 项目附件-允许的文件类型 + */ + String PROJECT_FILE_DOC = "-pdf-ppt-pptx-doc-docx-xls-xlsx-"; + /** + * 项目附件-允许的音频类型 + */ + String PROJECT_FILE_VOICE = "-mp3-wma-m4a-"; + /** + * 项目附件-允许的视频类型 + */ + String PROJECT_FILE_VIDEO = "-mp4-avi-mov-rmvb-rm-wmv-"; } From 96c0022c54362d78ce0446f112aeda64fd320164 Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 21 Dec 2020 16:35:49 +0800 Subject: [PATCH 032/184] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BC=98=E9=9B=85?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E4=B8=AD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/config/shutdown/GracefulShutdownTomcat.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownTomcat.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownTomcat.java index 0e3442b5a6..58ac781efe 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownTomcat.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/shutdown/GracefulShutdownTomcat.java @@ -4,6 +4,7 @@ import org.apache.catalina.connector.Connector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; import org.springframework.context.ApplicationListener; @@ -16,6 +17,7 @@ import java.util.concurrent.TimeUnit; @EnableConfigurationProperties(ShutdownProperties.class) @Component +@ConditionalOnProperty(prefix = "shutdown.graceful", name = "enable", havingValue = "true", matchIfMissing = false) public class GracefulShutdownTomcat implements TomcatConnectorCustomizer, ApplicationListener { private static final Logger logger = LoggerFactory.getLogger(GracefulShutdownTomcat.class); From 84b0b439c73ac47b9c5123d56ec9fddcbf1e50ee Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 21 Dec 2020 17:49:18 +0800 Subject: [PATCH 033/184] =?UTF-8?q?=E7=BB=93=E6=A1=88=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/form/FileDTO.java | 42 ++++ .../epmet/dto/form/ProjectClosedFromDTO.java | 9 + .../controller/ProjectTraceController.java | 7 + .../com/epmet/service/ProjectService.java | 9 + .../epmet/service/ProjectTraceService.java | 11 + .../service/impl/ProjectServiceImpl.java | 218 ++++++++++++++++-- .../service/impl/ProjectTraceServiceImpl.java | 15 ++ 7 files changed, 297 insertions(+), 14 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/FileDTO.java diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/FileDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/FileDTO.java new file mode 100644 index 0000000000..32b0bf76c8 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/FileDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/12/21 15:37 + */ +@NoArgsConstructor +@Data +public class FileDTO implements Serializable { + + private static final long serialVersionUID = -5307959406648243353L; + /** + * 文件名 + */ + private String name; + /** + * url地址 + */ + private String url; + /** + * 文件类型(图片 - image、 视频 - video、 语音 - voice、 文档 - doc) + */ + private String type; + /** + * 后缀名 + */ + private String format; + /** + * 文件大小 kb + */ + private Integer size; + /** + * 语音或视频文件时长,单位秒 + */ + private Integer duration; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java index 4b9e9a5ff6..75cf13e64e 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectClosedFromDTO.java @@ -5,6 +5,7 @@ import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.List; /** * @author zhaoqifeng @@ -46,4 +47,12 @@ public class ProjectClosedFromDTO implements Serializable { * 部门名 */ private String departmentName; + /** + * 公开答复对应文件集合 + */ + private List publicFile; + /** + * 内部备注对应文件集合 + */ + private List internalFile; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 582d4e6413..379e1b2965 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -121,6 +121,13 @@ public class ProjectTraceController { return new Result(); } + @PostMapping("closeproject-v2") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_CLOSE) + public Result closedV2(@LoginUser TokenDto tokenDto, @RequestBody ProjectClosedFromDTO fromDTO) { + projectTraceService.closedV2(tokenDto, fromDTO); + return new Result(); + } + /** * 可退回节点列表 * diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index 03bb5fc584..3b6a01e5e4 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -146,6 +146,15 @@ public interface ProjectService extends BaseService { */ void closed(ProjectClosedFromDTO fromDTO); + /** + * 项目结案 + * @author zhaoqifeng + * @date 2020/5/13 9:54 + * @param fromDTO 参数 + * @return void + */ + void closedV2(ProjectClosedFromDTO fromDTO); + /** * 项目退回 * @author zhaoqifeng diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index d41408524c..88891a3a87 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -68,6 +68,17 @@ public interface ProjectTraceService { */ void closed(TokenDto tokenDto, ProjectClosedFromDTO fromDTO); + /** + * 项目结案 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:27 + */ + void closedV2(TokenDto tokenDto, ProjectClosedFromDTO fromDTO); + /** * 可退回节点列表 * diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 7334c73c39..23d446b1bf 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -102,6 +102,8 @@ public class ProjectServiceImpl extends BaseServiceImpl periodsToUpdate = relationDao.selectAllUnhandledProcess(fromDTO.getProjectId()); - //if(CollectionUtils.isEmpty(periodsToUpdate)){ - // log.error("com.epmet.service.impl.ProjectServiceImpl.closed,至少存在一条处理时间为空的项目节点耗时记录,但是没有找到,参数:{}",JSON.toJSONString(fromDTO)); - // throw new RenException("至少存在一条处理时间为空的项目节点耗时记录,但是没有找到"); - //} + ProjectOrgRelationEntity orientRelation = relationDao.selectByProjectStaffId(operatorProjectReference.getId()); + if(null == orientRelation){ + log.error("com.epmet.service.impl.ProjectServiceImpl.closed,找不到结案工作人员的节点耗时相关记录,参数:{}",JSON.toJSONString(fromDTO)); + throw new RenException("找不到结案工作人员的节点耗时相关记录"); + } + + Integer delta_t = calculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION, + ProjectConstant.CALCULATION_TYPE_DEFAULT, operatorProjectReference.getId(),orientRelation.getInformedDate(),current); + + ProjectOrgRelationEntity carrier = new ProjectOrgRelationEntity(); + carrier.setProjectStaffId(operatorProjectReference.getId()); + carrier.setOperation(ProjectConstant.OPERATION_CLOSE); + carrier.setTotalPeriod(delta_t); + carrier.setHandledDate(current); + if(null == orientRelation.getFirstDealtDate()){ + carrier.setFirstReplyPeriod(delta_t); + carrier.setFirstDealtDate(current); + } + + relationDao.maintainTimePropertyConsistency(carrier); + + //通知 + List msgList = new ArrayList<>(); + //2020.10.26 添加项目结案发送微信订阅消息操作 sun + List wxmpMsgList = new ArrayList<>(); + //通知项目相关人员 + List personnelList = projectRelatedPersonnelService.getPersonnelListByProjectId(fromDTO.getProjectId()); + personnelList.forEach(p -> { + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(projectEntity.getCustomerId()); + messageFormDTO.setApp(p.getApp()); + messageFormDTO.setGridId(p.getGridId()); + messageFormDTO.setUserId(p.getUserId()); + messageFormDTO.setTitle(UserMessageConstant.PROJECT_TITLE); + messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); + messageFormDTO.setReadFlag(Constant.UNREAD); + msgList.add(messageFormDTO); + WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); + msg.setCustomerId(projectEntity.getCustomerId()); + msg.setClientType(p.getApp()); + msg.setUserId(p.getUserId()); + msg.setBehaviorType("项目消息"); + msg.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); + msg.setMessageTime(new Date()); + msg.setGridId(p.getGridId()); + wxmpMsgList.add(msg); + }); + //通知项目关联的部门人员 + List staffList = projectStaffService.getStaffsByProjectId(fromDTO.getProjectId()); + staffList.add(projectEntity.getCreatedBy()); + staffList.stream().distinct().forEach(s -> { + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(projectEntity.getCustomerId()); + messageFormDTO.setApp(ProjectConstant.GOV); + messageFormDTO.setGridId("*"); + messageFormDTO.setUserId(s); + messageFormDTO.setTitle(UserMessageConstant.PROJECT_TITLE); + messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); + messageFormDTO.setReadFlag(Constant.UNREAD); + msgList.add(messageFormDTO); + WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); + msg.setCustomerId(projectEntity.getCustomerId()); + msg.setClientType(AppClientConstant.APP_GOV); + msg.setUserId(s); + msg.setBehaviorType("项目消息"); + msg.setMessageContent(String.format(UserMessageConstant.PROJECT_CLOSED_MSG, projectEntity.getTitle(), fromDTO.getPublicReply())); + msg.setMessageTime(new Date()); + msg.setGridId("*"); + wxmpMsgList.add(msg); + }); + messageFeignClient.saveUserMessageList(msgList); + //2020.10.26 发送微信订阅消息 sun + logger.info("项目结案,开始推送微信订阅消息"); + Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList); + if (!result.success()) { + logger.error("项目结案成功,发送微信订阅消息失败" + JSON.toJSONString(result)); + } + } + + /** + * 项目结案 + * + * @param fromDTO 参数 + * @return void + * @author zhaoqifeng + * @date 2020/5/13 9:54 + */ + @Override + public void closedV2(ProjectClosedFromDTO fromDTO) { +//公开回复内容审核 + if (StringUtils.isNotBlank(fromDTO.getPublicReply())) { + TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); + TextTaskDTO taskDTO = new TextTaskDTO(); + taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); + taskDTO.setContent(fromDTO.getPublicReply()); + textScanParamDTO.getTasks().add(taskDTO); + Result textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); + } + } + } + //更新项目表状态 + ProjectEntity projectEntity = baseDao.selectById(fromDTO.getProjectId()); + if (ProjectConstant.CLOSED.equals(projectEntity.getStatus())) { + throw new RenException(EpmetErrorCode.PROJECT_IS_CLOSED.getCode()); + } - //List intervalList = new LinkedList<>(); - //periodsToUpdate.forEach(local -> { - // TimestampIntervalFormDTO obj = new TimestampIntervalFormDTO(); - // obj.setId(local.getProjectStaffId()); - // obj.setLeft(local.getInformedDate()); - // obj.setRight(current); - // intervalList.add(obj); - //}); + Date current = new Date(); + projectEntity.setStatus(ProjectConstant.CLOSED); + projectEntity.setClosedStatus(fromDTO.getClosedStatus()); + baseDao.updateById(projectEntity); + //更新项目关联表 + ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); + projectStaffEntity.setId(fromDTO.getProjectStaffId()); + projectStaffEntity.setIsHandle(ProjectConstant.HANDLE); + projectStaffService.updateById(projectStaffEntity); + + //查询结案人员的信息 + ProjectStaffEntity operatorProjectReference = projectStaffService.selectById(fromDTO.getProjectStaffId()); + if(null == operatorProjectReference){ + log.error("com.epmet.service.impl.ProjectServiceImpl.closed,找不到结案工作人员的相关记录,参数:{}",JSON.toJSONString(fromDTO)); + throw new RenException("找不到结案工作人员的相关记录"); + } + + //结案记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(fromDTO.getProjectId()); + projectProcessEntity.setCustomerId(operatorProjectReference.getCustomerId()); + projectProcessEntity.setDepartmentName(fromDTO.getDepartmentName()); + projectProcessEntity.setAgencyId(operatorProjectReference.getOrgId()); + projectProcessEntity.setGridId(operatorProjectReference.getGridId()); + projectProcessEntity.setDepartmentId(operatorProjectReference.getDepartmentId()); + projectProcessEntity.setOrgIdPath(operatorProjectReference.getOrgIdPath()); + projectProcessEntity.setEndTime(new Date()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_CLOSE); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_CLOSE_NAME); + projectProcessEntity.setPublicReply(fromDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(fromDTO.getInternalRemark()); + projectProcessEntity.setStaffId(fromDTO.getUserId()); + ProjectDTO projectDto = ConvertUtils.sourceToTarget(projectEntity, ProjectDTO.class); + projectDto.setUpdatedTime(projectDto.getCreatedTime()); + projectProcessEntity.setCostWorkdays(getDetentionDays(projectDto)); + projectProcessService.insert(projectProcessEntity); + + //保存附件 + saveFile(fromDTO.getPublicFile(), fromDTO.getInternalFile(), operatorProjectReference.getCustomerId(), fromDTO.getProjectId(), + projectProcessEntity.getId()); ProjectOrgRelationEntity orientRelation = relationDao.selectByProjectStaffId(operatorProjectReference.getId()); if(null == orientRelation){ @@ -1422,4 +1560,56 @@ public class ProjectServiceImpl extends BaseServiceImpl publicFile, List internalFile, String customerId, String projectId, String processId) { + if (CollectionUtils.isNotEmpty(internalFile)) { + int i = 0; + List list = new ArrayList<>(); + for (FileDTO item : internalFile) { + ProjectProcessAttachmentEntity entity = new ProjectProcessAttachmentEntity(); + entity.setCustomerId(customerId); + entity.setProjectId(projectId); + entity.setProcessId(processId); + entity.setFilePlace("internal"); + entity.setFileName(item.getName()); + entity.setAttachmentName(""); + entity.setAttachmentSize(item.getSize()); + entity.setAttachmentFormat(item.getFormat()); + entity.setAttachmentType(item.getType()); + entity.setAttachmentUrl(item.getUrl()); + entity.setSort(i); + entity.setDuration(item.getDuration()); + entity.setIsRelease(NumConstant.ONE); + list.add(entity); + i++; + } + projectProcessAttachmentService.insertBatch(list); + } + + if (CollectionUtils.isNotEmpty(publicFile)) { + //TODO 内容安全检查 + int i = 0; + List list = new ArrayList<>(); + for (FileDTO item : publicFile) { + ProjectProcessAttachmentEntity entity = new ProjectProcessAttachmentEntity(); + entity.setCustomerId(customerId); + entity.setProjectId(projectId); + entity.setProcessId(processId); + entity.setFilePlace("public"); + entity.setFileName(item.getName()); + entity.setAttachmentName(""); + entity.setAttachmentSize(item.getSize()); + entity.setAttachmentFormat(item.getFormat()); + entity.setAttachmentType(item.getType()); + entity.setAttachmentUrl(item.getUrl()); + entity.setSort(i); + entity.setDuration(item.getDuration()); + entity.setIsRelease(NumConstant.ZERO); + list.add(entity); + i++; + } + projectProcessAttachmentService.insertBatch(list); + } + } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index d8ddde09ba..229bdd5a81 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -64,6 +64,21 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { projectService.closed(fromDTO); } + /** + * 项目结案 + * + * @param tokenDto token + * @param fromDTO 入参 + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2020/5/11 16:27 + */ + @Override + public void closedV2(TokenDto tokenDto, ProjectClosedFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + projectService.closedV2(fromDTO); + } + @Override public List getReturnableList(ReturnListFromDTO fromDTO) { return projectProcessService.getReturnableList(fromDTO); From 315dc2f3c4f599117bffe81fc1c8018614049f72 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 21 Dec 2020 18:02:46 +0800 Subject: [PATCH 034/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=B1=95V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/ProcessListV2FormDTO.java | 21 ++++++ .../dto/result/ProcessListV2ResultDTO.java | 72 +++++++++++++++++++ .../PublicAndInternalFileResultDTO.java | 61 ++++++++++++++++ .../com/epmet/constant/ProjectConstant.java | 4 ++ .../controller/ProjectTraceController.java | 12 ++++ .../dao/ProjectProcessAttachmentDao.java | 14 +++- .../java/com/epmet/dao/ProjectProcessDao.java | 9 +++ .../epmet/service/ProjectTraceService.java | 9 ++- .../service/impl/ProjectTraceServiceImpl.java | 37 ++++++++++ .../mapper/ProjectProcessAttachmentDao.xml | 16 ++++- .../resources/mapper/ProjectProcessDao.xml | 14 ++++ 11 files changed, 266 insertions(+), 3 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessListV2FormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcessListV2ResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessListV2FormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessListV2FormDTO.java new file mode 100644 index 0000000000..cad3cb0026 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProcessListV2FormDTO.java @@ -0,0 +1,21 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/21 下午3:24 + */ +@Data +public class ProcessListV2FormDTO implements Serializable { + + private static final long serialVersionUID = -7922290706507984148L; + + public interface ProcessListV2Form{} + + @NotBlank(message = "项目ID不能为空",groups = {ProcessListV2Form.class}) + private String projectId; +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcessListV2ResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcessListV2ResultDTO.java new file mode 100644 index 0000000000..1e7460c5ad --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProcessListV2ResultDTO.java @@ -0,0 +1,72 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2020/12/21 下午3:31 + */ +@Data +public class ProcessListV2ResultDTO implements Serializable { + + /** + * 项目ID + */ + private String projectId; + + /** + * 进展Id + */ + private String processId; + + /** + * 处理进展名称 + */ + private String processName; + + /** + * 处理进展时间 + */ + private Long processTime; + + /** + * 处理部门 + */ + private String departmentName; + + /** + * 公开答复 + */ + private String publicReply; + + /** + * 内部备注 + */ + private String internalRemark; + + /** + * + */ + private List publicFile; + + /** + * + */ + private List internalFile; + + public ProcessListV2ResultDTO() { + this.projectId = ""; + this.processId = ""; + this.processName = ""; + this.processTime = 0L; + this.departmentName = ""; + this.publicReply = ""; + this.internalRemark = ""; + this.publicFile = new ArrayList<>(); + this.internalFile = new ArrayList<>(); + } +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java new file mode 100644 index 0000000000..b51747cc3b --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java @@ -0,0 +1,61 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/21 下午3:44 + */ +@Data +public class PublicAndInternalFileResultDTO implements Serializable { + + private static final long serialVersionUID = -4258868880494403603L; + + /** + * 文件名 + */ + private String name; + + /** + * url地址 + */ + private String url; + + /** + * 文件类型(图片 - image、 视频 - video、 语音 - voice、 文档 - doc) + */ + private String type; + + /** + * 后缀名 + */ + private String format; + + /** + * 文件大小 kb + */ + private Integer size; + + /** + * 语音或视频文件时长,单位秒 + */ + private Long duration; + + @JsonIgnore + private String processId; + + @JsonIgnore + private String filePlace; + + public PublicAndInternalFileResultDTO() { + this.name = ""; + this.url = ""; + this.type = ""; + this.format = ""; + this.size = 0; + this.duration = 0L; + } +} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index d529abf12e..a1a8259b48 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -152,4 +152,8 @@ public interface ProjectConstant { * 非精准计算 */ String IMPRECISE_CALCULATION = "imprecise"; + + String PUBLIC = "public"; + + String INTERNAL = "internal"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 379e1b2965..d0c1124bdc 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -267,5 +267,17 @@ public class ProjectTraceController { projectTraceService.response(tokenDTO, formDTO); return new Result(); } + + /** + * @Description 项目处理进展列表V2 + * @Param formDTO + * @author zxc + * @date 2020/12/21 下午3:55 + */ + @PostMapping("processlist-v2") + public Result> processListV2(@RequestBody ProcessListV2FormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, ProcessListV2FormDTO.ProcessListV2Form.class); + return new Result>().ok(projectTraceService.processListV2(formDTO)); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessAttachmentDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessAttachmentDao.java index afe77492a6..ea6d467deb 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessAttachmentDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessAttachmentDao.java @@ -18,8 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.PublicAndInternalFileResultDTO; import com.epmet.entity.ProjectProcessAttachmentEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 项目节点附件表 @@ -29,5 +33,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectProcessAttachmentDao extends BaseDao { - + + /** + * @Description 根据项目ID查询附件 + * @Param projectId + * @author zxc + * @date 2020/12/21 下午4:33 + */ + List selectAttachByProjectId(@Param("projectId")String projectId); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java index dc3260b2c8..80fa2b05a0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectProcessDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.ProcessProjectIdFormDTO; import com.epmet.dto.form.ProjectIdFormDTO; +import com.epmet.dto.result.ProcessListV2ResultDTO; import com.epmet.dto.result.ProcesslistResultDTO; import com.epmet.dto.result.ProjectOrgRelationWhenResponseResultDTO; import com.epmet.dto.result.ProjectProcessListResultDTO; @@ -77,4 +78,12 @@ public interface ProjectProcessDao extends BaseDao { * @date 2020.09.17 17:56 **/ List selectResponseTrace(@Param("projects") List projects); + + /** + * @Description 查询项目进展 + * @Param projectId + * @author zxc + * @date 2020/12/21 下午4:18 + */ + List selectProcessList(@Param("projectId")String projectId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index 88891a3a87..256e595ce6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -1,7 +1,6 @@ package com.epmet.service; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.utils.Result; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -128,4 +127,12 @@ public interface ProjectTraceService { * @return void */ void response(TokenDto tokenDto, ProjectResponseFormDTO formDTO); + + /** + * @Description 项目处理进展列表V2 + * @Param formDTO + * @author zxc + * @date 2020/12/21 下午3:55 + */ + List processListV2(ProcessListV2FormDTO formDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 229bdd5a81..b378c67891 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -4,6 +4,8 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.ProjectConstant; +import com.epmet.dao.ProjectProcessAttachmentDao; +import com.epmet.dao.ProjectProcessDao; import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -15,8 +17,12 @@ import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectTraceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @author zhaoqifeng @@ -33,6 +39,10 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { private ProjectStaffService projectStaffService; @Autowired private GovOrgFeignClient govOrgFeignClient; + @Autowired + private ProjectProcessDao projectProcessDao; + @Autowired + private ProjectProcessAttachmentDao attachmentDao; @Override public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -116,4 +126,31 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { formDTO.setUserId(tokenDto.getUserId()); projectService.response(formDTO); } + + /** + * @Description 项目处理进展列表V2 + * @Param formDTO + * @author zxc + * @date 2020/12/21 下午3:55 + */ + @Override + public List processListV2(ProcessListV2FormDTO formDTO) { + List processList = projectProcessDao.selectProcessList(formDTO.getProjectId()); + if (CollectionUtils.isEmpty(processList)){ + return new ArrayList<>(); + } + List files = attachmentDao.selectAttachByProjectId(formDTO.getProjectId()); + if (!CollectionUtils.isEmpty(files)){ + Map> groupByPlace = files.stream().collect(Collectors.groupingBy(PublicAndInternalFileResultDTO::getFilePlace)); + List publicFiles = groupByPlace.get(ProjectConstant.PUBLIC); + if (!CollectionUtils.isEmpty(publicFiles)){ + processList.forEach(p -> publicFiles.stream().filter(f -> p.getProcessId().equals(f.getProcessId())).forEach(f -> p.getPublicFile().add(f))); + } + List internalFiles = groupByPlace.get(ProjectConstant.INTERNAL); + if (!CollectionUtils.isEmpty(internalFiles)){ + processList.forEach(p -> internalFiles.stream().filter(f -> p.getProcessId().equals(f.getProcessId())).forEach(f -> p.getInternalFile().add(f))); + } + } + return processList; + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml index 7070a392ff..a7a58493cc 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml @@ -3,5 +3,19 @@ - + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml index ceb579138d..f2bac29d4c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml @@ -84,4 +84,18 @@ ) ORDER BY process.PROJECT_ID , process.STAFF_ID , process.CREATED_TIME ASC + + + \ No newline at end of file From b5a86d06f2c8e1cb62f8b369b53eabb08bd0328c Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 21 Dec 2020 19:01:44 +0800 Subject: [PATCH 035/184] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E8=A7=84=E5=88=99=EF=BC=8C=E6=A0=B9=E6=8D=AE=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E8=A7=84=E5=88=99=E7=BB=99=E5=87=BA=E7=9B=B8=E5=BA=94=E7=A7=AF?= =?UTF-8?q?=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/mq/eventmsg/BasePointEventMsg.java | 12 +++- .../epmet/commons/tools/enums/EventEnum.java | 8 ++- .../com/epmet/dao/UserPointActionLogDao.java | 2 +- .../impl/UserPointActionLogServiceImpl.java | 26 ++++++-- .../migration/V0.0.4__addNewRuleTemplate.sql | 66 +++++++++++++++++++ .../mapper/UserPointActionLogDao.xml | 4 +- .../dto/IssueShareLinkVisitRecordDTO.java | 5 ++ .../epmet/feign/GovIssueOpenFeignClient.java | 10 +++ .../GovIssueOpenFeignClientFallBack.java | 5 ++ .../IssueShareLinkVisitRecordController.java | 13 ++++ .../dao/IssueShareLinkVisitRecordDao.java | 22 +++++++ .../IssueShareLinkVisitRecordEntity.java | 4 ++ .../IssueShareLinkVisitRecordService.java | 9 +++ .../IssueShareLinkVisitRecordServiceImpl.java | 21 ++++++ .../mapper/IssueShareLinkVisitRecordDao.xml | 46 ++++++++++++- .../dto/member/GroupMemeberOperationDTO.java | 2 +- .../group/dto/member/ResiGroupMemberDTO.java | 2 +- .../result/ApplyingMemberResultDTO.java | 2 +- .../group/feign/ResiGroupOpenFeignClient.java | 1 + .../ResiGroupOpenFeignClientFallback.java | 2 +- .../entity/GroupMemeberOperationEntity.java | 2 +- .../member/entity/ResiGroupMemberEntity.java | 2 +- .../impl/ResiGroupMemberServiceImpl.java | 55 ++++++++++++++-- .../TopicShareLinkVisitRecordController.java | 2 +- .../epmet/modules/topic/dao/ResiTopicDao.java | 1 + .../dao/TopicShareLinkVisitRecordDao.java | 18 +++++ .../TopicShareLinkVisitRecordService.java | 9 +++ .../TopicShareLinkVisitRecordServiceImpl.java | 21 ++++++ .../epmet/modules/utils/ModuleConstant.java | 10 +++ .../resources/mapper/topic/ResiTopicDao.xml | 13 ++++ .../topic/TopicShareLinkVisitRecordDao.xml | 35 +++++++++- .../epmet/service/UserResiInfoService.java | 4 +- .../service/impl/UserResiInfoServiceImpl.java | 30 ++------- 33 files changed, 410 insertions(+), 54 deletions(-) create mode 100644 epmet-module/epmet-point/epmet-point-server/src/main/resources/db/migration/V0.0.4__addNewRuleTemplate.sql diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java index ec14e7c812..2ca431d70e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java @@ -3,6 +3,7 @@ package com.epmet.commons.tools.dto.form.mq.eventmsg; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * desc:积分相关事件消息体 @@ -57,4 +58,13 @@ public class BasePointEventMsg implements Serializable { * 业务id eg:活动id */ private String sourceId; -} + + /** + * 计算积分上限时的计算日期,可以为空 + * 场景: 通过分享链接申请入组,在组长审核完成后要给邀请人添加积分,若被邀请人是已注册居民, + * 给邀请人添加积分有上限,计算上限的日期不能是组长审核的日期,而是被邀请人发送入组审核的日期 + * 对应的事件编码为:invite_resident_into_group + * 只针对[邀请已注册的用户入组]事件生效 + */ + private Date targetDate; + } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java index e37d7fe13d..da6c7bfa50 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java @@ -10,7 +10,13 @@ public enum EventEnum { ACTIVE_SEND_POINT("active_send_point", "epmet_heart", "活动发放积分"), REGISTER_VOLUNTEER("register_volunteer", "epmet_heart", "认证志愿者"), ACTIVE_INSERT_LIVE("active_insert_live", "epmet_heart", "添加活动实况"), - PULL_NEW_RESIDENT("pull_new_resident","epmet_user","拉新用户") + INVITE_NEW_RESIDENT_INTO_GROUP("invite_new_resident_into_group","resi_group","拉新用户入组"), + INVITE_RESIDENT_INTO_GROUP("invite_resident_into_group","resi_group","邀请已注册的用户入组"), + PUBLISH_ONE_TOPIC("publish_one_topic","resi_group","发布话题"), + PARTICIPATE_ONE_TOPIC("participate_one_topic","resi_group","对小组内话题进行15字以上评论"), + TOPIC_SHIFTED_TO_ISSUE("topic_shifted_to_issue","resi_group","话题被转为议题(小组中发布的话题被组长转为议题)"), + SHIFT_TOPIC_TO_ISSUE("shift_topic_to_issue","resi_group","转话题为议题(将自建小组中话题转为议题)"), + TOPIC_SHIFTED_TO_PROJECT("topic_shifted_to_project","resi_group","话题被转为项目"), ; private String eventClass; diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java index 42d7cb404b..40c3277d6d 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/dao/UserPointActionLogDao.java @@ -52,5 +52,5 @@ public interface UserPointActionLogDao extends BaseDao * @author wangc * @date 2020.07.31 15:11 **/ - Integer selectSumByEvent(@Param("userId") String userId, @Param("eventId") String eventId, @Param("sourceId") String sourceId, @Param("customerId") String customerId, @Param("dateCheck") Date dateCheck); + Integer selectSumByEvent(@Param("userId") String userId, @Param("eventId") String eventId, @Param("sourceId") String sourceId, @Param("customerId") String customerId, @Param("dateCheck") Date dateCheck,@Param("right")Date right); } \ No newline at end of file diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java index 543fd72ad3..61dea7998f 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/UserPointActionLogServiceImpl.java @@ -189,19 +189,24 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl【%s】", JSON.toJSON(event))); throw new RenException("无法识别事件类型与积分规则"); } PointRuleEntity ruleInfo = pointRuleService.getByEventCodeAndCustomerId(event.getCustomerId(),eventCode); if(null != ruleInfo && StringUtils.equals(NumConstant.ONE_STR,ruleInfo.getEnabledFlag())){ + //是否使用特定的上限日期检查日 + boolean ifPastTargetDate = StringUtils.equals(EventEnum.INVITE_RESIDENT_INTO_GROUP.getEventTag(),ruleInfo.getEventCode()); + Date dateCheck = null; Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); + calendar.setTime(ifPastTargetDate ? event.getTargetDate() :new Date()); calendar.set(Calendar.HOUR_OF_DAY, NumConstant.ZERO); calendar.set(Calendar.MINUTE, NumConstant.ZERO); calendar.set(Calendar.SECOND, NumConstant.ZERO); + + Date right = null; + //先判断周期,是否超过限值 RuleCycleEnum cycle = RuleCycleEnum.getEnum(ruleInfo.getRulePeriod()); switch(cycle){ @@ -215,24 +220,33 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl NumConstant.ZERO){ //不按照sourceId查询,查询指定日期内的相关积分规则的总和 - Integer sum = baseDao.selectSumByEvent(event.getUserId(),eventCode,null,event.getCustomerId(),dateCheck); + Integer sum = baseDao.selectSumByEvent(event.getUserId(),eventCode,null,event.getCustomerId(),dateCheck,right); if(null == sum) sum = NumConstant.ZERO; if(StringUtils.equals(ModuleConstant.OPERATION_TYPE_PLUS,ruleInfo.getOperateType())){ if(ruleInfo.getPoint() < NumConstant.ZERO){ @@ -270,7 +284,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl【%s】", JSON.toJSON(event))); + log.warn(String.format("该用户获取此类事件的积分已达上限,详细数据->【%s】", JSON.toJSON(event))); return ; } } @@ -290,7 +304,7 @@ public class UserPointActionLogServiceImpl extends BaseServiceImpl AND CREATED_TIME = ]]> #{dateCheck} - + + AND CREATED_TIME #{right} + \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java index 5db5a897d6..f96068a38b 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java @@ -63,6 +63,11 @@ public class IssueShareLinkVisitRecordDTO implements Serializable { */ private Integer isInviteRegister; + /** + * 是否同意进组,1是0否,在注册完居民之后,是否同意入组,如果同意发送入组申请,不同意此项默认为0 + */ + private Integer ifJoinGroup; + /** * 删除状态,0:正常,1:删除 */ diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index e5e68c8599..39253684cc 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -223,4 +223,14 @@ public interface GovIssueOpenFeignClient { */ @PostMapping("/gov/issue/issuesharelinkvisitrecord/checkinviterelationship") Result checkInviteRelationship(@RequestBody SharableIssueAndInviteeFormDTO param); + + /** + * @Description 通过被邀请人锁定其是通过哪一条链接进的组,查询出该链接的邀请人Id + * @param invitee + * @return Map key : new | registered + * @author wangc + * @date 2020.12.21 16:27 + */ + @PostMapping("/gov/issue/issuesharelinkvisitrecord/inviter") + Result> inviter(@RequestParam("invitee")String invitee,@RequestParam("issues")List issues); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index fe2142169e..2916fd9e85 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -198,4 +198,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result checkInviteRelationship(SharableIssueAndInviteeFormDTO param) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "checkInviteRelationship", param); } + + @Override + public Result> inviter(String invitee,List issues) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "inviter", invitee,issues); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java index db2ea0182e..754b8767d8 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java @@ -13,6 +13,7 @@ import com.epmet.service.IssueShareLinkVisitRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @@ -82,4 +83,16 @@ public class IssueShareLinkVisitRecordController { ValidatorUtils.validateEntity(param); return new Result().ok(issueShareLinkVisitRecordService.checkInviteRelationship(param)); } + + /** + * @Description 通过被邀请人锁定其是通过哪一条链接进的组,查询出该链接的邀请人Id + * @param invitee + * @return Map key : new | registered + * @author wangc + * @date 2020.12.21 16:27 + */ + @PostMapping("inviter") + public Result> inviter(@RequestParam("invitee")String invitee,@RequestParam("issues") List issues){ + return new Result>().ok(issueShareLinkVisitRecordService.getInviter(invitee,issues)); + } } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java index c477de46bf..cc91b19799 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java @@ -22,6 +22,8 @@ import com.epmet.entity.IssueShareLinkVisitRecordEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 议题分享链接访问记录表 * @@ -50,4 +52,24 @@ public interface IssueShareLinkVisitRecordDao extends BaseDao issues); + + /** + * @Description 通过被邀请人锁定其是通过哪一条链接进的组,查询出该链接的邀请人Id + * @param invitee + * @param issues 同一个组下的所有议题Id + * @return java.lang.String + * @author wangc + * @date 2020.12.21 16:27 + */ + String selectInviterByRegisteredInvitee(@Param("invitee") String invitee,@Param("issues") List issues); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java index 4cab9430d7..5860799b54 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java @@ -63,4 +63,8 @@ public class IssueShareLinkVisitRecordEntity extends BaseEpmetEntity { */ private Integer isInviteRegister; + /** + * 是否同意进组,1是0否,在注册完居民之后,是否同意入组,如果同意发送入组申请,不同意此项默认为0 + */ + private Integer ifJoinGroup; } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java index 9a77c61d18..b4c29b8f3f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java @@ -101,4 +101,13 @@ public interface IssueShareLinkVisitRecordService extends BaseService key : new | registered + * @author wangc + * @date 2020.12.21 16:27 + */ + Map getInviter(String invitee,List issues); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java index 5221e0fd5d..0039e0e17c 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java @@ -33,6 +33,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -111,4 +112,24 @@ public class IssueShareLinkVisitRecordServiceImpl extends BaseServiceImpl key : new | registered + * @author wangc + * @date 2020.12.21 16:27 + */ + @Override + public Map getInviter(String invitee,List issues) { + Map result = new HashMap<>(); + String inviterInvitedNewResident = baseDao.selectInviterByNewInvitee(invitee,issues); + if(StringUtils.isNotBlank(inviterInvitedNewResident)) result.put("new",inviterInvitedNewResident); + else{ + String inviterInvitedRegisteredResident = baseDao.selectInviterByRegisteredInvitee(invitee,issues); + if(StringUtils.isNotBlank(inviterInvitedRegisteredResident)) result.put("registered",inviterInvitedRegisteredResident); + } + + return result; + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml index e860796488..ee41fc5bb7 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml @@ -14,7 +14,7 @@ AND invitee_user_id = #{invitee} AND - is_invite_register = 0 + is_invite_register = 1 LIMIT 1 @@ -22,7 +22,7 @@ UPDATE issue_share_link_visit_record SET - is_invite_register = '1' + is_invite_register = 0 WHERE del_flag = '0' AND @@ -30,4 +30,46 @@ AND invitee_user_id = #{invitee} + + + + \ No newline at end of file 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 751153861a..78f7c8fe77 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群主创建群自动进入群、扫码入群 - scancode) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群、扫码入群 - scancode、话题分享链接 - topic_share_link、议题分享链接 - issue_share_link) */ 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 c6cd651968..f1832f7958 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群主创建群自动进入群、扫码入群 - scancode) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、created群主创建群自动进入群、扫码入群 - scancode、话题分享链接 - topic_share_link、议题分享链接 - issue_share_link) */ private String enterGroupType; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java index 915523354b..352499d9a4 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/ApplyingMemberResultDTO.java @@ -48,7 +48,7 @@ public class ApplyingMemberResultDTO implements Serializable { private String status; /** - * invited:通过链接加入 ; join:申请加入;scancode通过扫码加入 + * invited:通过链接加入 ; join:申请加入;scancode通过扫码加入;话题分享链接 - topic_share_link、议题分享链接 - issue_share_link */ private String enterGroupType; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java index 81ebebf97f..ad9a19903f 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/ResiGroupOpenFeignClient.java @@ -18,6 +18,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.HashMap; import java.util.List; diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java index 17e89e25fa..1b6f214fa0 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/feign/fallback/ResiGroupOpenFeignClientFallback.java @@ -108,6 +108,6 @@ public class ResiGroupOpenFeignClientFallback implements ResiGroupOpenFeignClien @Override public Result checkInviteRelationship(SharableTopicAndInviteeFormDTO param) { - return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectTopicBelongGroup",param); + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "selectTopicBelongGroup", param); } } 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 fd7537370c..8483de6627 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、扫码入群 - scancode) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、扫码入群 - scancode、话题分享链接 - topic_share_link、议题分享链接 - issue_share_link) */ 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 6dc7d21ad2..ebcceb9566 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、扫码入群 - scancode) + * 入群方式:(受邀请入群 - invited 、 主动加入 - join、扫码入群 - scancode、话题分享链接 - topic_share_link、议题分享链接 - issue_share_link) */ private String enterGroupType; diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 76ec2024c2..bb276de989 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -21,20 +21,22 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.AppClientConstant; -import com.epmet.commons.tools.constant.FieldConstant; -import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.constant.*; +import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; +import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; +import com.epmet.commons.tools.enums.EventEnum; 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.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.constant.ReadFlagConstant; import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.UserMessageConstant; import com.epmet.modules.feign.EpmetUserFeignClient; @@ -48,7 +50,9 @@ import com.epmet.modules.member.entity.ResiGroupMemberEntity; import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.service.GroupMemeberOperationService; import com.epmet.modules.member.service.ResiGroupMemberService; +import com.epmet.modules.topic.dao.ResiTopicDao; import com.epmet.modules.topic.service.ResiTopicService; +import com.epmet.modules.topic.service.TopicShareLinkVisitRecordService; import com.epmet.modules.utils.ModuleConstant; import com.epmet.resi.group.constant.EnterGroupTypeConstant; import com.epmet.resi.group.constant.LeaderFlagConstant; @@ -111,7 +115,8 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl page(Map params) { @@ -484,6 +493,42 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl inviterMap = null; + if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_TOPIC_LINK)){ + inviterMap = topicShareLinkVisitRecordService.getInviter(groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupId()); + }else if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_ISSUE_LINK)){ + List issues = topicDao.selectIssueIdsByGroupId(groupMemeberOperationDTO.getGroupId()); + if(!CollectionUtils.isEmpty(issues)){ + Result> inviterResult = issueClient.inviter(groupMemeberOperationDTO.getCustomerUserId(),issues); + if(inviterResult.success() && !CollectionUtils.isEmpty(inviterResult.getData())) inviterMap = inviterResult.getData(); + } + + } + if(!CollectionUtils.isEmpty(inviterMap)){ + //groupMemeberOperationDTO.getCreatedTime() + + boolean isNew = StringUtils.isBlank(inviterMap.get("new")); + + //mq的事件类型 + MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); + //事件code + mqBaseMsgDTO.setEventTag(isNew ? EventEnum.INVITE_NEW_RESIDENT_INTO_GROUP.getEventTag() : EventEnum.INVITE_RESIDENT_INTO_GROUP.getEventTag()); + List pointEventMsgList = new ArrayList<>(); + BasePointEventMsg pointEventMsg = new BasePointEventMsg(); + pointEventMsg.setCustomerId(groupCache.getCustomerId()); + pointEventMsg.setUserId(isNew ? inviterMap.get("new") : inviterMap.get("register")); + pointEventMsg.setActionFlag(MqConstant.PLUS); + pointEventMsg.setIsCommon(false); + if(!isNew) pointEventMsg.setTargetDate(groupMemeberOperationDTO.getCreatedTime()); + pointEventMsgList.add(pointEventMsg); + + mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); + Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + if(!result.success()){ + logger.error((isNew ? "拉新用户入组事件发送失败" : "邀请已注册用户入组事件发送失败").concat(",参数:%s"),JSON.toJSONString(agreeApplyFormDTO)); + } + } } /** diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java index 97e2f8d7ac..cf134cfea6 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/TopicShareLinkVisitRecordController.java @@ -80,4 +80,4 @@ public class TopicShareLinkVisitRecordController { public Result checkInviteRelationship(@RequestBody SharableTopicAndInviteeFormDTO param){ return new Result().ok(topicShareLinkVisitRecordService.checkInviteRelationship(param)); } -} \ No newline at end of file +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index 6590732567..dd53316d83 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -193,4 +193,5 @@ public interface ResiTopicDao extends BaseDao { */ List selectTopicIdsByGroup(@Param("groupId") String groupId); + List selectIssueIdsByGroupId(@Param("groupId")String groupId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java index 9ffe5d9723..d4088374bb 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java @@ -33,4 +33,22 @@ public interface TopicShareLinkVisitRecordDao extends BaseDao key : new | registered + * @author wangc + * @date 2020.12.21 16:29 + */ + Map getInviter(String invitee,String groupId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java index 9188e81ce7..d4a6dab08b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java @@ -16,6 +16,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -94,4 +95,24 @@ public class TopicShareLinkVisitRecordServiceImpl extends BaseServiceImpl key : new | registered + * @author wangc + * @date 2020.12.21 16:29 + */ + @Override + public Map getInviter(String invitee,String groupId) { + Map result = new HashMap<>(); + String inviterInvitedNewResident = baseDao.selectInviterByNewInvitee(invitee,groupId); + if(StringUtils.isBlank(inviterInvitedNewResident)){ + String inviterInvitedRegisteredResident = baseDao.selectInviterByRegisteredInvitee(invitee,groupId); + if(StringUtils.isNotBlank(inviterInvitedRegisteredResident)) + result.put("registered",inviterInvitedRegisteredResident); + }else + result.put("new",inviterInvitedNewResident); + return result; + } + } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java index bf0c3a741e..37f1a3b290 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/utils/ModuleConstant.java @@ -370,4 +370,14 @@ public interface ModuleConstant extends Constant { String CODE_INVITE_PAGE = "pages/group/group/invitation/invitation"; String TOPIC_CONTENT_AND_VOICE_IS_NULL = "请输入话题内容或语音"; + + /** + * 通过话题分享链接进组 + */ + String ENTER_GROUP_TYPE_TOPIC_LINK = "topic_share_link"; + + /** + * 通过议题分享链接进组 + */ + String ENTER_GROUP_TYPE_ISSUE_LINK = "issue_share_link"; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index f51b0f7216..8107666ae5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -527,5 +527,18 @@ AND GROUP_ID = #{groupId} AND STATUS != 'hidden' + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml index 641a70a031..f596efce4d 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml @@ -14,7 +14,7 @@ AND invitee_user_id = #{invitee} AND - is_invite_register = 0 + is_invite_register = 1 LIMIT 1 @@ -22,7 +22,7 @@ UPDATE topic_share_link_visit_record SET - is_invite_register = '1' + is_invite_register = 0 WHERE del_flag = '0' AND @@ -30,4 +30,35 @@ AND invitee_user_id = #{invitee} + + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java index 273accf305..30b73bd794 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserResiInfoService.java @@ -179,8 +179,8 @@ public interface UserResiInfoService extends BaseService { /** * @Description 在分享链接之后完成注册居民之后调用的接口 * 作用 - * ①给邀请人加积分 - * ②更改邀请浏览记录里"是否通过邀请链接注册居民" + * + * 更改邀请浏览记录里"是否通过邀请链接注册居民" * @param param * @return void * @author wangc diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java index 6b3d31b337..9c973e7b78 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserResiInfoServiceImpl.java @@ -412,8 +412,8 @@ public class UserResiInfoServiceImpl extends BaseServiceImpl response; if(StringUtils.equals(ModuleConstant.SHARABLE_LINK_FROM_ISSUE,param.getLinkType())) - response = govIssueClient.checkInviteRelationship(ConvertUtils.sourceToTarget(param,SharableIssueAndInviteeFormDTO.class)); + govIssueClient.checkInviteRelationship(ConvertUtils.sourceToTarget(param,SharableIssueAndInviteeFormDTO.class)); else - response = resiGroupClient.checkInviteRelationship(ConvertUtils.sourceToTarget(param, SharableTopicAndInviteeFormDTO.class)); - - if(null == response || !response.success() || StringUtils.isBlank(response.getData())){ - //mq的事件类型 - MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); - //事件code - mqBaseMsgDTO.setEventTag(EventEnum.PULL_NEW_RESIDENT.getEventTag()); - List pointEventMsgList = new ArrayList<>(); - BasePointEventMsg pointEventMsg = new BasePointEventMsg(); - pointEventMsg.setCustomerId(userCustomerDao.selectByUserId(response.getData()).getCustomerId()); - pointEventMsg.setUserId(response.getData()); - pointEventMsg.setActionFlag(MqConstant.PLUS); - pointEventMsg.setIsCommon(false); - pointEventMsgList.add(pointEventMsg); - - mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); - Result result= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); - if(!result.success()){ - log.error("拉新用户事件发送失败"); - } - } - + resiGroupClient.checkInviteRelationship(ConvertUtils.sourceToTarget(param, SharableTopicAndInviteeFormDTO.class)); } } From c1ea85d95fe9986ad065de75629f0350842d2eb0 Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 21 Dec 2020 19:03:36 +0800 Subject: [PATCH 036/184] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=82=80=E8=AF=B7=E5=85=A5=E7=BE=A4=E7=A7=AF=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/member/service/impl/ResiGroupMemberServiceImpl.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/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index bb276de989..3d94d2597f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -520,7 +520,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl Date: Tue, 22 Dec 2020 09:21:43 +0800 Subject: [PATCH 037/184] =?UTF-8?q?=E7=BB=93=E6=A1=88=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/ProjectService.java | 13 +++++++++++++ .../epmet/service/impl/ProjectServiceImpl.java | 17 ++++++++++++++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index 3b6a01e5e4..b2d214462a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -242,4 +242,17 @@ public interface ProjectService extends BaseService { * @date 2020.11.13 09:12 */ List listProjectsByCreateTopicUserId(String userId, String customerId, Integer pageNo, Integer pageSize); + + /** + * 项目处理节点附件保存 + * @author zhaoqifeng + * @date 2020/12/22 9:17 + * @param publicFile + * @param internalFile + * @param customerId + * @param projectId + * @param processId + * @return void + */ + void saveFile(List publicFile, List internalFile, String customerId, String projectId, String processId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 23d446b1bf..710411fb77 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -499,7 +499,7 @@ public class ProjectServiceImpl extends BaseServiceImpl publicFile, List internalFile, String customerId, String projectId, String processId) { + /** + * 项目处理节点附件保存 + * @author zhaoqifeng + * @date 2020/12/22 9:18 + * @param publicFile + * @param internalFile + * @param customerId + * @param projectId + * @param processId + * @return void + */ + @Override + public void saveFile(List publicFile, List internalFile, String customerId, String projectId, String processId) { if (CollectionUtils.isNotEmpty(internalFile)) { int i = 0; List list = new ArrayList<>(); From 1772f7aa676eae59a23172aea4e77da3d6f253ce Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 22 Dec 2020 09:37:20 +0800 Subject: [PATCH 038/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=B1=95V2-?= =?UTF-8?q?-=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ProjectProcessAttachmentDao.xml | 3 ++- .../src/main/resources/mapper/ProjectProcessDao.xml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml index a7a58493cc..6effe659a1 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml @@ -16,6 +16,7 @@ FILE_PLACE FROM project_process_attachment WHERE DEL_FLAG = '0' - AND PROJECT_ID = #{projectId} + AND PROJECT_ID = #{projectId} + order by sort \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml index f2bac29d4c..1490ed16b5 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml @@ -96,6 +96,7 @@ INTERNAL_REMARK FROM project_process WHERE DEL_FLAG = '0' - AND PROJECT_ID = #{projectId} + AND PROJECT_ID = #{projectId} + order by created_time desc \ No newline at end of file From ffa49475fcd35b7d0085e4760ff4f6bf2fabe133 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 22 Dec 2020 09:46:50 +0800 Subject: [PATCH 039/184] =?UTF-8?q?=E8=BD=AC=E5=85=B6=E4=BB=96=E9=83=A8?= =?UTF-8?q?=E9=97=A8V2=E3=80=81sql=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/ProjectProcessAttachmentDTO.java | 2 +- .../com/epmet/dto/form/TransferFormDTO.java | 8 + .../controller/ProjectTraceController.java | 15 ++ .../ProjectProcessAttachmentEntity.java | 2 +- .../excel/ProjectProcessAttachmentExcel.java | 2 +- .../epmet/service/ProjectProcessService.java | 8 + .../impl/ProjectProcessServiceImpl.java | 164 ++++++++++++++++++ .../V0.0.5__create_project_attachment.sql | 41 +++++ 8 files changed, 239 insertions(+), 3 deletions(-) create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java index e149c211ca..08613dc2d2 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java @@ -89,7 +89,7 @@ public class ProjectProcessAttachmentDTO implements Serializable { private String attachmentUrl; /** - * 排序(按文件所属节点的所属位置分组,在按文件类型排序) + * 排序(需求确定,按上传顺序排序) */ private Integer sort; diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java index 9d078a27b5..4b9718122c 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/TransferFormDTO.java @@ -32,5 +32,13 @@ public class TransferFormDTO implements Serializable { @Valid private List staffList; + /** + * 公开答复对应文件集合 + */ + private List publicFile; + /** + * 内部备注对应文件集合 + */ + private List internalFile; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index d0c1124bdc..7ce5869bbe 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -279,5 +279,20 @@ public class ProjectTraceController { ValidatorUtils.validateEntity(formDTO, ProcessListV2FormDTO.ProcessListV2Form.class); return new Result>().ok(projectTraceService.processListV2(formDTO)); } + + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-转其他部门2.0接口 + **/ + @PostMapping("transfer-v2") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER) + public Result transferV2(@LoginUser TokenDto tokenDTO, @RequestBody TransferFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + projectProcessService.transferV2(formDTO); + return new Result(); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java index aa82b11777..276bd9ea1f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java @@ -89,7 +89,7 @@ public class ProjectProcessAttachmentEntity extends BaseEpmetEntity { private String attachmentUrl; /** - * 排序(按文件所属节点的所属位置分组,在按文件类型排序) + * 排序(需求确定,按上传顺序排序) */ private Integer sort; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java index 150132c106..38f5fb15f9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java @@ -64,7 +64,7 @@ public class ProjectProcessAttachmentExcel { @Excel(name = "url地址") private String attachmentUrl; - @Excel(name = "排序(按文件所属节点的所属位置分组,在按文件类型排序)") + @Excel(name = "排序(需求确定,按上传顺序排序)") private Integer sort; @Excel(name = "语音或视频时长,秒") diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java index 59f41ab307..3a7643f3a5 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectProcessService.java @@ -151,4 +151,12 @@ public interface ProjectProcessService extends BaseService **/ List selectResponseTrace(List projects); + /** + * @param formDTO + * @return + * @Author sun + * @Description 项目跟踪-转其他部门2.0接口 + **/ + void transferV2(TransferFormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 759d57bcb2..0bf154cd54 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -521,4 +521,168 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); + } + } + } + + //1:更新项目人员关联表数据状态为已处理 + ProjectStaffEntity staffEntity = projectStaffDao.selectById(formDTO.getProjectStaffId()); + if (null == staffEntity) { + throw new RenException(ProjectConstant.SELECT_PROJECTSTAFF_EXCEPTION); + } + if (!ProjectConstant.UNHANDLED.equals(staffEntity.getIsHandle())) { + throw new RenException(ProjectConstant.UNHANDLED_EXCEPTION); + } + staffEntity.setIsHandle(ProjectConstant.HANDLE); + if (projectStaffDao.updateById(staffEntity) < NumConstant.ONE) { + throw new RenException(ProjectConstant.UPDATE_PROJECTSTAFF_EXCEPTION); + } + + //2:项目处理进展列表新增数据 + ProjectProcessEntity processEntity = ConvertUtils.sourceToTarget(formDTO, ProjectProcessEntity.class); + processEntity.setCustomerId(staffEntity.getCustomerId()); + processEntity.setDepartmentName(staffEntity.getDepartmentName()); + processEntity.setStaffId(staffEntity.getStaffId()); + processEntity.setOperation(ProjectConstant.OPERATION_TRANSFER); + processEntity.setOperationName(ProjectConstant.OPERATION_TRANSFER_NAME); + processEntity.setAgencyId(staffEntity.getOrgId()); + processEntity.setDepartmentId(staffEntity.getDepartmentId()); + processEntity.setGridId(staffEntity.getGridId()); + processEntity.setOrgIdPath(staffEntity.getOrgIdPath()); + projectProcessDao.insert(processEntity); + //2-1.项目附件表新增数据 + if (formDTO.getPublicFile().size() > NumConstant.ZERO || formDTO.getInternalFile().size() > NumConstant.ZERO) { + projectService.saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), staffEntity.getCustomerId(), formDTO.getProjectId(), processEntity.getId()); + } + + //3:项目人员关联表新增部门流转数据 + List staffList = formDTO.getStaffList(); + if (null == staffList || staffList.size() < NumConstant.ONE) { + throw new RenException(ProjectConstant.DATE_EXCEPTION); + } + //3.1:调用gov-org服务,获取所有勾选人员对应的组织信息、部门信息、网格信息用于对处理部门和ORG_ID_PATH字段的赋值 + List agencyIdList = staffList.stream().map(TickStaffFormDTO::getAgencyId).collect(Collectors.toList()); + agencyIdList = new ArrayList(new LinkedHashSet<>(agencyIdList));agencyIdList.removeAll(Collections.singleton("")); + List deptIdList = staffList.stream().map(TickStaffFormDTO::getDepartmentId).collect(Collectors.toList()); + deptIdList = new ArrayList(new LinkedHashSet<>(deptIdList));deptIdList.removeAll(Collections.singleton("")); + List gridIdList = staffList.stream().map(TickStaffFormDTO::getGridId).collect(Collectors.toList()); + gridIdList = new ArrayList(new LinkedHashSet<>(gridIdList));gridIdList.removeAll(Collections.singleton("")); + AgencyDeptGridFormDTO agencyDeptGridFormDTO = new AgencyDeptGridFormDTO(); + agencyDeptGridFormDTO.setAgencyIdList(agencyIdList); + agencyDeptGridFormDTO.setDeptIdList(deptIdList); + agencyDeptGridFormDTO.setGridIdList(gridIdList); + Result resultDTO = govOrgFeignClient.getAgencyDeptGridList(agencyDeptGridFormDTO); + if (!resultDTO.success() || null == resultDTO.getData()) { + throw new RenException(ProjectConstant.SELECT_GOV_ORG_EXCEPTION); + } + AgencyDeptGridResultDTO agencyDeptGrid = resultDTO.getData(); + //3.2:批量新增项目人员关联表数据 + List entityList = new ArrayList<>(); + staffList.forEach(ts->{ + ProjectStaffEntity entity = ConvertUtils.sourceToTarget(ts, ProjectStaffEntity.class); + entity.setOrgId(ts.getAgencyId()); + entity.setProjectId(formDTO.getProjectId()); + entity.setProcessId(processEntity.getId()); + entity.setIsHandle(ProjectConstant.UNHANDLED); + agencyDeptGrid.getAgencyList().forEach(agency->{ + if (ts.getAgencyId().equals(agency.getId())) { + entity.setCustomerId(agency.getCustomerId()); + entity.setOrgIdPath(("".equals(agency.getPids()) ? "" : agency.getPids() + ":") + agency.getId()); + entity.setDepartmentName(agency.getOrganizationName()); + } + }); + if (StringUtils.isNotBlank(ts.getDepartmentId())) { + agencyDeptGrid.getDeptList().forEach(dept -> { + if (ts.getDepartmentId().equals(dept.getId())) { + entity.setDepartmentName(entity.getDepartmentName() + "-" + dept.getDepartmentName()); + } + }); + } + if (StringUtils.isNotBlank(ts.getGridId())) { + agencyDeptGrid.getGridList().forEach(grid -> { + if (ts.getGridId().equals(grid.getId())) { + entity.setDepartmentName(entity.getDepartmentName() + "-" + grid.getGridName()); + } + }); + } + entityList.add(entity); + }); + projectStaffService.insertBatch(entityList); + + //3.3 项目机关历时关系 project_org_relation 更新原来的 + ProjectOrgRelationEntity orientRelation = relationDao.selectByProjectStaffId(staffEntity.getId()); + if(null == orientRelation){ + log.error("com.epmet.service.impl.ProjectProcessServiceImpl.transfer,找不到项目节点机关历时记录,参数:{}",JSON.toJSONString(formDTO)); + } + Date current = new Date(); + WorkMinuteFormDTO timeParam = new WorkMinuteFormDTO(); + timeParam.setIfPrecise(ProjectConstant.IMPRECISE_CALCULATION); + timeParam.setIfCustom(ProjectConstant.CALCULATION_TYPE_DEFAULT); + TimestampIntervalFormDTO interval = new TimestampIntervalFormDTO(orientRelation.getProjectStaffId(),orientRelation.getInformedDate(),current); + List intervalList = new LinkedList<>();intervalList.add(interval); + timeParam.setTimeList(intervalList); + Result> timeResult = epmetCommonServiceOpenFeignClient.workMinutes(timeParam); + + if(timeResult.success() && !CollectionUtils.isEmpty(timeResult.getData()) && null != timeResult.getData().get(staffEntity.getId())){ + + ProjectOrgRelationEntity relationDto = new ProjectOrgRelationEntity(); + relationDto.setProjectStaffId(orientRelation.getProjectStaffId()); + relationDto.setHandledDate(current); + relationDto.setTotalPeriod(timeResult.getData().get(staffEntity.getId())); + relationDto.setOperation(ProjectConstant.OPERATION_TRANSFER); + if(null == orientRelation.getFirstDealtDate()){ + relationDto.setFirstDealtDate(current); + relationDto.setFirstReplyPeriod(relationDto.getTotalPeriod()); + } + relationDao.maintainTimePropertyConsistency(relationDto); + }else{ + log.error("com.epmet.service.impl.ProjectProcessServiceImpl.transfer,计算节点耗时失败,参数:{}", JSON.toJSONString(timeParam)); + throw new RenException("计算节点耗时失败"); + } + + //3.4 项目机关历时关系 project_org_relation 插入新增的 + List relationList = new LinkedList<>(); + entityList.forEach(staff -> { + ProjectOrgRelationEntity relation = new ProjectOrgRelationEntity(); + relation.setProjectStaffId(staff.getId()); + relation.setInformedDate(current); + relation.setSourceOperation(ProjectConstant.OPERATION_TRANSFER); + relationList.add(relation); + }); + relationDao.insertBatch(relationList); + + //4:调用epmet-message服务,给项目流转过程中的工作人员发送消息 + if (!transferMessage(formDTO).success()) { + throw new RenException(ProjectConstant.SAVE_MSG_EXCEPTION); + } + + //5:调用epmet-message服务,给项目流转过程中的工作人员发送订阅的微信消息 + if (!transferWxmpMessage(formDTO).success()) { + logger.error("项目流转,推送微信订阅消息失败"); + //throw new RenException(ProjectConstant.SAVE_WXMP_MSG_EXCEPTION); + } + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql new file mode 100644 index 0000000000..6dd706bf39 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql @@ -0,0 +1,41 @@ + +CREATE TABLE `project_process_attachment` ( + `ID` varchar(64) NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `PROJECT_ID` varchar(64) NOT NULL COMMENT '项目ID', + `PROCESS_ID` varchar(64) NOT NULL COMMENT '项目进展表ID', + `FILE_PLACE` varchar(64) NOT NULL COMMENT '文件所属位置(内部备注: internal 公开答复:public)', + `FILE_NAME` varchar(255) DEFAULT NULL COMMENT '文件名', + `ATTACHMENT_NAME` varchar(255) DEFAULT NULL COMMENT '附件名(uuid随机生成)', + `ATTACHMENT_SIZE` int(11) DEFAULT NULL COMMENT '文件大小', + `ATTACHMENT_FORMAT` varchar(64) DEFAULT NULL COMMENT '文件格式(JPG、PNG、JPEG、BMP、GIF、PDF、PPT、PPTX、DOC、DOCX、XLS、XLSX、MP3、WMA、M4A、MP4、AVI、MOV、RMVB、RM、WMV)', + `ATTACHMENT_TYPE` varchar(64) DEFAULT NULL COMMENT '文件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', + `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT 'url地址', + `SORT` int(11) NOT NULL COMMENT '排序(需求确定,按上传顺序排序)', + `DURATION` int(11) unsigned zerofill DEFAULT '00000000000' COMMENT '语音或视频时长,秒', + `IS_RELEASE` int(1) NOT NULL DEFAULT '0' COMMENT '是否强制发布(0:否 1:是)', + `DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目节点附件表'; + +CREATE TABLE `project_process_scan_task` ( + `ID` varchar(64) NOT NULL COMMENT '唯一标识', + `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', + `PROJECT_ID` varchar(64) NOT NULL COMMENT '项目ID', + `PROCESS_ID` varchar(64) NOT NULL COMMENT '项目进展表(project_process)ID', + `PROJECT_PROCESS_ATTACHMENT_ID` varchar(64) NOT NULL COMMENT '项目附件表主键,对应dataId', + `TASK_ID` varchar(64) NOT NULL COMMENT '阿里云审核任务Id', + `STATUS` varchar(32) NOT NULL COMMENT '审核状态【auditing: 审核中;\r\nauto_passed: 自动通过;\r\nreview:结果不确定,需要人工审核;\r\nblock: 结果违规;】', + `ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型(视频 - video、 语音 - voice 文件 - doc)', + `DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', + `REVISION` int(11) NOT NULL COMMENT '乐观锁', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目节点附件安全校验任务表'; From 0181ebffd640edad19c538a638e82946f2abfd4e Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 22 Dec 2020 09:47:50 +0800 Subject: [PATCH 040/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=B1=95V2-?= =?UTF-8?q?-=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/constant/ProjectConstant.java | 2 ++ .../java/com/epmet/service/impl/ProjectTraceServiceImpl.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index a1a8259b48..c883ad7153 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -156,4 +156,6 @@ public interface ProjectConstant { String PUBLIC = "public"; String INTERNAL = "internal"; + + String NOT_EXIST_PROJECT = "未查询带此项目信息......"; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index b378c67891..8ea152b030 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -15,6 +15,7 @@ import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; import com.epmet.service.ProjectStaffService; import com.epmet.service.ProjectTraceService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -30,6 +31,7 @@ import java.util.stream.Collectors; * @date 2020/5/11 16:35 */ @Service +@Slf4j public class ProjectTraceServiceImpl implements ProjectTraceService { @Autowired private ProjectService projectService; @@ -137,6 +139,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { public List processListV2(ProcessListV2FormDTO formDTO) { List processList = projectProcessDao.selectProcessList(formDTO.getProjectId()); if (CollectionUtils.isEmpty(processList)){ + log.warn(ProjectConstant.NOT_EXIST_PROJECT); return new ArrayList<>(); } List files = attachmentDao.selectAttachByProjectId(formDTO.getProjectId()); From f77706060c9d6808b45682c2e93660d4673b122b Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 22 Dec 2020 09:51:47 +0800 Subject: [PATCH 041/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=B1=95V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/ProjectTraceServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 8ea152b030..ae7f5dbd8e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -137,13 +137,16 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { */ @Override public List processListV2(ProcessListV2FormDTO formDTO) { + // 查询项目进展列表 List processList = projectProcessDao.selectProcessList(formDTO.getProjectId()); if (CollectionUtils.isEmpty(processList)){ log.warn(ProjectConstant.NOT_EXIST_PROJECT); return new ArrayList<>(); } + // 查询进展附件列表 List files = attachmentDao.selectAttachByProjectId(formDTO.getProjectId()); if (!CollectionUtils.isEmpty(files)){ + // 内部附件和公开附件分组 Map> groupByPlace = files.stream().collect(Collectors.groupingBy(PublicAndInternalFileResultDTO::getFilePlace)); List publicFiles = groupByPlace.get(ProjectConstant.PUBLIC); if (!CollectionUtils.isEmpty(publicFiles)){ From 5c0be7dfc14b29020bd60f02b9f70a4730794311 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 22 Dec 2020 10:02:10 +0800 Subject: [PATCH 042/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=80=80=E5=9B=9EV2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/ReturnFromDTO.java | 10 ++ .../controller/ProjectTraceController.java | 12 ++ .../com/epmet/service/ProjectService.java | 6 + .../epmet/service/ProjectTraceService.java | 7 + .../service/impl/ProjectServiceImpl.java | 137 ++++++++++++++++++ .../service/impl/ProjectTraceServiceImpl.java | 12 ++ 6 files changed, 184 insertions(+) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java index 8b36b5ddcd..1bab0fbe08 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ReturnFromDTO.java @@ -5,6 +5,7 @@ import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.List; /** * @author zhaoqifeng @@ -46,4 +47,13 @@ public class ReturnFromDTO implements Serializable { * 部门名 */ private String departmentName; + + /** + * 公开答复对应文件集合 + */ + private List publicFile; + /** + * 内部备注对应文件集合 + */ + private List internalFile; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 7ce5869bbe..568a5b4387 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -294,5 +294,17 @@ public class ProjectTraceController { return new Result(); } + /** + * @param tokenDto fromDTO + * @Description 项目退回V2.0接口 + * @author sun + */ + @PostMapping("return-v2") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_RETURN) + public Result projectReturnV2(@LoginUser TokenDto tokenDto, @RequestBody ReturnFromDTO fromDTO) { + projectTraceService.projectReturnV2(tokenDto, fromDTO); + return new Result(); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index b2d214462a..d407948bd6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -255,4 +255,10 @@ public interface ProjectService extends BaseService { * @return void */ void saveFile(List publicFile, List internalFile, String customerId, String projectId, String processId); + + /** + * @param fromDTO + * @Description 项目退回V2.0接口 + */ + void projectReturnV2(ReturnFromDTO fromDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index 256e595ce6..a7355fec07 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -135,4 +135,11 @@ public interface ProjectTraceService { * @date 2020/12/21 下午3:55 */ List processListV2(ProcessListV2FormDTO formDTO); + + /** + * @param tokenDto fromDTO + * @Description 项目退回V2.0接口 + * @author sun + */ + void projectReturnV2(TokenDto tokenDto, ReturnFromDTO fromDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 710411fb77..e45ce9ac8b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -1623,4 +1623,141 @@ public class ProjectServiceImpl extends BaseServiceImpl textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); + } + } + } + + ProjectEntity projectEntity = baseDao.selectById(fromDTO.getProjectId()); + if (ProjectConstant.CLOSED.equals(projectEntity.getStatus())) { + throw new RenException(EpmetErrorCode.PROJECT_IS_CLOSED.getCode()); + } + + Date current = new Date(); + //更新项目关联表 + ProjectStaffEntity projectStaffEntity = new ProjectStaffEntity(); + projectStaffEntity.setId(fromDTO.getProjectStaffId()); + projectStaffEntity.setIsHandle(ProjectConstant.HANDLE); + projectStaffService.updateById(projectStaffEntity); + + //查找对应的project_staff的信息,为了取出机关的信息,给即将要生成的“退回”节点赋值 + ProjectStaffEntity sourceProjectStaff = projectStaffService.selectById(fromDTO.getProjectStaffId()); + if(null == sourceProjectStaff){ + log.error("com.epmet.service.impl.ProjectServiceImpl.projectReturn,找不到发起退回的项目相关人员的记录,参数:{}",JSON.toJSONString(fromDTO)); + throw new RenException("找不到发起退回的项目相关人员的记录"); + } + + + //结案记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(fromDTO.getProjectId()); + projectProcessEntity.setCustomerId(sourceProjectStaff.getCustomerId()); + projectProcessEntity.setDepartmentName(fromDTO.getDepartmentName()); + projectProcessEntity.setOrgIdPath(sourceProjectStaff.getOrgIdPath()); + projectProcessEntity.setGridId(sourceProjectStaff.getGridId()); + projectProcessEntity.setDepartmentId(sourceProjectStaff.getDepartmentId()); + projectProcessEntity.setAgencyId(sourceProjectStaff.getOrgId()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_RETURN); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_RETURN_NAME); + projectProcessEntity.setPublicReply(fromDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(fromDTO.getInternalRemark()); + projectProcessEntity.setStaffId(fromDTO.getUserId()); + projectProcessService.insert(projectProcessEntity); + + //项目附件表新增数据 sun 2020.12.22 + if (fromDTO.getPublicFile().size() > NumConstant.ZERO || fromDTO.getInternalFile().size() > NumConstant.ZERO) { + saveFile(fromDTO.getPublicFile(), fromDTO.getInternalFile(), sourceProjectStaff.getCustomerId(), fromDTO.getProjectId(), projectProcessEntity.getId()); + }//end + + //将人员关系添加到项目关联表 + ProjectStaffDTO projectStaffDTO = projectStaffService.getProjectStaffInfo(fromDTO.getProjectProcessId()); + ProjectStaffEntity projectStaff = ConvertUtils.sourceToTarget(projectStaffDTO, ProjectStaffEntity.class); + projectStaff.setId(null); + //防止将被退回的项目相关人员节点的创建时间赋值给新增的相关人员节点的创建时间,否则数据统计将出现误差 + projectStaff.setCreatedTime(current); + projectStaff.setUpdatedTime(current); + projectStaff.setProcessId(projectProcessEntity.getId()); + projectStaff.setIsHandle(ProjectConstant.UNHANDLED); + projectStaffService.insert(projectStaff); + + //更新退回发起人的节点耗时记录 + ProjectOrgRelationEntity orientRelation = relationDao.selectByProjectStaffId(fromDTO.getProjectStaffId()); + if(null == orientRelation){ + log.error("com.epmet.service.impl.ProjectServiceImpl.projectReturn,找不到发起退回的项目相关人员的节点耗时记录,参数:{}",JSON.toJSONString(fromDTO)); + throw new RenException("找不到发起退回的项目相关人员的节点耗时记录"); + } + ProjectOrgRelationEntity relationDto = new ProjectOrgRelationEntity(); + relationDto.setProjectStaffId(orientRelation.getProjectStaffId()); + relationDto.setHandledDate(current); + Integer costTime = calculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION, + ProjectConstant.CALCULATION_TYPE_DEFAULT, + orientRelation.getProjectStaffId(), + orientRelation.getInformedDate(), + current); + relationDto.setTotalPeriod(costTime); + relationDto.setOperation(ProjectConstant.OPERATION_RETURN); + if(null == orientRelation.getFirstDealtDate()){ + relationDto.setFirstDealtDate(current); + relationDto.setFirstReplyPeriod(costTime); + } + relationDao.maintainTimePropertyConsistency(relationDto); + + //初始化被退回人的节点耗时记录 + ProjectOrgRelationEntity newRelation = new ProjectOrgRelationEntity(); + newRelation.setProjectStaffId(projectStaff.getId()); + newRelation.setSourceOperation(ProjectConstant.OPERATION_RETURN); + newRelation.setInformedDate(current); + relationDao.insert(newRelation); + + //通知 + List msgList = new ArrayList<>(); + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(projectEntity.getCustomerId()); + messageFormDTO.setApp(ProjectConstant.GOV); + messageFormDTO.setGridId("*"); + messageFormDTO.setUserId(projectStaffDTO.getStaffId()); + messageFormDTO.setTitle(UserMessageConstant.PROJECT_TITLE); + messageFormDTO.setMessageContent(String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, projectEntity.getTitle())); + messageFormDTO.setReadFlag(Constant.UNREAD); + msgList.add(messageFormDTO); + messageFeignClient.saveUserMessageList(msgList); + //2020.10.26 添加项目退回给勾选人推送微信订阅消息 sun + List wxmpMsgList = new ArrayList<>(); + WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); + msg.setCustomerId(projectEntity.getCustomerId()); + msg.setClientType(AppClientConstant.APP_GOV); + msg.setUserId(projectStaffDTO.getStaffId()); + msg.setBehaviorType("项目消息"); + msg.setMessageContent(String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, projectEntity.getTitle())); + msg.setMessageTime(new Date()); + msg.setGridId("*"); + wxmpMsgList.add(msg); + //发送微信订阅消息 sun + logger.info("项目退回,开始推送微信订阅消息"); + Result result = epmetMessageOpenFeignClient.sendWxSubscribeMessage(wxmpMsgList); + if (!result.success()) { + logger.error("项目退回成功,发送微信订阅消息失败" + JSON.toJSONString(result)); + } + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index ae7f5dbd8e..20d24c57e8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -159,4 +159,16 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { } return processList; } + + /** + * @param tokenDto fromDTO + * @Description 项目退回V2.0接口 + * @author sun + */ + @Override + public void projectReturnV2(TokenDto tokenDto, ReturnFromDTO fromDTO) { + fromDTO.setUserId(tokenDto.getUserId()); + projectService.projectReturn(fromDTO); + } + } From 6d7bd70d9e3155d6a5dd8965e1ef4064c8a483e4 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 22 Dec 2020 10:12:39 +0800 Subject: [PATCH 043/184] =?UTF-8?q?=E5=A4=84=E7=90=86=E5=93=8D=E5=BA=94V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/ProjectResponseFormDTO.java | 10 +++ .../controller/ProjectTraceController.java | 13 +++ .../com/epmet/service/ProjectService.java | 7 ++ .../epmet/service/ProjectTraceService.java | 7 ++ .../service/impl/ProjectServiceImpl.java | 80 +++++++++++++++++++ .../service/impl/ProjectTraceServiceImpl.java | 13 ++- 6 files changed, 129 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectResponseFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectResponseFormDTO.java index bd7a69b259..3f7f2a1c13 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectResponseFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectResponseFormDTO.java @@ -5,6 +5,7 @@ import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import java.io.Serializable; +import java.util.List; /** * @author zhaoqifeng @@ -45,4 +46,13 @@ public class ProjectResponseFormDTO implements Serializable { * 部门名 */ private String departmentName; + /** + * 公开答复对应文件集合 + */ + private List publicFile; + /** + * 内部备注对应文件集合 + */ + private List internalFile; + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 568a5b4387..db5d13ab24 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -306,5 +306,18 @@ public class ProjectTraceController { return new Result(); } + /** + * @param tokenDTO fromDTO + * @Description 处理响应V2.0接口 + * @author sun + */ + @PostMapping("response-v2") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_TRACE_TRANSFER) + public Result responseV2(@LoginUser TokenDto tokenDTO, @RequestBody ProjectResponseFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + projectTraceService.responseV2(tokenDTO, formDTO); + return new Result(); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java index d407948bd6..e60657fa26 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java @@ -261,4 +261,11 @@ public interface ProjectService extends BaseService { * @Description 项目退回V2.0接口 */ void projectReturnV2(ReturnFromDTO fromDTO); + + /** + * @param formDTO + * @Description 处理响应V2.0接口 + * @author sun + */ + void responseV2(ProjectResponseFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index a7355fec07..3b5d227ea4 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -142,4 +142,11 @@ public interface ProjectTraceService { * @author sun */ void projectReturnV2(TokenDto tokenDto, ReturnFromDTO fromDTO); + + /** + * @param formDTO + * @Description 处理响应V2.0接口 + * @author sun + */ + void responseV2(TokenDto tokenDto, ProjectResponseFormDTO formDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index e45ce9ac8b..68ed89a39c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -1760,4 +1760,84 @@ public class ProjectServiceImpl extends BaseServiceImpl textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); + } + } + } + + //获取项目相关信息 + ProjectEntity projectEntity = baseDao.selectById(formDTO.getProjectId()); + if (ProjectConstant.CLOSED.equals(projectEntity.getStatus())) { + throw new RenException(EpmetErrorCode.PROJECT_IS_CLOSED.getCode()); + } + ProjectStaffDTO projectStaff = projectStaffService.getLatestIdByProjectIdAndStaffId(formDTO.getProjectId(),formDTO.getUserId()); + if(null == projectStaff){ + log.error("com.epmet.service.impl.ProjectServiceImpl.response,project_staff表中没有与之对应的数据,传参:{}", JSON.toJSONString(formDTO)); + throw new RenException("未找到项目相关人员记录"); + } + if(StringUtils.isBlank(formDTO.getProjectStaffId())){ + formDTO.setProjectStaffId(projectStaff.getId()); + } + + //处理响应记录加入项目进展表 + ProjectProcessEntity projectProcessEntity = new ProjectProcessEntity(); + projectProcessEntity.setProjectId(formDTO.getProjectId()); + projectProcessEntity.setCustomerId(projectStaff.getCustomerId()); + projectProcessEntity.setDepartmentName(formDTO.getDepartmentName()); + projectProcessEntity.setOrgIdPath(projectStaff.getOrgIdPath()); + projectProcessEntity.setGridId(projectStaff.getGridId()); + projectProcessEntity.setDepartmentId(projectStaff.getDepartmentId()); + projectProcessEntity.setAgencyId(projectStaff.getOrgId()); + projectProcessEntity.setOperation(ProjectConstant.OPERATION_RESPONSES); + projectProcessEntity.setOperationName(ProjectConstant.OPERATION_RESPONSES_NAME); + projectProcessEntity.setPublicReply(formDTO.getPublicReply()); + projectProcessEntity.setInternalRemark(formDTO.getInternalRemark()); + projectProcessEntity.setStaffId(formDTO.getUserId()); + projectProcessService.insert(projectProcessEntity); + + //项目附件表新增数据 sun 2020.12.22 + if (formDTO.getPublicFile().size() > NumConstant.ZERO || formDTO.getInternalFile().size() > NumConstant.ZERO) { + saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), projectStaff.getCustomerId(), formDTO.getProjectId(), projectProcessEntity.getId()); + }//end + + //项目节点历时 + ProjectOrgRelationEntity relationEntity = relationDao.selectByProjectStaffId(formDTO.getProjectStaffId()); + if(null != relationEntity){ + ProjectOrgRelationEntity relationDto = new ProjectOrgRelationEntity(); + relationDto.setProjectStaffId(relationEntity.getProjectStaffId()); + if(null == relationEntity.getFirstDealtDate()){ + Date current = new Date(); + relationDto.setFirstDealtDate(current); + relationDto.setFirstReplyPeriod(calculateDelta_T(ProjectConstant.IMPRECISE_CALCULATION, + ProjectConstant.CALCULATION_TYPE_DEFAULT,projectStaff.getId(), + relationEntity.getInformedDate(),current)); + relationDto.setOperation(ProjectConstant.OPERATION_RESPONSES); + relationDao.maintainTimePropertyConsistency(relationDto); + } + }else{ + log.error("com.epmet.service.impl.ProjectServiceImpl#response,没有找到相关的节点耗时记录,参数:{}",JSON.toJSONString(formDTO)); + throw new RenException("没有找到相关的节点耗时记录"); + } + + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 20d24c57e8..f2801b0c25 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -168,7 +168,18 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { @Override public void projectReturnV2(TokenDto tokenDto, ReturnFromDTO fromDTO) { fromDTO.setUserId(tokenDto.getUserId()); - projectService.projectReturn(fromDTO); + projectService.projectReturnV2(fromDTO); + } + + /** + * @param formDTO + * @Description 处理响应V2.0接口 + * @author sun + */ + @Override + public void responseV2(TokenDto tokenDto, ProjectResponseFormDTO formDTO) { + formDTO.setUserId(tokenDto.getUserId()); + projectService.responseV2(formDTO); } } From 456f5851153ee20960e796de0ce37e0d2cb9a41a Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 22 Dec 2020 10:21:03 +0800 Subject: [PATCH 044/184] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E5=85=A5=E7=BE=A4?= =?UTF-8?q?=E5=8F=91=E9=80=81=E7=A7=AF=E5=88=86=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/GovIssueOpenFeignClient.java | 11 ++--- .../GovIssueOpenFeignClientFallBack.java | 6 ++- .../IssueShareLinkVisitRecordController.java | 12 ++--- .../dao/IssueShareLinkVisitRecordDao.java | 22 +++------- .../IssueShareLinkVisitRecordService.java | 8 ++-- .../IssueShareLinkVisitRecordServiceImpl.java | 19 +++----- .../mapper/IssueShareLinkVisitRecordDao.xml | 42 +++--------------- .../impl/ResiGroupMemberServiceImpl.java | 40 +++++++++++------ .../dao/TopicShareLinkVisitRecordDao.java | 28 +++++------- .../TopicShareLinkVisitRecordService.java | 11 ++--- .../TopicShareLinkVisitRecordServiceImpl.java | 19 +++----- .../topic/TopicShareLinkVisitRecordDao.xml | 44 ++++++------------- 12 files changed, 99 insertions(+), 163 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index 39253684cc..3c4239eb6c 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -4,6 +4,7 @@ import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.IssueDTO; import com.epmet.dto.IssueApplicationDTO; +import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.dto.IssueSuggestionDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -225,12 +226,12 @@ public interface GovIssueOpenFeignClient { Result checkInviteRelationship(@RequestBody SharableIssueAndInviteeFormDTO param); /** - * @Description 通过被邀请人锁定其是通过哪一条链接进的组,查询出该链接的邀请人Id - * @param invitee - * @return Map key : new | registered + * @Description 通过链接Id查询分享人和被邀请人的信息 + * @param + * @return * @author wangc * @date 2020.12.21 16:27 */ - @PostMapping("/gov/issue/issuesharelinkvisitrecord/inviter") - Result> inviter(@RequestParam("invitee")String invitee,@RequestParam("issues")List issues); + @PostMapping("/gov/issue/issuesharelinkvisitrecord/visitrecord") + Result visitRecord(@RequestParam("linkId")String linkId,@RequestParam("invitee")String invitee); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 2916fd9e85..3189da2461 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -5,6 +5,7 @@ import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.IssueDTO; import com.epmet.dto.IssueApplicationDTO; +import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.dto.IssueSuggestionDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; @@ -20,6 +21,7 @@ import com.epmet.resi.group.dto.group.result.*; import com.epmet.resi.mine.dto.from.MyShiftIssueTopicsFormDTO; import com.epmet.resi.mine.dto.result.MyShiftIssueTopicsResultDTO; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; import java.util.Map; @@ -200,7 +202,7 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient } @Override - public Result> inviter(String invitee,List issues) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "inviter", invitee,issues); + public Result visitRecord(String linkId,String invitee) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "visitRecord", linkId,invitee); } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java index 754b8767d8..64f90774fb 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkVisitRecordController.java @@ -85,14 +85,14 @@ public class IssueShareLinkVisitRecordController { } /** - * @Description 通过被邀请人锁定其是通过哪一条链接进的组,查询出该链接的邀请人Id - * @param invitee - * @return Map key : new | registered + * @Description 通过链接Id查询分享人和被邀请人的信息 + * @param + * @return * @author wangc * @date 2020.12.21 16:27 */ - @PostMapping("inviter") - public Result> inviter(@RequestParam("invitee")String invitee,@RequestParam("issues") List issues){ - return new Result>().ok(issueShareLinkVisitRecordService.getInviter(invitee,issues)); + @PostMapping("visitrecord") + public Result visitRecord(@RequestParam("linkId")String linkId,@RequestParam("invitee")String invitee){ + return new Result().ok(issueShareLinkVisitRecordService.getVisitRecord(linkId,invitee)); } } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java index cc91b19799..a23b73a03c 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueShareLinkVisitRecordDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.entity.IssueShareLinkVisitRecordEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -54,22 +55,11 @@ public interface IssueShareLinkVisitRecordDao extends BaseDao issues); - - /** - * @Description 通过被邀请人锁定其是通过哪一条链接进的组,查询出该链接的邀请人Id - * @param invitee - * @param issues 同一个组下的所有议题Id - * @return java.lang.String - * @author wangc - * @date 2020.12.21 16:27 - */ - String selectInviterByRegisteredInvitee(@Param("invitee") String invitee,@Param("issues") List issues); + IssueShareLinkVisitRecordDTO selectRecordByLinkIdAndInvitee(@Param("linkId") String linkId, @Param("invitee") String invitee); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java index b4c29b8f3f..2f1becfbe2 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueShareLinkVisitRecordService.java @@ -103,11 +103,11 @@ public interface IssueShareLinkVisitRecordService extends BaseService key : new | registered + * @Description 通过链接Id查询分享人和被邀请人的信息 + * @param + * @return * @author wangc * @date 2020.12.21 16:27 */ - Map getInviter(String invitee,List issues); + IssueShareLinkVisitRecordDTO getVisitRecord(String linkId,String invitee); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java index 0039e0e17c..cbefa389e9 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueShareLinkVisitRecordServiceImpl.java @@ -113,23 +113,14 @@ public class IssueShareLinkVisitRecordServiceImpl extends BaseServiceImpl key : new | registered + * @Description 通过链接Id查询分享人和被邀请人的信息 + * @param + * @return * @author wangc * @date 2020.12.21 16:27 */ @Override - public Map getInviter(String invitee,List issues) { - Map result = new HashMap<>(); - String inviterInvitedNewResident = baseDao.selectInviterByNewInvitee(invitee,issues); - if(StringUtils.isNotBlank(inviterInvitedNewResident)) result.put("new",inviterInvitedNewResident); - else{ - String inviterInvitedRegisteredResident = baseDao.selectInviterByRegisteredInvitee(invitee,issues); - if(StringUtils.isNotBlank(inviterInvitedRegisteredResident)) result.put("registered",inviterInvitedRegisteredResident); - } - - return result; + public IssueShareLinkVisitRecordDTO getVisitRecord(String linkId, String invitee) { + return baseDao.selectRecordByLinkIdAndInvitee(linkId, invitee); } - } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml index ee41fc5bb7..b91f65bba4 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueShareLinkVisitRecordDao.xml @@ -31,45 +31,17 @@ invitee_user_id = #{invitee} - SELECT - visit.share_user_id - FROM issue_share_link_visit_record visit - INNER JOIN issue_share_link_record link - ON visit.shareLinkRecId = link.ID AND link.del_flag = '0' - - link.issue_id = #{issueId} - - INNER - WHERE - visit.del_flag = '0' - AND - visit.invitee_user_id = #{invitee} - AND - visit.is_invite_register = 0 - AND - visit.if_join_group = 1 - LIMIT 1 - - - \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 3d94d2597f..6ea30b293a 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -32,6 +32,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.SendMqMsgUtils; import com.epmet.constant.ReadFlagConstant; +import com.epmet.dto.IssueShareLinkVisitRecordDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.EpmetMessageOpenFeignClient; @@ -51,6 +52,7 @@ import com.epmet.modules.member.redis.ResiGroupMemberRedis; import com.epmet.modules.member.service.GroupMemeberOperationService; import com.epmet.modules.member.service.ResiGroupMemberService; import com.epmet.modules.topic.dao.ResiTopicDao; +import com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity; import com.epmet.modules.topic.service.ResiTopicService; import com.epmet.modules.topic.service.TopicShareLinkVisitRecordService; import com.epmet.modules.utils.ModuleConstant; @@ -116,8 +118,6 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl inviterMap = null; + String inviter = null; + boolean isNew = false; + //通过链接和访问记录查询出被邀请人是新用户还是已注册用户 if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_TOPIC_LINK)){ - inviterMap = topicShareLinkVisitRecordService.getInviter(groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupId()); + TopicShareLinkVisitRecordEntity visitRecord = topicShareLinkVisitRecordService.getByLinkIdAndInvitee(groupMemeberOperationDTO.getGroupInvitationId(), groupMemeberOperationDTO.getCustomerUserId()); + if(null == visitRecord){ + logger.error("【%s】该用户入组方式为话题分享链接入组,但未查询到链接访问方式记录,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); + return; + } + if(NumConstant.ZERO == visitRecord.getIsInviteRegister()) isNew = true; + inviter = visitRecord.getShareUserId(); }else if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_ISSUE_LINK)){ - List issues = topicDao.selectIssueIdsByGroupId(groupMemeberOperationDTO.getGroupId()); - if(!CollectionUtils.isEmpty(issues)){ - Result> inviterResult = issueClient.inviter(groupMemeberOperationDTO.getCustomerUserId(),issues); - if(inviterResult.success() && !CollectionUtils.isEmpty(inviterResult.getData())) inviterMap = inviterResult.getData(); + Result response = issueClient.visitRecord(groupMemeberOperationDTO.getGroupInvitationId(), groupMemeberOperationDTO.getCustomerUserId()); + if(response.success() && null != response){ + if(NumConstant.ONE != response.getData().getIfJoinGroup()){ + logger.error("【%s】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); + return; + } + if(NumConstant.ZERO == response.getData().getIsInviteRegister()) isNew = true; + inviter = response.getData().getShareUserId(); + }else{ + logger.error("【%s】该用户入组方式为议题分享链接入组,但未查询到链接访问方式记录,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); + return; } - } - if(!CollectionUtils.isEmpty(inviterMap)){ - //groupMemeberOperationDTO.getCreatedTime() - - boolean isNew = StringUtils.isBlank(inviterMap.get("new")); - + if(StringUtils.isNotBlank(inviter)){ //mq的事件类型 MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); //事件code @@ -517,7 +529,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); pointEventMsg.setCustomerId(groupCache.getCustomerId()); - pointEventMsg.setUserId(isNew ? inviterMap.get("new") : inviterMap.get("register")); + pointEventMsg.setUserId(inviter); pointEventMsg.setActionFlag(MqConstant.PLUS); pointEventMsg.setIsCommon(false); pointEventMsg.setTargetDate(groupMemeberOperationDTO.getCreatedTime()); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java index d4088374bb..a59d4427a0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/TopicShareLinkVisitRecordDao.java @@ -23,6 +23,16 @@ public interface TopicShareLinkVisitRecordDao extends BaseDao key : new | registered + * @return com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity * @author wangc - * @date 2020.12.21 16:29 - */ - Map getInviter(String invitee,String groupId); + * @date 2020.12.22 09:20 + */ + TopicShareLinkVisitRecordEntity getByLinkIdAndInvitee(String linkId,String invitee); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java index d4a6dab08b..34d9be5bb5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/TopicShareLinkVisitRecordServiceImpl.java @@ -96,23 +96,16 @@ public class TopicShareLinkVisitRecordServiceImpl extends BaseServiceImpl key : new | registered + * @return com.epmet.modules.topic.entity.TopicShareLinkVisitRecordEntity * @author wangc - * @date 2020.12.21 16:29 + * @date 2020.12.22 09:20 */ @Override - public Map getInviter(String invitee,String groupId) { - Map result = new HashMap<>(); - String inviterInvitedNewResident = baseDao.selectInviterByNewInvitee(invitee,groupId); - if(StringUtils.isBlank(inviterInvitedNewResident)){ - String inviterInvitedRegisteredResident = baseDao.selectInviterByRegisteredInvitee(invitee,groupId); - if(StringUtils.isNotBlank(inviterInvitedRegisteredResident)) - result.put("registered",inviterInvitedRegisteredResident); - }else - result.put("new",inviterInvitedNewResident); - return result; + public TopicShareLinkVisitRecordEntity getByLinkIdAndInvitee(String linkId, String invitee) { + return baseDao.selectRecordByLinkIdAndInvitee(linkId,invitee); } } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml index f596efce4d..01343324ee 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/TopicShareLinkVisitRecordDao.xml @@ -18,47 +18,29 @@ LIMIT 1 - - UPDATE - topic_share_link_visit_record - SET - is_invite_register = 0 + - SELECT - visit.share_user_id - FROM topic_share_link_visit_record visit - INNER JOIN topic_share_link_record link - ON visit.share_link_rec_id = link.ID AND link.del_flag = '0' AND link.group_id = #{groupId} - WHERE - visit.del_flag = '0' - AND - visit.invitee_user_id = #{invitee} - AND - visit.is_invite_register = 0 LIMIT 1 - + invitee_user_id = #{invitee} + \ No newline at end of file From a665b931206c1f792e11938f64a54f0811388149 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 22 Dec 2020 10:23:50 +0800 Subject: [PATCH 045/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=B1=95V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ProjectProcessDao.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml index 1490ed16b5..27bb86c807 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessDao.xml @@ -91,6 +91,7 @@ PROJECT_ID, ID AS processId, OPERATION_NAME AS processName, + UNIX_TIMESTAMP(created_time) AS processTime, DEPARTMENT_NAME, PUBLIC_REPLY, INTERNAL_REMARK From 1940e5739c22209716d40690a64e80f761cbd77c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 22 Dec 2020 14:15:12 +0800 Subject: [PATCH 046/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=B1=95V2-?= =?UTF-8?q?-=E4=BF=AE=E6=94=B9=E8=A7=86=E9=A2=91/=E9=9F=B3=E9=A2=91?= =?UTF-8?q?=E6=97=B6=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/result/PublicAndInternalFileResultDTO.java | 4 ++-- .../src/main/resources/mapper/ProjectProcessAttachmentDao.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java index b51747cc3b..1011a51487 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java @@ -42,7 +42,7 @@ public class PublicAndInternalFileResultDTO implements Serializable { /** * 语音或视频文件时长,单位秒 */ - private Long duration; + private Integer duration; @JsonIgnore private String processId; @@ -56,6 +56,6 @@ public class PublicAndInternalFileResultDTO implements Serializable { this.type = ""; this.format = ""; this.size = 0; - this.duration = 0L; + this.duration = 0; } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml index 6effe659a1..93fc899263 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml @@ -10,8 +10,8 @@ ATTACHMENT_URL AS url, ATTACHMENT_TYPE AS type, ATTACHMENT_FORMAT AS format, - ATTACHMENT_SIZE AS size, - DURATION, + IFNULL(ATTACHMENT_SIZE,0) AS size, + IFNULL(DURATION,0) AS duration, PROCESS_ID, FILE_PLACE FROM project_process_attachment From 27b5fc866b8484bbc39b1ad14cc6fe571d2397aa Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 22 Dec 2020 14:29:54 +0800 Subject: [PATCH 047/184] =?UTF-8?q?=E5=A4=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.5__create_project_attachment.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql index 6dd706bf39..9e5d387472 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql @@ -7,7 +7,7 @@ CREATE TABLE `project_process_attachment` ( `FILE_PLACE` varchar(64) NOT NULL COMMENT '文件所属位置(内部备注: internal 公开答复:public)', `FILE_NAME` varchar(255) DEFAULT NULL COMMENT '文件名', `ATTACHMENT_NAME` varchar(255) DEFAULT NULL COMMENT '附件名(uuid随机生成)', - `ATTACHMENT_SIZE` int(11) DEFAULT NULL COMMENT '文件大小', + `ATTACHMENT_SIZE` int(11) DEFAULT NULL COMMENT '文件大小,单位b', `ATTACHMENT_FORMAT` varchar(64) DEFAULT NULL COMMENT '文件格式(JPG、PNG、JPEG、BMP、GIF、PDF、PPT、PPTX、DOC、DOCX、XLS、XLSX、MP3、WMA、M4A、MP4、AVI、MOV、RMVB、RM、WMV)', `ATTACHMENT_TYPE` varchar(64) DEFAULT NULL COMMENT '文件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT 'url地址', From ee3d9c104fe8a8ce006dfcd4ab686097eaab7ff3 Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 22 Dec 2020 15:08:07 +0800 Subject: [PATCH 048/184] =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E7=94=B3=E8=AF=B7=E5=85=A5=E7=BE=A4=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/IssueShareLinkVisitRecordDTO.java | 2 +- .../epmet/feign/GovIssueOpenFeignClient.java | 15 +- .../GovIssueOpenFeignClientFallBack.java | 10 +- .../IssueShareLinkRecordController.java | 12 + .../IssueShareLinkVisitRecordEntity.java | 2 +- .../form/JoinGroupByShareLinkFormDTO.java | 32 +++ .../JoinGroupApplyRealTimeResultDTO.java | 21 ++ .../service/GroupInvitationService.java | 1 + .../impl/GroupInvitationServiceImpl.java | 4 + .../controller/ResiGroupMemberController.java | 16 ++ .../service/GroupMemeberOperationService.java | 11 + .../service/ResiGroupMemberService.java | 11 + .../GroupMemeberOperationServiceImpl.java | 248 +++++++++++++++++- .../impl/ResiGroupMemberServiceImpl.java | 8 +- .../epmet/modules/topic/dao/ResiTopicDao.java | 2 +- .../resources/mapper/topic/ResiTopicDao.xml | 9 +- 16 files changed, 382 insertions(+), 22 deletions(-) create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/JoinGroupByShareLinkFormDTO.java create mode 100644 epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/JoinGroupApplyRealTimeResultDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java index f96068a38b..3ed4db4260 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/IssueShareLinkVisitRecordDTO.java @@ -66,7 +66,7 @@ public class IssueShareLinkVisitRecordDTO implements Serializable { /** * 是否同意进组,1是0否,在注册完居民之后,是否同意入组,如果同意发送入组申请,不同意此项默认为0 */ - private Integer ifJoinGroup; + private Boolean ifJoinGroup; /** * 删除状态,0:正常,1:删除 diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index 3c4239eb6c..8f04ff87b0 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -2,10 +2,7 @@ package com.epmet.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.IssueDTO; -import com.epmet.dto.IssueApplicationDTO; -import com.epmet.dto.IssueShareLinkVisitRecordDTO; -import com.epmet.dto.IssueSuggestionDTO; +import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.fallback.GovIssueOpenFeignClientFallBack; @@ -234,4 +231,14 @@ public interface GovIssueOpenFeignClient { */ @PostMapping("/gov/issue/issuesharelinkvisitrecord/visitrecord") Result visitRecord(@RequestParam("linkId")String linkId,@RequestParam("invitee")String invitee); + + /** + * @Description 根据议题分享链接Id查询链接详情 + * @param shareLinkId + * @return com.epmet.commons.tools.utils.Result + * @author wangc + * @date 2020.12.22 10:53 + */ + @PostMapping("/gov/issue/issuesharelink/sharelinkinfo") + Result shareLinkInfo(@RequestParam String shareLinkId); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 3189da2461..50e37286e5 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -3,10 +3,7 @@ package com.epmet.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.IssueDTO; -import com.epmet.dto.IssueApplicationDTO; -import com.epmet.dto.IssueShareLinkVisitRecordDTO; -import com.epmet.dto.IssueSuggestionDTO; +import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.GovIssueOpenFeignClient; @@ -205,4 +202,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result visitRecord(String linkId,String invitee) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "visitRecord", linkId,invitee); } + + @Override + public Result shareLinkInfo(String shareLinkId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "shareLinkInfo", shareLinkId); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java index 055333c0a5..180c745b20 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueShareLinkRecordController.java @@ -113,4 +113,16 @@ public class IssueShareLinkRecordController { return new Result().ok(issueShareLinkRecordService.issueVisit(formDTO,tokenDto)); } + /** + * @Description 根据议题分享链接Id查询链接详情 + * @param shareLinkId + * @return com.epmet.commons.tools.utils.Result + * @author wangc + * @date 2020.12.22 10:53 + */ + @PostMapping("sharelinkinfo") + public Result shareLinkInfo(@RequestParam String shareLinkId){ + return null; + } + } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java index 5860799b54..b4cea0c628 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/entity/IssueShareLinkVisitRecordEntity.java @@ -66,5 +66,5 @@ public class IssueShareLinkVisitRecordEntity extends BaseEpmetEntity { /** * 是否同意进组,1是0否,在注册完居民之后,是否同意入组,如果同意发送入组申请,不同意此项默认为0 */ - private Integer ifJoinGroup; + private Boolean ifJoinGroup; } diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/JoinGroupByShareLinkFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/JoinGroupByShareLinkFormDTO.java new file mode 100644 index 0000000000..86740bcb0e --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/form/JoinGroupByShareLinkFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.resi.group.dto.member.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 通过链接入组申请传参DTO + * @ClassName JoinGroupByShareLinkFormDTO + * @Auth wangc + * @Date 2020-12-22 10:34 + */ +@Data +public class JoinGroupByShareLinkFormDTO implements Serializable { + private static final long serialVersionUID = -4402483318595770636L; + + /** + * 分享链接Id + */ + @NotBlank(message = "分享链接Id不能为空") + private String shareLinkId; + + /** + * topic | issue + */ + @NotBlank(message = "链接类型不能为空") + private String shareLinkType; + + @NotBlank(message = "用户Id不能为空") + private String userId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/JoinGroupApplyRealTimeResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/JoinGroupApplyRealTimeResultDTO.java new file mode 100644 index 0000000000..986372b1c0 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/member/result/JoinGroupApplyRealTimeResultDTO.java @@ -0,0 +1,21 @@ +package com.epmet.resi.group.dto.member.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 申请入群实时结果 + * @ClassName JoinGroupApplyRealTimeResultDTO + * @Auth wangc + * @Date 2020-12-22 10:32 + */ +@Data +public class JoinGroupApplyRealTimeResultDTO implements Serializable { + private static final long serialVersionUID = 6251288539242747659L; + + /** + * entered(已入组) auditing(审核中) + */ + private String status; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java index 44f61b26ec..4c8897c5f1 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/invitation/service/GroupInvitationService.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.modules.invitation.entity.GroupInvitationEntity; +import com.epmet.resi.group.dto.UserRoleDTO; import com.epmet.resi.group.dto.invitation.GroupInvitationDTO; import com.epmet.resi.group.dto.invitation.form.AccetInvitationFormDTO; import com.epmet.resi.group.dto.invitation.form.CreateGroupInvitationFormDTO; 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 39ab49fd00..e577907d89 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 @@ -602,6 +602,10 @@ public class GroupInvitationServiceImpl extends BaseServiceImpl().ok(resiGroupMemberService.votableCount(gridList)); } + /** + * @Description 通过话题/议题分享链接申请入组 + * @param param + * @return com.epmet.resi.group.dto.member.result.JoinGroupApplyRealTimeResultDTO + * @author wangc + * @date 2020.12.22 10:36 + */ + @PostMapping("applyenterbylink") + public Result applyEnterByLink(@RequestBody JoinGroupByShareLinkFormDTO param){ + ValidatorUtils.validateEntity(param); + return new Result().ok(operationService.applyEnterByLink(param)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/GroupMemeberOperationService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/GroupMemeberOperationService.java index ac04cf0742..32906be649 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/GroupMemeberOperationService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/GroupMemeberOperationService.java @@ -23,7 +23,9 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.modules.member.entity.GroupMemeberOperationEntity; import com.epmet.modules.member.entity.ResiGroupMemberEntity; import com.epmet.resi.group.dto.member.GroupMemeberOperationDTO; +import com.epmet.resi.group.dto.member.form.JoinGroupByShareLinkFormDTO; import com.epmet.resi.group.dto.member.form.RemoveMemberFormDTO; +import com.epmet.resi.group.dto.member.result.JoinGroupApplyRealTimeResultDTO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -122,4 +124,13 @@ public interface GroupMemeberOperationService extends BaseService implements GroupMemeberOperationService { @Autowired private GroupMemeberOperationRedis groupMemeberOperationRedis; + @Autowired + private ResiGroupMemberDao resiGroupMemberDao; + @Autowired + private TopicShareLinkRecordDao topicShareLinkRecordDao; + @Autowired + private GovIssueOpenFeignClient issueOpenFeignClient; + @Autowired + private ResiTopicDao topicDao; + @Autowired + private GroupMemeberOperationDao operationDao; + @Autowired + private ResiGroupService groupService; + @Autowired + private ResiGroupMemberService memberService; + @Autowired + private ResiGroupRedis groupRedis; + @Autowired + private EpmetUserOpenFeignClient userClient; + @Autowired + private TopicShareLinkVisitRecordDao topicShareLinkVisitRecordDao; @Override public PageData page(Map params) { @@ -143,4 +199,190 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl response = issueOpenFeignClient.shareLinkInfo(param.getShareLinkId()); + if(response.success() && null != response.getData()){ + groupId = topicDao.selectGroupIdByIssueId(response.getData().getIssueId()); + inviter = response.getData().getShareUserId(); + } + } + if(StringUtils.isBlank(groupId)){ + throw new RenException("没有找到议题分享链接对应的组Id"); + } + //查询是否在群内 + ResiGroupMemberDTO groupMember = resiGroupMemberDao.selectGroupMemberInfo(groupId, param.getUserId()); + if (null != groupMember && !MemberStateConstant.REMOVED.equals(groupMember.getStatus())) { + log.info("已经在群内,直接返回成功,但是不发送积分事件"); + result.setStatus("entered"); + return result; + } + + //先判断用户是否有在审核的入组申请,有的话直接给提示 + GroupMemeberOperationDTO groupMemeberOperationDTO = operationDao.selectLatestRecord(groupId, param.getUserId()); + if (null != groupMemeberOperationDTO && MemberStateConstant.UNDER_AUDITTING.equals(groupMemeberOperationDTO.getOperateStatus())) { + log.info("已存在待审核入组申请,不能重复审核"); + result.setStatus("auditing"); + return result; + } + + ResiGroupDTO resiGroupDTO = groupService.get(groupId); + if(null == resiGroupDTO){ + log.error("没有找到对应的组,组Id:{}",groupId); + throw new RenException("没有找到对应的组"); + } + GetRoleKeyListFormDTO roleParam = new GetRoleKeyListFormDTO(); + roleParam.setFromApp("resi"); + roleParam.setUserId(param.getUserId()); + roleParam.setGridId(resiGroupDTO.getGridId()); + Result> userRoleResponse = userClient.getUserRoleKeyList(roleParam); + if(!userRoleResponse.success() || CollectionUtils.isEmpty(userRoleResponse.getData())){ + throw new RenException("未找到当前用户的有效身份信息"); + } + + + //进组是否需要审核的逻辑 + GroupMemeberOperationDTO groupMemeberOperation = new GroupMemeberOperationDTO(); + groupMemeberOperation.setGroupId(groupId); + groupMemeberOperation.setCustomerUserId(param.getUserId()); + groupMemeberOperation.setEnterGroupType(StringUtils.equals("topic",param.getShareLinkType()) ? ModuleConstant.ENTER_GROUP_TYPE_TOPIC_LINK : ModuleConstant.ENTER_GROUP_TYPE_ISSUE_LINK); + groupMemeberOperation.setGroupInvitationId(param.getShareLinkId()); + groupMemeberOperation.setOperateUserId(param.getUserId()); + groupMemeberOperation.setOperateDes(StringUtils.equals("topic",param.getShareLinkType()) ? "通过话题分享链接申请入组" : "通过议题分享链接申请入组"); + + //入组审核开关是开启状态则需要组长审核 + if (StringUtils.equals(GroupStateConstant.AUDIT_SWITCH_OPEN , resiGroupDTO.getAuditSwitch())) { + groupMemeberOperation.setOperateStatus(MemberStateConstant.UNDER_AUDITTING); + save(groupMemeberOperation); + //给组长推送站内信 + //memberService.sendMessageToGroupLeader(resiGroupDTO, param.getUserId()); + result.setStatus("auditing"); + return result; + } + + UserRoleDTO userRoleDTO = getUserRoleDTO(userRoleResponse.getData()); + //新增一条邀请入群、直接审核通过的入群记录 + groupMemeberOperation.setOperateStatus(MemberStateConstant.APPROVED); + groupMemeberOperation.setOperateDes("通过分享链接入组,入组审核开关关闭,直接入组"); + save(groupMemeberOperation); + result.setStatus("entered"); + //发送积分事件 + boolean isNew = false; + + if(StringUtils.equals("topic",param.getShareLinkType())){ + TopicShareLinkVisitRecordEntity record = topicShareLinkVisitRecordDao.selectRecordByLinkIdAndInvitee(param.getShareLinkId(), param.getUserId()); + if(null == record){ + log.error("【%s】该用户入组方式为话题分享链接入组,但未查询到链接访问记录,链接Id【%s】",param.getUserId(),param.getShareLinkId()); + throw new RenException("未找到链接访问记录"); + } + if(NumConstant.ZERO == record.getIsInviteRegister()) isNew = true; + }else{ + Result visitRecordResult = issueOpenFeignClient.visitRecord(param.getShareLinkId(), param.getUserId()); + if(!visitRecordResult.success() || null == visitRecordResult.getData()){ + log.error("【%s】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【%s】",param.getUserId(),param.getShareLinkId()); + throw new RenException("未找到链接访问记录"); + } + if(!visitRecordResult.getData().getIfJoinGroup()){ + log.error("【%s】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【%s】",param.getUserId(),param.getShareLinkId()); + throw new RenException("用户并非通过当前链接申请入组"); + } + if(NumConstant.ZERO == visitRecordResult.getData().getIsInviteRegister()) isNew = true; + } + + if(StringUtils.isNotBlank(inviter)){ + //mq的事件类型 + MqBaseMsgDTO mqBaseMsgDTO = new MqBaseMsgDTO(); + //事件code + mqBaseMsgDTO.setEventTag(isNew ? EventEnum.INVITE_NEW_RESIDENT_INTO_GROUP.getEventTag() : EventEnum.INVITE_RESIDENT_INTO_GROUP.getEventTag()); + List pointEventMsgList = new ArrayList<>(); + BasePointEventMsg pointEventMsg = new BasePointEventMsg(); + pointEventMsg.setCustomerId(resiGroupDTO.getCustomerId()); + pointEventMsg.setUserId(inviter); + pointEventMsg.setActionFlag(MqConstant.PLUS); + pointEventMsg.setIsCommon(false); + pointEventMsg.setTargetDate(current); + pointEventMsgList.add(pointEventMsg); + + mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); + Result sendResult = SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + if(!sendResult.success()){ + log.error((isNew ? "拉新用户入组事件发送失败" : "邀请已注册用户入组事件发送失败").concat(",参数:%s"),JSON.toJSONString(param)); + } + } + + //直接加入群成员关系表 + //如果是之前被移除的,则修改resi_group_member记录 + ResiGroupMemberDTO resiGroupMemberDTO = new ResiGroupMemberDTO(); + ResiGroupMemberDTO resiGroupMember = resiGroupMemberDao.selectGroupMemberInfo(groupId, param.getUserId()); + if (null != resiGroupMember) { + resiGroupMemberDTO.setId(resiGroupMember.getId()); + } + resiGroupMemberDTO.setCustomerUserId(groupMemeberOperation.getCustomerUserId()); + resiGroupMemberDTO.setResiGroupId(groupMemeberOperation.getGroupId()); + resiGroupMemberDTO.setGroupLeaderFlag(LeaderFlagConstant.GROUP_MEMBER); + resiGroupMemberDTO.setEnterGroupType(groupMemeberOperation.getEnterGroupType()); + resiGroupMemberDTO.setStatus(MemberStateConstant.APPROVED); + resiGroupMemberDTO.setCreatedBy(groupMemeberOperation.getCustomerUserId()); + memberService.saveOrUpdate(resiGroupMemberDTO); + //修改群统计值 + resiGroupMemberDao.updateResiGroupStatistical(groupMemeberOperation.getGroupId(), userRoleDTO); + ResiGroupInfoRedisDTO groupCache = + groupRedis.get(groupId); + if(null != groupCache && null != groupCache.getGroupStatisticalInfo()){ + groupCache.getGroupStatisticalInfo().setTotalMembers( + null == groupCache.getGroupStatisticalInfo().getTotalMembers() ? NumConstant.TWO : groupCache.getGroupStatisticalInfo().getTotalMembers() +NumConstant.ONE + ); + if(StringUtils.equals(userRoleDTO.getPartymemberFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalPartyMembers( + null == groupCache.getGroupStatisticalInfo().getTotalPartyMembers() ? NumConstant.ONE : groupCache.getGroupStatisticalInfo().getTotalPartyMembers()+NumConstant.ONE + ); + if(StringUtils.equals(userRoleDTO.getRegisteredResiFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalNormalMembers( + null == groupCache.getGroupStatisticalInfo().getTotalNormalMembers() ? NumConstant.TWO : groupCache.getGroupStatisticalInfo().getTotalNormalMembers()+NumConstant.ONE + ); + if(StringUtils.equals(userRoleDTO.getWarmHeartedFlag(),NumConstant.ONE_STR)) groupCache.getGroupStatisticalInfo().setTotalEarnestMembers( + null == groupCache.getGroupStatisticalInfo().getTotalEarnestMembers() ? NumConstant.ONE : groupCache.getGroupStatisticalInfo().getTotalEarnestMembers()+NumConstant.ONE + ); + groupRedis.set(groupCache); + } + //发送消息 + //this.sendMessageToLeader(formDTO, resiGroupDTO,groupInvitationDTO); + + return result; + } + + + private UserRoleDTO getUserRoleDTO(List userRoleList) { + UserRoleDTO userRoleDTO=new UserRoleDTO(); + for (String roleKey : userRoleList) { + if (EpmetRoleKeyConstant.PARTYMEMBER.equals(roleKey)) { + userRoleDTO.setPartymemberFlag(NumConstant.ONE_STR); + } + if (EpmetRoleKeyConstant.WARMHEARTED.equals(roleKey)) { + userRoleDTO.setWarmHeartedFlag(NumConstant.ONE_STR); + } + if (EpmetRoleKeyConstant.REGISTERED_RESI.equals(roleKey)) { + userRoleDTO.setRegisteredResiFlag(NumConstant.ONE_STR); + } + } + return userRoleDTO; + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java index 6ea30b293a..93d5579012 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/ResiGroupMemberServiceImpl.java @@ -254,6 +254,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl inviterMap = null; String inviter = null; boolean isNew = false; //通过链接和访问记录查询出被邀请人是新用户还是已注册用户 if(StringUtils.equals(groupMemeberOperationDTO.getEnterGroupType(),ModuleConstant.ENTER_GROUP_TYPE_TOPIC_LINK)){ TopicShareLinkVisitRecordEntity visitRecord = topicShareLinkVisitRecordService.getByLinkIdAndInvitee(groupMemeberOperationDTO.getGroupInvitationId(), groupMemeberOperationDTO.getCustomerUserId()); if(null == visitRecord){ - logger.error("【%s】该用户入组方式为话题分享链接入组,但未查询到链接访问方式记录,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); + logger.error("【%s】该用户入组方式为话题分享链接入组,但未查询到链接访问记录,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); return; } if(NumConstant.ZERO == visitRecord.getIsInviteRegister()) isNew = true; @@ -510,14 +510,14 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl response = issueClient.visitRecord(groupMemeberOperationDTO.getGroupInvitationId(), groupMemeberOperationDTO.getCustomerUserId()); if(response.success() && null != response){ - if(NumConstant.ONE != response.getData().getIfJoinGroup()){ + if(!response.getData().getIfJoinGroup()){ logger.error("【%s】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); return; } if(NumConstant.ZERO == response.getData().getIsInviteRegister()) isNew = true; inviter = response.getData().getShareUserId(); }else{ - logger.error("【%s】该用户入组方式为议题分享链接入组,但未查询到链接访问方式记录,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); + logger.error("【%s】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); return; } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index dd53316d83..3281275e54 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -193,5 +193,5 @@ public interface ResiTopicDao extends BaseDao { */ List selectTopicIdsByGroup(@Param("groupId") String groupId); - List selectIssueIdsByGroupId(@Param("groupId")String groupId); + String selectGroupIdByIssueId(@Param("issueId") String issueId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index 8107666ae5..536f996f7f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -527,18 +527,19 @@ AND GROUP_ID = #{groupId} AND STATUS != 'hidden' - - SELECT - issue_id + group_id FROM resi_topic WHERE del_flag = '0' AND - groupId = #{groupId} + issue_id = #{issueId} AND shift_issue = 1 + From 439e7e29753b9de5e45627002c38111a30003cd7 Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 22 Dec 2020 18:52:35 +0800 Subject: [PATCH 049/184] =?UTF-8?q?=E6=A5=BC=E9=99=A2=E5=B0=8F=E7=BB=84?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=BF=E8=81=94=E4=BA=91=E7=BD=91=E5=85=B3?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi-group/resi-group-server/pom.xml | 28 +++++++++++++++++++ .../controller/ResiGroupMemberController.java | 5 ++-- .../GroupMemeberOperationServiceImpl.java | 18 ++++++++---- .../impl/ResiGroupMemberServiceImpl.java | 8 +++--- .../src/main/resources/bootstrap.yml | 10 ++++++- 5 files changed, 57 insertions(+), 12 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index cd2971d2e1..421b05c346 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -159,6 +159,13 @@ false + + + https://epmet-dev.elinkservice.cn/estos/ + producerService/producer/sendMsg + 202007161443499985fa2d397436d10356542134c8f008c48 + 52d9d9b0e7d0eb5b8b81c205b579e07c + https://epmet-dev.elinkservice.cn/api/epmetscan/api 5 @@ -204,6 +211,13 @@ false + + + https://epmet-dev.elinkservice.cn/estos/ + producerService/producer/sendMsg + 202007161443499985fa2d397436d10356542134c8f008c48 + 52d9d9b0e7d0eb5b8b81c205b579e07c + https://epmet-dev.elinkservice.cn/api/epmetscan/api 5 @@ -248,6 +262,13 @@ false true + + + https://epmet-dev.elinkservice.cn/estos/ + producerService/producer/sendMsg + 20200804181646184507453a2e9aab76edc550405f80920af + 96d788191a10ff57a125157183413004 + https://epmet-dev.elinkservice.cn/api/epmetscan/api 5 @@ -289,6 +310,13 @@ false true + + + https://estos.elinkservice.cn:7519/estos/ + producerService/producer/sendMsg + 202008141820598348026098a1b5dd0bc63a1e2418e275d1b + 7ce17f65826539ff3e8616dccd4b70fc + https://epmet-open.elinkservice.cn/api/epmetscan/api 5 diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/controller/ResiGroupMemberController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/controller/ResiGroupMemberController.java index 7af4963df3..e1943d8920 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/controller/ResiGroupMemberController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/controller/ResiGroupMemberController.java @@ -195,8 +195,9 @@ public class ResiGroupMemberController { * @date 2020.12.22 10:36 */ @PostMapping("applyenterbylink") - public Result applyEnterByLink(@RequestBody JoinGroupByShareLinkFormDTO param){ - ValidatorUtils.validateEntity(param); + public Result applyEnterByLink(@LoginUser TokenDto token,@RequestBody JoinGroupByShareLinkFormDTO param){ + param.setUserId(token.getUserId()); + ValidatorUtils.validateEntity(param); return new Result().ok(operationService.applyEnterByLink(param)); } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java index 283b6cbf82..d47c94c552 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java @@ -70,6 +70,7 @@ import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -207,6 +208,7 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl visitRecordResult = issueOpenFeignClient.visitRecord(param.getShareLinkId(), param.getUserId()); if(!visitRecordResult.success() || null == visitRecordResult.getData()){ - log.error("【%s】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【%s】",param.getUserId(),param.getShareLinkId()); + log.error("【{}】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【{}】",param.getUserId(),param.getShareLinkId()); throw new RenException("未找到链接访问记录"); } if(!visitRecordResult.getData().getIfJoinGroup()){ - log.error("【%s】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【%s】",param.getUserId(),param.getShareLinkId()); + log.error("【{}】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【{}】",param.getUserId(),param.getShareLinkId()); throw new RenException("用户并非通过当前链接申请入组"); } if(NumConstant.ZERO == visitRecordResult.getData().getIsInviteRegister()) isNew = true; @@ -321,12 +326,13 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl response = issueClient.visitRecord(groupMemeberOperationDTO.getGroupInvitationId(), groupMemeberOperationDTO.getCustomerUserId()); if(response.success() && null != response){ if(!response.getData().getIfJoinGroup()){ - logger.error("【%s】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); + logger.error("【{}】该用户入组方式为议题分享链接入组,但并不是通过该链接发起的入群申请,链接Id【{}】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); return; } if(NumConstant.ZERO == response.getData().getIsInviteRegister()) isNew = true; inviter = response.getData().getShareUserId(); }else{ - logger.error("【%s】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【%s】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); + logger.error("【{}】该用户入组方式为议题分享链接入组,但未查询到链接访问记录,链接Id【{}】",groupMemeberOperationDTO.getCustomerUserId(),groupMemeberOperationDTO.getGroupInvitationId()); return; } } @@ -538,7 +538,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl Date: Wed, 23 Dec 2020 09:43:17 +0800 Subject: [PATCH 050/184] =?UTF-8?q?=E4=BA=BF=E8=81=94=E4=BA=91=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=BD=91=E5=85=B3=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E4=BD=93=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/mq/eventmsg/BasePointEventMsg.java | 2 ++ .../controller/MqPointCallbackController.java | 30 +++++++++++++++++++ .../GroupMemeberOperationServiceImpl.java | 3 +- .../impl/ResiGroupMemberServiceImpl.java | 2 ++ 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java index 2ca431d70e..6f371a1e09 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/mq/eventmsg/BasePointEventMsg.java @@ -67,4 +67,6 @@ public class BasePointEventMsg implements Serializable { * 只针对[邀请已注册的用户入组]事件生效 */ private Date targetDate; + + private String eventTag; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/MqPointCallbackController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/MqPointCallbackController.java index df85fc7a91..ed6f5c05e6 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/MqPointCallbackController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/MqPointCallbackController.java @@ -117,5 +117,35 @@ public class MqPointCallbackController { log.info("pubActiveLive consumer success,formDTO:{}", JSON.toJSONString(formList)); return new Result().ok(true); } + + /** + * @Description 楼院小组积分事件统一回调入口 + * @param mqMsg + * @return com.epmet.commons.tools.utils.Result + * @author wangc + * @date 2020.12.23 09:33 + */ + @RequestMapping("resigrouppointcallback") + public Result resiGroupPointCallback(@RequestBody ReceiveMqMsg mqMsg){ + log.debug("resi_group point event callback receive mqMsg:{}", JSON.toJSONString(mqMsg)); + if (mqMsg == null || StringUtils.isBlank(mqMsg.getMsg())) { + log.warn("resi_group point event mqMsg is empty"); + return new Result().ok(true); + } + List formList = JSON.parseArray(mqMsg.getMsg(), BasePointEventMsg.class); + + try { + + formList.forEach(obj -> { + userPointActionLogService.grantPointByEvent(obj.getEventTag(),obj); + }); + + } catch (Exception e) { + logger.error("resi_group point event callback fail", e); + throw new RenException(EpmetErrorCode.SERVER_ERROR.getMsg()); + } + log.info("resi_group point event callback success,formDTO:{}", JSON.toJSONString(formList)); + return new Result().ok(true); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java index d47c94c552..26e241c71e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/service/impl/GroupMemeberOperationServiceImpl.java @@ -319,6 +319,7 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); BasePointEventMsg pointEventMsg = new BasePointEventMsg(); pointEventMsg.setCustomerId(resiGroupDTO.getCustomerId()); @@ -326,7 +327,7 @@ public class GroupMemeberOperationServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); @@ -533,6 +534,7 @@ public class ResiGroupMemberServiceImpl extends BaseServiceImpl Date: Wed, 23 Dec 2020 09:45:37 +0800 Subject: [PATCH 051/184] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/ProjectProcessServiceImpl.java | 3 ++- .../java/com/epmet/service/impl/ProjectServiceImpl.java | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 0bf154cd54..549b58fdbe 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -573,7 +573,8 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl NumConstant.ZERO || formDTO.getInternalFile().size() > NumConstant.ZERO) { + if ((null != formDTO.getPublicFile() && formDTO.getPublicFile().size() > NumConstant.ZERO) + || (null != formDTO.getInternalFile() && formDTO.getInternalFile().size() > NumConstant.ZERO)) { projectService.saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), staffEntity.getCustomerId(), formDTO.getProjectId(), processEntity.getId()); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 68ed89a39c..683f085a70 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -1685,7 +1685,8 @@ public class ProjectServiceImpl extends BaseServiceImpl NumConstant.ZERO || fromDTO.getInternalFile().size() > NumConstant.ZERO) { + if ((null != fromDTO.getPublicFile() && fromDTO.getPublicFile().size() > NumConstant.ZERO) + || (null != fromDTO.getInternalFile() && fromDTO.getInternalFile().size() > NumConstant.ZERO)) { saveFile(fromDTO.getPublicFile(), fromDTO.getInternalFile(), sourceProjectStaff.getCustomerId(), fromDTO.getProjectId(), projectProcessEntity.getId()); }//end @@ -1815,7 +1816,8 @@ public class ProjectServiceImpl extends BaseServiceImpl NumConstant.ZERO || formDTO.getInternalFile().size() > NumConstant.ZERO) { + if ((null != formDTO.getPublicFile() && formDTO.getPublicFile().size() > NumConstant.ZERO) + || (null != formDTO.getInternalFile() && formDTO.getInternalFile().size() > NumConstant.ZERO)) { saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), projectStaff.getCustomerId(), formDTO.getProjectId(), projectProcessEntity.getId()); }//end From 8998770285fe7450c35e38c7f0472e86061b6595 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 23 Dec 2020 09:59:01 +0800 Subject: [PATCH 052/184] =?UTF-8?q?=E7=BB=93=E6=A1=88=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/ProjectServiceImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index 683f085a70..1a93868918 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -1565,11 +1565,11 @@ public class ProjectServiceImpl extends BaseServiceImpl Date: Wed, 23 Dec 2020 10:06:47 +0800 Subject: [PATCH 053/184] =?UTF-8?q?labelDesc=E6=B7=BB=E5=8A=A0=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/scan/result/VoiceResultDTO.java | 6 ++++++ .../openapi/scan/support/result/VoiceAsyncScanResult.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/VoiceResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/VoiceResultDTO.java index c16a6a9536..a826f5b66d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/VoiceResultDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/scan/result/VoiceResultDTO.java @@ -46,5 +46,11 @@ public class VoiceResultDTO implements Serializable { * customized:自定义(例如命中自定义关键词) */ private String label; + + /** + * labelDesc是对label的说明,包含两种特殊说明: + * (1)如果检测任务失败labelDesc:智能检测任务失败,结果已失效,需要人工审核 + * (2)如果检测结果失效labelDesc:智能检测任务失败,需要人工审核 + */ private String labelDesc; } diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java index df56e86a4c..1cbf3dab4a 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/support/result/VoiceAsyncScanResult.java @@ -41,6 +41,12 @@ public class VoiceAsyncScanResult implements Serializable { * customized:自定义(例如命中自定义关键词) */ private String label; + + /** + * labelDesc是对label的说明,包含两种特殊说明: + * (1)如果检测任务失败labelDesc:智能检测任务失败,结果已失效,需要人工审核 + * (2)如果检测结果失效labelDesc:智能检测任务失败,需要人工审核 + */ private String labelDesc; /** From c9d844e171381fbebe12035a6b6a41a6db59b187 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 23 Dec 2020 10:27:29 +0800 Subject: [PATCH 054/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E8=A1=A8=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5=E4=BD=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/ProjectProcessAttachmentDTO.java | 16 ++++++++++++++++ .../entity/ProjectProcessAttachmentEntity.java | 16 ++++++++++++++++ .../excel/ProjectProcessAttachmentExcel.java | 6 ++++++ .../V0.0.5__create_project_attachment.sql | 5 ++++- 4 files changed, 42 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java index 08613dc2d2..a64fbbe568 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectProcessAttachmentDTO.java @@ -103,6 +103,22 @@ public class ProjectProcessAttachmentDTO implements Serializable { */ private Integer isRelease; + /** + * 附件状态(审核中:auditing; + * auto_passed: 自动通过; + * review:结果不确定,需要人工审核; + * block: 结果违规; + * rejected:人工审核驳回; + * approved:人工审核通过) + * 现在图片是同步审核的,所以图片只有auto_passed一种状态 + */ + private String status; + + /** + * 附件审核结果描述 + */ + private String reason; + /** * 删除标识:0.未删除 1.已删除 */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java index 276bd9ea1f..1515cbfe98 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectProcessAttachmentEntity.java @@ -103,4 +103,20 @@ public class ProjectProcessAttachmentEntity extends BaseEpmetEntity { */ private Integer isRelease; + /** + * 附件状态(审核中:auditing; + * auto_passed: 自动通过; + * review:结果不确定,需要人工审核; + * block: 结果违规; + * rejected:人工审核驳回; + * approved:人工审核通过) + * 现在图片是同步审核的,所以图片只有auto_passed一种状态 + */ + private String status; + + /** + * 附件审核结果描述 + */ + private String reason; + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java index 38f5fb15f9..1809357326 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/excel/ProjectProcessAttachmentExcel.java @@ -73,6 +73,12 @@ public class ProjectProcessAttachmentExcel { @Excel(name = "是否强制发布(0:否 1:是)") private Integer isRelease; + @Excel(name = "附件审核状态") + private String status; + + @Excel(name = "附件审核结果描述") + private String reason; + @Excel(name = "删除标识:0.未删除 1.已删除") private String delFlag; diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql index 9e5d387472..24037d1a4c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.5__create_project_attachment.sql @@ -12,8 +12,10 @@ CREATE TABLE `project_process_attachment` ( `ATTACHMENT_TYPE` varchar(64) DEFAULT NULL COMMENT '文件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', `ATTACHMENT_URL` varchar(255) NOT NULL COMMENT 'url地址', `SORT` int(11) NOT NULL COMMENT '排序(需求确定,按上传顺序排序)', - `DURATION` int(11) unsigned zerofill DEFAULT '00000000000' COMMENT '语音或视频时长,秒', + `DURATION` int(11) unsigned DEFAULT '0' COMMENT '语音或视频时长,秒', `IS_RELEASE` int(1) NOT NULL DEFAULT '0' COMMENT '是否强制发布(0:否 1:是)', + `STATUS` varchar(32) DEFAULT NULL COMMENT '附件审核状态(审核中:auditing; \r\nauto_passed: 自动通过;\r\nreview:结果不确定,需要人工审核;\r\nblock: 结果违规;\r\nrejected:人工审核驳回;\r\napproved:人工审核通过)\r\n现在图片是同步审核的,所以图片只有auto_passed一种状态', + `REASON` varchar(128) DEFAULT NULL COMMENT '附件审核结果描述', `DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', `REVISION` int(11) NOT NULL COMMENT '乐观锁', `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', @@ -23,6 +25,7 @@ CREATE TABLE `project_process_attachment` ( PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目节点附件表'; + CREATE TABLE `project_process_scan_task` ( `ID` varchar(64) NOT NULL COMMENT '唯一标识', `CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', From 6193c8337341473a8d897bca9fd39d158769f2be Mon Sep 17 00:00:00 2001 From: wangchao Date: Wed, 23 Dec 2020 10:36:26 +0800 Subject: [PATCH 055/184] =?UTF-8?q?=E5=9B=A0=E4=BA=BF=E8=81=94=E4=BA=91?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=BD=91=E5=85=B3=E5=AF=B9=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?Code=E6=9C=89=E5=AD=97=E6=95=B0=E9=99=90=E5=88=B6=EF=BC=8C?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=8B=E4=BB=B6=E6=9E=9A=E4=B8=BE=E7=9A=84?= =?UTF-8?q?eventTag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/enums/EventEnum.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java index da6c7bfa50..c1409342d6 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/EventEnum.java @@ -10,13 +10,13 @@ public enum EventEnum { ACTIVE_SEND_POINT("active_send_point", "epmet_heart", "活动发放积分"), REGISTER_VOLUNTEER("register_volunteer", "epmet_heart", "认证志愿者"), ACTIVE_INSERT_LIVE("active_insert_live", "epmet_heart", "添加活动实况"), - INVITE_NEW_RESIDENT_INTO_GROUP("invite_new_resident_into_group","resi_group","拉新用户入组"), - INVITE_RESIDENT_INTO_GROUP("invite_resident_into_group","resi_group","邀请已注册的用户入组"), + INVITE_NEW_RESIDENT_INTO_GROUP("invite_new_into_group","resi_group","拉新用户入组"), + INVITE_RESIDENT_INTO_GROUP("invite_resi_into_group","resi_group","邀请已注册的用户入组"), PUBLISH_ONE_TOPIC("publish_one_topic","resi_group","发布话题"), PARTICIPATE_ONE_TOPIC("participate_one_topic","resi_group","对小组内话题进行15字以上评论"), - TOPIC_SHIFTED_TO_ISSUE("topic_shifted_to_issue","resi_group","话题被转为议题(小组中发布的话题被组长转为议题)"), + TOPIC_SHIFTED_TO_ISSUE("topic_to_issue","resi_group","话题被转为议题(小组中发布的话题被组长转为议题)"), SHIFT_TOPIC_TO_ISSUE("shift_topic_to_issue","resi_group","转话题为议题(将自建小组中话题转为议题)"), - TOPIC_SHIFTED_TO_PROJECT("topic_shifted_to_project","resi_group","话题被转为项目"), + TOPIC_SHIFTED_TO_PROJECT("topic_to_project","resi_group","话题被转为项目"), ; private String eventClass; From f64318cd657089e63641cb7985f2503a1a2ab0f5 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 23 Dec 2020 10:43:21 +0800 Subject: [PATCH 056/184] =?UTF-8?q?=E5=8F=91=E5=B8=83=E8=AF=9D=E9=A2=98?= =?UTF-8?q?=E5=8A=A0=E7=A7=AF=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resi/group/constant/TopicConstant.java | 4 ++ .../epmet/modules/topic/dao/ResiTopicDao.java | 8 +++ .../service/impl/ResiTopicServiceImpl.java | 51 +++++++++++++++---- .../resources/mapper/topic/ResiTopicDao.xml | 10 ++++ 4 files changed, 63 insertions(+), 10 deletions(-) diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java index 5c4d550dfd..5f0f1d1aa4 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/constant/TopicConstant.java @@ -99,4 +99,8 @@ public interface TopicConstant { String VIDEO = " video"; String VOICE = " voice"; String DOC = " doc"; + + String GROUP_INFO_FAILURE = "根据groupId未查询到组信息......"; + + String CREATE_TOPIC_FAILURE = "发布话题加分失败......"; } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index 3281275e54..5a89917fa2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -194,4 +194,12 @@ public interface ResiTopicDao extends BaseDao { List selectTopicIdsByGroup(@Param("groupId") String groupId); String selectGroupIdByIssueId(@Param("issueId") String issueId); + + /** + * @Description 查询此人今日发表话题数量 + * @Param userId + * @author zxc + * @date 2020/12/23 上午10:02 + */ + Integer selectPublishTopicCountByUserId(@Param("userId")String userId); } \ No newline at end of file diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 28dbeb80e8..9c8955199b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -18,12 +18,17 @@ package com.epmet.modules.topic.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.constant.MqConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; +import com.epmet.commons.tools.dto.form.mq.eventmsg.BasePointEventMsg; +import com.epmet.commons.tools.enums.EventEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -33,10 +38,7 @@ import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.security.dto.TokenDto; -import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.utils.DateUtils; -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.utils.ScanContentUtils; +import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.OrgInfoConstant; import com.epmet.dto.CustomerGridDTO; @@ -44,11 +46,8 @@ import com.epmet.dto.IssueApplicationDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.feign.EpmetUserOpenFeignClient; -import com.epmet.feign.GovOrgOpenFeignClient; -import com.epmet.dto.result.CommonDataFilterResultDTO; -import com.epmet.dto.result.IssueInitiatorResultDTO; -import com.epmet.dto.result.UserResiInfoResultDTO; import com.epmet.feign.GovIssueOpenFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.modules.constant.GroupMemberConstant; import com.epmet.modules.constant.ResiGroupRedisKeys; import com.epmet.modules.feign.EpmetUserFeignClient; @@ -85,8 +84,8 @@ import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.TopicInfoDTO; import com.epmet.resi.group.dto.topic.form.CheckTopicPublisherFormDTO; import com.epmet.resi.group.dto.topic.form.GovTopicIssueInfoFormDTO; -import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.form.IssueShiftedFromTopicFormDTO; +import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.CheckTopicPublisherResultDTO; import com.epmet.resi.group.dto.topic.result.GovTopicIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.result.*; @@ -102,7 +101,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import javax.swing.text.html.Option; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -358,6 +356,39 @@ public class ResiTopicServiceImpl extends BaseServiceImpl pointEventMsgList = new ArrayList<>(); + BasePointEventMsg pointEventMsg = new BasePointEventMsg(); + ResiGroupInfoRedisDTO resiGroupInfoRedisDTO = resiGroupRedis.get(resiTopicPublishFormDTO.getGroupId()); + if (null == resiGroupInfoRedisDTO){ + ResiGroupEntity resiGroupEntity = resiGroupDao.selectById(resiTopicPublishFormDTO.getGroupId()); + if (null == resiGroupEntity){ + throw new RenException(TopicConstant.GROUP_INFO_FAILURE); + } + pointEventMsg.setCustomerId(resiGroupInfoRedisDTO.getCustomerId()); + } + pointEventMsg.setUserId(tokenDto.getUserId()); + // 加分 + pointEventMsg.setActionFlag(MqConstant.PLUS); + pointEventMsg.setIsCommon(false); + pointEventMsg.setEventTag(mqBaseMsgDTO.getEventTag()); + pointEventMsgList.add(pointEventMsg); + + mqBaseMsgDTO.setMsg(JSON.toJSONString(pointEventMsgList)); + Result msgResult= SendMqMsgUtils.sendMsg(mqBaseMsgDTO); + if(!msgResult.success()){ + logger.error(TopicConstant.CREATE_TOPIC_FAILURE); + } + } return new Result(); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index 536f996f7f..8ddcf2ffe0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -541,5 +541,15 @@ shift_issue = 1 + + + From a9d83aa63e59705349bfcd9f1330bfe6eaf044de Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 23 Dec 2020 10:52:50 +0800 Subject: [PATCH 057/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=BF=9B=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/ProjectProcessAttachmentDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml index 93fc899263..8137f3a709 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml @@ -6,7 +6,7 @@ + SELECT COUNT(ID) FROM resi_topic_comment + WHERE DEL_FLAG = 0 + AND DATE_FORMAT(CREATED_TIME,'%Y%m%d') = DATE_FORMAT(NOW(),'%Y%m%d') + AND CHAR_LENGTH(COMMENT_CONTENT) > 15 + AND CREATED_BY = #{userId} + + diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index 8ddcf2ffe0..11f21d3c27 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -551,5 +551,14 @@ AND CREATED_BY = #{userId} + + + From d2957c3d9b04d01fbb467e36f9c12dc325715583 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 23 Dec 2020 15:49:05 +0800 Subject: [PATCH 064/184] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=99=84=E4=BB=B6ID?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/result/PublicAndInternalFileResultDTO.java | 6 ++++++ .../main/resources/mapper/ProjectProcessAttachmentDao.xml | 1 + 2 files changed, 7 insertions(+) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java index 1011a51487..9da2bf5314 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/PublicAndInternalFileResultDTO.java @@ -44,6 +44,12 @@ public class PublicAndInternalFileResultDTO implements Serializable { */ private Integer duration; + /** + * 附件ID + */ + @JsonIgnore + private String attachmentId; + @JsonIgnore private String processId; diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml index 8137f3a709..34fab9cff6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectProcessAttachmentDao.xml @@ -6,6 +6,7 @@ + SELECT + id AS "agencyId", + organization_name AS "agencyName", + pids AS "pids" + FROM + customer_agency + WHERE + del_flag = '0' + AND pids = #{subPids} + ORDER BY + created_time DESC + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml index 37c6addcbb..1e5bced068 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml @@ -2,4 +2,16 @@ + + + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml index 7b0b7a02c5..50269ca116 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerStaffAgencyDao.xml @@ -2,4 +2,18 @@ + + + \ No newline at end of file From c4ce2d971d161466ca908d5c0bac3cfe9cff911d Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 25 Dec 2020 15:53:21 +0800 Subject: [PATCH 084/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/constant/IssueConstant.java | 10 ++ .../dto/govissue/form/AllIssueFormDTO.java | 34 ++++++ .../govissue/result/AllIssueResultDTO.java | 32 ++++++ .../govissue/result/IssueListResultDTO.java | 108 ++++++++++++++++++ .../controller/GovIssueController.java | 27 +++++ .../dao/govissue/IssueApplicationDao.java | 21 ++++ .../dataaggre/dao/govissue/IssueDao.java | 13 +++ .../service/govissue/GovIssueService.java | 14 +++ .../govissue/impl/GovIssueServiceImpl.java | 62 ++++++++++ .../mapper/govissue/IssueApplicationDao.xml | 20 ++++ .../resources/mapper/govissue/IssueDao.xml | 18 +++ 11 files changed, 359 insertions(+) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/AllIssueFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/AllIssueResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java index 830eca0598..ea3558a830 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java @@ -5,4 +5,14 @@ package com.epmet.dataaggre.constant; * @DateTime 2020/12/25 上午10:54 */ public interface IssueConstant { + + /** + * 议题状态(表决中:voting 已转项目:shift_project 已关闭:closed 待处理:auditing 已驳回:rejected) + */ + String ISSUE_STATUS_VOTING = "voting"; + String ISSUE_STATUS_SHIFT_PROJECT = "shift_project"; + String ISSUE_STATUS_CLOSED = "closed"; + String ISSUE_STATUS_AUDITING = "auditing"; + String ISSUE_STATUS_REJECTED = "rejected"; + } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/AllIssueFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/AllIssueFormDTO.java new file mode 100644 index 0000000000..73822375f0 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/AllIssueFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dataaggre.dto.govissue.form; + +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2020/12/25 下午1:26 + */ +@Data +public class AllIssueFormDTO implements Serializable { + + private static final long serialVersionUID = -7857792672812118217L; + + public interface AllIssueForm{} + + @NotNull(message = "页码不能为空",groups = {AllIssueForm.class}) + private Integer pageNo; + + @NotNull(message = "每页数量不能为空",groups = {AllIssueForm.class}) + private Integer pageSize; + + @NotNull(message = "议题类型不能为空",groups = {AllIssueForm.class}) + private String issueType; + + /** + * 网格Id集合 + */ + private List gridIdList; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/AllIssueResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/AllIssueResultDTO.java new file mode 100644 index 0000000000..ec9e6a2526 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/AllIssueResultDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dataaggre.dto.govissue.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2020/12/25 下午1:32 + */ +@Data +public class AllIssueResultDTO implements Serializable { + + private static final long serialVersionUID = -2729009012650779109L; + + /** + * 议题总数 + */ + private Integer total; + + /** + * 议题列表 + */ + private List issueList; + + public AllIssueResultDTO() { + this.total = 0; + this.issueList = new ArrayList<>(); + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java new file mode 100644 index 0000000000..240b5e5dc0 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java @@ -0,0 +1,108 @@ +package com.epmet.dataaggre.dto.govissue.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/12/25 下午1:34 + */ +@Data +public class IssueListResultDTO implements Serializable { + + private static final long serialVersionUID = -2926735144624342550L; + + /** + * 议题ID + */ + private String issueId; + + /** + * 议题标题 + */ + private String issueTitle; + + /** + * 所属网格(网格所属组织名称-网格名称) + */ + private String belongsGridName; + + /** + * 议题建议 + */ + private String suggestion; + + /** + * 网格ID + */ + private String gridId; + + /** + * 议题创建时间 + */ + private Long createTime; + + /** + * 议题关闭说明(关闭时的答复) + */ + private String issueCloseReason; + + /** + * 议题关闭时间 + */ + private Long issueClosedTime; + + /** + * 议题状态 + */ + private String status; + + /** + * 结案说明 + */ + private String closedReason; + + /** + * 驳回理由 + */ + private String rejectedReason; + + /** + * 驳回时间 + */ + private Long rejectedTime; + + /** + * 话题ID + */ + private String topicId; + + /** + * 审核中的创建时间 + */ + private Long auditingTime; + + /** + * 转项目时间 + */ + private Long shiftProjectTime; + + public IssueListResultDTO() { + this.issueId = ""; + this.issueTitle = ""; + this.belongsGridName = ""; + this.suggestion = ""; + this.gridId = ""; + this.createTime = 0L; + this.issueCloseReason = ""; + this.issueClosedTime = 0L; + this.status = ""; + this.closedReason = ""; + this.rejectedReason = ""; + this.rejectedTime = 0L; + this.topicId = ""; + this.auditingTime = 0L; + this.shiftProjectTime = 0L; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java index 6be742c53c..2969d36099 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java @@ -1,5 +1,15 @@ package com.epmet.dataaggre.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; +import com.epmet.dataaggre.service.govissue.GovIssueService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -10,4 +20,21 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("issue") public class GovIssueController { + + @Autowired + private GovIssueService govIssueService; + + /** + * @Description 按组织查询所有议题 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/25 下午2:37 + */ + @PostMapping("allissuelist") + public Result allIssueList(@RequestBody AllIssueFormDTO formDTO, @LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(formDTO, AllIssueFormDTO.AllIssueForm.class); + return new Result().ok(govIssueService.allIssueList(formDTO,tokenDto)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java index dbc18cca61..bf9e3a4a2e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.govissue; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.entity.govissue.IssueApplicationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 话题转议题申请表 @@ -29,4 +33,21 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueApplicationDao extends BaseDao { + + /** + * @Description 查询被拒绝的议题 + * @Param gridIds + * @author zxc + * @date 2020/12/25 下午2:40 + */ + List issueStatusRejected(@Param("gridIds") List gridIds); + + /** + * @Description 查询被拒绝的议题 + * @Param gridIds + * @author zxc + * @date 2020/12/25 下午2:40 + */ + List issueStatusAuditing(@Param("gridIds") List gridIds); + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java index d38a52459b..95a9a0fad2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.govissue; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.entity.govissue.IssueEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 议题详情 关联话题,转议题时间必须要和话题转议题时间一致、关闭时间必须要和操作记录表的关闭记录时间一致、转项目时间必须要和项目记录生成时间一致,注意服务间调用的时间一致性。每个议题最后总会被关闭。 @@ -29,4 +33,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface IssueDao extends BaseDao { + + /** + * @Description 查询议题 + * @Param gridIds + * @author zxc + * @date 2020/12/25 下午2:19 + */ + List issueStatusClosedOrVoting(@Param("gridIds") List gridIds, @Param("issueStatus")String issueStatus); + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java index 72e4e7186a..97ee2cb0eb 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java @@ -1,8 +1,22 @@ package com.epmet.dataaggre.service.govissue; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; + /** * @Author zxc * @DateTime 2020/12/25 上午9:16 */ public interface GovIssueService { + + /** + * @Description 按组织查询所有议题 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/25 下午2:37 + */ + AllIssueResultDTO allIssueList(AllIssueFormDTO formDTO,TokenDto tokenDto); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index a666cfbbe1..773ecb7061 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -1,10 +1,23 @@ package com.epmet.dataaggre.service.govissue.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.govissue.IssueApplicationDao; +import com.epmet.dataaggre.dao.govissue.IssueDao; +import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; /** * @Author zxc @@ -14,4 +27,53 @@ import org.springframework.stereotype.Service; @DataSource(DataSourceConstant.GOV_ISSUE) @Slf4j public class GovIssueServiceImpl implements GovIssueService { + + @Autowired + private IssueDao issueDao; + @Autowired + private IssueApplicationDao issueApplicationDao; + + /** + * @Description 按组织查询所有议题 + * @Param formDTO + * @Param tokenDto + * @author zxc + * @date 2020/12/25 下午2:37 + */ + @Override + public AllIssueResultDTO allIssueList(AllIssueFormDTO formDTO, TokenDto tokenDto) { + if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ + + } + return null; + } + + /** + * @Description 已关闭、表决中的议题走此方法 + * @Param formDTO + * @author zxc + * @date 2020/12/25 下午2:30 + */ + public List issueStatusClosedOrVoting(AllIssueFormDTO formDTO){ + if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ + return new ArrayList<>(); + } + PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueDao.issueStatusClosedOrVoting(formDTO.getGridIdList(), formDTO.getIssueType())); + return result.getList(); + } + + /** + * @Description 被拒绝的议题走此方法 + * @Param formDTO + * @author zxc + * @date 2020/12/25 下午2:34 + */ + public List issueStatusRejected(AllIssueFormDTO formDTO){ + if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ + return new ArrayList<>(); + } +// PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> .issueStatusClosed(formDTO.getGridIdList())); + return null; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml index bfa81a1462..ef2db73c1d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml @@ -2,4 +2,24 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 0fbaee3fe8..45b8003851 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -2,4 +2,22 @@ + + + \ No newline at end of file From 5397dba686e99b8e5d53126f02b83cdfee245014 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 25 Dec 2020 16:47:33 +0800 Subject: [PATCH 085/184] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E4=B8=8B=E7=BD=91=E6=A0=BC=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/controller/GovOrgController.java | 2 +- .../dataaggre/service/govorg/GovOrgService.java | 12 +++++++++++- .../service/govorg/impl/GovOrgServiceImpl.java | 13 ++++++++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index b96c22263d..aebb23a8b5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -25,7 +25,7 @@ public class GovOrgController { /** * @param tokenDTO * @Author sun - * @Description 党建声音-政府端-可选发布范围接口调用-根据人员角色查询对应的不同发布范围 + * @Description 组织、网格树结构 **/ @PostMapping("agencygridlist") public Result agencyGridList(@LoginUser TokenDto tokenDTO) { diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 6e3a6d0904..1908a1d9d9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -1,6 +1,9 @@ package com.epmet.dataaggre.service.govorg; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; + +import java.util.List; /** * @Author zxc @@ -11,8 +14,15 @@ public interface GovOrgService { /** * @param staffId * @Author sun - * @Description 党建声音-政府端-可选发布范围接口调用-根据人员角色查询对应的不同发布范围 + * @Description 组织、网格树结构 **/ AgencyGridResultDTO agencyGridList(String staffId); + /** + * @param agencyId + * @Author sun + * @Description 根据组织Id查询网格列表 + **/ + List gridList(String agencyId); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index ab8bf7ea61..d84054f6e0 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -41,7 +41,7 @@ public class GovOrgServiceImpl implements GovOrgService { /** * @param staffId * @Author sun - * @Description 党建声音-政府端-可选发布范围接口调用-根据人员角色查询对应的不同发布范围 + * @Description 组织、网格树结构 **/ @Override public AgencyGridResultDTO agencyGridList(String staffId) { @@ -87,4 +87,15 @@ public class GovOrgServiceImpl implements GovOrgService { return subAgencyList; } + /** + * @param agencyId + * @Author sun + * @Description 根据组织Id查询网格列表 + **/ + @Override + public List gridList(String agencyId) { + return customerGridDao.selectAgencyGridList(agencyId); + } + + } From d60c4b7365c81160d6855e02b679397d48ae1576 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 25 Dec 2020 18:04:52 +0800 Subject: [PATCH 086/184] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=83=AD=E8=AE=AE-?= =?UTF-8?q?=E8=A1=A8=E5=86=B3=E4=B8=AD=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../govissue/form/VotingIssueListFormDTO.java | 37 ++++++++++++++++ .../result/VotingIssueListResultDTO.java | 44 +++++++++++++++++++ .../govorg/result/GridsInfoListResultDTO.java | 31 +++++++++++++ .../controller/GovIssueController.java | 17 +++++++ .../dataaggre/dao/govissue/IssueDao.java | 7 +++ .../dataaggre/dao/govorg/CustomerGridDao.java | 8 ++++ .../service/govissue/GovIssueService.java | 9 ++++ .../govissue/impl/GovIssueServiceImpl.java | 44 +++++++++++++++++++ .../service/govorg/GovOrgService.java | 9 ++++ .../govorg/impl/GovOrgServiceImpl.java | 12 +++++ .../resources/mapper/govissue/IssueDao.xml | 23 ++++++++++ .../mapper/govorg/CustomerGridDao.xml | 27 ++++++++++++ 12 files changed, 268 insertions(+) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/VotingIssueListResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridsInfoListResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java new file mode 100644 index 0000000000..c5353f13bd --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dataaggre.dto.govissue.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 议题-表决中列表-接口如此那 + * @Auth sun + */ +@Data +public class VotingIssueListFormDTO implements Serializable { + private static final long serialVersionUID = -436147374473316845L; + /** + * 机关组织Id + * */ + @NotBlank(message = "组织Id不能为空", groups = {VotingIssueListFormDTO.VotingForm.class}) + private String agencyId; + /** + * 页码 + * */ + @Min(1) + private Integer pageNo; + /** + * 每页多少条 + * */ + private Integer pageSize = 20; + /** + * 组织下网格Id集合 + * */ + private List gridIdList; + + public interface VotingForm{} +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/VotingIssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/VotingIssueListResultDTO.java new file mode 100644 index 0000000000..d65eb15870 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/VotingIssueListResultDTO.java @@ -0,0 +1,44 @@ +package com.epmet.dataaggre.dto.govissue.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 议题-表决中列表-接口返参 + * @Auth sun + */ +@Data +public class VotingIssueListResultDTO implements Serializable { + private static final long serialVersionUID = -7134055957167447949L; + + /** + * 网格Id(方便查操作权限) + * */ + private String gridId; + /** + * 议题Id + * */ + private String issueId; + /** + * 议题标题 + * */ + private String issueTitle; + /** + * 所属网格(网格所属组织名称-网格名称) + * */ + private String belongsGridName; + /** + * 议题建议 + * */ + private String suggestion; + /** + * 议题创建时间 + * */ + private Long issuePublishTime; + /** + * 实际总表决数 + * */ + private Integer count; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridsInfoListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridsInfoListResultDTO.java new file mode 100644 index 0000000000..f25721539f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/GridsInfoListResultDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Auther sun + * 获取用户访问过的所有网格列表-接口返参 + */ +@Data +public class GridsInfoListResultDTO implements Serializable { + + private static final long serialVersionUID = -1L; + + /** + * 客户Id + */ + private String customerId; + + /** + * 网格Id + */ + private String gridId; + + /** + * 网格名称 + */ + private String gridName; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java index 2969d36099..a7c52364ab 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java @@ -1,11 +1,15 @@ package com.epmet.dataaggre.controller; import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; +import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -13,6 +17,8 @@ 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; + /** * @Author zxc * @DateTime 2020/12/25 上午9:45 @@ -37,4 +43,15 @@ public class GovIssueController { return new Result().ok(govIssueService.allIssueList(formDTO,tokenDto)); } + /** + * @param formDTO + * @Description 居民热议-表决中列表 + * @author sun + **/ + @PostMapping(value = "votingissuelist") + public Result> votingIssueList(@RequestBody VotingIssueListFormDTO formDTO){ + ValidatorUtils.validateEntity(formDTO, VotingIssueListFormDTO.VotingForm.class); + return new Result>().ok(govIssueService.votingIssueList(formDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java index 95a9a0fad2..53873c9161 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java @@ -18,7 +18,9 @@ package com.epmet.dataaggre.dao.govissue; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; +import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; import com.epmet.dataaggre.entity.govissue.IssueEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -42,4 +44,9 @@ public interface IssueDao extends BaseDao { */ List issueStatusClosedOrVoting(@Param("gridIds") List gridIds, @Param("issueStatus")String issueStatus); + /** + * @Description 查询网格列表下表决中的议题列表 + * @author sun + **/ + List selectVotingList(VotingIssueListFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java index a58bc9c32e..b23681737d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java @@ -19,6 +19,7 @@ package com.epmet.dataaggre.dao.govorg; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerGridEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -40,4 +41,11 @@ public interface CustomerGridDao extends BaseDao { **/ List selectAgencyGridList(@Param("agencyId") String agencyId); + /** + * @param gridIdList + * @return + * @Description 根据网格Id集合获取网格列表信息 + * @Author sun + */ + List selectGridByIds(@Param("gridIdList") List gridIdList); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java index 97ee2cb0eb..22e7446cbe 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java @@ -2,7 +2,11 @@ package com.epmet.dataaggre.service.govissue; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; +import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; + +import java.util.List; /** * @Author zxc @@ -19,4 +23,9 @@ public interface GovIssueService { */ AllIssueResultDTO allIssueList(AllIssueFormDTO formDTO,TokenDto tokenDto); + /** + * @Description 居民热议-表决中列表 + * @author sun + **/ + List votingIssueList(VotingIssueListFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index 773ecb7061..555524d37b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -1,14 +1,20 @@ package com.epmet.dataaggre.service.govissue.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govissue.IssueApplicationDao; import com.epmet.dataaggre.dao.govissue.IssueDao; import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; +import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; +import com.epmet.dataaggre.service.govorg.GovOrgService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -17,7 +23,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.stream.Collectors; /** * @Author zxc @@ -32,6 +40,8 @@ public class GovIssueServiceImpl implements GovIssueService { private IssueDao issueDao; @Autowired private IssueApplicationDao issueApplicationDao; + @Autowired + private GovOrgService govOrgService; /** * @Description 按组织查询所有议题 @@ -76,4 +86,38 @@ public class GovIssueServiceImpl implements GovIssueService { return null; } + /** + * @Description 居民热议-表决中列表 + * @author sun + **/ + @Override + public List votingIssueList(VotingIssueListFormDTO formDTO) { + List resultList = new ArrayList<>(); + int num = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(num); + //1.查询组织下网格列表 + List gridList = govOrgService.gridList(formDTO.getAgencyId()); + List gridIdList = gridList.stream().map(GridInfoResultDTO::getGridId).collect(Collectors.toList()); + if (gridIdList.size() < NumConstant.ONE) { + return resultList; + } + formDTO.setGridIdList(gridIdList); + + //2.查询网格列表下表决中的议题列表 + resultList = issueDao.selectVotingList(formDTO); + if(resultList.size()(); + } + + //3.根据网格Id查询"组织-网格"名称 + List gridInfoList = govOrgService.gridListByIds(gridIdList); + + //4.封装数据并返回 + HashMap gridIdAndNames = new HashMap<>(); + gridInfoList.stream().forEach(g -> gridIdAndNames.put(g.getGridId(), g.getGridName())); + resultList.stream().forEach(pt -> pt.setBelongsGridName(gridIdAndNames.get(pt.getGridId()))); + + return resultList; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index 1908a1d9d9..e0a35f3558 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -2,6 +2,7 @@ package com.epmet.dataaggre.service.govorg; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import java.util.List; @@ -25,4 +26,12 @@ public interface GovOrgService { **/ List gridList(String agencyId); + /** + * @param gridIdList + * @return + * @Description 根据网格Id集合获取网格列表信息 + * @Author sun + */ + List gridListByIds(List gridIdList); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index d84054f6e0..d918252d4f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -10,6 +10,7 @@ import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; +import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.service.govorg.GovOrgService; import lombok.extern.slf4j.Slf4j; @@ -97,5 +98,16 @@ public class GovOrgServiceImpl implements GovOrgService { return customerGridDao.selectAgencyGridList(agencyId); } + /** + * @param gridIdList + * @return + * @Description 根据网格Id集合获取网格列表信息 + * @Author sun + */ + @Override + public List gridListByIds(List gridIdList) { + return customerGridDao.selectGridByIds(gridIdList); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 45b8003851..405981e94f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -20,4 +20,27 @@ GRID_ID = #{gridId} + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml index 1e5bced068..b49823cac6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml @@ -14,4 +14,31 @@ AND pid = #{agencyId} + + From 05bb67360838c697972d475913f1f2485dcfb4bf Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 28 Dec 2020 10:17:46 +0800 Subject: [PATCH 087/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98-=E5=85=A8=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/constant/IssueConstant.java | 6 + .../govissue/result/IssueListResultDTO.java | 13 +++ .../controller/GovIssueController.java | 3 +- .../dataaggre/dao/govissue/IssueDao.java | 10 +- .../dao/govorg/CustomerAgencyDao.java | 8 ++ .../dataaggre/dao/govproject/ProjectDao.java | 22 +++- .../govissue/impl/GovIssueServiceImpl.java | 108 ++++++++++++++++-- .../service/govorg/GovOrgService.java | 8 ++ .../govorg/impl/GovOrgServiceImpl.java | 11 ++ .../service/govproject/GovProjectService.java | 13 +++ .../impl/GovProjectServiceImpl.java | 35 ++++++ .../mapper/govissue/IssueApplicationDao.xml | 15 ++- .../resources/mapper/govissue/IssueDao.xml | 15 +++ .../mapper/govorg/CustomerAgencyDao.xml | 5 + .../mapper/govproject/ProjectDao.xml | 44 +++++++ 15 files changed, 304 insertions(+), 12 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java index ea3558a830..12b0cdb413 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java @@ -15,4 +15,10 @@ public interface IssueConstant { String ISSUE_STATUS_AUDITING = "auditing"; String ISSUE_STATUS_REJECTED = "rejected"; + String GET_AGENCY_FAILURE = "根据userId查询组织ID失败......"; + + String GET_GRID_LIST_FAILURE = "获取网格ID列表失败......"; + + String NOT_EXISTS_PROJECT_INFO = "未查询到项目信息......"; + } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java index 240b5e5dc0..5f748ba6bb 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java @@ -3,6 +3,8 @@ package com.epmet.dataaggre.dto.govissue.result; import lombok.Data; import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; /** * @Author zxc @@ -18,6 +20,11 @@ public class IssueListResultDTO implements Serializable { */ private String issueId; + /** + * 项目ID + */ + private String projectId; + /** * 议题标题 */ @@ -88,6 +95,11 @@ public class IssueListResultDTO implements Serializable { */ private Long shiftProjectTime; + /** + * 当前处理部门 + */ + private List currentDepartment; + public IssueListResultDTO() { this.issueId = ""; this.issueTitle = ""; @@ -104,5 +116,6 @@ public class IssueListResultDTO implements Serializable { this.topicId = ""; this.auditingTime = 0L; this.shiftProjectTime = 0L; + this.currentDepartment = new ArrayList<>(); } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java index a7c52364ab..223453b71d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java @@ -1,8 +1,6 @@ package com.epmet.dataaggre.controller; import com.epmet.commons.tools.annotation.LoginUser; -import com.epmet.commons.tools.annotation.RequirePermission; -import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -38,6 +36,7 @@ public class GovIssueController { * @date 2020/12/25 下午2:37 */ @PostMapping("allissuelist") +// @RequirePermission(requirePermission = RequirePermissionEnum.WORK_HOT_ISSUE_ALL) public Result allIssueList(@RequestBody AllIssueFormDTO formDTO, @LoginUser TokenDto tokenDto){ ValidatorUtils.validateEntity(formDTO, AllIssueFormDTO.AllIssueForm.class); return new Result().ok(govIssueService.allIssueList(formDTO,tokenDto)); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java index 53873c9161..d09dc05d55 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java @@ -37,13 +37,21 @@ import java.util.List; public interface IssueDao extends BaseDao { /** - * @Description 查询议题 + * @Description 查询议题【表决中、已关闭】 * @Param gridIds * @author zxc * @date 2020/12/25 下午2:19 */ List issueStatusClosedOrVoting(@Param("gridIds") List gridIds, @Param("issueStatus")String issueStatus); + /** + * @Description 查询已转项目议题 + * @Param gridIds + * @author zxc + * @date 2020/12/25 下午5:27 + */ + List issueStatusShiftProject(@Param("gridIds") List gridIds); + /** * @Description 查询网格列表下表决中的议题列表 * @author sun diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java index de8b19b050..445baf2477 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java @@ -39,4 +39,12 @@ public interface CustomerAgencyDao extends BaseDao { * @Description 递归查询当前机关的下一级机关列表 **/ List selectAllSubAgency(@Param("subPids") String subPids); + + /** + * @Description 根据userId查询组织ID + * @Param userId + * @author zxc + * @date 2020/12/25 下午4:55 + */ + String getAgencyIdByUserId(@Param("userId") String userId); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java index 282ed2f409..49dc997320 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java @@ -18,8 +18,12 @@ package com.epmet.dataaggre.dao.govproject; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.entity.govproject.ProjectEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 项目表 @@ -29,5 +33,21 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ProjectDao extends BaseDao { - + + /** + * @Description 查询项目信息【已关闭】 + * @Param issueIds + * @author zxc + * @date 2020/12/25 下午5:47 + */ + List selectProjectInfoClosed(@Param("issueIds") List issueIds); + + /** + * @Description 查询项目信息【处理中】 + * @Param issueIds + * @author zxc + * @date 2020/12/28 上午9:26 + */ + List selectProjectInfoPending(@Param("issueIds") List issueIds); + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index 555524d37b..92516cd245 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -2,8 +2,10 @@ package com.epmet.dataaggre.service.govissue.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.constant.IssueConstant; import com.epmet.dataaggre.dao.govissue.IssueApplicationDao; import com.epmet.dataaggre.dao.govissue.IssueDao; import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; @@ -15,16 +17,16 @@ import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; import com.epmet.dataaggre.service.govorg.GovOrgService; +import com.epmet.dataaggre.service.govproject.GovProjectService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; 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 java.util.ArrayList; -import java.util.HashMap; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -42,6 +44,8 @@ public class GovIssueServiceImpl implements GovIssueService { private IssueApplicationDao issueApplicationDao; @Autowired private GovOrgService govOrgService; + @Autowired + private GovProjectService govProjectService; /** * @Description 按组织查询所有议题 @@ -53,9 +57,42 @@ public class GovIssueServiceImpl implements GovIssueService { @Override public AllIssueResultDTO allIssueList(AllIssueFormDTO formDTO, TokenDto tokenDto) { if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ - + String userId = govOrgService.getAgencyIdByUserId(tokenDto.getUserId()); + if (StringUtils.isBlank(userId)){ + throw new RenException(IssueConstant.GET_AGENCY_FAILURE); + } + List gridList = govOrgService.gridList(userId); + if (CollectionUtils.isEmpty(gridList)){ + throw new RenException(IssueConstant.GET_GRID_LIST_FAILURE); + } + formDTO.setGridIdList(gridList.stream().map(m -> m.getGridId()).collect(Collectors.toList())); } - return null; + // xx街道-xx网格 + List gridsInfoList = govOrgService.gridListByIds(formDTO.getGridIdList()); + AllIssueResultDTO result = new AllIssueResultDTO(); + switch (formDTO.getIssueType()){ + case IssueConstant.ISSUE_STATUS_AUDITING: + List resultAuditing = issueStatusAuditing(formDTO); + result.setIssueList(resultAuditing); + result.setTotal(resultAuditing.size()); + break; + case IssueConstant.ISSUE_STATUS_REJECTED: + List resultRejected = issueStatusRejected(formDTO); + result.setIssueList(resultRejected); + result.setTotal(resultRejected.size()); + break; + case IssueConstant.ISSUE_STATUS_SHIFT_PROJECT: + List resultShiftProject = issueStatusShiftProject(formDTO); + result.setIssueList(resultShiftProject); + result.setTotal(resultShiftProject.size()); + break; + default: + List resultClosedOrVoting = issueStatusClosedOrVoting(formDTO); + result.setIssueList(resultClosedOrVoting); + result.setTotal(resultClosedOrVoting.size()); + } + result.getIssueList().forEach(issue -> gridsInfoList.stream().filter(g -> issue.getGridId().equals(g.getGridId())).forEach(g -> issue.setBelongsGridName(g.getGridName()))); + return result; } /** @@ -82,8 +119,65 @@ public class GovIssueServiceImpl implements GovIssueService { if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ return new ArrayList<>(); } -// PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> .issueStatusClosed(formDTO.getGridIdList())); - return null; + PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueApplicationDao.issueStatusRejected(formDTO.getGridIdList())); + List list = result.getList(); + if (CollectionUtils.isEmpty(list)){ + return new ArrayList<>(); + } + List resultDTOs = new ArrayList<>(); + Map> groupByTopic = list.stream().collect(Collectors.groupingBy(IssueListResultDTO::getTopicId)); + groupByTopic.forEach((topicId,l) -> { + IssueListResultDTO issueListResultDTO = l.stream().max(Comparator.comparing(IssueListResultDTO::getRejectedTime)).get(); + resultDTOs.add(issueListResultDTO); + }); + List collect = resultDTOs.stream().sorted(Comparator.comparing(IssueListResultDTO::getRejectedTime).reversed()).collect(Collectors.toList()); + return collect; + } + + /** + * @Description 审核中的议题走此方法 + * @Param formDTO + * @author zxc + * @date 2020/12/25 下午4:34 + */ + public List issueStatusAuditing(AllIssueFormDTO formDTO){ + if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ + return new ArrayList<>(); + } + PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueApplicationDao.issueStatusAuditing(formDTO.getGridIdList())); + return result.getList(); + } + + /** + * @Description 议题状态为转项目时走此方法 + * @Param formDTO + * @author zxc + * @date 2020/12/28 上午9:13 + */ + public List issueStatusShiftProject(AllIssueFormDTO formDTO){ + if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ + return new ArrayList<>(); + } + PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueDao.issueStatusShiftProject(formDTO.getGridIdList())); + List list = result.getList(); + if (CollectionUtils.isEmpty(list)){ + return new ArrayList<>(); + } + List issueIds = list.stream().map(m -> m.getIssueId()).collect(Collectors.toList()); + List resultDTOS = govProjectService.selectProjectInfo(issueIds); + if (CollectionUtils.isEmpty(resultDTOS)){ + throw new RenException(IssueConstant.NOT_EXISTS_PROJECT_INFO); + } + list.forEach(l -> { + resultDTOS.forEach(r -> { + if (l.getIssueId().equals(r.getIssueId())){ + l.setClosedReason(r.getClosedReason()); + l.setStatus(r.getStatus()); + l.setCurrentDepartment(r.getCurrentDepartment()); + } + }); + }); + return list; } /** diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index e0a35f3558..f1890edfab 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -34,4 +34,12 @@ public interface GovOrgService { */ List gridListByIds(List gridIdList); + /** + * @Description 根据userId查询组织ID + * @Param userId + * @author zxc + * @date 2020/12/25 下午4:53 + */ + String getAgencyIdByUserId(String userId); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index d918252d4f..b734c4542d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -109,5 +109,16 @@ public class GovOrgServiceImpl implements GovOrgService { return customerGridDao.selectGridByIds(gridIdList); } + /** + * @Description 根据userId查询组织ID + * @Param userId + * @author zxc + * @date 2020/12/25 下午4:53 + */ + @Override + public String getAgencyIdByUserId(String userId) { + return customerAgencyDao.getAgencyIdByUserId(userId); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java index ba0c8dd32e..82f72239b4 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java @@ -1,8 +1,21 @@ package com.epmet.dataaggre.service.govproject; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; + +import java.util.List; + /** * @Author zxc * @DateTime 2020/12/24 下午5:50 */ public interface GovProjectService { + + /** + * @Description 查询项目信息 + * @Param issueIds + * @author zxc + * @date 2020/12/25 下午5:46 + */ + List selectProjectInfo(List issueIds); + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index 0d56e0d9df..64a4130cfe 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -2,8 +2,15 @@ package com.epmet.dataaggre.service.govproject.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.govproject.ProjectDao; +import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; import com.epmet.dataaggre.service.govproject.GovProjectService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; /** * @Author zxc @@ -12,4 +19,32 @@ import org.springframework.stereotype.Service; @Service @DataSource(DataSourceConstant.GOV_PROJECT) public class GovProjectServiceImpl implements GovProjectService { + + @Autowired + private ProjectDao projectDao; + + /** + * @Description 查询项目信息 + * @Param issueIds + * @author zxc + * @date 2020/12/25 下午5:47 + */ + @Override + public List selectProjectInfo(List issueIds) { + if (CollectionUtils.isEmpty(issueIds)){ + return new ArrayList<>(); + } + List closedResult = projectDao.selectProjectInfoClosed(issueIds); + List pendingResult = projectDao.selectProjectInfoPending(issueIds); + if (CollectionUtils.isEmpty(closedResult)){ + if (CollectionUtils.isEmpty(pendingResult))return new ArrayList<>(); + return pendingResult; + } + if (CollectionUtils.isEmpty(pendingResult)){ + if (CollectionUtils.isEmpty(closedResult))return new ArrayList<>(); + return closedResult; + } + closedResult.addAll(pendingResult); + return closedResult; + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml index ef2db73c1d..60caa8ece5 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml @@ -5,7 +5,20 @@ diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 405981e94f..70db92c632 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -21,6 +21,21 @@ + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml index e44cfb4d03..e8b30733e1 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml @@ -3,4 +3,48 @@ + + + + + + + + + + + + + + \ No newline at end of file From 9e257236d18cd1f3f20addf253360d42374a8caa Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 28 Dec 2020 10:36:25 +0800 Subject: [PATCH 088/184] =?UTF-8?q?gateway=E6=96=B0=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 11 +++++++++++ epmet-gateway/src/main/resources/bootstrap.yml | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index a6b276158b..41ad7a65f7 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -205,6 +205,9 @@ lb://epmet-ext-server + + lb://data-aggregator-server + @@ -324,6 +327,10 @@ lb://epmet-ext-server + + + lb://data-aggregator-server + @@ -416,6 +423,8 @@ lb://epmet-point-server lb://epmet-ext-server + + lb://data-aggregator-server @@ -505,6 +514,8 @@ lb://epmet-point-server lb://epmet-ext-server + + lb://data-aggregator-server diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 53ec286911..fa7b45c2f2 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -323,6 +323,15 @@ spring: filters: - StripPrefix=1 - CpAuth=true + # 多数据源服务 + - id: data-aggregator-server + uri: @gateway.routes.data-aggregator-server.url@ + order: 35 + predicates: + - Path=${server.servlet.context-path}/data/aggregator/** + filters: + - StripPrefix=1 + - CpAuth=true nacos: discovery: server-addr: @nacos.server-addr@ @@ -438,6 +447,7 @@ epmet: - /gov/project/** - /resi/home/** - /data/report/** + - /data/aggregator/** # 内部认证url白名单(在白名单中的,就不会再校验登录了) internalAuthUrlsWhiteList: From 61b63ad2fcf93dbf64e6ea6e1e57d86382f4651a Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 28 Dec 2020 13:32:39 +0800 Subject: [PATCH 089/184] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=83=AD=E8=AE=AE-?= =?UTF-8?q?=E5=B7=B2=E8=BD=AC=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/govissue/EvaluateInfoDTO.java | 26 +++ .../dto/govissue/IssueApplicationDTO.java | 133 ++++++++++++++ .../govissue/IssueApplicationHistoryDTO.java | 110 ++++++++++++ .../govissue/IssueCustomerParameterDTO.java | 97 +++++++++++ .../dataaggre/dto/govissue/IssueDTO.java | 163 ++++++++++++++++++ .../dto/govissue/IssueProcessDTO.java | 102 +++++++++++ .../dto/govissue/IssueProjectRelationDTO.java | 82 +++++++++ .../govissue/IssueSatisfactionDetailDTO.java | 87 ++++++++++ .../IssueSatisfactionStatisticalDTO.java | 92 ++++++++++ .../dto/govissue/IssueSuggestionDTO.java | 97 +++++++++++ .../dto/govissue/IssueVoteDetailDTO.java | 82 +++++++++ .../dto/govissue/IssueVoteStatisticalDTO.java | 92 ++++++++++ .../IssueVoteStatisticalDailyDTO.java | 117 +++++++++++++ .../dataaggre/dto/govissue/PolyLineDTO.java | 32 ++++ .../dataaggre/dto/govissue/TopicInfoDTO.java | 43 +++++ .../form/ShiftProjectIssueListFormDTO.java | 37 ++++ .../govissue/form/VotingIssueListFormDTO.java | 2 +- .../result/IssueShiftProjectResultDTO.java | 28 +++ .../ShiftProjectIssueListResultDTO.java | 45 +++++ .../dataaggre/dto/govproject/ProjectDTO.java | 23 ++- .../result/ShiftProjectResultDTO.java | 53 ++++++ .../data-aggregator-server/pom.xml | 6 + .../controller/GovIssueController.java | 13 ++ .../dataaggre/dao/govissue/IssueDao.java | 9 + .../dataaggre/dao/govproject/ProjectDao.java | 13 ++ .../service/govissue/GovIssueService.java | 9 + .../govissue/impl/GovIssueServiceImpl.java | 44 ++++- .../service/govproject/GovProjectService.java | 8 + .../impl/GovProjectServiceImpl.java | 21 +++ .../resources/mapper/govissue/IssueDao.xml | 15 ++ .../mapper/govproject/ProjectDao.xml | 40 +++++ 31 files changed, 1710 insertions(+), 11 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/EvaluateInfoDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueApplicationDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueApplicationHistoryDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueCustomerParameterDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueProcessDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueProjectRelationDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSatisfactionDetailDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSatisfactionStatisticalDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSuggestionDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteDetailDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteStatisticalDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteStatisticalDailyDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/PolyLineDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/TopicInfoDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueShiftProjectResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/ShiftProjectIssueListResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ShiftProjectResultDTO.java diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/EvaluateInfoDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/EvaluateInfoDTO.java new file mode 100644 index 0000000000..4933a0a00c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/EvaluateInfoDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 评价信息 + */ +@Data +public class EvaluateInfoDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 评价内容 + */ + private String evaluateContent; + + /** + * 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueApplicationDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueApplicationDTO.java new file mode 100644 index 0000000000..4565baf59c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueApplicationDTO.java @@ -0,0 +1,133 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 话题转议题申请表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Data +public class IssueApplicationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 议题名称 + */ + private String issueTitle; + + /** + * 建议 + */ + private String suggestion; + + /** + * 审核状态:under_auditing:待审核;approved:通过;rejected:驳回;自动通过:auto_passed + */ + private String applyStatus; + + /** + * 话题id + */ + private String topicId; + + /** + * 小组id + */ + private String groupId; + + /** + * 网格ID 居民端议题对应一个网格Id + */ + private String gridId; + + /** + * 审核通过后对应的 议题id + */ + private String issueId; + + /** + * 审核通过时填写的理由 + */ + private String passedReason; + + /** + * 审批通过时工作人员id,自动通过此列不存储 + */ + private String approveStaffId; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间:第一次提交审核的时间,注意和历史表的第一条记录时间一致 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + //拓展属性 + /** + * 申请id + */ + private String issueApplicationId; + + /** + * 对应issue_application.UPDATED_TIME 对应的秒级时间戳 + */ + private Long latestTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueApplicationHistoryDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueApplicationHistoryDTO.java new file mode 100644 index 0000000000..65376d7dd9 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueApplicationHistoryDTO.java @@ -0,0 +1,110 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 话题转议题审核历史表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-17 + */ +@Data +public class IssueApplicationHistoryDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 话题转议题申请表 issue_application.id + */ + private String issueApplicationId; + + /** + * under_auditing:待审核; + * approved:审核通过; + * rejected:驳回; + * auto_passed:自动通过 + */ + private String actionType; + + /** + * 审核时的说明 + */ + private String reason; + + /** + * 工作端人员姓名 + */ + private String staffName; + + /** + * 删除标识:0 未删除 1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 提交人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 修改人ID + */ + private String updatedBy; + + /** + * 修改时间 + */ + private Date updatedTime; + + //扩展属性 + /** + * =id + */ + private String historyId; + + /** + * createdTime 对应时间戳 + */ + private Long operateTime; +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueCustomerParameterDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueCustomerParameterDTO.java new file mode 100644 index 0000000000..c1290190eb --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueCustomerParameterDTO.java @@ -0,0 +1,97 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题客户参数定制表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueCustomerParameterDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 参数键 eg:voting_time_limit + */ + private String parameterKey; + + /** + * 参数名 eg:表决期限 + */ + private String parameterName; + + /** + * 参数值 eg:10(天) + */ + private String parameterValue; + + /** + * 参数说明 eg:这个客户下所有的网格议题表决期限都是10天 + */ + private String description; + + /** + * 删除标志 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueDTO.java new file mode 100644 index 0000000000..b3b36dba2d --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueDTO.java @@ -0,0 +1,163 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题详情表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 议题ID + */ + private String id; + + /** + * 议题状态 表决中:voting 已转项目:shift_project 已关闭:closed + */ + private String issueStatus; + + /** + * 来源类型 eg:resi_topic + */ + private String sourceType; + + /** + * 来源ID eg:2223232(当SOURCE_TYPE为"resi_topic"时,这里指话题的ID) + */ + private String sourceId; + + /** + * 关闭理由 【未关闭时可以为空】关闭议题时必填的理由,转项目后而且已经结案,这个字段不回写 + */ + private String closeReason; + + /** + * 解决类型 【未关闭时可以为空】已解决resolved、未解决unresolved,对应在关闭议题时所选的checkbox,转项目后而且已经结案,这个字段不回写 + */ + private String resolveType; + + /** + * 议题名称 最多20字 + */ + private String issueTitle; + + /** + * 建议 最多1000字 + */ + private String suggestion; + + /** + * 客户ID + */ + private String customerId; + + /** + * 网格ID 居民端议题对应一个网格Id + */ + private String gridId; + + /** + * 所属机关 【数据权限-非必填】11:22:33(agencyId)数据权限控制 + */ + private String orgIdPath; + + /** + * 组织ID 【数据权限-非必填】agencyId + */ + private String orgId; + + /** + * 表决截止日期 + */ + private Date votingDeadline; + + /** + * 表决发起日期(转议题日期) + */ + private Date decidedTime; + + /** + * 转项目日期 (服务间调用日期一致性) + */ + private Date shiftedTime; + + /** + * 关闭日期 + */ + private Date closedTime; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + + /** + * 转项目日期 (服务间调用日期一致性) 戳 + */ + private Long shiftedTimeStamp; + + /** + * 关闭日期 戳 + */ + private Long closedTimeStamp; + + /** + * 议题转项目后-对应的项目id + */ + private String projectId; + + private String issueId; +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueProcessDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueProcessDTO.java new file mode 100644 index 0000000000..268b2b673c --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueProcessDTO.java @@ -0,0 +1,102 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题进展记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueProcessDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 议题ID + */ + private String issueId; + + /** + * 操作状态 - 表决中:voting 已转项目:shift_project 已关闭:closed + */ + private String issueStatus; + + /** + * 组织类型 操作人所属机构类型(机构:agency | 部门:dept | 网格:grid)操作人可能来源于居民端和政府段,但是只有在“转议题”的时候才是居民端拥有组长权限的人操作,所以当这条记录是转议题时,该记录为grid,ORD_ID相应的也为GRID_ID + */ + private String orgType; + + /** + * 组织ID 操作人所属机构ID(对应的有网格ID、部门ID、机构ID) + */ + private String orgId; + + /** + * 操作说明 (节点的说明文案,包含三个节点的文案说明【转议题】、【已关闭】、【转项目】) + */ + private String operationExplain; + + /** + * 组织名称 + * */ + private String orgName; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueProjectRelationDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueProjectRelationDTO.java new file mode 100644 index 0000000000..3e3d53ee6e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueProjectRelationDTO.java @@ -0,0 +1,82 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题项目关系表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueProjectRelationDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID 主键ID + */ + private String id; + + /** + * 议题ID 议题ID + */ + private String issueId; + + /** + * 项目ID 项目ID + */ + private String projectId; + + /** + * 删除标识 0:未删除1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 议题转项目时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSatisfactionDetailDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSatisfactionDetailDTO.java new file mode 100644 index 0000000000..626afb8f37 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSatisfactionDetailDTO.java @@ -0,0 +1,87 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题满意度调查记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueSatisfactionDetailDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 议题ID + */ + private String issueId; + + /** + * 评论 - 最多300字 + */ + private String comment; + + /** + * 满意度 满意度 - 不满意:bad、基本满意:good、非常满意:perfect + */ + private String satisfaction; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSatisfactionStatisticalDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSatisfactionStatisticalDTO.java new file mode 100644 index 0000000000..f80a037561 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSatisfactionStatisticalDTO.java @@ -0,0 +1,92 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题满意度调查统计表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueSatisfactionStatisticalDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 议题ID + */ + private String issueId; + + /** + * 一般满意数 + */ + private Integer goodCount; + + /** + * 非常满意数 + */ + private Integer perfectCount; + + /** + * 不满意数 + */ + private Integer badCount; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSuggestionDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSuggestionDTO.java new file mode 100644 index 0000000000..5f3dd43f10 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueSuggestionDTO.java @@ -0,0 +1,97 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 居民端用户对议题建议或意见表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-11-18 + */ +@Data +public class IssueSuggestionDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + private String id; + + /** + * 客户Id customer.id + */ + private String customerId; + + /** + * 议题id + */ + private String issueId; + + /** + * 议题所属网格id + */ + private String gridId; + + /** + * 对议题的想法 + */ + private String suggestion; + + /** + * 1公开; 0匿名 + */ + private Integer publicFlag; + + /** + * 删除标识:0 未删除 1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 提建议的人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 修改人ID + */ + private String updatedBy; + + /** + * 修改时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteDetailDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteDetailDTO.java new file mode 100644 index 0000000000..47e582c324 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteDetailDTO.java @@ -0,0 +1,82 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题表决记录表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueVoteDetailDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 议题ID + */ + private String issueId; + + /** + * 态度 - opposition(反对)support(赞成) + */ + private String attitude; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteStatisticalDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteStatisticalDTO.java new file mode 100644 index 0000000000..fdf0e660f3 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteStatisticalDTO.java @@ -0,0 +1,92 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题表决统计表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueVoteStatisticalDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 议题ID + */ + private String issueId; + + /** + * 支持数 + */ + private Integer supportCount; + + /** + * 反对数 + */ + private Integer oppositionCount; + + /** + * 应表决数 + */ + private Integer votableCount; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteStatisticalDailyDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteStatisticalDailyDTO.java new file mode 100644 index 0000000000..0575ed5585 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/IssueVoteStatisticalDailyDTO.java @@ -0,0 +1,117 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 议题表决按天统计表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-05-12 + */ +@Data +public class IssueVoteStatisticalDailyDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 议题ID + */ + private String issueId; + + /** + * 统计日期 yyyy-MM-dd + */ + private Date statisticalDate; + + /** + * 到该日的总赞成数 + */ + private Integer supportCount; + + /** + * 到该日的总反对数 + */ + private Integer oppositionCount; + + /** + * 到该日的总票数 + */ + private Integer totalCount; + + /** + * 该日增量 + */ + private Integer todayIncrement; + + /** + * 该日赞成增量 + */ + private Integer supportIncrement; + + /** + * 该日反对增量 + */ + private Integer oppositionIncrement; + + /** + * 到该日的应表决数 + */ + private Integer votableCount; + + /** + * 删除标识 0未删除、1已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/PolyLineDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/PolyLineDTO.java new file mode 100644 index 0000000000..00c03bdd2f --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/PolyLineDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * 投票折线数据 + * @CreateTime 2020/5/11 9:36 + */ +@Data +public class PolyLineDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 投票日期 + */ + private Long voteDate; + + /** + * 当日赞成票数量 + */ + private Integer supportIncrement; + + /** + * 当日反对票数量 + */ + private Integer oppositionIncrement; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/TopicInfoDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/TopicInfoDTO.java new file mode 100644 index 0000000000..6cd9256c17 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/TopicInfoDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dataaggre.dto.govissue; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * 话题详情(议题详情中的) + * @CreateTime 2020/5/11 9:36 + */ +@Data +public class TopicInfoDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 话题id + */ + private String topicId; + + /** + * 话题内容 + */ + private String topicContent; + + /** + * 图片列表 + */ + private List topicImgs; + + /** + * 话题发表人(山东路168-尹女士) + */ + private String publishedUser; + + /** + * 话题发表时间 (时间戳 毫秒级) + */ + private Long publishedTime; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java new file mode 100644 index 0000000000..c761eca2e8 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/ShiftProjectIssueListFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.dataaggre.dto.govissue.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 议题-已转项目列表-接口入参 + * @Auth sun + */ +@Data +public class ShiftProjectIssueListFormDTO implements Serializable { + private static final long serialVersionUID = -436147374473316845L; + /** + * 机关组织Id + * */ + @NotBlank(message = "组织Id不能为空", groups = {ShiftProjectIssueListFormDTO.VotingForm.class}) + private String agencyId; + /** + * 页码 + * */ + @Min(1) + private Integer pageNo; + /** + * 每页多少条 + * */ + private Integer pageSize = 20; + /** + * 组织下网格Id集合 + * */ + private List gridIdList; + + public interface VotingForm{} +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java index c5353f13bd..9b5a1ad4d8 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/form/VotingIssueListFormDTO.java @@ -8,7 +8,7 @@ import java.io.Serializable; import java.util.List; /** - * @Description 议题-表决中列表-接口如此那 + * @Description 议题-表决中列表-接口入参 * @Auth sun */ @Data diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueShiftProjectResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueShiftProjectResultDTO.java new file mode 100644 index 0000000000..559b26a328 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueShiftProjectResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dataaggre.dto.govissue.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 议题-已转项目列表-接口返参 + * @Auth sun + */ +@Data +public class IssueShiftProjectResultDTO implements Serializable { + private static final long serialVersionUID = -7134055957167447949L; + + /** + * 议题Id + * */ + private String issueId; + /** + * 议题标题 + * */ + private String issueTitle; + /** + * 实际总表决数 + * */ + private Integer count; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/ShiftProjectIssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/ShiftProjectIssueListResultDTO.java new file mode 100644 index 0000000000..4c55d2e9bf --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/ShiftProjectIssueListResultDTO.java @@ -0,0 +1,45 @@ +package com.epmet.dataaggre.dto.govissue.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 议题-已转项目列表-接口入参 + * @Auth sun + */ +@Data +public class ShiftProjectIssueListResultDTO implements Serializable { + private static final long serialVersionUID = -8616067919204282328L; + /** + * 议题Id + */ + private String issueId; + /** + * 议题标题 + */ + private String issueTitle; + /** + * 当前处理部门 + */ + private List departmentNameList; + /** + * 转成项目时间 + */ + private Long shiftedTime; + /** + * 项目状态 + */ + private String status; + /** + * 结案说明 + */ + private String closedReason; + /** + * 实际总表决数 + */ + private Integer count; + + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java index f67102b885..c73cc7ecd3 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java @@ -17,16 +17,18 @@ package com.epmet.dataaggre.dto.govproject; +import lombok.Data; + import java.io.Serializable; import java.util.Date; -import lombok.Data; +import java.util.List; /** * 项目表 * * @author generator generator@elink-cn.com - * @since v1.0.0 2020-12-25 + * @since v1.0.0 2020-05-11 */ @Data public class ProjectDTO implements Serializable { @@ -38,13 +40,13 @@ public class ProjectDTO implements Serializable { */ private String id; - /** - * 客户ID - */ + /** + * 客户ID + */ private String customerId; /** - * 机关ID + * 机关ID */ private String agencyId; @@ -68,6 +70,11 @@ public class ProjectDTO implements Serializable { */ private String status; + /** + * 结案说明 + */ + private String publicReply; + /** * 结案状态:已解决 resolved,未解决 unresolved */ @@ -108,4 +115,8 @@ public class ProjectDTO implements Serializable { */ private Date updatedTime; + /** + * 当前处理部门名称列表 + */ + private List currentDepartmentNameList; } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ShiftProjectResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ShiftProjectResultDTO.java new file mode 100644 index 0000000000..01fe2533d2 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ShiftProjectResultDTO.java @@ -0,0 +1,53 @@ +package com.epmet.dataaggre.dto.govproject.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/14 13:45 + */ +@Data +public class ShiftProjectResultDTO implements Serializable { + + private static final long serialVersionUID = 4807330131467747264L; + /** + * 唯一标识 + */ + private String id; + + /** + * 来源ID + */ + private String originId; + + /** + * 项目标题 + */ + private String title; + + /** + * 状态:待处理 pending,结案closed + */ + private String status; + + /** + * 结案说明 + */ + private String publicReply; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 当前处理部门 + */ + private List departmentNameList; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index 38a1c1f0c3..fadf7e7479 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -59,6 +59,12 @@ epmet-commons-dynamic-datasource 2.0.0 + + com.epmet + gov-project-client + 2.0.0 + compile + diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java index 223453b71d..8f715f160f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovIssueController.java @@ -5,8 +5,10 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.form.ShiftProjectIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; +import com.epmet.dataaggre.dto.govissue.result.ShiftProjectIssueListResultDTO; import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; import org.springframework.beans.factory.annotation.Autowired; @@ -53,4 +55,15 @@ public class GovIssueController { return new Result>().ok(govIssueService.votingIssueList(formDTO)); } + /** + * @param fromDTO + * @Description 居民热议-已转项目列表 + * @author sun + **/ + @PostMapping("shiftprojectissuelist") + public Result> shiftProjectIssueList(@RequestBody ShiftProjectIssueListFormDTO fromDTO) { + ValidatorUtils.validateEntity(fromDTO, VotingIssueListFormDTO.VotingForm.class); + return new Result>().ok(govIssueService.shiftProjectIssueList(fromDTO)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java index d09dc05d55..57da65e3fd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java @@ -18,8 +18,10 @@ package com.epmet.dataaggre.dao.govissue; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dataaggre.dto.govissue.form.ShiftProjectIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; +import com.epmet.dataaggre.dto.govissue.result.IssueShiftProjectResultDTO; import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; import com.epmet.dataaggre.entity.govissue.IssueEntity; import org.apache.ibatis.annotations.Mapper; @@ -57,4 +59,11 @@ public interface IssueDao extends BaseDao { * @author sun **/ List selectVotingList(VotingIssueListFormDTO formDTO); + + /** + * @Description 根据组织ID查询议题Id集合 + * @author sun + **/ + List selectIssueListByGridIds(ShiftProjectIssueListFormDTO fromDTO); + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java index 49dc997320..516f1481c1 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govproject/ProjectDao.java @@ -19,6 +19,7 @@ package com.epmet.dataaggre.dao.govproject; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; +import com.epmet.dataaggre.dto.govproject.ProjectDTO; import com.epmet.dataaggre.entity.govproject.ProjectEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -50,4 +51,16 @@ public interface ProjectDao extends BaseDao { */ List selectProjectInfoPending(@Param("issueIds") List issueIds); + /** + * @Description 根据议题Id集合查询项目数据 + * @author sun + **/ + List selectShiftProjectList(@Param("issueIdList") List issueIdList); + + /** + * @Description 查询项目当前处理部门 + * @author sun + **/ + List selectDepartmentNameList(ProjectDTO project); + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java index 22e7446cbe..23b5849ff0 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/GovIssueService.java @@ -2,8 +2,10 @@ package com.epmet.dataaggre.service.govissue; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.form.ShiftProjectIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; +import com.epmet.dataaggre.dto.govissue.result.ShiftProjectIssueListResultDTO; import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; import java.util.List; @@ -28,4 +30,11 @@ public interface GovIssueService { * @author sun **/ List votingIssueList(VotingIssueListFormDTO formDTO); + + /** + * @param fromDTO + * @Description 居民热议-已转项目列表 + * @author sun + **/ + List shiftProjectIssueList(ShiftProjectIssueListFormDTO fromDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index 92516cd245..fefadb9b91 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -9,12 +9,12 @@ import com.epmet.dataaggre.constant.IssueConstant; import com.epmet.dataaggre.dao.govissue.IssueApplicationDao; import com.epmet.dataaggre.dao.govissue.IssueDao; import com.epmet.dataaggre.dto.govissue.form.AllIssueFormDTO; +import com.epmet.dataaggre.dto.govissue.form.ShiftProjectIssueListFormDTO; import com.epmet.dataaggre.dto.govissue.form.VotingIssueListFormDTO; -import com.epmet.dataaggre.dto.govissue.result.AllIssueResultDTO; -import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; -import com.epmet.dataaggre.dto.govissue.result.VotingIssueListResultDTO; +import com.epmet.dataaggre.dto.govissue.result.*; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; +import com.epmet.dataaggre.dto.govproject.result.ShiftProjectResultDTO; import com.epmet.dataaggre.service.govissue.GovIssueService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.govproject.GovProjectService; @@ -199,7 +199,7 @@ public class GovIssueServiceImpl implements GovIssueService { //2.查询网格列表下表决中的议题列表 resultList = issueDao.selectVotingList(formDTO); - if(resultList.size()(); } @@ -214,4 +214,40 @@ public class GovIssueServiceImpl implements GovIssueService { return resultList; } + /** + * @param fromDTO + * @Description 居民热议-已转项目列表 + * @author sun + **/ + @Override + public List shiftProjectIssueList(ShiftProjectIssueListFormDTO fromDTO) { + List resultList = new ArrayList<>(); + int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize(); + fromDTO.setPageNo(pageIndex); + //1.查询组织下议题列表数据 + List issueList = issueDao.selectIssueListByGridIds(fromDTO); + if (null == issueList || issueList.size() < NumConstant.ONE) { + return resultList; + } + + //2.查询议题对应项目数据 + List issueIds = issueList.stream().map(IssueShiftProjectResultDTO::getIssueId).collect(Collectors.toList()); + List projectList = govProjectService.getProjectByIssue(issueIds); + + //3.遍历封装数据并返回 + resultList = issueList.stream().flatMap(issue -> projectList.stream().filter(p -> issue.getIssueId().equals(p.getOriginId())).map(project -> { + ShiftProjectIssueListResultDTO shiftProject = new ShiftProjectIssueListResultDTO(); + shiftProject.setIssueId(issue.getIssueId()); + shiftProject.setIssueTitle(issue.getIssueTitle()); + shiftProject.setCount(issue.getCount()); + shiftProject.setDepartmentNameList(project.getDepartmentNameList()); + shiftProject.setClosedReason(project.getPublicReply()); + shiftProject.setShiftedTime(project.getCreatedTime().getTime() / NumConstant.ONE_THOUSAND); + shiftProject.setStatus(project.getStatus()); + return shiftProject; + })).collect(Collectors.toList()); + + return resultList; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java index 82f72239b4..f08e76d866 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/GovProjectService.java @@ -1,6 +1,7 @@ package com.epmet.dataaggre.service.govproject; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; +import com.epmet.dataaggre.dto.govproject.result.ShiftProjectResultDTO; import java.util.List; @@ -18,4 +19,11 @@ public interface GovProjectService { */ List selectProjectInfo(List issueIds); + /** + * @Description 根据议题Id集合查询项目数据 + * @author sun + **/ + List getProjectByIssue(List issueIdList); + + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index 64a4130cfe..8a3d244624 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -1,9 +1,12 @@ package com.epmet.dataaggre.service.govproject.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govproject.ProjectDao; import com.epmet.dataaggre.dto.govissue.result.IssueListResultDTO; +import com.epmet.dataaggre.dto.govproject.ProjectDTO; +import com.epmet.dataaggre.dto.govproject.result.ShiftProjectResultDTO; import com.epmet.dataaggre.service.govproject.GovProjectService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -47,4 +50,22 @@ public class GovProjectServiceImpl implements GovProjectService { closedResult.addAll(pendingResult); return closedResult; } + + /** + * @Description 根据议题Id集合查询项目数据 + * @author sun + **/ + @Override + public List getProjectByIssue(List issueIdList) { + List resultList = new ArrayList<>(); + List projectList = projectDao.selectShiftProjectList(issueIdList); + projectList.forEach(project -> { + ShiftProjectResultDTO shiftProject = ConvertUtils.sourceToTarget(project, ShiftProjectResultDTO.class); + List departmentNameList = projectDao.selectDepartmentNameList(project); + shiftProject.setDepartmentNameList(departmentNameList); + resultList.add(shiftProject); + }); + return resultList; + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 70db92c632..aa52422676 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -58,4 +58,19 @@ #{pageNo}, #{pageSize} + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml index e8b30733e1..e0a319cd21 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml @@ -47,4 +47,44 @@ p.ORIGIN_ID = #{issueId} + + + + + \ No newline at end of file From 9e0e139ed0d2d03b024b96ca220527780c026cb9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 28 Dec 2020 14:19:25 +0800 Subject: [PATCH 090/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98-=E5=85=A8=E9=83=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/constant/IssueConstant.java | 2 ++ .../govissue/result/IssueListResultDTO.java | 6 ++++++ .../govissue/impl/GovIssueServiceImpl.java | 17 ++++++++++++++--- .../govproject/impl/GovProjectServiceImpl.java | 10 ++++++++++ .../mapper/govissue/IssueApplicationDao.xml | 8 ++++++-- .../resources/mapper/govissue/IssueDao.xml | 18 +++++++++++------- .../resources/mapper/govproject/ProjectDao.xml | 9 ++++++--- 7 files changed, 55 insertions(+), 15 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java index 12b0cdb413..e0c9506d37 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/IssueConstant.java @@ -15,6 +15,8 @@ public interface IssueConstant { String ISSUE_STATUS_AUDITING = "auditing"; String ISSUE_STATUS_REJECTED = "rejected"; + String NOT_EXISTS_ISSUE_TYPE = "议题类型不能为空......"; + String GET_AGENCY_FAILURE = "根据userId查询组织ID失败......"; String GET_GRID_LIST_FAILURE = "获取网格ID列表失败......"; diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java index 5f748ba6bb..50b6145d7a 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.dataaggre.dto.govissue.result; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -100,6 +101,9 @@ public class IssueListResultDTO implements Serializable { */ private List currentDepartment; + @JsonIgnore + private Long operationTime; + public IssueListResultDTO() { this.issueId = ""; this.issueTitle = ""; @@ -117,5 +121,7 @@ public class IssueListResultDTO implements Serializable { this.auditingTime = 0L; this.shiftProjectTime = 0L; this.currentDepartment = new ArrayList<>(); + this.projectId = ""; + this.issueClosedTime = 0L; } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index fefadb9b91..a73985788e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -102,11 +102,21 @@ public class GovIssueServiceImpl implements GovIssueService { * @date 2020/12/25 下午2:30 */ public List issueStatusClosedOrVoting(AllIssueFormDTO formDTO){ + if (StringUtils.isBlank(formDTO.getIssueType())){ + throw new RenException(IssueConstant.NOT_EXISTS_ISSUE_TYPE); + } if (CollectionUtils.isEmpty(formDTO.getGridIdList())){ return new ArrayList<>(); } PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueDao.issueStatusClosedOrVoting(formDTO.getGridIdList(), formDTO.getIssueType())); - return result.getList(); + List list = result.getList(); + List resultList = new ArrayList<>(); + if (formDTO.getIssueType().equals(IssueConstant.ISSUE_STATUS_CLOSED)){ + resultList = list.stream().sorted(Comparator.comparing(IssueListResultDTO::getIssueClosedTime).reversed()).collect(Collectors.toList()); + }else { + resultList = list.stream().sorted(Comparator.comparing(IssueListResultDTO::getCreateTime).reversed()).collect(Collectors.toList()); + } + return resultList; } /** @@ -145,7 +155,7 @@ public class GovIssueServiceImpl implements GovIssueService { return new ArrayList<>(); } PageInfo result = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()).doSelectPageInfo(() -> issueApplicationDao.issueStatusAuditing(formDTO.getGridIdList())); - return result.getList(); + return result.getList().stream().sorted(Comparator.comparing(IssueListResultDTO::getAuditingTime).reversed()).collect(Collectors.toList()); } /** @@ -177,7 +187,8 @@ public class GovIssueServiceImpl implements GovIssueService { } }); }); - return list; + List collect = list.stream().sorted(Comparator.comparing(IssueListResultDTO::getShiftProjectTime).reversed()).collect(Collectors.toList()); + return collect; } /** diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java index 8a3d244624..c133e50dce 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govproject/impl/GovProjectServiceImpl.java @@ -1,6 +1,7 @@ package com.epmet.dataaggre.service.govproject.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govproject.ProjectDao; @@ -13,7 +14,10 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Author zxc @@ -48,6 +52,12 @@ public class GovProjectServiceImpl implements GovProjectService { return closedResult; } closedResult.addAll(pendingResult); + List result = new ArrayList<>(); + Map> groupByIssue = closedResult.stream().collect(Collectors.groupingBy(IssueListResultDTO::getIssueId)); + groupByIssue.forEach((k,v) ->{ + List sortByTime = v.stream().sorted(Comparator.comparing(IssueListResultDTO::getOperationTime).reversed()).collect(Collectors.toList()); + result.add(sortByTime.get(NumConstant.ZERO)); + }); return closedResult; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml index 60caa8ece5..79ce6ca12e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml @@ -9,7 +9,8 @@ UNIX_TIMESTAMP(iah.CREATED_TIME) AS rejectedTime, ia.ISSUE_TITLE, ia.TOPIC_ID, - iah.REASON AS rejectedReason + iah.REASON AS rejectedReason, + ia.grid_id FROM issue_application_history iah LEFT JOIN issue_application ia ON iah.ISSUE_APPLICATION_ID = ia.ID WHERE ia.DEL_FLAG = 0 @@ -19,6 +20,7 @@ ia.GRID_ID = #{gridId} + order by iah.created_time desc @@ -26,7 +28,8 @@ SELECT ISSUE_TITLE, UNIX_TIMESTAMP(CREATED_TIME) AS auditingTime, - TOPIC_ID + TOPIC_ID, + grid_id FROM issue_application WHERE DEL_FLAG = 0 AND APPLY_STATUS = 'under_auditing' @@ -34,5 +37,6 @@ GRID_ID = #{gridId} + order by created_time desc \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index aa52422676..1cfae4f58a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -11,14 +11,16 @@ UNIX_TIMESTAMP(CLOSED_TIME) AS issueClosedTime, ISSUE_TITLE AS issueTitle , UNIX_TIMESTAMP(CREATED_TIME) AS createTime, - SUGGESTION + SUGGESTION, + grid_id FROM issue WHERE DEL_FLAG = '0' AND ISSUE_STATUS = #{issueStatus} - AND + AND( - GRID_ID = #{gridId} - + GRID_ID = #{gridId} + ) + order by created_time desc @@ -26,14 +28,16 @@ SELECT ID AS issueId, SUGGESTION , - UNIX_TIMESTAMP(SHIFTED_TIME) AS shiftProjectTime + UNIX_TIMESTAMP(SHIFTED_TIME) AS shiftProjectTime, + grid_id FROM issue WHERE DEL_FLAG = '0' AND ISSUE_STATUS = 'shift_project' - AND + AND ( GRID_ID = #{gridId} - + ) + order by created_time desc + + SELECT - i.id AS "issueId",, + i.id AS "issueId", i.issue_title AS "issueTitle", ( SELECT count(id) FROM issue_vote_detail WHERE del_flag = '0' AND issue_id = i.id ) AS "count" FROM @@ -74,7 +74,7 @@ AND i.issue_status = 'shift_project' AND i.org_id_path like concat('%', #{agencyId}, '%') ORDER BY - count DESC + count DESC, i.created_time ASC LIMIT #{pageNo}, #{pageSize} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml index 48b36cc8b3..681ce3c429 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml @@ -53,28 +53,28 @@ + SELECT + p.ID AS projectId, + p.TITLE AS projectTitle, + p.`STATUS` AS projectStatus, + unix_timestamp( + date_format( p.CREATED_TIME, '%Y%m%d' )) AS projectTime, + unix_timestamp( + date_format( updateTime, '%Y%m%d' )) AS updateTime, + p.CREATED_TIME AS startTime, + updateTime AS endTime, + departmentCount, + IFNULL( processCount, 0 ) AS processCount, + IFNULL( pp.PUBLIC_REPLY, '' ) AS publicReply + FROM + project p + INNER JOIN ( SELECT PROJECT_ID, GRID_ID FROM project_related_personnel WHERE DEL_FLAG = '0' AND SOURCE_TYPE = 'issue' ) prp ON p.ID = prp.PROJECT_ID + INNER JOIN ( SELECT PROJECT_ID, MAX( CREATED_TIME ) AS updateTime FROM project_process ppro GROUP BY PROJECT_ID ) ppro ON p.ID = ppro.PROJECT_ID + INNER JOIN ( SELECT PROJECT_ID, COUNT( DISTINCT DEPARTMENT_NAME ) AS departmentCount FROM project_staff GROUP BY PROJECT_ID ) ps ON ps.PROJECT_ID = p.ID + LEFT JOIN ( SELECT PROJECT_ID, COUNT( ID ) AS processCount FROM project_process WHERE DEL_FLAG = '0' AND OPERATION != 'created' GROUP BY PROJECT_ID ) ppc ON ppc.PROJECT_ID = p.ID + LEFT JOIN project_process pp ON p.ID = pp.PROJECT_ID + AND pp.OPERATION = 'close' + WHERE + p.DEL_FLAG = '0' + AND p.ORG_ID_PATH LIKE concat('%', #{agencyId}, '%') + + + prp.GRID_ID = #{gridId} + + + + AND p.`STATUS` = #{projectStatus} + + + + From 448682ec942d421b231ee67e51fce4be1d6fa443 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 30 Dec 2020 10:59:31 +0800 Subject: [PATCH 110/184] =?UTF-8?q?=E6=BC=8F=E6=8F=90=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 91d59d0983..7b3314f5dc 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -79,7 +79,7 @@ public class GovOrgServiceImpl implements GovOrgService { List subAgencyList = customerAgencyDao.selectAllSubAgency(subPids); if (subAgencyList.size() > NumConstant.ZERO) { for (AgencyGridResultDTO sub : subAgencyList) { - List gridList = customerGridDao.selectAgencyGridList(sub.getAgencyId()); + List gridList = customerGridDao.selectGridListByAgencyId(sub.getAgencyId()); sub.setGridList(gridList); List subAgency = getGridList(sub.getPids() + ":" + sub.getAgencyId()); sub.setSubAgencyGridList(subAgency); From c9442573eb58b0f3a8f7f916251cfdc78276f093 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 30 Dec 2020 13:57:31 +0800 Subject: [PATCH 111/184] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=AE=AE=E9=A2=98?= =?UTF-8?q?=E5=B7=B2=E5=85=B3=E9=97=AD=E5=88=97=E8=A1=A8=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=8F=96=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gov-issue-server/src/main/resources/mapper/IssueDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml index 3a4492eed1..4c2878e0e5 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml @@ -242,7 +242,7 @@ ID AS issueId, IFNULL(ISSUE_TITLE,'') AS issueTitle, IFNULL(CLOSE_REASON,'') AS closeReason, - UNIX_TIMESTAMP( created_time ) AS closedTime + UNIX_TIMESTAMP( closed_time ) AS closedTime FROM issue WHERE From 157b4a9f59265e8e6cfac821a1069fbe10f68cce Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 30 Dec 2020 14:02:45 +0800 Subject: [PATCH 112/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E5=B7=B2=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E5=88=97=E8=A1=A8=E5=85=B3=E9=97=AD=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gov-issue/gov-issue-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/gov-issue/gov-issue-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-prod.yml b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-prod.yml index 5250add85f..802b7df8c9 100644 --- a/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-prod.yml +++ b/epmet-module/gov-issue/gov-issue-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: gov-issue-server: container_name: gov-issue-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-issue-server:0.3.59 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/gov-issue-server:0.3.60 ports: - "8101:8101" network_mode: host # 使用现有网络 diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index c42a7b1a60..68e7b17d5b 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -2,7 +2,7 @@ - 0.3.59 + 0.3.60 gov-issue com.epmet From 244da82c19e736eb458a9c05cfbc1fa4d25ac7a0 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 30 Dec 2020 22:38:33 +0800 Subject: [PATCH 113/184] =?UTF-8?q?=E6=96=B0=E5=A2=9Eadv=E5=B9=BF=E5=91=8A?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-openapi-adv-client/pom.xml | 16 ++ .../epmet-openapi-adv-server/Dockerfile | 11 + .../deploy/docker-compose-dev.yml | 18 ++ .../deploy/docker-compose-prod.yml | 18 ++ .../deploy/docker-compose-test.yml | 18 ++ .../epmet-openapi-adv-server/pom.xml | 224 ++++++++++++++++++ .../java/com/epmet/adv/AdvApplication.java | 15 ++ .../epmet/adv/aspect/RequestLogAspect.java | 40 ++++ .../epmet/adv/config/ModuleConfigImpl.java | 26 ++ .../adv/controller/AdvVedioController.java | 28 +++ .../java/com/epmet/adv/dao/AdvVedioDao.java | 33 +++ .../com/epmet/adv/entity/AdvVedioEntity.java | 56 +++++ .../epmet/adv/service/AdvVedioService.java | 7 + .../adv/service/impl/AdvVedioServiceImpl.java | 18 ++ .../src/main/resources/bootstrap.yml | 147 ++++++++++++ .../db/migration/V0.0.1__createAdvVedio.sql | 18 ++ .../src/main/resources/logback-spring.xml | 169 +++++++++++++ .../src/main/resources/mapper/AdvVedioDao.xml | 35 +++ epmet-openapi/epmet-openapi-adv/pom.xml | 15 ++ epmet-openapi/pom.xml | 3 + 20 files changed, 915 insertions(+) create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-client/pom.xml create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/Dockerfile create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-dev.yml create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-test.yml create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/AdvApplication.java create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/aspect/RequestLogAspect.java create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/config/ModuleConfigImpl.java create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVedioController.java create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/dao/AdvVedioDao.java create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/entity/AdvVedioEntity.java create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/service/AdvVedioService.java create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/service/impl/AdvVedioServiceImpl.java create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/bootstrap.yml create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/db/migration/V0.0.1__createAdvVedio.sql create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/logback-spring.xml create mode 100644 epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/mapper/AdvVedioDao.xml create mode 100644 epmet-openapi/epmet-openapi-adv/pom.xml diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-client/pom.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-client/pom.xml new file mode 100644 index 0000000000..20e5c7aedd --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-client/pom.xml @@ -0,0 +1,16 @@ + + + + epmet-openapi + com.epmet + 2.0.0 + ../../pom.xml + + 4.0.0 + + epmet-openapi-adv-client + + + \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/Dockerfile b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/Dockerfile new file mode 100644 index 0000000000..d15b865820 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/Dockerfile @@ -0,0 +1,11 @@ +FROM java:8 + +RUN export LANG="zh_CN.UTF-8" +RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime +RUN echo 'Asia/Shanghai' > /etc/timezone + +COPY ./target/*.jar ./epmet-openapi-adv.jar + +EXPOSE 8115 + +ENTRYPOINT ["sh", "-c", "exec $RUN_INSTRUCT"] \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-dev.yml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-dev.yml new file mode 100644 index 0000000000..55c505363d --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-dev.yml @@ -0,0 +1,18 @@ +version: "3.7" +services: + epmet-openapi-adv-server: + container_name: epmet-openapi-adv-server-dev + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-openapi-adv-server:version_placeholder + ports: + - "8015:8015" + network_mode: host # 不会创建新的网络 + volumes: + - "/opt/epmet-cloud-logs/dev:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./epmet-openapi-adv.jar" + restart: "unless-stopped" + deploy: + resources: + limits: + cpus: '0.1' + memory: 300M \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml new file mode 100644 index 0000000000..f86e228bf0 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml @@ -0,0 +1,18 @@ +version: "3.7" +services: + epmet-openapi-adv-server: + container_name: epmet-openapi-adv-server-prod + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-openapi-adv-server:0.3.1 + ports: + - "8015:8015" + network_mode: host # 不会创建新的网络 + volumes: + - "/opt/epmet-cloud-logs/prod:/logs" + environment: + RUN_INSTRUCT: "java -Xms256m -Xmx512m -jar ./epmet-openapi-adv.jar" + restart: "unless-stopped" + deploy: + resources: + limits: + cpus: '0.1' + memory: 600M \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-test.yml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-test.yml new file mode 100644 index 0000000000..45d536cb2f --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-test.yml @@ -0,0 +1,18 @@ +version: "3.7" +services: + epmet-openapi-adv-server: + container_name: epmet-openapi-adv-server-test + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-openapi-adv-server:version_placeholder + ports: + - "8015:8015" + network_mode: host # 不会创建新的网络 + volumes: + - "/opt/epmet-cloud-logs/test:/logs" + environment: + RUN_INSTRUCT: "java -Xms32m -Xmx200m -jar ./epmet-openapi-adv.jar" + restart: "unless-stopped" + deploy: + resources: + limits: + cpus: '0.1' + memory: 300M \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml new file mode 100644 index 0000000000..7b7c38cc2e --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml @@ -0,0 +1,224 @@ + + + + epmet-openapi + com.epmet + 2.0.0 + + 4.0.0 + + epmet-openapi-adv-server + + + + com.epmet + epmet-commons-mybatis + 2.0.0 + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework + spring-context-support + + + org.springframework.boot + spring-boot-starter-actuator + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + io.github.openfeign + feign-httpclient + 10.3.0 + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + + ${project.basedir}/src/main/java + + + true + ${basedir}/src/main/resources + + + + + + + dev + + 8115 + dev + + + + + + epmet_adv_user + EpmEt-db-UsEr + + 0 + 192.168.1.130 + 6379 + 123456 + + true + 192.168.1.130:8848 + 6ceab336-d004-4acf-89c6-e121d06f4988 + + + false + + + false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + + + + local + + true + + + 8115 + local + + + + + + epmet_adv_user + EpmEt-db-UsEr + + 0 + 118.190.150.119 + 47379 + 123456 + + false + 192.168.1.130:8848 + 6ceab336-d004-4acf-89c6-e121d06f4988 + + + false + + + false + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + https://epmet-dev.elinkservice.cn/api/epmetscan/api + + + + test + + + 8115 + test + + + + + + epmet + elink@833066 + + 0 + r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 6379 + EpmEtrEdIs!q@w + + true + 192.168.10.150:8848 + 67e3c350-533e-4d7c-9f8f-faf1b4aa82ae + + + false + + + true + + + https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c + + SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + + + + prod + + 8115 + prod + + + + + + epmet_adv_user + EpmEt-db-UsEr + + 0 + r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com + 6379 + EpmEtclOUdrEdIs!Q2w + + true + 192.168.11.180:8848 + bd205d23-e696-47be-b995-916313f86e99 + + + false + + + true + + + + https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c + + SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + + + + + + \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/AdvApplication.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/AdvApplication.java new file mode 100644 index 0000000000..61c5d3b4b8 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/AdvApplication.java @@ -0,0 +1,15 @@ +package com.epmet; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@SpringBootApplication +@EnableDiscoveryClient +@EnableFeignClients +public class AdvApplication { + public static void main(String[] args) { + SpringApplication.run(AdvApplication.class, args); + } +} diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/aspect/RequestLogAspect.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/aspect/RequestLogAspect.java new file mode 100644 index 0000000000..e06fdc2c95 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/aspect/RequestLogAspect.java @@ -0,0 +1,40 @@ +package com.epmet.adv.aspect; + +import com.epmet.commons.tools.aspect.BaseRequestLogAspect; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.core.annotation.Order; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 日志/异常处理切面实现,调用父类方法完成日志记录和异常处理。 + */ +@Aspect +@Component +@Order(0) +public class RequestLogAspect extends BaseRequestLogAspect { + + @Override + @Around(value = "execution(* com.epmet.adv.controller.*Controller*.*(..)) ") + public Object proceed(ProceedingJoinPoint point) throws Throwable { + return super.proceed(point, getRequest()); + } + + /** + * 获取Request对象 + * + * @return + */ + private HttpServletRequest getRequest() { + RequestAttributes ra = RequestContextHolder.getRequestAttributes(); + ServletRequestAttributes sra = (ServletRequestAttributes) ra; + return sra.getRequest(); + } + +} diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/config/ModuleConfigImpl.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/config/ModuleConfigImpl.java new file mode 100644 index 0000000000..8d88549b66 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/config/ModuleConfigImpl.java @@ -0,0 +1,26 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.adv.config; + +import com.epmet.commons.tools.config.ModuleConfig; +import org.springframework.stereotype.Service; + +/** + * 模块配置信息 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@Service +public class ModuleConfigImpl implements ModuleConfig { + @Override + public String getName() { + return "adv"; + } +} diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVedioController.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVedioController.java new file mode 100644 index 0000000000..c8ea418fd5 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVedioController.java @@ -0,0 +1,28 @@ +package com.epmet.adv.controller; + +import com.epmet.adv.entity.AdvVedioEntity; +import com.epmet.adv.service.AdvVedioService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +@Controller +@RequestMapping("vedio") +public class AdvVedioController { + + @Autowired + private AdvVedioService advVedioService; + + @GetMapping("company-adv") + public String toVedio() throws IOException { + AdvVedioEntity enableAdvVedioEntity = advVedioService.getEnableAdvVedioEntity(); + String redirectUrl = enableAdvVedioEntity != null ? enableAdvVedioEntity.getPath() : "404"; + return String.format("redirect:%s", redirectUrl); + //response.sendRedirect("www.baidu.com"); + } + +} diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/dao/AdvVedioDao.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/dao/AdvVedioDao.java new file mode 100644 index 0000000000..c14da09d52 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/dao/AdvVedioDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.adv.dao; + +import com.epmet.adv.entity.AdvVedioEntity; +import com.epmet.commons.mybatis.dao.BaseDao; +import org.apache.ibatis.annotations.Mapper; + +/** + * 宣传视频 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-30 + */ +@Mapper +public interface AdvVedioDao extends BaseDao { + AdvVedioEntity getEnableAdvVedioEntity(); +} \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/entity/AdvVedioEntity.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/entity/AdvVedioEntity.java new file mode 100644 index 0000000000..a25c6ea77e --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/entity/AdvVedioEntity.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.adv.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 宣传视频 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-12-30 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("adv_vedio") +public class AdvVedioEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 存储路径 + */ + private String path; + + /** + * 存储类型。aliyun_oss,local + */ + private String storeType; + + /** + * 是否启用 + */ + private Integer enable; + +} diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/service/AdvVedioService.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/service/AdvVedioService.java new file mode 100644 index 0000000000..38091ee496 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/service/AdvVedioService.java @@ -0,0 +1,7 @@ +package com.epmet.adv.service; + +import com.epmet.adv.entity.AdvVedioEntity; + +public interface AdvVedioService { + AdvVedioEntity getEnableAdvVedioEntity(); +} diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/service/impl/AdvVedioServiceImpl.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/service/impl/AdvVedioServiceImpl.java new file mode 100644 index 0000000000..cecc710c39 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/service/impl/AdvVedioServiceImpl.java @@ -0,0 +1,18 @@ +package com.epmet.adv.service.impl; + +import com.epmet.adv.dao.AdvVedioDao; +import com.epmet.adv.entity.AdvVedioEntity; +import com.epmet.adv.service.AdvVedioService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class AdvVedioServiceImpl implements AdvVedioService { + @Autowired + private AdvVedioDao advVedioDao; + + public AdvVedioEntity getEnableAdvVedioEntity() { + return advVedioDao.getEnableAdvVedioEntity(); + } + +} diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/bootstrap.yml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/bootstrap.yml new file mode 100644 index 0000000000..35096567e6 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/bootstrap.yml @@ -0,0 +1,147 @@ +server: + port: @server.port@ + servlet: + context-path: /adv + +spring: + main: + allow-bean-definition-overriding: true + application: + name: epmet-openapi-adv-server + #环境 dev|test|prod + profiles: + active: @spring.profiles.active@ + messages: + encoding: UTF-8 + basename: i18n/messages_common + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd HH:mm:ss + redis: + database: @spring.redis.index@ + host: @spring.redis.host@ + port: @spring.redis.port@ + password: @spring.redis.password@ + timeout: 30s + datasource: + druid: + #MySQL + driver-class-name: com.mysql.cj.jdbc.Driver + url: @spring.datasource.druid.url@ + username: @spring.datasource.druid.username@ + password: @spring.datasource.druid.password@ + initial-size: 10 + max-active: 100 + min-idle: 10 + max-wait: 60000 + pool-prepared-statements: true + max-pool-prepared-statement-per-connection-size: 20 + time-between-eviction-runs-millis: 60000 + min-evictable-idle-time-millis: 300000 + #Oracle需要打开注释 + #validation-query: SELECT 1 FROM DUAL + test-while-idle: true + test-on-borrow: false + test-on-return: false + filter: + stat: + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: false + wall: + config: + multi-statement-allow: true + # 数据迁移工具flyway + flyway: + enabled: @spring.flyway.enabled@ + locations: classpath:db/migration + url: @spring.datasource.druid.url@ + user: @spring.datasource.druid.username@ + password: @spring.datasource.druid.password@ + baseline-on-migrate: true + baseline-version: 0 + cloud: + nacos: + discovery: + server-addr: @nacos.server-addr@ + #nacos的命名空间ID,默认是public + namespace: @nacos.discovery.namespace@ + #不把自己注册到注册中心的地址 + register-enabled: @nacos.register-enabled@ + ip: @nacos.ip@ + config: + enabled: @nacos.config-enabled@ + server-addr: @nacos.server-addr@ + namespace: @nacos.config.namespace@ + group: @nacos.config.group@ + file-extension: yaml +management: + endpoints: + web: + exposure: + include: "*" + endpoint: + health: + show-details: ALWAYS + +mybatis-plus: + mapper-locations: classpath:/mapper/**/*.xml + #实体扫描,多个package用逗号或者分号分隔 + typeAliasesPackage: com.epmet.entity + global-config: + #数据库相关配置 + db-config: + #主键类型 AUTO:"数据库ID自增", INPUT:"用户输入ID", ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID"; + id-type: ID_WORKER + #字段策略 IGNORED:"忽略判断",NOT_NULL:"非 NULL 判断"),NOT_EMPTY:"非空判断" + field-strategy: NOT_NULL + #驼峰下划线转换 + column-underline: true + banner: false + #原生配置 + configuration: + map-underscore-to-camel-case: true + cache-enabled: false + call-setters-on-nulls: true + jdbc-type-for-null: 'null' + +feign: + hystrix: + enabled: true + client: + config: + default: + loggerLevel: BASIC + httpclient: + enabled: true + + +hystrix: + command: + default: + execution: + isolation: + thread: + timeoutInMilliseconds: 60000 #缺省为1000 + +ribbon: + ReadTimeout: 300000 + ConnectTimeout: 300000 + +#pageHelper分页插件 +pagehelper: + helper-dialect: mysql + reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 + +openapi: + scan: + server: + url: @openapi.scan.server.url@ + method: + imgSyncScan: /imgSyncScan + textSyncScan: /textSyncScan + +dingTalk: + robot: + webHook: @dingTalk.robot.webHook@ + secret: @dingTalk.robot.secret@ \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/db/migration/V0.0.1__createAdvVedio.sql b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/db/migration/V0.0.1__createAdvVedio.sql new file mode 100644 index 0000000000..007c12b55f --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/db/migration/V0.0.1__createAdvVedio.sql @@ -0,0 +1,18 @@ +-- create database epmet_adv default character set utf8mb4; + +-- CREATE USER epmet_adv_user@'%' IDENTIFIED BY 'EpmEt-db-UsEr'; +-- GRANT ALL ON `epmet_adv%`.* TO 'epmet_adv_user'@'%'; +-- flush privileges; + +CREATE TABLE `adv_vedio` ( + `ID` varchar(64) NOT NULL COMMENT 'id' primary key , + `PATH` varchar(255) NOT NULL COMMENT '存储路径', + `STORE_TYPE` varchar(30) NOT NULL COMMENT '存储类型。aliyun_oss,local', + `ENABLE` tinyint(1) NOT NULL COMMENT '是否启用', + `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁', + `DEL_FLAG` int(11) unsigned DEFAULT NULL COMMENT '删除标识 0:未删除 1:删除', + `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建者', + `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新者', + `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宣传视频' \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/logback-spring.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/logback-spring.xml new file mode 100644 index 0000000000..06a21d317c --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/logback-spring.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + ${appname} + + + + + + + + + debug + + + ${CONSOLE_LOG_PATTERN} + + UTF-8 + + + + + + + + ${log.path}/debug.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + + ${log.path}/debug-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + debug + ACCEPT + DENY + + + + + + + ${log.path}/info.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + + ${log.path}/info-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + info + ACCEPT + DENY + + + + + + + ${log.path}/warn.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/warn-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + warn + ACCEPT + DENY + + + + + + + ${log.path}/error.log + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + UTF-8 + + + + ${log.path}/error-%d{yyyy-MM-dd}.%i.log + + 100MB + + + 15 + + + + ERROR + ACCEPT + DENY + ${webHook} + ${secret} + ${appname} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/mapper/AdvVedioDao.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/mapper/AdvVedioDao.xml new file mode 100644 index 0000000000..92a4993b9f --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/mapper/AdvVedioDao.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-openapi/epmet-openapi-adv/pom.xml b/epmet-openapi/epmet-openapi-adv/pom.xml new file mode 100644 index 0000000000..a3ef89a4a8 --- /dev/null +++ b/epmet-openapi/epmet-openapi-adv/pom.xml @@ -0,0 +1,15 @@ + + + + epmet-openapi + com.epmet + 2.0.0 + + 4.0.0 + + epmet-openapi-adv + + + \ No newline at end of file diff --git a/epmet-openapi/pom.xml b/epmet-openapi/pom.xml index 9db62073f3..fb9b091fd4 100644 --- a/epmet-openapi/pom.xml +++ b/epmet-openapi/pom.xml @@ -13,6 +13,9 @@ epmet-openapi epmet-openapi-scan + epmet-openapi-adv + epmet-openapi-adv/epmet-openapi-adv-client + epmet-openapi-adv/epmet-openapi-adv-server \ No newline at end of file From 754eaec1703c498149f240f1117194ce587c6b2a Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 30 Dec 2020 23:23:32 +0800 Subject: [PATCH 114/184] =?UTF-8?q?=E8=B0=83=E6=95=B4adv=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=9A=84=E6=A8=A1=E5=9D=97=E5=8C=85=E5=90=AB=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-openapi-adv/epmet-openapi-adv-client/pom.xml | 4 ++-- .../epmet-openapi-adv/epmet-openapi-adv-server/pom.xml | 3 ++- epmet-openapi/epmet-openapi-adv/pom.xml | 6 ++++++ epmet-openapi/pom.xml | 2 -- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-client/pom.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-client/pom.xml index 20e5c7aedd..5c57808384 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-client/pom.xml +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-client/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - epmet-openapi + epmet-openapi-adv com.epmet 2.0.0 - ../../pom.xml + ../pom.xml 4.0.0 diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml index 7b7c38cc2e..6296aa9735 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml @@ -3,9 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - epmet-openapi + epmet-openapi-adv com.epmet 2.0.0 + ../pom.xml 4.0.0 diff --git a/epmet-openapi/epmet-openapi-adv/pom.xml b/epmet-openapi/epmet-openapi-adv/pom.xml index a3ef89a4a8..13490687d1 100644 --- a/epmet-openapi/epmet-openapi-adv/pom.xml +++ b/epmet-openapi/epmet-openapi-adv/pom.xml @@ -7,9 +7,15 @@ com.epmet 2.0.0 + pom 4.0.0 epmet-openapi-adv + + epmet-openapi-adv-client + epmet-openapi-adv-server + + \ No newline at end of file diff --git a/epmet-openapi/pom.xml b/epmet-openapi/pom.xml index fb9b091fd4..fd15705343 100644 --- a/epmet-openapi/pom.xml +++ b/epmet-openapi/pom.xml @@ -14,8 +14,6 @@ epmet-openapi-scan epmet-openapi-adv - epmet-openapi-adv/epmet-openapi-adv-client - epmet-openapi-adv/epmet-openapi-adv-server \ No newline at end of file From d9762d1641f3df2252f879fa002b6f67eee9fb9d Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 30 Dec 2020 23:26:17 +0800 Subject: [PATCH 115/184] =?UTF-8?q?=E7=89=88=E6=9C=AC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-openapi-adv/epmet-openapi-adv-server/pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml index 6296aa9735..9ea27452db 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml @@ -2,6 +2,8 @@ + + 0.3.1 epmet-openapi-adv com.epmet From b0990d0ea85882e1af141c03f05ccebe86a048a1 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 30 Dec 2020 23:29:38 +0800 Subject: [PATCH 116/184] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8D=87=E7=BA=A7+?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../deploy/docker-compose-prod.yml | 2 +- .../epmet-openapi-adv/epmet-openapi-adv-server/pom.xml | 2 +- .../src/main/resources/bootstrap.yml | 8 -------- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml index f86e228bf0..7b26bf7c08 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-openapi-adv-server: container_name: epmet-openapi-adv-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-openapi-adv-server:0.3.1 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-openapi-adv-server:0.3.2 ports: - "8015:8015" network_mode: host # 不会创建新的网络 diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml index 9ea27452db..d39661cadc 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - 0.3.1 + 0.3.2 epmet-openapi-adv com.epmet diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/bootstrap.yml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/bootstrap.yml index 35096567e6..247b417689 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/bootstrap.yml +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/resources/bootstrap.yml @@ -133,14 +133,6 @@ pagehelper: helper-dialect: mysql reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1 -openapi: - scan: - server: - url: @openapi.scan.server.url@ - method: - imgSyncScan: /imgSyncScan - textSyncScan: /textSyncScan - dingTalk: robot: webHook: @dingTalk.robot.webHook@ From fb1ce0df25d43a7ce730ede31ea15450de371017 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 30 Dec 2020 23:47:45 +0800 Subject: [PATCH 117/184] =?UTF-8?q?gateway-=E5=A2=9E=E5=8A=A0epmet-openapi?= =?UTF-8?q?-adv=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 14 ++++++++++++++ epmet-gateway/src/main/resources/bootstrap.yml | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index a6b276158b..36b0025c32 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -205,6 +205,10 @@ lb://epmet-ext-server + + + lb://epmet-openapi-adv-server + @@ -324,6 +328,10 @@ lb://epmet-ext-server + + + lb://epmet-openapi-adv-server + @@ -416,6 +424,9 @@ lb://epmet-point-server lb://epmet-ext-server + + + lb://epmet-openapi-adv-server @@ -505,6 +516,9 @@ lb://epmet-point-server lb://epmet-ext-server + + + lb://epmet-openapi-adv-server diff --git a/epmet-gateway/src/main/resources/bootstrap.yml b/epmet-gateway/src/main/resources/bootstrap.yml index 53ec286911..d77509cd82 100644 --- a/epmet-gateway/src/main/resources/bootstrap.yml +++ b/epmet-gateway/src/main/resources/bootstrap.yml @@ -323,6 +323,15 @@ spring: filters: - StripPrefix=1 - CpAuth=true + # 宣传服务 + - id: epmet-openapi-adv-server + uri: @gateway.routes.epmet-openapi-adv-server.url@ + order: 35 + predicates: + - Path=${server.servlet.context-path}/adv/** + filters: + - StripPrefix=1 + - CpAuth=true nacos: discovery: server-addr: @nacos.server-addr@ From 901e62278ac5b5e753368f5442fcf672a83dc992 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 30 Dec 2020 23:48:42 +0800 Subject: [PATCH 118/184] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/deploy/docker-compose-prod.yml | 2 +- epmet-gateway/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-gateway/deploy/docker-compose-prod.yml b/epmet-gateway/deploy/docker-compose-prod.yml index 5750222b86..ebcdc7eafc 100644 --- a/epmet-gateway/deploy/docker-compose-prod.yml +++ b/epmet-gateway/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-gateway-server: container_name: epmet-gateway-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:0.3.42 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-gateway:0.3.43 ports: - "8080:8080" network_mode: host # 使用现有网络 diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index 36b0025c32..2815788b30 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.42 + 0.3.43 com.epmet epmet-cloud From 7f50e2cdfa3b0a7b281aa77704aeca7e3ea9d689 Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 31 Dec 2020 14:39:30 +0800 Subject: [PATCH 119/184] =?UTF-8?q?=E4=BF=AE=E6=94=B9url=E5=8D=95=E8=AF=8D?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{AdvVedioController.java => AdvVideoController.java} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/{AdvVedioController.java => AdvVideoController.java} (93%) diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVedioController.java b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVideoController.java similarity index 93% rename from epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVedioController.java rename to epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVideoController.java index c8ea418fd5..5c032ad562 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVedioController.java +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/src/main/java/com/epmet/adv/controller/AdvVideoController.java @@ -11,8 +11,8 @@ import org.springframework.web.bind.annotation.RestController; import java.io.IOException; @Controller -@RequestMapping("vedio") -public class AdvVedioController { +@RequestMapping("video") +public class AdvVideoController { @Autowired private AdvVedioService advVedioService; From da628cb92b003a3c734c25eb57f2e9406528c258 Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 31 Dec 2020 14:41:02 +0800 Subject: [PATCH 120/184] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-openapi-adv-server/deploy/docker-compose-prod.yml | 2 +- .../epmet-openapi-adv/epmet-openapi-adv-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml index 7b26bf7c08..b5a13e04e3 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-openapi-adv-server: container_name: epmet-openapi-adv-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-openapi-adv-server:0.3.2 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/epmet-openapi-adv-server:0.3.3 ports: - "8015:8015" network_mode: host # 不会创建新的网络 diff --git a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml index d39661cadc..8dd1602e70 100644 --- a/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml +++ b/epmet-openapi/epmet-openapi-adv/epmet-openapi-adv-server/pom.xml @@ -3,7 +3,7 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - 0.3.2 + 0.3.3 epmet-openapi-adv com.epmet From 6e50cfdf21dc4d655a029ac7c35be6f84be6c470 Mon Sep 17 00:00:00 2001 From: wxz Date: Sat, 2 Jan 2021 20:22:31 +0800 Subject: [PATCH 121/184] =?UTF-8?q?=E5=A2=9E=E5=8A=A0helper-video=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-gateway/pom.xml | 2 +- .../epmet/controller/HelperController.java | 23 +++++++++ .../java/com/epmet/dao/HelperVideoDao.java | 34 +++++++++++++ .../com/epmet/entity/HelperVideoEntity.java | 49 +++++++++++++++++++ .../com/epmet/service/HelperVideoService.java | 7 +++ .../service/impl/HelperVideoServiceImpl.java | 19 +++++++ .../migration/V0.0.8__createHelperVideo.sql | 18 +++++++ .../main/resources/mapper/HelperVideoDao.xml | 33 +++++++++++++ 8 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/HelperController.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/HelperVideoDao.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/entity/HelperVideoEntity.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/HelperVideoService.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/HelperVideoServiceImpl.java create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.8__createHelperVideo.sql create mode 100644 epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/HelperVideoDao.xml diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index 36b0025c32..43cb9543e2 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -330,7 +330,7 @@ - lb://epmet-openapi-adv-server + lb://epmet-openapi-adv-server diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/HelperController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/HelperController.java new file mode 100644 index 0000000000..d06e522e77 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/HelperController.java @@ -0,0 +1,23 @@ +package com.epmet.controller; + +import com.epmet.entity.HelperVideoEntity; +import com.epmet.service.HelperVideoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@RequestMapping("helper") +public class HelperController { + + @Autowired + private HelperVideoService helperVideoService; + + @GetMapping("helper-video") + public String getHelpVideo() { + HelperVideoEntity enableHelperVideo = helperVideoService.getEnableHelperVideo(); + return "redirect:" + enableHelperVideo.getPath(); + } + +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/HelperVideoDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/HelperVideoDao.java new file mode 100644 index 0000000000..989989f347 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/HelperVideoDao.java @@ -0,0 +1,34 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.HelperVideoEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 宣传视频 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-01-01 + */ +@Mapper +public interface HelperVideoDao extends BaseDao { + + HelperVideoEntity getEnableHelperVideo(); +} \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/entity/HelperVideoEntity.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/entity/HelperVideoEntity.java new file mode 100644 index 0000000000..d94043acec --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/entity/HelperVideoEntity.java @@ -0,0 +1,49 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 宣传视频 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-01-01 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("helper_video") +public class HelperVideoEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 存储路径 + */ + private String path; + + /** + * 是否启用 + */ + private Integer enable; + +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/HelperVideoService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/HelperVideoService.java new file mode 100644 index 0000000000..63d348075c --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/HelperVideoService.java @@ -0,0 +1,7 @@ +package com.epmet.service; + +import com.epmet.entity.HelperVideoEntity; + +public interface HelperVideoService { + HelperVideoEntity getEnableHelperVideo(); +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/HelperVideoServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/HelperVideoServiceImpl.java new file mode 100644 index 0000000000..2de1313d45 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/HelperVideoServiceImpl.java @@ -0,0 +1,19 @@ +package com.epmet.service.impl; + +import com.epmet.dao.HelperVideoDao; +import com.epmet.entity.HelperVideoEntity; +import com.epmet.service.HelperVideoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class HelperVideoServiceImpl implements HelperVideoService { + + @Autowired + private HelperVideoDao helperVideoDao; + + @Override + public HelperVideoEntity getEnableHelperVideo() { + return helperVideoDao.getEnableHelperVideo(); + } +} diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.8__createHelperVideo.sql b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.8__createHelperVideo.sql new file mode 100644 index 0000000000..bc17eca33d --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/db/migration/V0.0.8__createHelperVideo.sql @@ -0,0 +1,18 @@ +-- create database epmet_adv default character set utf8mb4; + +-- CREATE USER epmet_adv_user@'%' IDENTIFIED BY 'EpmEt-db-UsEr'; +-- GRANT ALL ON `epmet_adv%`.* TO 'epmet_adv_user'@'%'; +-- flush privileges; + +CREATE TABLE `helper_video` ( + `ID` varchar(64) NOT NULL COMMENT 'id', + `PATH` varchar(255) NOT NULL COMMENT '存储路径', + `ENABLE` tinyint(1) NOT NULL COMMENT '是否启用', + `REVISION` int(11) DEFAULT NULL COMMENT '乐观锁', + `DEL_FLAG` int(11) unsigned DEFAULT NULL COMMENT '删除标识 0:未删除 1:删除', + `CREATED_BY` varchar(32) DEFAULT NULL COMMENT '创建者', + `CREATED_TIME` datetime DEFAULT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) DEFAULT NULL COMMENT '更新者', + `UPDATED_TIME` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宣传视频' \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/HelperVideoDao.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/HelperVideoDao.xml new file mode 100644 index 0000000000..848e4de084 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/HelperVideoDao.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 71128aeca8094ab55578dba424b2193fe639d82e Mon Sep 17 00:00:00 2001 From: wxz Date: Sat, 2 Jan 2021 20:26:16 +0800 Subject: [PATCH 122/184] =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common-service-server/deploy/docker-compose-prod.yml | 2 +- epmet-module/epmet-common-service/common-service-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml index a023ca747e..bbf8441c97 100644 --- a/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml +++ b/epmet-module/epmet-common-service/common-service-server/deploy/docker-compose-prod.yml @@ -2,7 +2,7 @@ version: "3.7" services: common-service-server: container_name: common-service-server-prod - image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/common-service-server:0.3.25 + image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/common-service-server:0.3.26 ports: - "8103:8103" network_mode: host # 使用现有网络 diff --git a/epmet-module/epmet-common-service/common-service-server/pom.xml b/epmet-module/epmet-common-service/common-service-server/pom.xml index 47d3169b71..c863208d25 100644 --- a/epmet-module/epmet-common-service/common-service-server/pom.xml +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.25 + 0.3.26 com.epmet epmet-common-service From b1eb4d07c05b83c0c0564dbe5099e4421d56fc5c Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 4 Jan 2021 09:52:46 +0800 Subject: [PATCH 123/184] =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PublicPartExtractServiceImpl.java | 14 +++++++------- .../openapi/scan/service/impl/ScanServiceImpl.java | 3 ++- 2 files changed, 9 insertions(+), 8 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 8e9dbd77be..dc5ba0ba2e 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 @@ -94,7 +94,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { private void extractGridUserJoin(ExtractScreenFormDTO formDTO) { List orgList = dimGridService.getGridListByCustomerId(formDTO.getCustomerId()); if (CollectionUtils.isEmpty(orgList)) { - log.warn("抽取【公众参与-人均议题】,获取组织数据失败"); + log.warn("抽取【公众参与-人均议题】,获取组织数据失败,客户Id:{}", formDTO.getCustomerId()); return; } //构建组织数据 @@ -103,12 +103,12 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { //获取议题月份增量 List issueTotal = factIssueGridMonthlyService.getIssueIncCountAndTotalByMonthId(formDTO.getCustomerId(), formDTO.getMonthId()); if (CollectionUtils.isEmpty(issueTotal)) { - log.error("抽取【公众参与-人均议题】,获取议题增量为空"); + log.error("抽取【公众参与-人均议题】,获取议题增量为空,客户Id:{}", formDTO.getCustomerId()); return; } List userCountList = factRegUserGridMonthlyService.selectGridUserCount(formDTO.getCustomerId(), formDTO.getMonthId()); if (CollectionUtils.isEmpty(userCountList)) { - log.error("抽取【公众参与-人均议题】,获取注册用户数为空"); + log.error("抽取【公众参与-人均议题】,获取注册用户数为空,客户Id:{}", formDTO.getCustomerId()); return; } Map userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getOrgId, o -> o)); @@ -143,7 +143,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { //获取每个网格的应表决人数 List memberCountList = factOriginGroupMainDailyService.selectDistinctGroupMemberCount(formDTO.getCustomerId(), ProjectConstant.AGENCY_ID); if (CollectionUtils.isEmpty(memberCountList)) { - log.warn("抽取【公众参与-人均议题】,获取应表决人数为空"); + log.warn("抽取【公众参与-人均议题】,获取应表决人数为空,客户Id:{}", formDTO.getCustomerId()); return; } gridMemberCount = memberCountList.stream().collect(Collectors.toMap(GridGroupUserCountResultDTO::getOrgId, o -> o.getMemberCount())); @@ -184,7 +184,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { private void extractAgencyUserJoin(ExtractScreenFormDTO formDTO) { List orgList = dimAgencyService.getAgencyListByCustomerId(formDTO.getCustomerId()); if (CollectionUtils.isEmpty(orgList)) { - log.warn("抽取【公众参与-人均议题】,获取组织数据失败"); + log.warn("抽取【公众参与-人均议题】,获取组织数据失败,客户Id:{}", formDTO.getCustomerId()); return; } //构建组织数据 @@ -196,7 +196,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { Map userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getOrgId, o -> o)); Set agencyIdSet = new HashSet<>(); if (!CollectionUtils.isEmpty(issueTotal)) { - log.error("抽取【公众参与-人均议题】,获取注册用户数为空"); + log.error("抽取【公众参与-人均议题】,获取注册用户数为空,客户Id:{}", formDTO.getCustomerId()); issueTotal.forEach(issue -> { String agencyId = issue.getAgencyId(); agencyIdSet.add(agencyId); @@ -219,7 +219,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { //获取每个网格的应表决人数 List memberCountList = factOriginGroupMainDailyService.selectDistinctGroupMemberCount(formDTO.getCustomerId(), ProjectConstant.AGENCY_ID); if (CollectionUtils.isEmpty(memberCountList)) { - log.warn("抽取【公众参与-人均议题】,获取应表决人数为空"); + log.warn("抽取【公众参与-人均议题】,获取应表决人数为空,客户Id:{}", formDTO.getCustomerId()); return; } orgMemberCount = memberCountList.stream().collect(Collectors.toMap(GridGroupUserCountResultDTO::getOrgId, o -> o.getMemberCount())); diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java index 2a5db725e2..3ee213569b 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java @@ -8,6 +8,7 @@ import com.aliyuncs.green.model.v20180509.ImageSyncScanRequest; import com.aliyuncs.green.model.v20180509.TextScanRequest; import com.aliyuncs.http.FormatType; import com.aliyuncs.http.HttpResponse; +import com.aliyuncs.http.MethodType; import com.epmet.commons.tools.utils.Result; import com.epmet.openapi.scan.common.constant.SysConstant; import com.epmet.openapi.scan.common.enu.ImgSceneEnum; @@ -152,7 +153,7 @@ public class ScanServiceImpl implements ScanService { private ImageSyncScanRequest getImgScanRequest() { ImageSyncScanRequest imageSyncScanRequest = new ImageSyncScanRequest(); imageSyncScanRequest.setAcceptFormat(FormatType.JSON); // 指定api返回格式 - imageSyncScanRequest.setMethod(com.aliyuncs.http.MethodType.POST); // 指定请求方法 + imageSyncScanRequest.setMethod(MethodType.POST); // 指定请求方法 imageSyncScanRequest.setEncoding(SysConstant.UTF8); imageSyncScanRequest.setRegionId(regionId); imageSyncScanRequest.setConnectTimeout(3000); From 79f246b03468679c82c8b0262f0b5ea4af61e113 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 4 Jan 2021 10:05:32 +0800 Subject: [PATCH 124/184] =?UTF-8?q?=E9=87=8D=E8=A6=81=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E6=9C=BA=E5=99=A8=E4=BA=BA=E6=9B=B4=E5=A5=BD?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/utils/HttpClientManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java index 8b5a691891..6b98d0f919 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java @@ -249,8 +249,8 @@ public class HttpClientManager { */ public Result sendAlarmMsg(String content) { Long timestamp = System.currentTimeMillis(); - String url = "https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c"; - String secret = "SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19"; + String url = "https://oapi.dingtalk.com/robot/send?access_token=c40055ed85e45fdaafea00f3218928794262ff15163e09ad5c89764433b69806"; + String secret = "SEC220eafdcb39ab5dd6cffa9f11b0e5de7178ddac9812d40fdceb6b1dda2963186"; try { String stringToSign = timestamp + "\n" + secret; From e6104b5f6d01857e1bbe11597a602d048682bc21 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 4 Jan 2021 10:33:48 +0800 Subject: [PATCH 125/184] =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=82=E4=B8=8E=20?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PublicPartExtractServiceImpl.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 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 dc5ba0ba2e..aa8c4728dc 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 @@ -94,7 +94,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { private void extractGridUserJoin(ExtractScreenFormDTO formDTO) { List orgList = dimGridService.getGridListByCustomerId(formDTO.getCustomerId()); if (CollectionUtils.isEmpty(orgList)) { - log.warn("抽取【公众参与-人均议题】,获取组织数据失败,客户Id:{}", formDTO.getCustomerId()); + log.warn("抽取【公众参与-人均议题】,获取组织数据失败,customerId:{}", formDTO.getCustomerId()); return; } //构建组织数据 @@ -103,12 +103,12 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { //获取议题月份增量 List issueTotal = factIssueGridMonthlyService.getIssueIncCountAndTotalByMonthId(formDTO.getCustomerId(), formDTO.getMonthId()); if (CollectionUtils.isEmpty(issueTotal)) { - log.error("抽取【公众参与-人均议题】,获取议题增量为空,客户Id:{}", formDTO.getCustomerId()); + log.error("抽取【公众参与-人均议题】,获取议题增量为空,customerId:{}", formDTO.getCustomerId()); return; } List userCountList = factRegUserGridMonthlyService.selectGridUserCount(formDTO.getCustomerId(), formDTO.getMonthId()); if (CollectionUtils.isEmpty(userCountList)) { - log.error("抽取【公众参与-人均议题】,获取注册用户数为空,客户Id:{}", formDTO.getCustomerId()); + log.error("抽取【公众参与-人均议题】,获取注册用户数为空,customerId:{}", formDTO.getCustomerId()); return; } Map userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getOrgId, o -> o)); @@ -143,7 +143,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { //获取每个网格的应表决人数 List memberCountList = factOriginGroupMainDailyService.selectDistinctGroupMemberCount(formDTO.getCustomerId(), ProjectConstant.AGENCY_ID); if (CollectionUtils.isEmpty(memberCountList)) { - log.warn("抽取【公众参与-人均议题】,获取应表决人数为空,客户Id:{}", formDTO.getCustomerId()); + log.warn("抽取【公众参与-人均议题】,获取应表决人数为空,customerId:{}", formDTO.getCustomerId()); return; } gridMemberCount = memberCountList.stream().collect(Collectors.toMap(GridGroupUserCountResultDTO::getOrgId, o -> o.getMemberCount())); @@ -184,7 +184,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { private void extractAgencyUserJoin(ExtractScreenFormDTO formDTO) { List orgList = dimAgencyService.getAgencyListByCustomerId(formDTO.getCustomerId()); if (CollectionUtils.isEmpty(orgList)) { - log.warn("抽取【公众参与-人均议题】,获取组织数据失败,客户Id:{}", formDTO.getCustomerId()); + log.warn("抽取【公众参与-人均议题】,获取组织数据失败,customerId:{}", formDTO.getCustomerId()); return; } //构建组织数据 @@ -196,7 +196,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { Map userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getOrgId, o -> o)); Set agencyIdSet = new HashSet<>(); if (!CollectionUtils.isEmpty(issueTotal)) { - log.error("抽取【公众参与-人均议题】,获取注册用户数为空,客户Id:{}", formDTO.getCustomerId()); + log.error("抽取【公众参与-人均议题】,获取注册用户数为空,customerId:{}", formDTO.getCustomerId()); issueTotal.forEach(issue -> { String agencyId = issue.getAgencyId(); agencyIdSet.add(agencyId); @@ -219,7 +219,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { //获取每个网格的应表决人数 List memberCountList = factOriginGroupMainDailyService.selectDistinctGroupMemberCount(formDTO.getCustomerId(), ProjectConstant.AGENCY_ID); if (CollectionUtils.isEmpty(memberCountList)) { - log.warn("抽取【公众参与-人均议题】,获取应表决人数为空,客户Id:{}", formDTO.getCustomerId()); + log.warn("抽取【公众参与-人均议题】,获取应表决人数为空,customerId:{}", formDTO.getCustomerId()); return; } orgMemberCount = memberCountList.stream().collect(Collectors.toMap(GridGroupUserCountResultDTO::getOrgId, o -> o.getMemberCount())); From 13d2db636f8574a03ad1564fa8966858e0d4f818 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 4 Jan 2021 12:33:02 +0800 Subject: [PATCH 126/184] =?UTF-8?q?=E8=BF=90=E8=90=A5=E7=AB=AF=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0=E7=95=8C=E9=9D=A2=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/OssController.java | 4 +--- .../src/main/java/com/epmet/service/impl/OssServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index 0f78958d58..7a1ea6da08 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -10,7 +10,6 @@ package com.epmet.controller; import com.epmet.cloud.CloudStorageConfig; import com.epmet.cloud.OssFactory; -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; @@ -42,7 +41,6 @@ import springfox.documentation.annotations.ApiIgnore; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; -import java.io.IOException; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -132,7 +130,7 @@ public class OssController { @DeleteMapping @ApiOperation(value = "删除") // @LogOperation("删除") - public Result delete(@RequestBody Long[] ids){ + public Result delete(@RequestBody String[] ids){ ossService.deleteBatchIds(Arrays.asList(ids)); return new Result(); diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java index cc44456c7e..8c3007784f 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java @@ -36,7 +36,7 @@ public class OssServiceImpl extends BaseServiceImpl implement @Override public PageData page(Map params) { IPage page = baseDao.selectPage( - getPage(params, Constant.CREATE_DATE, false), + getPage(params, Constant.CREATED_TIME, false), new QueryWrapper<>() ); return getPageData(page, OssEntity.class); From 950b3799103d4eaf5d2d04a3f0a238d75fc569df Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 4 Jan 2021 14:36:26 +0800 Subject: [PATCH 127/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=9D=83=E9=99=90=E3=80=81=E5=B1=85=E6=B0=91?= =?UTF-8?q?=E7=83=AD=E8=AE=AE=E5=88=97=E8=A1=A8=E6=B7=BB=E5=8A=A0=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/govissue/IssueDao.xml | 4 ++-- .../main/java/com/epmet/controller/IssueManageController.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 7ecd695786..06f5af5e31 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -57,7 +57,7 @@ i.grid_id = #{gridId} ORDER BY - count DESC + count DESC, i.created_time DESC LIMIT #{pageNo}, #{pageSize} @@ -93,7 +93,7 @@ AND i.org_id_path like concat('%', #{agencyId}, '%') AND i.issue_status = 'closed' ORDER BY - count DESC + count DESC, i.closed_time DESC LIMIT #{pageNo}, #{pageSize} diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java index 9eb5fb0c7d..601b42aa66 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java @@ -146,7 +146,7 @@ public class IssueManageController { * @author wangc * @date 2020.05.15 00:19 **/ - @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) + //@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_DETAIL) @PostMapping(value = "votingissuedetail") public Result votingissuedetail(@RequestBody IssueDetailFormDTO issueDetail){ ValidatorUtils.validateEntity(issueDetail); From 5cf29ece5de1ca855f802cbcfe9bbf1068a75b3c Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 4 Jan 2021 15:18:40 +0800 Subject: [PATCH 128/184] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=98=BF=E9=87=8C?= =?UTF-8?q?=E4=BA=91oss=20=E7=9A=84=E7=A7=81=E6=9C=89=E5=92=8C=E5=85=AC?= =?UTF-8?q?=E6=9C=89bucket=E8=AE=BF=E9=97=AE=E7=9B=B8=E5=85=B3=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/constants/PrivacyType.java | 9 ++ .../cloud/AbstractCloudStorageService.java | 11 +-- .../cloud/AliyunCloudStorageService.java | 49 +++++++---- .../com/epmet/cloud/CloudStorageConfig.java | 86 ++++++++++++++----- .../cloud/FastDFSCloudStorageService.java | 16 ++-- .../epmet/cloud/LocalCloudStorageService.java | 16 ++-- .../cloud/QcloudCloudStorageService.java | 16 ++-- .../epmet/cloud/QiniuCloudStorageService.java | 16 ++-- .../com/epmet/controller/OssController.java | 18 ++-- .../java/com/epmet/service/OssService.java | 4 +- .../epmet/service/impl/OssServiceImpl.java | 10 +-- 11 files changed, 160 insertions(+), 91 deletions(-) create mode 100644 epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/constants/PrivacyType.java diff --git a/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/constants/PrivacyType.java b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/constants/PrivacyType.java new file mode 100644 index 0000000000..3564f3ad1c --- /dev/null +++ b/epmet-module/epmet-oss/epmet-oss-client/src/main/java/com/epmet/constants/PrivacyType.java @@ -0,0 +1,9 @@ +package com.epmet.constants; + +/** + * 隐私类型 + */ +public interface PrivacyType { + String INTERNAL = "internal"; + String EXTERNAL = "external"; +} diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java index fd4002d57b..bd88d9b50a 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AbstractCloudStorageService.java @@ -50,15 +50,16 @@ public abstract class AbstractCloudStorageService { * @param path 文件路径,包含文件名 * @return 返回http地址 */ - public abstract String upload(byte[] data, String path); + public abstract String upload(byte[] data, String path, String privacyType); /** * 文件上传 * @param data 文件字节数组 * @param suffix 后缀 + * @param privacyType 隐私类型,默认external,外部 * @return 返回http地址 */ - public abstract String uploadSuffix(byte[] data, String suffix); + public abstract String uploadSuffix(byte[] data, String suffix, String privacyType); /** * 文件上传 @@ -66,7 +67,7 @@ public abstract class AbstractCloudStorageService { * @param path 文件路径,包含文件名 * @return 返回http地址 */ - public abstract String upload(InputStream inputStream, String path); + public abstract String upload(InputStream inputStream, String path, String privacyType); /** * 文件上传 @@ -74,12 +75,12 @@ public abstract class AbstractCloudStorageService { * @param suffix 后缀 * @return 返回http地址 */ - public abstract String uploadSuffix(InputStream inputStream, String suffix); + public abstract String uploadSuffix(InputStream inputStream, String suffix, String privacyType); /** * 文件下载 * sun */ - public abstract void down() throws IOException; + public abstract void down(String privacyType) throws IOException; } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java index e55449ad0f..3b599a4abd 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java @@ -12,6 +12,7 @@ import com.aliyun.oss.OSSClient; import com.aliyun.oss.model.DownloadFileRequest; import com.aliyun.oss.model.DownloadFileResult; import com.epmet.commons.tools.exception.RenException; +import com.epmet.constants.PrivacyType; import com.epmet.exception.ModuleErrorCode; import java.io.ByteArrayInputStream; @@ -29,39 +30,57 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService { this.config = config; } + /** + * @Description 根据隐私类型获取属性。传递internal的时候会返回内部的,否则返回外部的,即公开的 + * @return + * @author wxz + * @date 2021.01.04 13:49 + */ + private CloudStorageConfig.AliyunCloudStorageConfigProps getPropsByprivacyType(String privacyType) { + if (PrivacyType.INTERNAL.equalsIgnoreCase(privacyType)) { + return config.getAliyun().getInternal(); + } else { + return config.getAliyun().getExternal(); + } + } + @Override - public String upload(byte[] data, String path) { - return upload(new ByteArrayInputStream(data), path); + public String upload(byte[] data, String path, String privacyType) { + return upload(new ByteArrayInputStream(data), path, privacyType); } @Override - public String upload(InputStream inputStream, String path) { - OSSClient client = new OSSClient(config.getAliyunEndPoint(), config.getAliyunAccessKeyId(), - config.getAliyunAccessKeySecret()); + public String upload(InputStream inputStream, String path, String privacyType) { + CloudStorageConfig.AliyunCloudStorageConfigProps props = getPropsByprivacyType(privacyType); + OSSClient client = new OSSClient(props.getAliyunEndPoint(), props.getAliyunAccessKeyId(), + props.getAliyunAccessKeySecret()); try { - client.putObject(config.getAliyunBucketName(), path, inputStream); + client.putObject(props.getAliyunBucketName(), path, inputStream); client.shutdown(); } catch (Exception e){ throw new RenException(ModuleErrorCode.OSS_UPLOAD_FILE_ERROR, e, ""); } - return config.getAliyunDomain() + "/" + path; + return props.getAliyunDomain() + "/" + path; } @Override - public String uploadSuffix(byte[] data, String suffix) { - return upload(data, getPath(config.getAliyunPrefix(), suffix)); + public String uploadSuffix(byte[] data, String suffix, String privacyType) { + CloudStorageConfig.AliyunCloudStorageConfigProps props = getPropsByprivacyType(privacyType); + return upload(data, getPath(props.getAliyunPrefix(), suffix), privacyType); } @Override - public String uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, getPath(config.getAliyunPrefix(), suffix)); + public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { + CloudStorageConfig.AliyunCloudStorageConfigProps props = getPropsByprivacyType(privacyType); + return upload(inputStream, getPath(props.getAliyunPrefix(), suffix), privacyType); } @Override - public void down() throws IOException { - OSSClient client = new OSSClient(config.getAliyunEndPoint(), config.getAliyunAccessKeyId(), - config.getAliyunAccessKeySecret()); + public void down(String privacyType) throws IOException { + CloudStorageConfig.AliyunCloudStorageConfigProps props = getPropsByprivacyType(privacyType); + OSSClient client = new OSSClient(props.getAliyunEndPoint(), props.getAliyunAccessKeyId(), + props.getAliyunAccessKeySecret()); try { /* @@ -88,7 +107,7 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService { }*/ //方式三 - DownloadFileRequest downloadFileRequest = new DownloadFileRequest(config.getAliyunBucketName(), "epmet/test/20201103/198f3c11490a44eb964c5c8e9989a507.jpg"); + DownloadFileRequest downloadFileRequest = new DownloadFileRequest(props.getAliyunBucketName(), "epmet/test/20201103/198f3c11490a44eb964c5c8e9989a507.jpg"); downloadFileRequest.setDownloadFile("C:/Users/Administrator/Desktop/dd/4.jpg");// 本地下载文件名称 downloadFileRequest.setPartSize(1 * 1024 * 1024);// 分片大小,取值范围为1B~5GB。 downloadFileRequest.setTaskNum(10);//10个任务并发下载,默认值为1 diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/CloudStorageConfig.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/CloudStorageConfig.java index 87be3fec93..ce0c102162 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/CloudStorageConfig.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/CloudStorageConfig.java @@ -56,29 +56,29 @@ public class CloudStorageConfig implements Serializable { @NotBlank(message="{qiniu.bucketname.require}", groups = QiniuGroup.class) private String qiniuBucketName; - @ApiModelProperty(value = "阿里云绑定的域名") - @NotBlank(message="{aliyun.domain.require}", groups = AliyunGroup.class) - @URL(message = "{aliyun.domain.url}", groups = AliyunGroup.class) - private String aliyunDomain; - - @ApiModelProperty(value = "阿里云路径前缀") - private String aliyunPrefix; - - @ApiModelProperty(value = "阿里云EndPoint") - @NotBlank(message="{aliyun.endPoint.require}", groups = AliyunGroup.class) - private String aliyunEndPoint; - - @ApiModelProperty(value = "阿里云AccessKeyId") - @NotBlank(message="{aliyun.accesskeyid.require}", groups = AliyunGroup.class) - private String aliyunAccessKeyId; - - @ApiModelProperty(value = "阿里云AccessKeySecret") - @NotBlank(message="{aliyun.accesskeysecret.require}", groups = AliyunGroup.class) - private String aliyunAccessKeySecret; - - @ApiModelProperty(value = "阿里云BucketName") - @NotBlank(message="{aliyun.bucketname.require}", groups = AliyunGroup.class) - private String aliyunBucketName; + //@ApiModelProperty(value = "阿里云绑定的域名") + //@NotBlank(message="{aliyun.domain.require}", groups = AliyunGroup.class) + //@URL(message = "{aliyun.domain.url}", groups = AliyunGroup.class) + //private String aliyunDomain; + // + //@ApiModelProperty(value = "阿里云路径前缀") + //private String aliyunPrefix; + // + //@ApiModelProperty(value = "阿里云EndPoint") + //@NotBlank(message="{aliyun.endPoint.require}", groups = AliyunGroup.class) + //private String aliyunEndPoint; + // + //@ApiModelProperty(value = "阿里云AccessKeyId") + //@NotBlank(message="{aliyun.accesskeyid.require}", groups = AliyunGroup.class) + //private String aliyunAccessKeyId; + // + //@ApiModelProperty(value = "阿里云AccessKeySecret") + //@NotBlank(message="{aliyun.accesskeysecret.require}", groups = AliyunGroup.class) + //private String aliyunAccessKeySecret; + // + //@ApiModelProperty(value = "阿里云BucketName") + //@NotBlank(message="{aliyun.bucketname.require}", groups = AliyunGroup.class) + //private String aliyunBucketName; @ApiModelProperty(value = "腾讯云绑定的域名") @NotBlank(message="{qcloud.domain.require}", groups = QcloudGroup.class) @@ -125,4 +125,44 @@ public class CloudStorageConfig implements Serializable { @NotBlank(message="{local.path.url}", groups = LocalGroup.class) private String localPath; + private AliyunCloudStorageConfig aliyun; + /** + * 阿里云存储配置 + */ + @Data + public static class AliyunCloudStorageConfig { + private AliyunCloudStorageConfigProps internal; + private AliyunCloudStorageConfigProps external; + } + + /** + * 阿里云存储配置属性 + */ + @Data + public static class AliyunCloudStorageConfigProps { + @ApiModelProperty(value = "阿里云绑定的域名") + @NotBlank(message="{aliyun.domain.require}", groups = AliyunGroup.class) + @URL(message = "{aliyun.domain.url}", groups = AliyunGroup.class) + private String aliyunDomain; + + @ApiModelProperty(value = "阿里云路径前缀") + private String aliyunPrefix; + + @ApiModelProperty(value = "阿里云EndPoint") + @NotBlank(message="{aliyun.endPoint.require}", groups = AliyunGroup.class) + private String aliyunEndPoint; + + @ApiModelProperty(value = "阿里云AccessKeyId") + @NotBlank(message="{aliyun.accesskeyid.require}", groups = AliyunGroup.class) + private String aliyunAccessKeyId; + + @ApiModelProperty(value = "阿里云AccessKeySecret") + @NotBlank(message="{aliyun.accesskeysecret.require}", groups = AliyunGroup.class) + private String aliyunAccessKeySecret; + + @ApiModelProperty(value = "阿里云BucketName") + @NotBlank(message="{aliyun.bucketname.require}", groups = AliyunGroup.class) + private String aliyunBucketName; + } + } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java index 9661e5f054..b5493c02b2 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/FastDFSCloudStorageService.java @@ -35,12 +35,12 @@ public class FastDFSCloudStorageService extends AbstractCloudStorageService { } @Override - public String upload(byte[] data, String path) { - return upload(new ByteArrayInputStream(data), path); + public String upload(byte[] data, String path, String privacyType) { + return upload(new ByteArrayInputStream(data), path, privacyType); } @Override - public String upload(InputStream inputStream, String suffix) { + public String upload(InputStream inputStream, String suffix, String privacyType) { StorePath storePath; try { storePath = defaultGenerateStorageClient.uploadFile("group1", inputStream, inputStream.available(), suffix); @@ -52,17 +52,17 @@ public class FastDFSCloudStorageService extends AbstractCloudStorageService { } @Override - public String uploadSuffix(byte[] data, String suffix) { - return upload(data, suffix); + public String uploadSuffix(byte[] data, String suffix, String privacyType) { + return upload(data, suffix, privacyType); } @Override - public String uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, suffix); + public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { + return upload(inputStream, suffix, privacyType); } @Override - public void down() throws IOException { + public void down(String privacyType) throws IOException { } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java index 71c17580c5..b523283101 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java @@ -29,12 +29,12 @@ public class LocalCloudStorageService extends AbstractCloudStorageService { } @Override - public String upload(byte[] data, String path) { - return upload(new ByteArrayInputStream(data), path); + public String upload(byte[] data, String path, String privacyType) { + return upload(new ByteArrayInputStream(data), path, privacyType); } @Override - public String upload(InputStream inputStream, String path) { + public String upload(InputStream inputStream, String path, String privacyType) { File file = new File(config.getLocalPath() + File.separator + path); try { FileUtils.copyToFile(inputStream, file); @@ -45,17 +45,17 @@ public class LocalCloudStorageService extends AbstractCloudStorageService { } @Override - public String uploadSuffix(byte[] data, String suffix) { - return upload(data, getPath(config.getLocalPrefix(), suffix)); + public String uploadSuffix(byte[] data, String suffix, String privacyType) { + return upload(data, getPath(config.getLocalPrefix(), suffix), privacyType); } @Override - public String uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, getPath(config.getLocalPrefix(), suffix)); + public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { + return upload(inputStream, getPath(config.getLocalPrefix(), suffix), privacyType); } @Override - public void down() throws IOException { + public void down(String privacyType) throws IOException { } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java index 22d7da2219..ef7d6fcc07 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java @@ -48,12 +48,12 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService { } @Override - public String upload(byte[] data, String path) { - return upload(new ByteArrayInputStream(data), path); + public String upload(byte[] data, String path, String privacyType) { + return upload(new ByteArrayInputStream(data), path, privacyType); } @Override - public String upload(InputStream inputStream, String path) { + public String upload(InputStream inputStream, String path, String privacyType) { try { COSClient client = new COSClient(credentials, clientConfig); @@ -75,17 +75,17 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService { } @Override - public String uploadSuffix(byte[] data, String suffix) { - return upload(data, getPath(config.getQcloudPrefix(), suffix)); + public String uploadSuffix(byte[] data, String suffix, String privacyType) { + return upload(data, getPath(config.getQcloudPrefix(), suffix), privacyType); } @Override - public String uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, getPath(config.getQcloudPrefix(), suffix)); + public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { + return upload(inputStream, getPath(config.getQcloudPrefix(), suffix), privacyType); } @Override - public void down() throws IOException { + public void down(String privacyType) throws IOException { } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java index 0fa9ee9f7e..1145234e22 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java @@ -45,7 +45,7 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService { } @Override - public String upload(byte[] data, String path) { + public String upload(byte[] data, String path, String privacyType) { try { Response res = uploadManager.put(data, path, token); if (!res.isOK()) { @@ -59,27 +59,27 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService { } @Override - public String upload(InputStream inputStream, String path) { + public String upload(InputStream inputStream, String path, String privacyType) { try { byte[] data = IOUtils.toByteArray(inputStream); - return this.upload(data, path); + return this.upload(data, path, privacyType); } catch (IOException e) { throw new RenException(ModuleErrorCode.OSS_UPLOAD_FILE_ERROR, e, ""); } } @Override - public String uploadSuffix(byte[] data, String suffix) { - return upload(data, getPath(config.getQiniuPrefix(), suffix)); + public String uploadSuffix(byte[] data, String suffix, String privacyType) { + return upload(data, getPath(config.getQiniuPrefix(), suffix), privacyType); } @Override - public String uploadSuffix(InputStream inputStream, String suffix) { - return upload(inputStream, getPath(config.getQiniuPrefix(), suffix)); + public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { + return upload(inputStream, getPath(config.getQiniuPrefix(), suffix), privacyType); } @Override - public void down() throws IOException { + public void down(String privacyType) throws IOException { } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index 0f78958d58..aab2f2e575 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -114,7 +114,7 @@ public class OssController { //上传文件 String extension = FilenameUtils.getExtension(file.getOriginalFilename()); - String url = OssFactory.build().uploadSuffix(file.getBytes(), extension); + String url = OssFactory.build().uploadSuffix(file.getBytes(), extension, null); //保存文件信息 OssEntity ossEntity = new OssEntity(); @@ -147,17 +147,17 @@ public class OssController { **/ @PostMapping("uploadimg") public Result uploadImg(@RequestParam("file") MultipartFile file) { - return ossService.uploadImg(file); + return ossService.uploadImg(file, null); } @PostMapping("uploadwximg") public Result uploadWxImg(@RequestPart("media") MultipartFile media) { - return ossService.uploadImg(media); + return ossService.uploadImg(media, null); } @PostMapping("uploadqrcode") public Result uploadQrCode(@RequestPart(value = "file") MultipartFile file) { - return ossService.uploadImg(file); + return ossService.uploadImg(file, null); } /** @@ -183,7 +183,7 @@ public class OssController { , EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getMsg()); } - return ossService.uploadImg(file); + return ossService.uploadImg(file, null); } @PostMapping("function/upload") @@ -203,7 +203,7 @@ public class OssController { , EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getMsg()); } - return ossService.uploadImg(file); + return ossService.uploadImg(file, null); } @PostMapping("article/upload") @@ -225,7 +225,7 @@ public class OssController { , EpmetErrorCode.OPER_UPLOAD_FILE_OVER_SIZE.getMsg()); } - return ossService.uploadImg(file); + return ossService.uploadImg(file, null); } @@ -255,7 +255,7 @@ public class OssController { , EpmetErrorCode.OPER_UPLOAD_IMG_SIZE_ERROR.getMsg()); } - return ossService.uploadImg(file); + return ossService.uploadImg(file, null); } /** @@ -269,7 +269,7 @@ public class OssController { //byte[] byteFile = file.getBytes(); InputStream inputStream = new ByteArrayInputStream(byteFile); MultipartFile filse = new MockMultipartFile(ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream); - return ossService.extUpload(filse,fileName); + return ossService.extUpload(filse,fileName, null); } } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java index c67fec06f2..f49e421887 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java @@ -28,7 +28,7 @@ public interface OssService extends BaseService { int insertOssEntity(OssEntity ossEntity); - Result uploadImg(MultipartFile file); + Result uploadImg(MultipartFile file, String privacy); - Result extUpload(MultipartFile file, String fileName); + Result extUpload(MultipartFile file, String fileName, String privacy); } diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java index cc44456c7e..b378922706 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java @@ -48,7 +48,7 @@ public class OssServiceImpl extends BaseServiceImpl implement } @Override - public Result uploadImg(MultipartFile file) { + public Result uploadImg(MultipartFile file, String privacy) { if (file.isEmpty()) { return new Result().error(ModuleErrorCode.UPLOAD_FILE_EMPTY); } @@ -56,7 +56,7 @@ public class OssServiceImpl extends BaseServiceImpl implement String extension = FilenameUtils.getExtension(file.getOriginalFilename()); String url = null; try { - url = OssFactory.build().uploadSuffix(file.getBytes(), extension); + url = OssFactory.build().uploadSuffix(file.getBytes(), extension, privacy); } catch (IOException e) { e.printStackTrace(); logger.error("图片上传异常"); @@ -74,9 +74,9 @@ public class OssServiceImpl extends BaseServiceImpl implement } @Override - public Result extUpload(MultipartFile file, String fileName) { + public Result extUpload(MultipartFile file, String fileName, String privacy) { try { - OssFactory.build().down(); + OssFactory.build().down(privacy); } catch (IOException e) { e.printStackTrace(); } @@ -88,7 +88,7 @@ public class OssServiceImpl extends BaseServiceImpl implement String extension = FilenameUtils.getExtension(fileName); String url = null; try { - url = OssFactory.build().uploadSuffix(file.getBytes(), extension); + url = OssFactory.build().uploadSuffix(file.getBytes(), extension, privacy); } catch (IOException e) { e.printStackTrace(); logger.error("图片上传异常"); From d563968737c70e71c6cdb80994ddda5ea878245b Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 4 Jan 2021 15:49:28 +0800 Subject: [PATCH 129/184] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E9=98=BF=E9=87=8C=E4=BA=91=E7=A7=81=E6=9C=89bucket?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E9=A1=B9=E7=9B=AE=E9=99=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/OssController.java | 2 +- .../src/main/java/com/epmet/service/OssService.java | 4 ++-- .../src/main/java/com/epmet/service/impl/OssServiceImpl.java | 5 +++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index 5993f8ba37..c8843eb69b 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -274,7 +274,7 @@ public class OssController { /** * @param file - * @Description 外挂-文件上传 + * @Description 项目附件上传 * @Author sun **/ @PostMapping("uploadvariedfile") diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java index e0952420df..3253f78527 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/OssService.java @@ -28,9 +28,9 @@ public interface OssService extends BaseService { int insertOssEntity(OssEntity ossEntity); - Result uploadImg(MultipartFile file); + Result uploadImg(MultipartFile file, String privacy); - Result extUpload(MultipartFile file, String fileName); + Result extUpload(MultipartFile file, String fileName, String privacy); Result uploadVariedFile(MultipartFile file); diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java index 0caed06020..686125e7b3 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/service/impl/OssServiceImpl.java @@ -16,6 +16,7 @@ import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; +import com.epmet.constants.PrivacyType; import com.epmet.dao.OssDao; import com.epmet.dto.result.UploadImgResultDTO; import com.epmet.entity.OssEntity; @@ -114,7 +115,7 @@ public class OssServiceImpl extends BaseServiceImpl implement String extension = FilenameUtils.getExtension(file.getOriginalFilename()); String url = null; try { - url = OssFactory.build().uploadSuffix(file.getBytes(), extension); + url = OssFactory.build().uploadSuffix(file.getBytes(), extension, PrivacyType.INTERNAL); } catch (IOException e) { e.printStackTrace(); logger.error("文件上传异常"); @@ -145,7 +146,7 @@ public class OssServiceImpl extends BaseServiceImpl implement String extension = FilenameUtils.getExtension(file.getOriginalFilename()); String url = null; try { - url = OssFactory.build().uploadSuffix(file.getBytes(), extension); + url = OssFactory.build().uploadSuffix(file.getBytes(), extension, null); } catch (IOException e) { e.printStackTrace(); logger.error("语音上传异常"); From e7a967a75fc9f8705e88d3df412c3c39c15ef9bc Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 4 Jan 2021 15:52:46 +0800 Subject: [PATCH 130/184] =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E9=94=99=E8=AF=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/wxapi/enums/WxMaErrorMsgEnum.java | 2 ++ .../src/main/resources/mapper/PersonalTemplateDao.xml | 1 + 2 files changed, 3 insertions(+) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/enums/WxMaErrorMsgEnum.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/enums/WxMaErrorMsgEnum.java index 1e9425c7ec..4a798d7ee8 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/enums/WxMaErrorMsgEnum.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/wxapi/enums/WxMaErrorMsgEnum.java @@ -551,6 +551,8 @@ public enum WxMaErrorMsgEnum { CODE_200021(200021, "场景描述 sceneDesc 参数错误"), + CODE_200022(200022, "该模板已存在"), + CODE_20002(20002, "商品id不存在"), CODE_1003(1003, "POST参数非法"), CODE_40005(40005, "上传素材文件格式不对"), diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml index 4cd31aeb95..d3392b9777 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml @@ -35,6 +35,7 @@ FROM personal_template WHERE DEL_FLAG = '0' AND APP_ID = #{appId} + ORDER BY CREATED_TIME DESC SELECT + ia.ID AS issueApplicationId, UNIX_TIMESTAMP(iah.CREATED_TIME) AS rejectedTime, ia.ISSUE_TITLE, ia.TOPIC_ID, From 41a98879a4a0ffe9cc28b2d668ea518006ec9e04 Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 4 Jan 2021 17:26:52 +0800 Subject: [PATCH 133/184] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E8=A1=A5?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/cloud/AliyunCloudStorageService.java | 4 ++-- .../main/java/com/epmet/cloud/LocalCloudStorageService.java | 4 ++-- .../main/java/com/epmet/cloud/QcloudCloudStorageService.java | 4 ++-- .../main/java/com/epmet/cloud/QiniuCloudStorageService.java | 4 ++-- .../src/main/java/com/epmet/utils/ModuleConstant.java | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java index 3b599a4abd..472609fbcd 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/AliyunCloudStorageService.java @@ -67,13 +67,13 @@ public class AliyunCloudStorageService extends AbstractCloudStorageService { @Override public String uploadSuffix(byte[] data, String suffix, String privacyType) { CloudStorageConfig.AliyunCloudStorageConfigProps props = getPropsByprivacyType(privacyType); - return upload(data, getPath(props.getAliyunPrefix(), suffix), privacyType); + return upload(data, getPath(props.getAliyunPrefix(), suffix, privacyType), privacyType); } @Override public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { CloudStorageConfig.AliyunCloudStorageConfigProps props = getPropsByprivacyType(privacyType); - return upload(inputStream, getPath(props.getAliyunPrefix(), suffix), privacyType); + return upload(inputStream, getPath(props.getAliyunPrefix(), suffix, privacyType), privacyType); } @Override diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java index b523283101..8143edaa0b 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/LocalCloudStorageService.java @@ -46,12 +46,12 @@ public class LocalCloudStorageService extends AbstractCloudStorageService { @Override public String uploadSuffix(byte[] data, String suffix, String privacyType) { - return upload(data, getPath(config.getLocalPrefix(), suffix), privacyType); + return upload(data, getPath(config.getLocalPrefix(), suffix, privacyType), privacyType); } @Override public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { - return upload(inputStream, getPath(config.getLocalPrefix(), suffix), privacyType); + return upload(inputStream, getPath(config.getLocalPrefix(), suffix, privacyType), privacyType); } @Override diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java index ef7d6fcc07..80c5e494f4 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QcloudCloudStorageService.java @@ -76,12 +76,12 @@ public class QcloudCloudStorageService extends AbstractCloudStorageService { @Override public String uploadSuffix(byte[] data, String suffix, String privacyType) { - return upload(data, getPath(config.getQcloudPrefix(), suffix), privacyType); + return upload(data, getPath(config.getQcloudPrefix(), suffix, privacyType), privacyType); } @Override public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { - return upload(inputStream, getPath(config.getQcloudPrefix(), suffix), privacyType); + return upload(inputStream, getPath(config.getQcloudPrefix(), suffix, privacyType), privacyType); } @Override diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java index 1145234e22..16515203dd 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/cloud/QiniuCloudStorageService.java @@ -70,12 +70,12 @@ public class QiniuCloudStorageService extends AbstractCloudStorageService { @Override public String uploadSuffix(byte[] data, String suffix, String privacyType) { - return upload(data, getPath(config.getQiniuPrefix(), suffix), privacyType); + return upload(data, getPath(config.getQiniuPrefix(), suffix, privacyType), privacyType); } @Override public String uploadSuffix(InputStream inputStream, String suffix, String privacyType) { - return upload(inputStream, getPath(config.getQiniuPrefix(), suffix), privacyType); + return upload(inputStream, getPath(config.getQiniuPrefix(), suffix, privacyType), privacyType); } @Override diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java index efa289bd61..951c225561 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java @@ -20,7 +20,7 @@ public interface ModuleConstant extends Constant { /** * 云存储配置KEY */ - String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY"; + String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY_TEMP"; /** * jpg文件类型 From b779d862b77fb5c7256952b782a1deff96177cab Mon Sep 17 00:00:00 2001 From: wxz Date: Mon, 4 Jan 2021 17:27:17 +0800 Subject: [PATCH 134/184] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/utils/ModuleConstant.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java index 951c225561..efa289bd61 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/utils/ModuleConstant.java @@ -20,7 +20,7 @@ public interface ModuleConstant extends Constant { /** * 云存储配置KEY */ - String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY_TEMP"; + String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY"; /** * jpg文件类型 From 857cb7137f4b91c54bc1fc3326d1527d719de10c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 4 Jan 2021 17:28:45 +0800 Subject: [PATCH 135/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E6=80=BB=E6=95=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/dao/govissue/IssueApplicationDao.java | 2 ++ .../com/epmet/dataaggre/dao/govissue/IssueDao.java | 2 ++ .../service/govissue/impl/GovIssueServiceImpl.java | 11 +++++++---- .../resources/mapper/govissue/IssueApplicationDao.xml | 8 ++++++++ .../src/main/resources/mapper/govissue/IssueDao.xml | 8 ++++++++ 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java index bf9e3a4a2e..0924e9cdb7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java @@ -50,4 +50,6 @@ public interface IssueApplicationDao extends BaseDao { */ List issueStatusAuditing(@Param("gridIds") List gridIds); + Integer selectApplicationCount(@Param("gridIds") List gridIds); + } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java index 7f583e13fa..a5b7dd5cf8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java @@ -73,4 +73,6 @@ public interface IssueDao extends BaseDao { * @author sun **/ List selectClosedListGov(ClosedIssueListFormDTO fromDTO); + + Integer selectIssueCount(@Param("gridIds") List gridIds); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index 411ec78a9a..d39981e446 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -70,31 +70,34 @@ public class GovIssueServiceImpl implements GovIssueService { } // xx街道-xx网格 List gridsInfoList = govOrgService.gridListByIds(formDTO.getGridIdList()); + Integer issueCount = issueDao.selectIssueCount(formDTO.getGridIdList()); + Integer applicationCount = issueApplicationDao.selectApplicationCount(formDTO.getGridIdList()); + Integer all = 0; + if (null != issueCount && null != applicationCount){ + all = issueCount+applicationCount; + } AllIssueResultDTO result = new AllIssueResultDTO(); + result.setTotal(all); switch (formDTO.getIssueType()){ // 审核中议题 case IssueConstant.ISSUE_STATUS_AUDITING: List resultAuditing = issueStatusAuditing(formDTO); result.setIssueList(resultAuditing); - result.setTotal(resultAuditing.size()); break; // 被拒绝的议题 case IssueConstant.ISSUE_STATUS_REJECTED: List resultRejected = issueStatusRejected(formDTO); result.setIssueList(resultRejected); - result.setTotal(resultRejected.size()); break; // 已转项目的议题 case IssueConstant.ISSUE_STATUS_SHIFT_PROJECT: List resultShiftProject = issueStatusShiftProject(formDTO); result.setIssueList(resultShiftProject); - result.setTotal(resultShiftProject.size()); break; // 已关闭、表决中的议题 default: List resultClosedOrVoting = issueStatusClosedOrVoting(formDTO); result.setIssueList(resultClosedOrVoting); - result.setTotal(resultClosedOrVoting.size()); } if (!CollectionUtils.isEmpty(gridsInfoList)){ // 给所属网格 赋值 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml index 987bbc5c74..ef3e74012d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml @@ -40,4 +40,12 @@ order by created_time desc + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 06f5af5e31..94e4eb1ef8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -96,5 +96,13 @@ count DESC, i.closed_time DESC LIMIT #{pageNo}, #{pageSize} + \ No newline at end of file From 30f87ce08cfca4cd989dac741b79d9ce420bfd18 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 4 Jan 2021 18:35:04 +0800 Subject: [PATCH 136/184] =?UTF-8?q?=E8=AE=AE=E9=A2=98=E6=80=BB=E6=95=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E8=AE=AE=E9=A2=98=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E8=A2=AB=E6=8B=92=E7=BB=9D=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/govissue/result/IssueListResultDTO.java | 3 +++ .../dao/govissue/IssueApplicationDao.java | 2 +- .../epmet/dataaggre/dao/govissue/IssueDao.java | 2 +- .../govissue/impl/GovIssueServiceImpl.java | 15 ++++++++------- .../mapper/govissue/IssueApplicationDao.xml | 8 ++++---- .../main/resources/mapper/govissue/IssueDao.xml | 1 + 6 files changed, 18 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java index 950f6f2465..f1561c2a1b 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govissue/result/IssueListResultDTO.java @@ -106,6 +106,9 @@ public class IssueListResultDTO implements Serializable { @JsonIgnore private Long operationTime; + @JsonIgnore + private String applyStatus; + public IssueListResultDTO() { this.issueId = ""; this.issueTitle = ""; diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java index 0924e9cdb7..8cda8f76cf 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueApplicationDao.java @@ -50,6 +50,6 @@ public interface IssueApplicationDao extends BaseDao { */ List issueStatusAuditing(@Param("gridIds") List gridIds); - Integer selectApplicationCount(@Param("gridIds") List gridIds); + Integer selectApplicationCount(@Param("gridIds") List gridIds,@Param("status")String status); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java index a5b7dd5cf8..2bb40f4c8d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govissue/IssueDao.java @@ -74,5 +74,5 @@ public interface IssueDao extends BaseDao { **/ List selectClosedListGov(ClosedIssueListFormDTO fromDTO); - Integer selectIssueCount(@Param("gridIds") List gridIds); + Integer selectIssueCount(@Param("gridIds") List gridIds,@Param("issueType")String issueType); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index d39981e446..fbc822f919 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -70,34 +70,35 @@ public class GovIssueServiceImpl implements GovIssueService { } // xx街道-xx网格 List gridsInfoList = govOrgService.gridListByIds(formDTO.getGridIdList()); - Integer issueCount = issueDao.selectIssueCount(formDTO.getGridIdList()); - Integer applicationCount = issueApplicationDao.selectApplicationCount(formDTO.getGridIdList()); - Integer all = 0; - if (null != issueCount && null != applicationCount){ - all = issueCount+applicationCount; - } AllIssueResultDTO result = new AllIssueResultDTO(); - result.setTotal(all); switch (formDTO.getIssueType()){ // 审核中议题 case IssueConstant.ISSUE_STATUS_AUDITING: List resultAuditing = issueStatusAuditing(formDTO); result.setIssueList(resultAuditing); + Integer auditingCount = issueApplicationDao.selectApplicationCount(formDTO.getGridIdList(), formDTO.getIssueType()); + result.setTotal(auditingCount); break; // 被拒绝的议题 case IssueConstant.ISSUE_STATUS_REJECTED: List resultRejected = issueStatusRejected(formDTO); result.setIssueList(resultRejected); + Integer rejectedCount = issueApplicationDao.selectApplicationCount(formDTO.getGridIdList(), formDTO.getIssueType()); + result.setTotal(rejectedCount); break; // 已转项目的议题 case IssueConstant.ISSUE_STATUS_SHIFT_PROJECT: List resultShiftProject = issueStatusShiftProject(formDTO); result.setIssueList(resultShiftProject); + Integer issueCount = issueDao.selectIssueCount(formDTO.getGridIdList(),formDTO.getIssueType()); + result.setTotal(issueCount); break; // 已关闭、表决中的议题 default: List resultClosedOrVoting = issueStatusClosedOrVoting(formDTO); result.setIssueList(resultClosedOrVoting); + Integer closeOrVotingCount = issueDao.selectIssueCount(formDTO.getGridIdList(),formDTO.getIssueType()); + result.setTotal(closeOrVotingCount); } if (!CollectionUtils.isEmpty(gridsInfoList)){ // 给所属网格 赋值 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml index ef3e74012d..d5cbda6398 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml @@ -11,12 +11,11 @@ ia.ISSUE_TITLE, ia.TOPIC_ID, iah.REASON AS rejectedReason, - ia.grid_id + ia.grid_id, + ia.apply_status FROM issue_application_history iah - LEFT JOIN issue_application ia ON iah.ISSUE_APPLICATION_ID = ia.ID + LEFT JOIN issue_application ia ON iah.ISSUE_APPLICATION_ID = ia.ID AND ia.APPLY_STATUS = 'rejected' WHERE ia.DEL_FLAG = 0 - AND ia.APPLY_STATUS = 'rejected' - AND iah.ACTION_TYPE = 'rejected' AND ia.GRID_ID = #{gridId} @@ -43,6 +42,7 @@ select count(id) from issue where del_flag = '0' + AND issue_status = #{issueType} AND( GRID_ID = #{gridId} From 106168346809436a034362d8ce2dd724c428f0b6 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 5 Jan 2021 09:49:49 +0800 Subject: [PATCH 137/184] =?UTF-8?q?=E5=B7=B2=E8=BD=AC=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20issueTitle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/govissue/IssueDao.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 7bb228d09f..93d5b12ce0 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -29,7 +29,8 @@ ID AS issueId, SUGGESTION , UNIX_TIMESTAMP(SHIFTED_TIME) AS shiftProjectTime, - grid_id + grid_id, + issue_title FROM issue WHERE DEL_FLAG = '0' AND ISSUE_STATUS = 'shift_project' From e9639888f2066c0224b4844019f267af7949d1a0 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 5 Jan 2021 10:04:10 +0800 Subject: [PATCH 138/184] =?UTF-8?q?=E5=BE=85=E5=AE=A1=E6=A0=B8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20issueApplicationId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/govissue/IssueApplicationDao.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml index d5cbda6398..d7278f559f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueApplicationDao.xml @@ -26,6 +26,7 @@ @@ -33,11 +34,11 @@ grid_id FROM issue_application WHERE DEL_FLAG = 0 - AND APPLY_STATUS = 'under_auditing' - AND + AND ( GRID_ID = #{gridId} - + ) + AND APPLY_STATUS = 'under_auditing' order by created_time desc diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml index 5b445202d5..7cf197a054 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml @@ -8,13 +8,15 @@ SELECT service_ablity AS serviceAbility, party_dev_ablity AS partyDevAbility, - govern_ablity AS governAbility + govern_ablity AS governAbility, + year_id as yearId FROM screen_index_data_yearly WHERE del_flag = '0' AND org_id = #{agencyId} - AND year_id = DATE_FORMAT(NOW(),'%Y') + order by year_id desc + limit 1 diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.xml index 82456904ea..6fee665d7f 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsPmTotalMonthlyDao.xml @@ -14,15 +14,21 @@ AND MONTH_ID = #{monthId} \ No newline at end of file From 401b8a3d1cb9a6d19e3afc11684288df4df410cb Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 5 Jan 2021 23:22:20 +0800 Subject: [PATCH 141/184] =?UTF-8?q?monthindexanalysis/barchart=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/impl/IndexServiceImpl.java | 7 ++++++- .../com/epmet/datareport/utils/DateUtils.java | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java index 3e24cb7105..5fcc8ff795 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java @@ -149,7 +149,12 @@ public class IndexServiceImpl implements IndexService { }); List collect = monthBarchartResults.stream().sorted(Comparator.comparing(MonthBarchartResult::getMonthId)).collect(Collectors.toList()); //升序 当前月份在队尾 - List _ymList = dateUtils.getXpro().keySet().stream().collect(Collectors.toList()); + List _ymList = new ArrayList<>(); + if(StringUtils.isNotBlank(monthBarchartFormDTO.getMonthId())){ + _ymList=dateUtils.getXproEndMonth(monthBarchartFormDTO.getMonthId()).keySet().stream().collect(Collectors.toList()); + }else{ + _ymList=dateUtils.getXpro().keySet().stream().collect(Collectors.toList()); + } //针对集合collect的游标 int cursor = NumConstant.ZERO; //针对X轴,数据集合不全则进行数据填充 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java index b2d99c00f1..62356ad9f5 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java @@ -75,6 +75,22 @@ public class DateUtils { return result; } + public Map getXproEndMonth(String monthId){ + Map xAxis = new HashMap<>(); + for(int i=NumConstant.ZERO;i <= NumConstant.ELEVEN; i++){ + Calendar c = Calendar.getInstance(); + c.setTime(com.epmet.commons.tools.utils.DateUtils.stringToDate(monthId.concat("01"), com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN_YYYYMMDD)); + c.add(Calendar.MONTH, - i); + Date date = c.getTime(); + String month= com.epmet.commons.tools.utils.DateUtils.format(date, com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN_YYYYMM); + xAxis.put(month,month.substring(4,6).concat("月")); + } + Map result = Maps.newLinkedHashMap(); + xAxis.entrySet().stream().sorted(Map.Entry.comparingByKey()) + .forEachOrdered((e -> result.put(e.getKey(),e.getValue()))); + return result; + } + /** * @Description 得到上个月的monthId * @param From d357d59631c2eaacf4603755668ff499e173f15f Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 6 Jan 2021 00:19:52 +0800 Subject: [PATCH 142/184] =?UTF-8?q?monthindexanalysis/barchart=EF=BC=8C?= =?UTF-8?q?=E6=A8=AA=E5=9D=90=E6=A0=87=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/impl/IndexServiceImpl.java | 6 +++++- .../screen/impl/PartyMemberLeadServiceImpl.java | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java index 5fcc8ff795..179c13a282 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java @@ -112,7 +112,11 @@ public class IndexServiceImpl implements IndexService { List partyDevWeightData = new ArrayList<>(); List governAblityWeightData = new ArrayList<>(); // 1. x轴 - result.setXAxis(partyMemberLeadServiceImpl.getXPro()); + if(StringUtils.isNotBlank(monthBarchartFormDTO.getMonthId())){ + result.setXAxis(partyMemberLeadServiceImpl.getXproEndMonth(monthBarchartFormDTO.getMonthId())); + }else{ + result.setXAxis(partyMemberLeadServiceImpl.getXPro()); + } // 2. 查询近一年的指数值【包括本月】 List monthBarchartResults = screenIndexDataMonthlyDao.selectMonthBarchart(monthBarchartFormDTO.getAgencyId(),monthBarchartFormDTO.getMonthId()); if (monthBarchartResults.size() == NumConstant.ZERO){ diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java index 203b5cb456..77f8a4c7e1 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java @@ -15,6 +15,7 @@ import com.epmet.evaluationindex.screen.dto.form.FineExampleFormDTO; import com.epmet.evaluationindex.screen.dto.form.VolunteerServiceFormDTO; import com.epmet.evaluationindex.screen.dto.result.*; import com.github.pagehelper.PageHelper; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -30,6 +31,7 @@ import java.util.*; * @author yinzuomei@elink-cn.com * @date 2020/8/18 10:22 */ +@Slf4j @Service @DataSource(DataSourceConstant.EVALUATION_INDEX) public class PartyMemberLeadServiceImpl implements PartyMemberLeadService { @@ -194,6 +196,18 @@ public class PartyMemberLeadServiceImpl implements PartyMemberLeadService { return xAxis; } + public List getXproEndMonth(String monthId) { + List xAxis = new ArrayList<>(); + for (int i = NumConstant.ELEVEN; i >= NumConstant.ZERO; i--) { + Calendar c = Calendar.getInstance(); + c.setTime(com.epmet.commons.tools.utils.DateUtils.stringToDate(monthId.concat("01"), com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN_YYYYMMDD)); + c.add(Calendar.MONTH, -i); + Date date = c.getTime(); + String month = com.epmet.commons.tools.utils.DateUtils.format(date, com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN_YYYYMM); + xAxis.add(month.substring(4, 6).concat(ScreenConstant.MONTH)); + } + return xAxis; + } /** * @Description 4、先进排行榜单-先进支部排行 From 41b14f9a72cfb4154ec8e06f9c96caebf01fcf5a Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 6 Jan 2021 10:31:08 +0800 Subject: [PATCH 143/184] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=9D=97-?= =?UTF-8?q?=E5=85=88=E8=BF=9B=E6=94=AF=E9=83=A8=E6=8E=92=E8=A1=8C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E6=95=B4=20=20=E5=90=8D=E7=A7=B0=E4=B8=BA?= =?UTF-8?q?=E7=BB=84=E7=BB=87-=E7=BD=91=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/screen/ScreenIndexDataMonthlyDao.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml index 046a938d7e..dedfb2d276 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml @@ -193,7 +193,11 @@ - \ No newline at end of file + + From 8e7277bdc044f3a8bf09e1ca33578ec32507e669 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 6 Jan 2021 14:20:27 +0800 Subject: [PATCH 145/184] =?UTF-8?q?=E5=B7=B2=E8=BD=AC=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/service/govissue/impl/GovIssueServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index 5b61ad4227..3f77c42158 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -280,8 +280,8 @@ public class GovIssueServiceImpl implements GovIssueService { shiftProject.setStatus(project.getStatus()); return shiftProject; })).collect(Collectors.toList()); - - return resultList; + List result = resultList.stream().sorted(Comparator.comparing(ShiftProjectIssueListResultDTO::getCount, Comparator.reverseOrder()).thenComparing(ShiftProjectIssueListResultDTO::getShiftedTime, Comparator.reverseOrder())).collect(Collectors.toList()); + return result; } /** From 3f93adb75c146a1f827bbb1766a30546c4140588 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 7 Jan 2021 10:30:27 +0800 Subject: [PATCH 146/184] =?UTF-8?q?=E5=B0=91=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/controller/OssController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java index ae806027ff..1559d4160b 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/java/com/epmet/controller/OssController.java @@ -10,6 +10,7 @@ package com.epmet.controller; import com.epmet.cloud.CloudStorageConfig; import com.epmet.cloud.OssFactory; +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; From 99b13395a4aeff133bda2a8d9add82c78d822251 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 7 Jan 2021 11:05:55 +0800 Subject: [PATCH 147/184] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data-aggregator/data-aggregator-server/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index 3c4d3a685c..c1e47d3b7e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -318,28 +318,28 @@ - + epmet_gov_issue_user EpmEt-db-UsEr - + epmet_gov_project_user EpmEt-db-UsEr - + epmet_resi_group_user EpmEt-db-UsEr - + epmet_user_user EpmEt-db-UsEr From 241392bf3ba2eaf76bf2d90617381f28c099daa1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 7 Jan 2021 14:57:51 +0800 Subject: [PATCH 148/184] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=83=AD=E8=AE=AE-?= =?UTF-8?q?=E5=B7=B2=E8=BD=AC=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/service/govissue/impl/GovIssueServiceImpl.java | 3 +-- .../src/main/resources/mapper/govissue/IssueDao.xml | 2 +- .../src/main/resources/mapper/govproject/ProjectDao.xml | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java index 3f77c42158..87ff2a6dd9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govissue/impl/GovIssueServiceImpl.java @@ -280,8 +280,7 @@ public class GovIssueServiceImpl implements GovIssueService { shiftProject.setStatus(project.getStatus()); return shiftProject; })).collect(Collectors.toList()); - List result = resultList.stream().sorted(Comparator.comparing(ShiftProjectIssueListResultDTO::getCount, Comparator.reverseOrder()).thenComparing(ShiftProjectIssueListResultDTO::getShiftedTime, Comparator.reverseOrder())).collect(Collectors.toList()); - return result; + return resultList; } /** diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml index 93d5b12ce0..96475ca863 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govissue/IssueDao.xml @@ -75,7 +75,7 @@ AND i.issue_status = 'shift_project' AND i.org_id_path like concat('%', #{agencyId}, '%') ORDER BY - count DESC, i.created_time ASC + count DESC, i.shifted_time DESC LIMIT #{pageNo}, #{pageSize} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml index 7d3ccb3dd7..37a25a2afe 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml @@ -108,7 +108,7 @@ p.origin_id = #{issueId} ORDER BY - p.created_time ASC + p.created_time DESC SELECT - p.ID AS projectId, - p.ORIGIN_ID AS issueId, - p.`STATUS`, - pp.PUBLIC_REPLY AS closedReason, - UNIX_TIMESTAMP( p.UPDATED_TIME ) AS operationTime + p.ID AS projectId, + p.ORIGIN_ID AS issueId, + p.`STATUS`, + pp.PUBLIC_REPLY AS closedReason, + UNIX_TIMESTAMP( p.UPDATED_TIME ) AS operationTime FROM project p LEFT JOIN project_process pp ON pp.PROJECT_ID = p.ID AND pp.OPERATION = 'close' WHERE p.DEL_FLAG = '0' - AND pp.DEL_FLAG = '0' - AND - - p.ORIGIN_ID = #{issueId} - + AND pp.DEL_FLAG = '0' + AND( + + p.ORIGIN_ID = #{issueId} + ) @@ -79,10 +79,10 @@ AND ps.DEL_FLAG = '0' AND p.`STATUS` = 'pending' AND ps.IS_HANDLE = 'unhandled' - AND + AND( - p.ORIGIN_ID = #{issueId} - + p.ORIGIN_ID = #{issueId} + ) - \ No newline at end of file + diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsOrgMonthlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsOrgMonthlyDao.xml index 05c17e1378..0476fa56d1 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsOrgMonthlyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsOrgMonthlyDao.xml @@ -21,7 +21,9 @@ FROM screen_an_grass_roots_org_monthly WHERE DEL_FLAG = 0 AND ORG_ID = #{agencyId} - AND YEAR_ID = #{yearId} + + AND MONTH_ID <= #{monthId} + ORDER BY MONTH_ID - \ No newline at end of file + From 682a8b0acd8c87ff58615bb836a80561a9477581 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 8 Jan 2021 13:43:05 +0800 Subject: [PATCH 151/184] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=B1=85=E6=B0=91?= =?UTF-8?q?=E7=AB=AFtoken=E6=B7=BB=E5=8A=A0=E5=AE=A2=E6=88=B7Id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/ThirdLoginServiceImpl.java | 5 +++-- .../java/com/epmet/service/impl/CustomerMpServiceImpl.java | 3 +++ .../src/main/java/com/epmet/dto/UserWechatDTO.java | 5 +++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java index 9e50e6b796..d1cc70552e 100644 --- a/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java +++ b/epmet-auth/src/main/java/com/epmet/service/impl/ThirdLoginServiceImpl.java @@ -86,7 +86,7 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { String token = this.generateToken(formDTO, userId); //4.存放Redis - this.saveTokenDto(formDTO, userId, userWechatDTO, token); + this.saveTokenDto(formDTO, userId, userWechatDTO, token, userWechatDTO.getCustomerId()); //5.接口返参 UserTokenResultDTO userTokenResultDTO = new UserTokenResultDTO(); @@ -111,9 +111,10 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { /** * @Description 将token存入redis **/ - private String saveTokenDto(LoginCommonFormDTO formDTO, String userId, UserWechatDTO userWechatDTO, String token) { + private String saveTokenDto(LoginCommonFormDTO formDTO, String userId, UserWechatDTO userWechatDTO, String token, String customerId) { int expire = jwtTokenProperties.getExpire(); TokenDto tokenDto = new TokenDto(); + tokenDto.setCustomerId(customerId); tokenDto.setApp(formDTO.getApp()); tokenDto.setClient(formDTO.getClient()); tokenDto.setUserId(userId); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CustomerMpServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CustomerMpServiceImpl.java index b716dff1b9..f19b241bef 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CustomerMpServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/CustomerMpServiceImpl.java @@ -142,6 +142,9 @@ public class CustomerMpServiceImpl extends BaseServiceImpl Date: Fri, 8 Jan 2021 14:06:30 +0800 Subject: [PATCH 152/184] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=EF=BC=9A=E7=BC=BA=E5=A4=B1=E7=9A=84=E6=9C=88=E4=BB=BD=EF=BC=8C?= =?UTF-8?q?=E8=A1=A50=E5=A4=84=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScreenAnGrassRootsGovernMonthlyDao.java | 4 +- .../ScreenAnGrassRootsOrgMonthlyDao.java | 4 +- .../screen/impl/AnScreenServiceImpl.java | 21 +++++++-- .../ScreenAnGrassRootsGovernMonthlyDao.xml | 43 +++++++++++++------ .../ScreenAnGrassRootsOrgMonthlyDao.xml | 37 +++++++++++----- 5 files changed, 79 insertions(+), 30 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsGovernMonthlyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsGovernMonthlyDao.java index bffebbd488..7b03527fcd 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsGovernMonthlyDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsGovernMonthlyDao.java @@ -48,12 +48,12 @@ public interface ScreenAnGrassRootsGovernMonthlyDao { * 基层治理-指标月度趋势 * * @param agencyId - * @param monthId + * @param curDate * @return java.util.List * @author zhaoqifeng * @date 2020/10/9 16:49 */ - List selectGrassRootsGovernTrend(@Param("agencyId") String agencyId, @Param("monthId") String monthId); + List selectGrassRootsGovernTrend(@Param("agencyId") String agencyId, @Param("curDate") String curDate); /** * 基层治理-治理排行 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsOrgMonthlyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsOrgMonthlyDao.java index 72923db4c8..c962c58c9e 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsOrgMonthlyDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenan/ScreenAnGrassRootsOrgMonthlyDao.java @@ -49,12 +49,12 @@ public interface ScreenAnGrassRootsOrgMonthlyDao { * 基层组织-指标月度趋势 * * @param agencyId - * @param monthId + * @param curDate * @return java.util.List * @author zhaoqifeng * @date 2020/10/9 16:32 */ - List selectGrassRootsOrgTrend(@Param("agencyId") String agencyId, @Param("monthId") String monthId); + List selectGrassRootsOrgTrend(@Param("agencyId") String agencyId, @Param("curDate") String curDate); /** * 基层组织-组织排行榜单 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java index a456c3046c..9669af2105 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AnScreenServiceImpl.java @@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -38,6 +39,8 @@ public class AnScreenServiceImpl implements AnScreenService { private ScreenAnGrassRootsGovernMonthlyDao screenAnGrassRootsGovernMonthlyDao; @Autowired private ScreenAnCommunityProjectProfileDao screenAnCommunityProjectProfileDao; + @Autowired + private PartyMemberLeadServiceImpl partyMemberLeadServiceImpl; /** * 基层党员-各类总数 @@ -124,10 +127,19 @@ public class AnScreenServiceImpl implements AnScreenService { public GrassRootsOrgTrendResultDTO grassRootsOrgTrend(AnScreenTrendFormDTO formDTO) { GrassRootsOrgTrendResultDTO resultDTO = new GrassRootsOrgTrendResultDTO(); + // 1. x轴 +// List xAxis = new ArrayList<>(); +// if(StringUtils.isNotBlank(formDTO.getMonthId())){ +// xAxis = partyMemberLeadServiceImpl.getXproEndMonth(formDTO.getMonthId()); +// }else{ +// xAxis = partyMemberLeadServiceImpl.getXPro(); +// } + String monthId = StringUtils.isNotBlank(formDTO.getMonthId()) ? formDTO.getMonthId() : DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYYMM); - // 查询近一年的指数值【包括本月】 - List list = screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrgTrend(formDTO.getAgencyId(), monthId); - List xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList()); + String curDate = monthId.substring(0, 4) + "-" + monthId.substring(4, 6) + "-" + "01"; + // 查询近一年的指数值【包括本月】 + List list = screenAnGrassRootsOrgMonthlyDao.selectGrassRootsOrgTrend(formDTO.getAgencyId(), curDate); + List xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList()); List groupTotalList = list.stream().map(GrassRootsOrgTrendDTO::getGroupTotal).collect(Collectors.toList()); List issueTotalList = list.stream().map(GrassRootsOrgTrendDTO::getIssueTotal).collect(Collectors.toList()); List projectTotal = list.stream().map(GrassRootsOrgTrendDTO::getProjectTotal).collect(Collectors.toList()); @@ -180,8 +192,9 @@ public class AnScreenServiceImpl implements AnScreenService { GrassRootsGovernTrendResultDTO resultDTO = new GrassRootsGovernTrendResultDTO(); String monthId = StringUtils.isNotBlank(formDTO.getMonthId()) ? formDTO.getMonthId() : DateUtils.format(new Date(), DateUtils.DATE_PATTERN_YYYYMM); + String curDate = monthId.substring(0, 4) + "-" + monthId.substring(4, 6) + "-" + "01"; // 查询近一年的指数值【包括本月】 - List list = screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovernTrend(formDTO.getAgencyId(), monthId); + List list = screenAnGrassRootsGovernMonthlyDao.selectGrassRootsGovernTrend(formDTO.getAgencyId(), curDate); List xAxis = list.stream().map(item -> getMonth(item.getMonthId())).collect(Collectors.toList()); List partiProjectTotalList = list.stream().map(GrassRootsGovernTrendDTO::getPartiProjectTotal).collect(Collectors.toList()); List closedProjectTotalList = list.stream().map(GrassRootsGovernTrendDTO::getClosedProjectTotal).collect(Collectors.toList()); diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsGovernMonthlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsGovernMonthlyDao.xml index c7f5d471cc..4f4e7e96c5 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsGovernMonthlyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screenan/ScreenAnGrassRootsGovernMonthlyDao.xml @@ -16,18 +16,37 @@ AND MONTH_ID = #{monthId} - \ No newline at end of file + From 3094609b8ddae384cc69e1496cefefdaba4b94e5 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 8 Jan 2021 14:47:14 +0800 Subject: [PATCH 154/184] =?UTF-8?q?getAgencyAreaInfoByBizType=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/screen/ScreenCustomerAgencyDao.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml index 15702fffc1..c63fc774a1 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml @@ -160,7 +160,8 @@ bo.ORG_ID AS agencyId, sca.agency_name AS name, IFNULL(sca.area_marks,'') AS areaMarks, - sca.level AS level + sca.level AS level, + sca.level as agencyLevel FROM screen_customer_agency sca LEFT JOIN screen_customer_biz_org bo ON bo.ORG_ID = sca.AGENCY_ID From c5894f83120f866394022074e245b6606ad9cb2d Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 8 Jan 2021 15:04:53 +0800 Subject: [PATCH 155/184] =?UTF-8?q?=E9=99=8D=E4=BD=8E=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/StaffAgencyServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java index 619655b8df..a025a0b74b 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java @@ -17,6 +17,7 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; @@ -67,8 +68,10 @@ public class StaffAgencyServiceImpl implements StaffAgencyService { public List getMyGrids(String staffId) { //1、获取拥有的所有网格 Result> govOrgResult = govOrgFeignClient.getMyGrids(staffId); - if (!govOrgResult.success() || (null == govOrgResult.getData() || govOrgResult.getData().size() < 1)) { - logger.error(String.format("调用gov-org-server服务查询工作人员网格列表失败返回结果", govOrgResult.toString())); + if (!govOrgResult.success()) { + throw new RenException(String.format("调用gov-org-server服务查询工作人员网格列表失败,返回结果:", govOrgResult.toString())); + } + if (null == govOrgResult.getData() || govOrgResult.getData().size() < 1) { return new ArrayList<>(); } List gridList = ConvertUtils.sourceToTarget(govOrgResult.getData(), StaffGridResultDTO.class); From 320ddd3c228ef7eb43225d15e4f69f94a0cd01f3 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 8 Jan 2021 17:31:55 +0800 Subject: [PATCH 156/184] =?UTF-8?q?selectBranchDataByTypeAndTimeZone=20SQL?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0MEET=5FCATEGORY=5FNAME=20IS=20NOT=20NULL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/screen/ScreenPartyBranchDataDao.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyBranchDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyBranchDataDao.xml index 0ee2a6a315..a2d09bf0b3 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyBranchDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyBranchDataDao.xml @@ -32,6 +32,7 @@ AND ORG_ID = #{agencyId} AND TYPE = #{category} AND MONTH_ID = ]]> #{bottomMonthId} + AND MEET_CATEGORY_NAME IS NOT NULL ORDER BY MONTH_ID DESC , MEET_CATEGORY_NAME From 7c2c9065983cf4a05abb26661548179ab175c696 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 11 Jan 2021 10:59:54 +0800 Subject: [PATCH 157/184] =?UTF-8?q?=E9=99=8C=E7=94=9F=E4=BA=BA=E5=AF=BC?= =?UTF-8?q?=E8=A7=88-=E8=87=AA=E5=8A=A8=E5=AE=9A=E4=BD=8D=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=BD=91=E6=A0=BC=E5=8F=82=E6=95=B0=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/PublicCustomerGridListFormDTO.java | 27 ++++++++++--------- .../StrangerResiGuideController.java | 4 +-- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/form/PublicCustomerGridListFormDTO.java b/epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/form/PublicCustomerGridListFormDTO.java index 6e26721f28..6bdf608ae0 100644 --- a/epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/form/PublicCustomerGridListFormDTO.java +++ b/epmet-module/resi-guide/resi-guide-client/src/main/java/com/epmet/dto/form/PublicCustomerGridListFormDTO.java @@ -15,11 +15,18 @@ import java.io.Serializable; public class PublicCustomerGridListFormDTO implements Serializable { private static final long serialVersionUID = 1L; - public interface AddUserInternalGroup { - } - - public interface AddUserShowGroup extends CustomerClientShowGroup { - } + /** + * 地区码 + * */ + @NotBlank(message = "自动定位地区码不能为空", groups = {AreaCode.class}) + private String areaCode; + /** + * 选定地区编码 + * */ + @NotBlank(message = "手动定位地区码不能为空", groups = {SelectedAreaCode.class}) + private String selectedAreaCode; + public interface AddUserInternalGroup {} + public interface AddUserShowGroup extends CustomerClientShowGroup {} /** * 小程序appId @@ -37,15 +44,9 @@ public class PublicCustomerGridListFormDTO implements Serializable { * */ private Integer pageSize = 20; - /** - * 地区码 - * */ - private String areaCode; + public interface AreaCode extends CustomerClientShowGroup {} - /** - * 选定地区编码 - * */ - private String selectedAreaCode; + public interface SelectedAreaCode extends CustomerClientShowGroup {} /** * 是否首次位置授权(0:是 1:否) diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerResiGuideController.java b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerResiGuideController.java index dac2615943..f190314b1c 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerResiGuideController.java +++ b/epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerResiGuideController.java @@ -117,7 +117,7 @@ public class StrangerResiGuideController { **/ @PostMapping("publiclocationgridlist") Result> publicLocationGridList(@RequestBody PublicCustomerGridListFormDTO formDTO){ - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, PublicCustomerGridListFormDTO.AddUserShowGroup.class, PublicCustomerGridListFormDTO.AreaCode.class); return strangerAccessRecordService.thirdCustomerGridList(formDTO); } @@ -128,7 +128,7 @@ public class StrangerResiGuideController { **/ @PostMapping("publiclelectcdgridlist") Result> publicLelectcdGridList(@RequestBody PublicCustomerGridListFormDTO formDTO){ - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, PublicCustomerGridListFormDTO.AddUserShowGroup.class, PublicCustomerGridListFormDTO.SelectedAreaCode.class); return strangerAccessRecordService.thirdCustomerGridList(formDTO); } From 2bc2167f0bb3b7924939402a79969c3b26fe750e Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Jan 2021 14:04:56 +0800 Subject: [PATCH 158/184] =?UTF-8?q?=E5=A4=84=E7=90=86=E3=80=90=E5=85=9A?= =?UTF-8?q?=E5=91=98=E5=BB=BA=E7=BE=A4=E6=95=B0=EF=BC=8C=E7=BE=A4=E6=88=90?= =?UTF-8?q?=E5=91=98=E6=95=B0=E3=80=91=E4=B8=8D=E7=94=A8=E6=8C=89=E7=85=A7?= =?UTF-8?q?=E6=9C=88=E4=BB=BD=E6=8A=BD=E5=8F=96=20=E8=BF=99=E9=87=8C?= =?UTF-8?q?=E6=8C=87=E7=9A=84=E6=98=AF=E6=80=BB=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginGroupMainDailyDao.java | 9 ++-- .../FactOriginGroupMainDailyService.java | 5 +-- .../FactOriginGroupMainDailyServiceImpl.java | 11 +++-- .../toscreen/impl/PartyGuideServiceImpl.java | 43 +++++++++---------- .../extract/FactOriginGroupMainDailyDao.xml | 5 +-- 5 files changed, 32 insertions(+), 41 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 12e6151f3f..911d8b7993 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 @@ -18,13 +18,11 @@ package com.epmet.dao.evaluationindex.extract; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.extract.form.ScreenPartyLinkMassesDataFormDTO; -import com.epmet.dto.extract.result.OrgStatisticsResultDTO; -import com.epmet.dto.extract.result.PartyCreateGroupCountResultDTO; import com.epmet.dto.extract.FactOriginGroupMainDailyDTO; import com.epmet.dto.extract.form.GridHeartedFormDTO; import com.epmet.dto.extract.form.ScreenPartyLinkMassesDataFormDTO; import com.epmet.dto.extract.result.GridGroupUserCountResultDTO; +import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.dto.extract.result.PartyCreateGroupCountResultDTO; import com.epmet.dto.group.result.ExtractGroupMemberActionRecordResultDTO; import com.epmet.entity.evaluationindex.extract.FactOriginGroupMainDailyEntity; @@ -164,12 +162,11 @@ public interface FactOriginGroupMainDailyDao extends BaseDao selectPartyCreateGroupInfo(@Param("customerId") String customerId, @Param("monthId") String monthId, @Param("gridIds") List gridIds); + List selectPartyCreateGroupInfo(@Param("customerId") String customerId, @Param("gridIds") List gridIds); /** * desc: 获取所有网格的组中成员人数 去重 @@ -202,4 +199,4 @@ public interface FactOriginGroupMainDailyDao extends BaseDao selectOrgGroupCount(@Param("customerId") String customerId, @Param("monthId") String monthId, @Param("level") String level); -} \ No newline at end of file +} 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 c9a74e31b8..730acde2c8 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 @@ -68,12 +68,11 @@ public interface FactOriginGroupMainDailyService extends BaseService selectPartyCreateGroupInfo(String customerId, String monthId, List gridIds); + List selectPartyCreateGroupInfo(String customerId, List gridIds); /** * desc: 获取客户下每个网格小组内的 去重人数 @@ -106,4 +105,4 @@ public interface FactOriginGroupMainDailyService extends BaseService */ List getOrgGroupCount(String customerId, String monthId, String level); -} \ No newline at end of file +} 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 ab3efce8b4..83195d9902 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 @@ -21,8 +21,8 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.dao.evaluationindex.extract.FactOriginGroupMainDailyDao; import com.epmet.dto.extract.FactOriginGroupMainDailyDTO; import com.epmet.dto.extract.form.ScreenPartyLinkMassesDataFormDTO; -import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.dto.extract.result.GridGroupUserCountResultDTO; +import com.epmet.dto.extract.result.OrgStatisticsResultDTO; import com.epmet.dto.group.result.ExtractGroupMemberActionRecordResultDTO; import com.epmet.entity.evaluationindex.extract.FactOriginGroupMainDailyEntity; import com.epmet.service.evaluationindex.extract.todata.FactOriginGroupMainDailyService; @@ -106,16 +106,15 @@ public class FactOriginGroupMainDailyServiceImpl extends BaseServiceImpl selectPartyCreateGroupInfo(String customerId, String monthId, List gridIds) { + public List selectPartyCreateGroupInfo(String customerId, List gridIds) { if (!CollectionUtils.isEmpty(gridIds)) { - return baseDao.selectPartyCreateGroupInfo(customerId, monthId, gridIds); + return baseDao.selectPartyCreateGroupInfo(customerId, gridIds); } return new ArrayList<>(); } @@ -135,4 +134,4 @@ public class FactOriginGroupMainDailyServiceImpl extends BaseServiceImpl orgIds = agencyIdList.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); - if (isGrid == true){ + List orgIds = agencyIdList.stream().map(CustomerAgencyInfoResultDTO::getAgencyId).collect(Collectors.toList()); + if (isGrid) { agencyIdList.forEach(agency -> { // 计算社区级别的下级(实际就是网格) - GridPartyGuideDTO gridPartyGuideDTO = communityLevelSubGrid(customerId, monthId, agency); + GridPartyGuideDTO gridPartyGuideDTO = communityLevelSubGrid(customerId, agency); orgIds.addAll(gridPartyGuideDTO.getOrgIds()); result.addAll(gridPartyGuideDTO.getResult()); }); // 根据agencyId分组,计算各个社区的 Map> groupByAgency = result.stream().collect(Collectors.groupingBy(ScreenPartyLinkMassesDataFormDTO::getParentId)); - groupByAgency.forEach((agencyId,gridList) -> { + groupByAgency.forEach((agencyId, gridList) -> { ScreenPartyLinkMassesDataFormDTO form = new ScreenPartyLinkMassesDataFormDTO(); List orgNameAgencyList = agencyService.selectOrgNameAgency(orgIds); if (!CollectionUtils.isEmpty(orgNameAgencyList)){ orgNameAgencyList.forEach(name -> { - if (agencyId.equals(name.getAgencyId())){ + if (agencyId.equals(name.getAgencyId())) { form.setOrgName(name.getAgencyName()); form.setParentId(name.getParentId()); } @@ -210,8 +208,8 @@ public class PartyGuideServiceImpl implements PartyGuideService { form.setCustomerId(customerId); form.setDataEndTime(monthId); form.setOrgType(ScreenConstant.AGENCY); - form.setCreateGroupTotal(gridList.stream().collect(Collectors.summingInt(ScreenPartyLinkMassesDataFormDTO::getCreateGroupTotal))); - form.setGroupUserTotal(gridList.stream().collect(Collectors.summingInt(ScreenPartyLinkMassesDataFormDTO::getGroupUserTotal))); + form.setCreateGroupTotal(gridList.stream().mapToInt(ScreenPartyLinkMassesDataFormDTO::getCreateGroupTotal).sum()); + form.setGroupUserTotal(gridList.stream().mapToInt(ScreenPartyLinkMassesDataFormDTO::getGroupUserTotal).sum()); result.add(form); }); delAndInsertLink(result,customerId,monthId,orgIds); @@ -227,15 +225,15 @@ public class PartyGuideServiceImpl implements PartyGuideService { } }); // 不为空 存在直属网格 - if (!CollectionUtils.isEmpty(disGridIds)){ + if (!CollectionUtils.isEmpty(disGridIds)) { List gridResult = new ArrayList<>(); // 查询党员创建组,组内成员数 - List partyLinkMassesDataList = groupMainService.selectPartyCreateGroupInfo(customerId, monthId, disGridIds); - List orgNameList = agencyService.selectOrgNameGrid(partyLinkMassesDataList.stream().map(m -> m.getOrgId()).collect(Collectors.toList())); - if (!CollectionUtils.isEmpty(partyLinkMassesDataList)){ + List partyLinkMassesDataList = groupMainService.selectPartyCreateGroupInfo(customerId, disGridIds); + List orgNameList = agencyService.selectOrgNameGrid(partyLinkMassesDataList.stream().map(ScreenPartyLinkMassesDataFormDTO::getOrgId).collect(Collectors.toList())); + if (!CollectionUtils.isEmpty(partyLinkMassesDataList)) { partyLinkMassesDataList.forEach(party -> { orgNameList.forEach(org -> { - if (party.getOrgId().equals(org.getGridId())){ + if (party.getOrgId().equals(org.getGridId())) { party.setOrgName(org.getGridName()); } }); @@ -246,10 +244,10 @@ public class PartyGuideServiceImpl implements PartyGuideService { delAndInsertLink(gridResult,customerId,monthId,disGridIds); } // 查询直属网格的信息 + 下级机关的信息 = agency的机关信息 - List screenPartyLinkMassesDataGrid = groupMainService.selectPartyCreateGroupInfo(customerId, monthId, disGridIds); + List screenPartyLinkMassesDataGrid = groupMainService.selectPartyCreateGroupInfo(customerId, disGridIds); List screenPartyLinkMassesDataList = linkMassesDataService.selectPartyLinkMassesInfo(customerId, monthId, agencyId); screenPartyLinkMassesDataList.addAll(screenPartyLinkMassesDataGrid); - if (!CollectionUtils.isEmpty(screenPartyLinkMassesDataList)){ + if (!CollectionUtils.isEmpty(screenPartyLinkMassesDataList)) { ScreenPartyLinkMassesDataFormDTO form = new ScreenPartyLinkMassesDataFormDTO(); form.setOrgId(agencyId); form.setOrgType(ScreenConstant.AGENCY); @@ -257,8 +255,8 @@ public class PartyGuideServiceImpl implements PartyGuideService { form.setCustomerId(customerId); form.setDataEndTime(monthId); form.setParentId(screenPartyLinkMassesDataList.get(NumConstant.ZERO).getParentId()); - form.setGroupUserTotal(screenPartyLinkMassesDataList.stream().collect(Collectors.summingInt(ScreenPartyLinkMassesDataFormDTO::getGroupUserTotal))); - form.setCreateGroupTotal(screenPartyLinkMassesDataList.stream().collect(Collectors.summingInt(ScreenPartyLinkMassesDataFormDTO::getCreateGroupTotal))); + form.setGroupUserTotal(screenPartyLinkMassesDataList.stream().mapToInt(ScreenPartyLinkMassesDataFormDTO::getGroupUserTotal).sum()); + form.setCreateGroupTotal(screenPartyLinkMassesDataList.stream().mapToInt(ScreenPartyLinkMassesDataFormDTO::getCreateGroupTotal).sum()); result.add(form); } }); @@ -431,24 +429,23 @@ public class PartyGuideServiceImpl implements PartyGuideService { } /** - * @Description 社区级别的处理 + * @Description 社区级别的处理 * @Param customerId - * @Param monthId * @Param agency * @author zxc * @date 2020/9/25 10:06 上午 */ - public GridPartyGuideDTO communityLevelSubGrid(String customerId, String monthId, CustomerAgencyInfoResultDTO agency){ + public GridPartyGuideDTO communityLevelSubGrid(String customerId, CustomerAgencyInfoResultDTO agency) { String agencyId = agency.getAgencyId(); // 获取下级所有agencyId【根据agencyMap中的level判断下级orgId是否是gridId】(此处直接作为gridId) Map agencyMap = agencyService.selectAllSubAgencyId(agencyId, customerId); List gridIds = (List) agencyMap.get(agencyId); - List partyLinkMassesDataList = groupMainService.selectPartyCreateGroupInfo(customerId, monthId, gridIds); + List partyLinkMassesDataList = groupMainService.selectPartyCreateGroupInfo(customerId, gridIds); List orgIds = partyLinkMassesDataList.stream().map(m -> m.getOrgId()).collect(Collectors.toList()); List orgNameList = agencyService.selectOrgNameGrid(orgIds); partyLinkMassesDataList.forEach(party -> { orgNameList.forEach(orgName -> { - if (party.getOrgId().equals(orgName.getGridId())){ + if (party.getOrgId().equals(orgName.getGridId())) { party.setOrgName(orgName.getGridName()); } }); 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 2717a8cb5e..3c7008dc0b 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 @@ -97,7 +97,7 @@ - + DELETE FROM fact_origin_group_main_daily @@ -287,7 +287,6 @@ WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} - AND MONTH_ID = #{monthId} AND GROUP_STATE = 'approved' AND ( @@ -338,4 +337,4 @@ AND f.GROUP_STATE = 'approved' GROUP BY f.AGENCY_ID - \ No newline at end of file + From e3d3a16567d71a1e54a5d3869925a5e8950c350c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 11 Jan 2021 14:21:02 +0800 Subject: [PATCH 159/184] =?UTF-8?q?selectPartymemberAgeDistribution=20sql?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/screen/ScreenCpcBaseDataDao.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCpcBaseDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCpcBaseDataDao.xml index 573c7501fa..06e501b713 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCpcBaseDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCpcBaseDataDao.xml @@ -10,7 +10,8 @@ SUM( AGE_LEVEL_3 ) + SUM( AGE_LEVEL_4 ) AS between31And50Count, SUM( AGE_LEVEL_5 ) AS between51And60Count, SUM( AGE_LEVEL_6 ) AS above61Count, - SUM( PARTY_MEMBER_COUNT) AS partyTotal + SUM( PARTY_MEMBER_COUNT) AS partyMemberCount, + SUM( AGE_LEVEL_1 ) + SUM( AGE_LEVEL_2 )+SUM( AGE_LEVEL_3 ) + SUM( AGE_LEVEL_4 )+SUM( AGE_LEVEL_5 )+SUM( AGE_LEVEL_6 ) as partyTotal FROM screen_cpc_base_data WHERE From ef26bd924cc7c7e80aa9e3c3c811776aafacf465 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 11 Jan 2021 14:30:20 +0800 Subject: [PATCH 160/184] =?UTF-8?q?fact=5Forigin=5Fissue=5Fmain=5Fdaily?= =?UTF-8?q?=E3=80=81fact=5Forigin=5Fissue=5Flog=5Fdaily=E8=A1=A8=E4=B8=ADp?= =?UTF-8?q?ids=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todata/impl/IssueExtractServiceImpl.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/IssueExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/IssueExtractServiceImpl.java index 20169ae538..b7b4532f4f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/IssueExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/IssueExtractServiceImpl.java @@ -22,6 +22,7 @@ import com.epmet.service.evaluationindex.extract.todata.IssueExtractService; 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.transaction.annotation.Transactional; @@ -129,7 +130,11 @@ public class IssueExtractServiceImpl implements IssueExtractService { agencyInfoList.forEach(pid -> { if (r.getAgencyId().equals(pid.getAgencyId())){ r.setPid(pid.getPid()); - r.setPids(pid.getPids().concat(":").concat(r.getAgencyId())); + if (StringUtils.isNotBlank(pid.getPids())) { + r.setPids(pid.getPids().concat(":").concat(r.getAgencyId())); + } else { + r.setPids(r.getAgencyId()); + } } }); }); @@ -231,7 +236,11 @@ public class IssueExtractServiceImpl implements IssueExtractService { agencyInfoList.forEach(agency -> { if (r.getAgencyId().equals(agency.getAgencyId())){ r.setPid(agency.getPid()); - r.setPids(agency.getPids().concat(":").concat(r.getAgencyId())); + if(StringUtils.isNotBlank(agency.getPids())){ + r.setPids(agency.getPids().concat(":").concat(r.getAgencyId())); + }else{ + r.setPids(r.getAgencyId()); + } } }); }); From 894ef0d710221947bdc75f2f7fa199a0b7b2354a Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 11 Jan 2021 14:47:36 +0800 Subject: [PATCH 161/184] =?UTF-8?q?=E5=85=9A=E5=BB=BA=E5=BC=95=E9=A2=86-?= =?UTF-8?q?=E5=85=88=E8=BF=9B=E6=8E=92=E8=A1=8C=E6=A6=9C=E6=A6=9C=E5=8D=95?= =?UTF-8?q?=E3=80=81=E5=9F=BA=E5=B1=82=E6=B2=BB=E7=90=86=E7=9A=84=20?= =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=82=E4=B8=8E=E6=8E=92=E8=A1=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=B8=8A=E7=BA=A7=E7=BB=84=E7=BB=87=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E8=BF=94=E5=8F=82=EF=BC=8C=E5=85=9A=E5=91=98=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E7=BE=A4=E4=BC=97=E5=8E=BB=E6=8E=89=E7=9B=B4=E5=B1=9E=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/AdvanceBranchRankResultDTO.java | 5 +++ .../dto/result/OrgRankDataResultDTO.java | 5 +++ .../dto/result/PublicPartiRankResultDTO.java | 2 + .../mapper/screen/ScreenOrgRankDataDao.xml | 41 ++++++++++--------- .../screen/ScreenPartyLinkMassesDataDao.xml | 1 + .../screen/ScreenPublicPartiTotalDataDao.xml | 35 +++++++++------- 6 files changed, 55 insertions(+), 34 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/AdvanceBranchRankResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/AdvanceBranchRankResultDTO.java index 60545c7fc4..216214d05c 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/AdvanceBranchRankResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/AdvanceBranchRankResultDTO.java @@ -50,4 +50,9 @@ public class AdvanceBranchRankResultDTO implements Serializable { * */ private Integer projectNum; + /** + * 当前name的上级组织名称 2021-01-11新增 + */ + private String parentAgencyName; + } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/OrgRankDataResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/OrgRankDataResultDTO.java index 9aff92593f..a52b035475 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/OrgRankDataResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/OrgRankDataResultDTO.java @@ -51,4 +51,9 @@ public class OrgRankDataResultDTO implements Serializable { * */ private Integer projectNum; + /** + * 当前name的上级组织名称 2021-01-11新增 + */ + private String parentAgencyName; + } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PublicPartiRankResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PublicPartiRankResultDTO.java index 6d4eba5f4b..53209c640a 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PublicPartiRankResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PublicPartiRankResultDTO.java @@ -25,4 +25,6 @@ public class PublicPartiRankResultDTO implements Serializable { private Integer issueNum; private Integer projectNum; + + private String parentAgencyName; } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml index 310320029e..bc1fa8f0aa 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml @@ -6,28 +6,31 @@ diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml index 7a59c7f16d..552923d505 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml @@ -15,5 +15,6 @@ WHERE md.del_flag = '0' AND md.parent_id = #{agencyId} + AND ORG_TYPE = 'agency' \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPublicPartiTotalDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPublicPartiTotalDataDao.xml index 1a94210725..277e6c17dc 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPublicPartiTotalDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPublicPartiTotalDataDao.xml @@ -6,24 +6,29 @@ \ No newline at end of file From b5a9b56b795c41c33aa5d8758861830963a2d22c Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 11 Jan 2021 15:06:24 +0800 Subject: [PATCH 162/184] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E7=BE=A4=E4=BC=97=EF=BC=8C=E7=A4=BE=E5=8C=BA=E7=BA=A7=E5=88=AB?= =?UTF-8?q?=E6=9C=BA=E5=85=B3=E6=98=BE=E7=A4=BA=E7=9B=B4=E5=B1=9E=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=EF=BC=8C=E5=85=B6=E4=BB=96=E7=BA=A7=E5=88=AB=E6=9C=BA?= =?UTF-8?q?=E5=85=B3=E5=8F=AA=E6=98=BE=E7=A4=BA=E4=B8=8B=E7=BA=A7=E6=9C=BA?= =?UTF-8?q?=E5=85=B3=E4=B8=8D=E6=98=BE=E7=A4=BA=E6=8C=87=E6=95=B0=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml index 552923d505..4997380f98 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml @@ -15,6 +15,8 @@ WHERE md.del_flag = '0' AND md.parent_id = #{agencyId} - AND ORG_TYPE = 'agency' + + AND ORG_TYPE = + CASE WHEN sca.LEVEL = 'community' THEN 'grid' ELSE 'agency' END \ No newline at end of file From 67b484e62a5a614710fd5ec99539cef55d35ad79 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Jan 2021 15:41:57 +0800 Subject: [PATCH 163/184] =?UTF-8?q?=E3=80=90=E5=85=9A=E5=91=98=E5=BB=BA?= =?UTF-8?q?=E7=BE=A4=E6=95=B0=E3=80=91=E6=B7=BB=E5=8A=A0=E5=85=9A=E5=91=98?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluationindex/extract/FactOriginGroupMainDailyDao.xml | 1 + 1 file changed, 1 insertion(+) 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 3c7008dc0b..db5dc8b583 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 @@ -288,6 +288,7 @@ DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} AND GROUP_STATE = 'approved' + AND IS_OWNER_PARTY = 1 AND ( From 026f230a4a2136c98b403f81d573481d2c579912 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 11 Jan 2021 15:42:36 +0800 Subject: [PATCH 164/184] =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/AddTemplateFormDTO.java | 5 + .../dto/form/DelPersonalTempFormDTO.java | 31 ++++ .../com/epmet/dto/form/InitAllFormDTO.java | 26 +++ .../java/com/epmet/dto/form/InitFormDTO.java | 5 + .../com/epmet/dto/result/TemplateDTO.java | 6 +- .../epmet/controller/SubscribeController.java | 26 +++ .../com/epmet/dao/PersonalTemplateDao.java | 2 + .../service/PersonalTemplateService.java | 10 ++ .../com/epmet/service/SubscribeService.java | 18 +++ .../impl/PersonalTemplateServiceImpl.java | 14 ++ .../service/impl/SubscribeServiceImpl.java | 150 +++++++++++++----- .../resources/mapper/PersonalTemplateDao.xml | 5 +- 12 files changed, 260 insertions(+), 38 deletions(-) create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/DelPersonalTempFormDTO.java create mode 100644 epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/InitAllFormDTO.java diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java index edb391eb73..2e28dfdb84 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java @@ -48,4 +48,9 @@ public class AddTemplateFormDTO implements Serializable { * 关键字名称 */ private List nameList; + + /** + * 是否同步到所有客户 + */ + private Boolean isSync; } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/DelPersonalTempFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/DelPersonalTempFormDTO.java new file mode 100644 index 0000000000..9c49eeeccf --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/DelPersonalTempFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/1/11 14:53 + */ +@NoArgsConstructor +@Data +public class DelPersonalTempFormDTO implements Serializable { + + private static final long serialVersionUID = -1445036628319660147L; + /** + * 客户ID + */ + private String customerId; + /** + * 所属端 居民端resi 工作端work + */ + private String clientType; + /** + * 模板id + */ + private List tempIdList; +} diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/InitAllFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/InitAllFormDTO.java new file mode 100644 index 0000000000..ed476cc3b6 --- /dev/null +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/InitAllFormDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.form; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/1/11 14:47 + */ +@NoArgsConstructor +@Data +public class InitAllFormDTO implements Serializable { + + private static final long serialVersionUID = 5198153778356904936L; + /** + * 测试号APPID + */ + private String appId; + /** + * 模板ID + */ + private String tempId; +} diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/InitFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/InitFormDTO.java index ab154a196a..196128aff2 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/InitFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/InitFormDTO.java @@ -36,4 +36,9 @@ public class InitFormDTO implements Serializable { * 工作端需要同步的模板id数组 */ private List workTempIdList; + + /** + * 1 已同步,0 未同步 + */ + private String sync; } diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDTO.java index 0229316e01..9ccf9963ee 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDTO.java @@ -17,9 +17,13 @@ public class TemplateDTO implements Serializable { */ private String id; /** - * 模板ID + * 公共模板ID */ private String tmplId; + /** + * 客户模板ID + */ + private String personalTempId; /** * 标题 */ diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/SubscribeController.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/SubscribeController.java index 47d3b6d653..63a31e73b2 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/SubscribeController.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/controller/SubscribeController.java @@ -146,4 +146,30 @@ public class SubscribeController { CustomerTempResultDTO result = subscribeService.getCustomerTemplate(formDTO); return new Result().ok(result); } + + /** + * 同步单一模板到所有客户 + * @author zhaoqifeng + * @date 2021/1/11 14:49 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("initall") + public Result initAll(@RequestBody InitAllFormDTO formDTO) { + subscribeService.initAll(formDTO); + return new Result(); + } + + /** + * 删除客户模板 + * @author zhaoqifeng + * @date 2021/1/11 14:54 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("delpersonaltemp") + public Result delPersonalTemp(@RequestBody DelPersonalTempFormDTO formDTO) { + subscribeService.delPersonalTemp(formDTO); + return new Result(); + } } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PersonalTemplateDao.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PersonalTemplateDao.java index 93fe3d2d95..054712bea0 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PersonalTemplateDao.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/dao/PersonalTemplateDao.java @@ -105,4 +105,6 @@ public interface PersonalTemplateDao extends BaseDao { List selectListByKey(@Param("appId") String appId, @Param("tid") String tid, @Param("keyIds") String keyIds); List selectTemplateListV2(TemplateListV2FormDTO formDTO); + + PersonalTemplateDTO getTempByPid(); } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PersonalTemplateService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PersonalTemplateService.java index 1f3540a90f..a586844667 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PersonalTemplateService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/PersonalTemplateService.java @@ -156,4 +156,14 @@ public interface PersonalTemplateService extends BaseService getListByKey(String appId, String tid, String keyIds); List templateListV2(TemplateListV2FormDTO formDTO); + + /** + * 获取个人模板 + * @author zhaoqifeng + * @date 2021/1/11 15:32 + * @param customerId + * @param pid + * @return com.epmet.dto.PersonalTemplateDTO + */ + PersonalTemplateDTO getTempByPid(String customerId, String pid); } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/SubscribeService.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/SubscribeService.java index c56d17487a..6790a2aa15 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/SubscribeService.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/SubscribeService.java @@ -102,4 +102,22 @@ public interface SubscribeService { */ CustomerTempResultDTO getCustomerTemplate(InitFormDTO formDTO); + /** + * 同步单一模板到所有客户 + * @author zhaoqifeng + * @date 2021/1/11 14:49 + * @param formDTO + * @return void + */ + void initAll(InitAllFormDTO formDTO); + + /** + * 删除客户模板 + * @author zhaoqifeng + * @date 2021/1/11 14:54 + * @param formDTO + * @return void + */ + void delPersonalTemp(DelPersonalTempFormDTO formDTO); + } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PersonalTemplateServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PersonalTemplateServiceImpl.java index 65e2f87e51..96e257c141 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PersonalTemplateServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/PersonalTemplateServiceImpl.java @@ -165,4 +165,18 @@ public class PersonalTemplateServiceImpl extends BaseServiceImpl templateListV2(TemplateListV2FormDTO formDTO) { return baseDao.selectTemplateListV2(formDTO); } + + /** + * 获取个人模板 + * + * @param customerId + * @param pid + * @return com.epmet.dto.PersonalTemplateDTO + * @author zhaoqifeng + * @date 2021/1/11 15:32 + */ + @Override + public PersonalTemplateDTO getTempByPid(String customerId, String pid) { + return baseDao.selectSetTemp(customerId, pid); + } } diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java index 6d212b75ee..e6b1799e8a 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java @@ -199,44 +199,46 @@ public class SubscribeServiceImpl implements SubscribeService { personalTemplateDTO.setKeyWords(keywords); personalTemplateDTO.setType(formDTO.getType()); personalTemplateService.save(personalTemplateDTO); - //获取客户列表 - List customerList = paCustomerService.getCustomerListByTestId(authInfo.getCustomerId()); - List customerNames = new ArrayList<>(); - if (null != customerList && customerList.size() > NumConstant.ZERO) { - for (PaCustomerDTO paCustomerDTO : customerList) { - //获取小程序调用令牌 - AuthorizationInfoDTO authDTO = authorizationInfoDao.getAuthInfoByCustomer(paCustomerDTO.getId(), authInfo.getClientType()); - if (null == authDTO) { - log.error("客户[" + paCustomerDTO.getCustomerName() + "]未授权"); - customerNames.add(paCustomerDTO.getCustomerName()); - continue; + if (formDTO.getIsSync()) { + //获取客户列表 + List customerList = paCustomerService.getCustomerListByTestId(authInfo.getCustomerId()); + List customerNames = new ArrayList<>(); + if (null != customerList && customerList.size() > NumConstant.ZERO) { + for (PaCustomerDTO paCustomerDTO : customerList) { + //获取小程序调用令牌 + AuthorizationInfoDTO authDTO = authorizationInfoDao.getAuthInfoByCustomer(paCustomerDTO.getId(), authInfo.getClientType()); + if (null == authDTO) { + log.error("客户[" + paCustomerDTO.getCustomerName() + "]未授权"); + customerNames.add(paCustomerDTO.getCustomerName()); + continue; + } + WxResult wxResult1 = wxMaSubscribeService.addTemplate(authDTO.getAuthorizerAccessToken(), request); + if (!wxResult1.success()) { + log.error("客户[" + paCustomerDTO.getCustomerName() + "]添加模板失败,原因:" + wxResult1.getErrorCode() + wxResult1.getErrorMsg()); + customerNames.add(paCustomerDTO.getCustomerName()); + continue; + } + String tmplId = wxResult1.getData(); + PersonalTemplateDTO templateDTO = new PersonalTemplateDTO(); + templateDTO.setCustomerId(paCustomerDTO.getId()); + templateDTO.setClientType(authInfo.getClientType()); + templateDTO.setAppId(authDTO.getAuthorizerAppid()); + templateDTO.setPid(priTmplId); + templateDTO.setPriTmplId(tmplId); + templateDTO.setTid(formDTO.getTid()); + templateDTO.setKeyIds(keyIds); + templateDTO.setTitle(formDTO.getTitle()); + templateDTO.setSceneDesc(formDTO.getSceneDesc()); + templateDTO.setKeyWords(keywords); + templateDTO.setType(formDTO.getType()); + personalTemplateService.save(templateDTO); } - WxResult wxResult1 = wxMaSubscribeService.addTemplate(authDTO.getAuthorizerAccessToken(), request); - if (!wxResult1.success()) { - log.error("客户[" + paCustomerDTO.getCustomerName() + "]添加模板失败,原因:" + wxResult1.getErrorCode() + wxResult1.getErrorMsg()); - customerNames.add(paCustomerDTO.getCustomerName()); - continue; - } - String tmplId = wxResult1.getData(); - PersonalTemplateDTO templateDTO = new PersonalTemplateDTO(); - templateDTO.setCustomerId(paCustomerDTO.getId()); - templateDTO.setClientType(authInfo.getClientType()); - templateDTO.setAppId(authDTO.getAuthorizerAppid()); - templateDTO.setPid(priTmplId); - templateDTO.setPriTmplId(tmplId); - templateDTO.setTid(formDTO.getTid()); - templateDTO.setKeyIds(keyIds); - templateDTO.setTitle(formDTO.getTitle()); - templateDTO.setSceneDesc(formDTO.getSceneDesc()); - templateDTO.setKeyWords(keywords); - templateDTO.setType(formDTO.getType()); - personalTemplateService.save(templateDTO); } - } - if (customerNames.size() > NumConstant.ZERO) { - String names = String.join(",", customerNames); - throw new RenException("客户[" + names + "]添加模板失败"); + if (customerNames.size() > NumConstant.ZERO) { + String names = String.join(",", customerNames); + throw new RenException("客户[" + names + "]添加模板失败"); + } } } @@ -348,7 +350,6 @@ public class SubscribeServiceImpl implements SubscribeService { log.error("居民端同步失败:" + wxResult.getErrorCode() + wxResult.getErrorMsg()); } }); - resultDTO.setResiList(resiList); AuthorizationInfoDTO workAuthDTO = authorizationInfoDao.getAuthInfoByCustomer(formDTO.getCustomerId(), "work"); if (null == workAuthDTO) { @@ -371,10 +372,87 @@ public class SubscribeServiceImpl implements SubscribeService { log.error("工作端同步失败:" + wxResult.getErrorCode() + wxResult.getErrorMsg()); } }); + +// resultDTO.setResiList(resiList.stream().filter(item -> formDTO.getSync().equals(item.getState())).collect(Collectors.toList())); +// resultDTO.setWorkList(workList.stream().filter(item -> formDTO.getSync().equals(item.getState())).collect(Collectors.toList())); + resultDTO.setResiList(resiList); resultDTO.setWorkList(workList); return resultDTO; } + /** + * 同步单一模板到所有客户 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2021/1/11 14:49 + */ + @Override + public void initAll(InitAllFormDTO formDTO) { + AuthorizationInfoDTO authInfo = authorizationInfoDao.selectInfoByAppId(formDTO.getAppId()); + PersonalTemplateDTO publicDTO = personalTemplateService.get(formDTO.getTempId()); + + //获取客户列表 + List customerList = paCustomerService.getCustomerListByTestId(authInfo.getCustomerId()); + List customerNames = new ArrayList<>(); + if (null != customerList && customerList.size() > NumConstant.ZERO) { + for (PaCustomerDTO paCustomerDTO : customerList) { + PersonalTemplateDTO personalTemplateDTO = personalTemplateService.getTempByPid(paCustomerDTO.getId(), publicDTO.getPriTmplId()); + if (null != personalTemplateDTO) { + //获取小程序调用令牌 + AuthorizationInfoDTO authDTO = authorizationInfoDao.getAuthInfoByCustomer(paCustomerDTO.getId(), authInfo.getClientType()); + + List keyIds = Arrays.asList(publicDTO.getKeyIds().split(",")); + List keyIdList = keyIds.stream().map(Integer::parseInt).collect(Collectors.toList()); + WxAddTemplateReq request = new WxAddTemplateReq(); + request.setTid(publicDTO.getTid()); + request.setKidList(keyIdList); + request.setSceneDesc(publicDTO.getSceneDesc()); + WxResult wxResult = wxMaSubscribeService.addTemplate(authInfo.getAuthorizerAccessToken(), request); + if (null == authDTO) { + log.error("客户[" + paCustomerDTO.getCustomerName() + "]未授权"); + customerNames.add(paCustomerDTO.getCustomerName()); + continue; + } + + String tmplId = wxResult.getData(); + PersonalTemplateDTO templateDTO = new PersonalTemplateDTO(); + templateDTO.setCustomerId(paCustomerDTO.getId()); + templateDTO.setClientType(authInfo.getClientType()); + templateDTO.setAppId(authDTO.getAuthorizerAppid()); + templateDTO.setPid(publicDTO.getPriTmplId()); + templateDTO.setPriTmplId(tmplId); + templateDTO.setTid(publicDTO.getTid()); + templateDTO.setKeyIds(publicDTO.getKeyIds()); + templateDTO.setTitle(publicDTO.getTitle()); + templateDTO.setSceneDesc(publicDTO.getSceneDesc()); + templateDTO.setKeyWords(publicDTO.getKeyWords()); + templateDTO.setType(publicDTO.getType()); + personalTemplateService.save(templateDTO); + } + } + } + + if (customerNames.size() > NumConstant.ZERO) { + String names = String.join(",", customerNames); + log.error("客户[" + names + "]添加模板失败"); + } + } + + /** + * 删除客户模板 + * + * @param formDTO + * @return void + * @author zhaoqifeng + * @date 2021/1/11 14:54 + */ + @Override + public void delPersonalTemp(DelPersonalTempFormDTO formDTO) { + + } + private WxGetCategoryResult getCategoryResult(String accessToken) { WxResult wxResult = wxMaSubscribeService.getCategory(accessToken); diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml index 26c12ac4ec..f049859dcb 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml @@ -49,13 +49,15 @@ SELECT t1.ID AS id, t1.PRI_TMPL_ID AS tmplId, + IFNULL(t2.PRI_TMPL_ID, '') AS personalTempId, t1.TITLE AS title, IF(ISNULL(t2.ID),'0','1') AS state FROM (SELECT ID, TITLE, - PRI_TMPL_ID + PRI_TMPL_ID, + CREATED_TIME FROM personal_template WHERE @@ -74,6 +76,7 @@ AND CUSTOMER_ID = #{customerId} AND CLIENT_TYPE = #{clientType}) t2 ON t1.PRI_TMPL_ID = t2.PID + ORDER BY t1.CREATED_TIME DESC SELECT - ORG_NAME AS agencyName, - RESPONSE_RATIO, - RESOLVED_RATIO, - GOVERN_RATIO, - SATISFACTION_RATIO + rankData.ORG_NAME AS agencyName, + rankData.RESPONSE_RATIO, + rankData.RESOLVED_RATIO, + rankData.GOVERN_RATIO, + rankData.SATISFACTION_RATIO, + agency.AGENCY_NAME AS parentAgencyName FROM - screen_govern_rank_data + screen_govern_rank_data rankData + LEFT JOIN + screen_customer_agency agency + ON rankData.PARENT_ID = agency.AGENCY_ID AND agency.DEL_FLAG = '0' AND agency.AGENCY_ID = #{agencyId} WHERE - DEL_FLAG = '0' - AND PARENT_ID = #{agencyId} - AND MONTH_ID = #{monthId} + rankData.DEL_FLAG = '0' + AND rankData.PARENT_ID = #{agencyId} + AND rankData.MONTH_ID = #{monthId} ORDER BY - (RESPONSE_RATIO + RESOLVED_RATIO + GOVERN_RATIO + SATISFACTION_RATIO) DESC,RESPONSE_RATIO DESC,RESOLVED_RATIO DESC,GOVERN_RATIO DESC,SATISFACTION_RATIO DESC + (rankData.RESPONSE_RATIO + rankData.RESOLVED_RATIO + rankData.GOVERN_RATIO + rankData.SATISFACTION_RATIO) DESC,rankData.RESPONSE_RATIO DESC,rankData.RESOLVED_RATIO DESC,rankData.GOVERN_RATIO DESC,rankData.SATISFACTION_RATIO DESC \ No newline at end of file From 1ff9451da4a4161b98c5af975cc857d43189b990 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 11 Jan 2021 17:02:50 +0800 Subject: [PATCH 166/184] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=8A=BD=E5=8F=96?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/todata/impl/GroupExtractServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java index dedb5bc3a3..275e8fd4e1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.evaluationindex.extract.todata.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; @@ -84,7 +85,7 @@ public class GroupExtractServiceImpl implements GroupExtractService { List originGroupData = groupDataService.extractGroupData( count <= NumConstant.ZERO, param.getCustomerId(), param.getDateId()); - + log.info("extractGroupData extractGroupData:result:{},param:{}", JSON.toJSONString(originGroupData), JSON.toJSONString(param)); List memberList = new LinkedList<>(); if (!CollectionUtils.isEmpty(originGroupData)) { List gridList = dimGridService.getGridAttributes(param.getCustomerId(),originGroupData.stream().map(FactOriginGroupMainDailyDTO::getGridId).distinct().collect(Collectors.toList())); @@ -160,7 +161,7 @@ public class GroupExtractServiceImpl implements GroupExtractService { factOriginGroupMainDailyService.insertExtractedData( - count <= NumConstant.ZERO ? true : false, + count <= NumConstant.ZERO, param.getCustomerId(), param.getDateId(), originGroupData, From 51079b8ae9139e9dd53d5e4d370a12679cc0dfe2 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 11 Jan 2021 17:21:17 +0800 Subject: [PATCH 167/184] screen_party_link_masses_data md --- .../resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml index 4997380f98..7f4520f8ff 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml @@ -16,7 +16,7 @@ md.del_flag = '0' AND md.parent_id = #{agencyId} - AND ORG_TYPE = + AND md.ORG_TYPE = CASE WHEN sca.LEVEL = 'community' THEN 'grid' ELSE 'agency' END \ No newline at end of file From 7dbe156fd8b0d2ab6061315d607897a02674b7b6 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 11 Jan 2021 17:25:56 +0800 Subject: [PATCH 168/184] =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/result/TemplateDTO.java | 1 + .../epmet/service/impl/SubscribeServiceImpl.java | 15 ++++++++++++++- .../main/resources/mapper/PersonalTemplateDao.xml | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDTO.java index 9ccf9963ee..1fccf69f2d 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/result/TemplateDTO.java @@ -20,6 +20,7 @@ public class TemplateDTO implements Serializable { * 公共模板ID */ private String tmplId; + private String personalId; /** * 客户模板ID */ diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java index e6b1799e8a..450d747944 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java @@ -450,7 +450,20 @@ public class SubscribeServiceImpl implements SubscribeService { */ @Override public void delPersonalTemp(DelPersonalTempFormDTO formDTO) { - + AuthorizationInfoDTO authInfo = authorizationInfoDao.getAuthInfoByCustomer(formDTO.getCustomerId(), formDTO.getClientType()); + if (null == authInfo) { + throw new RenException("未授权或token已过期"); + } + formDTO.getTempIdList().forEach(tempId -> { + PersonalTemplateDTO dto = personalTemplateService.get(tempId); + WxDelTemplateReq request = new WxDelTemplateReq(); + request.setPriTmplId(dto.getPriTmplId()); + WxResult wxResult = wxMaSubscribeService.delTemplate(authInfo.getAuthorizerAccessToken(), request); + if (!wxResult.success()) { + throw new RenException(wxResult.getErrorCode(), wxResult.getErrorMsg()); + } + personalTemplateService.deleteById(dto.getId()); + }); } private WxGetCategoryResult getCategoryResult(String accessToken) { diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml index f049859dcb..1b73c85569 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml @@ -49,6 +49,7 @@ SELECT t1.ID AS id, t1.PRI_TMPL_ID AS tmplId, + IFNULL(t2.ID, '') AS personalId, IFNULL(t2.PRI_TMPL_ID, '') AS personalTempId, t1.TITLE AS title, IF(ISNULL(t2.ID),'0','1') AS state From 65aadd0d4dfe20f2311c1fbca6fbf733b0673f45 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 11 Jan 2021 17:32:35 +0800 Subject: [PATCH 169/184] =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java index 2e28dfdb84..16491eb32e 100644 --- a/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java +++ b/epmet-module/epmet-third/epmet-third-client/src/main/java/com/epmet/dto/form/AddTemplateFormDTO.java @@ -52,5 +52,5 @@ public class AddTemplateFormDTO implements Serializable { /** * 是否同步到所有客户 */ - private Boolean isSync; + private Boolean isSync = true; } From ef720bffc074286366b12ba01dfb13e52ec6fbb2 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 11 Jan 2021 17:38:15 +0800 Subject: [PATCH 170/184] =?UTF-8?q?=E6=B2=BB=E7=90=86=E8=83=BD=E5=8A=9B?= =?UTF-8?q?=E6=A6=9C=E5=8D=95=EF=BC=8C=E8=BF=94=E5=9B=9EparentAgencyName?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java index 7afd0f4362..e33e7c9334 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java @@ -181,6 +181,7 @@ public class GrassRootsGovernServiceImpl implements GrassRootsGovernService { rank.setResolvedRatio(convertPercentStr(o.getResolvedRatio(),NumConstant.ONE)); rank.setResponseRatio(convertPercentStr(o.getResponseRatio(),NumConstant.ONE)); rank.setSatisfactionRatio(convertPercentStr(o.getSatisfactionRatio(),NumConstant.ONE)); + rank.setParentAgencyName(o.getParentAgencyName()); result.add(rank); }); return result; From 11fcd347b5ba97c817f57f1e6b53d01ddf1c6121 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 12 Jan 2021 10:32:32 +0800 Subject: [PATCH 171/184] =?UTF-8?q?=E5=9F=BA=E5=B1=82=E5=85=9A=E5=BB=BA-?= =?UTF-8?q?=E5=85=9A=E5=91=98=E5=9F=BA=E6=9C=AC=E6=83=85=E5=86=B5=E8=A1=A8?= =?UTF-8?q?=E5=85=9A=E5=91=98=E6=80=BB=E6=95=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../toscreen/impl/PartyBaseInfoServiceImpl.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyBaseInfoServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyBaseInfoServiceImpl.java index f0999a4605..a7435b914e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyBaseInfoServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyBaseInfoServiceImpl.java @@ -129,7 +129,8 @@ public class PartyBaseInfoServiceImpl implements PartyBaseInfoService { form.setAgeLevel4(party.stream().collect(Collectors.summingInt(PartyBaseInfoFormDTO::getAgeLevel4))); form.setAgeLevel5(party.stream().collect(Collectors.summingInt(PartyBaseInfoFormDTO::getAgeLevel5))); form.setAgeLevel6(party.stream().collect(Collectors.summingInt(PartyBaseInfoFormDTO::getAgeLevel6))); - form.setPartyMemberCount(party.stream().collect(Collectors.summingInt(PartyBaseInfoFormDTO::getPartyMemberCount))); +// form.setPartyMemberCount(party.stream().collect(Collectors.summingInt(PartyBaseInfoFormDTO::getPartyMemberCount))); + form.setPartyMemberCount(calPartyMemberCount(form)); form.setResiTotal(party.stream().collect(Collectors.summingInt(PartyBaseInfoFormDTO::getResiTotal))); form.setRegisterUserCount(party.stream().collect(Collectors.summingInt(PartyBaseInfoFormDTO::getRegisterUserCount))); result.add(form); @@ -175,6 +176,7 @@ public class PartyBaseInfoServiceImpl implements PartyBaseInfoService { form.setAgeLevel4(disposeAgeArea(partyInfos,NumConstant.FORTY_ONE,NumConstant.FIFTY)); form.setAgeLevel5(disposeAgeArea(partyInfos,NumConstant.FIFTY_ONE,NumConstant.SIXTY)); form.setAgeLevel6(disposeAge(partyInfos,NumConstant.SIXTY,true)); + form.setPartyMemberCount(calPartyMemberCount(form)); form.setCustomerId(customerId); form.setDataEndTime(dateId); form.setParentId(partyInfos.get(NumConstant.ZERO).getAgencyId()); @@ -183,7 +185,7 @@ public class PartyBaseInfoServiceImpl implements PartyBaseInfoService { if (gridId.equals(user.getOrgId())){ form.setResiTotal(user.getResiTotal()); form.setRegisterUserCount(user.getRegisterUserCount()); - form.setPartyMemberCount(user.getPartyMemberCount()); +// form.setPartyMemberCount(user.getPartyMemberCount()); } }); } @@ -210,7 +212,8 @@ public class PartyBaseInfoServiceImpl implements PartyBaseInfoService { form.setAgeLevel4(partyInfoList.stream().collect(Collectors.summingInt(PartyInfoResultDTO::getAgeLevel4))); form.setAgeLevel5(partyInfoList.stream().collect(Collectors.summingInt(PartyInfoResultDTO::getAgeLevel5))); form.setAgeLevel6(partyInfoList.stream().collect(Collectors.summingInt(PartyInfoResultDTO::getAgeLevel6))); - form.setPartyMemberCount(partyInfoList.stream().collect(Collectors.summingInt(PartyInfoResultDTO::getPartyMemberCount))); +// form.setPartyMemberCount(partyInfoList.stream().collect(Collectors.summingInt(PartyInfoResultDTO::getPartyMemberCount))); + form.setPartyMemberCount(calPartyMemberCount(form)); form.setResiTotal(partyInfoList.stream().collect(Collectors.summingInt(PartyInfoResultDTO::getResiTotal))); form.setRegisterUserCount(partyInfoList.stream().collect(Collectors.summingInt(PartyInfoResultDTO::getRegisterUserCount))); result.add(form); @@ -361,6 +364,7 @@ public class PartyBaseInfoServiceImpl implements PartyBaseInfoService { form.setAgeLevel3(disposeAgeArea(partyInfos,NumConstant.THIRTY_ONE,NumConstant.FORTY)); form.setAgeLevel4(disposeAgeArea(partyInfos,NumConstant.FORTY_ONE,NumConstant.FIFTY)); form.setAgeLevel5(disposeAgeArea(partyInfos,NumConstant.FIFTY_ONE,NumConstant.SIXTY)); + form.setPartyMemberCount(calPartyMemberCount(form)); form.setAgeLevel6(disposeAge(partyInfos,NumConstant.SIXTY,true)); form.setCustomerId(customerId); form.setDataEndTime(dateId); @@ -370,7 +374,7 @@ public class PartyBaseInfoServiceImpl implements PartyBaseInfoService { if (gridId.equals(user.getOrgId())){ form.setResiTotal(user.getResiTotal()); form.setRegisterUserCount(user.getRegisterUserCount()); - form.setPartyMemberCount(user.getPartyMemberCount()); +// form.setPartyMemberCount(user.getPartyMemberCount()); } }); } @@ -379,4 +383,9 @@ public class PartyBaseInfoServiceImpl implements PartyBaseInfoService { } return new GridPartyDTO(orgIds, result); } + + public Integer calPartyMemberCount(PartyBaseInfoFormDTO form){ + Integer result = form.getAgeLevel1() + form.getAgeLevel2() + form.getAgeLevel3() + form.getAgeLevel4() + form.getAgeLevel5() + form.getAgeLevel6(); + return result; + } } From af99db100242ee99dc1d395362c547751c62fa6b Mon Sep 17 00:00:00 2001 From: wangchao Date: Tue, 12 Jan 2021 10:36:24 +0800 Subject: [PATCH 172/184] =?UTF-8?q?=E5=B0=8F=E7=BB=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8A=BD=E5=8F=96=20bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FactOriginExtractController.java | 14 ++++++++++- .../FactOriginGroupMainDailyServiceImpl.java | 24 ++++++++++--------- .../todata/impl/GroupExtractServiceImpl.java | 2 +- .../stats/impl/DimGridServiceImpl.java | 2 +- .../resources/mapper/group/GroupDataDao.xml | 2 +- .../resources/mapper/stats/DimGridDao.xml | 15 +++++++----- 6 files changed, 38 insertions(+), 21 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java index 2abcd81edd..9542bdc580 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java @@ -1,5 +1,7 @@ package com.epmet.controller; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.extract.form.ExtractOriginFormDTO; @@ -11,6 +13,8 @@ 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; + /** * 原始数据清洗 @@ -114,7 +118,15 @@ public class FactOriginExtractController { **/ @PostMapping("groupdatacleaning") public Result groupDataCleaning(@RequestBody ExtractOriginFormDTO param) { - groupExtractService.extractGroupData(param); + if(StringUtils.isNotBlank(param.getStartDate()) && StringUtils.isNotBlank(param.getEndDate())){ + List finalDaysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); + ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); + for (int i = 0; i < finalDaysBetween.size(); i++) { + String dateDimId = finalDaysBetween.get(i); + paramNew.setDateId(dateDimId); + groupExtractService.extractGroupData(paramNew); + } + }else groupExtractService.extractGroupData(param); return new Result(); } } 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 83195d9902..94fadea5fe 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 @@ -85,19 +85,21 @@ public class FactOriginGroupMainDailyServiceImpl extends BaseServiceImpl originGroupData, List memberList,List missing) { - if (isFirst) { - //isFirst - baseDao.deleteBatchMemberByCustomerId(customerId,null,null); - } else { - if(StringUtils.isNotBlank(dateId)){ - baseDao.deleteBatchMemberByCustomerId(customerId,dateId,"date"); + if(!CollectionUtils.isEmpty(originGroupData)) { + if (isFirst) { + //isFirst + baseDao.deleteBatchMemberByCustomerId(customerId, null, null); + } else { + if (StringUtils.isNotBlank(dateId)) { + baseDao.deleteBatchMemberByCustomerId(customerId, dateId, "date"); + } } - } - //删除要插入的组主表数据 - baseDao.deleteBatchByGroupId(customerId,originGroupData.stream().map(FactOriginGroupMainDailyDTO :: getId).distinct().collect(Collectors.toList())); + //删除要插入的组主表数据 + baseDao.deleteBatchByGroupId(customerId, originGroupData.stream().map(FactOriginGroupMainDailyDTO::getId).distinct().collect(Collectors.toList())); - baseDao.insertBatchMain(originGroupData); - baseDao.insertBatchMembers(memberList); + baseDao.insertBatchMain(originGroupData); + baseDao.insertBatchMembers(memberList); + } if(!CollectionUtils.isEmpty(missing)){ baseDao.deleteBatchByGroupId(customerId,missing); baseDao.deleteMemberByGroupList(customerId,missing); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java index 275e8fd4e1..6f6451114d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/GroupExtractServiceImpl.java @@ -88,7 +88,7 @@ public class GroupExtractServiceImpl implements GroupExtractService { log.info("extractGroupData extractGroupData:result:{},param:{}", JSON.toJSONString(originGroupData), JSON.toJSONString(param)); List memberList = new LinkedList<>(); if (!CollectionUtils.isEmpty(originGroupData)) { - List gridList = dimGridService.getGridAttributes(param.getCustomerId(),originGroupData.stream().map(FactOriginGroupMainDailyDTO::getGridId).distinct().collect(Collectors.toList())); + List gridList = dimGridService.getGridAttributes(param.getCustomerId(),null); if (!CollectionUtils.isEmpty(gridList)) { Map gridMap = diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java index 5062b8e94f..a08e0af4ba 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java @@ -186,7 +186,7 @@ public class DimGridServiceImpl extends BaseServiceImpl getGridAttributes(String customerId,List gridIds) { - if(CollectionUtils.isEmpty(gridIds)) return Collections.EMPTY_LIST; + return baseDao.selectGridAttributes(customerId,gridIds); } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml index f47b266eba..9b6da626dc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml @@ -186,7 +186,7 @@ oper.UPDATED_TIME AS joinDate, IF(groupp.CREATED_BY = oper.CUSTOMER_USER_ID,'leader','member') AS leaderFlag, groupp.CREATED_BY AS groupOwnerId, - 'join' AS actionCode + IF(groupp.CREATED_BY = oper.CUSTOMER_USER_ID,'join','create') AS actionCode FROM RESI_GROUP groupp diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimGridDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimGridDao.xml index b83e517441..d7a33deb51 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimGridDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimGridDao.xml @@ -104,11 +104,14 @@ dg.DEL_FLAG = '0' AND da.DEL_FLAG = '0' AND da.CUSTOMER_ID = #{customerId} - AND - ( - - dg.id = #{gridId} - - ) + + AND + ( + + dg.id = #{gridId} + + ) + + \ No newline at end of file From 0c2bc1bbd49be312e55753f75c9de2ed4867e1c4 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 Jan 2021 12:15:41 +0800 Subject: [PATCH 173/184] =?UTF-8?q?PioneerDataExtractService=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/DemoController.java | 25 ++++++++----- .../impl/PioneerDataExtractServiceImpl.java | 36 +++++++++++++++++-- 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index a22a573819..755705a6ce 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -20,7 +20,6 @@ import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.extract.form.ExtractOriginFormDTO; import com.epmet.dto.extract.form.ExtractScreenFormDTO; import com.epmet.dto.indexcal.CalculateCommonFormDTO; -import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.dto.stats.form.CustomerIdAndDateIdFormDTO; import com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity; import com.epmet.entity.evaluationindex.indexcoll.FactIndexPartyAblityGridMonthlyEntity; @@ -47,7 +46,6 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; -import java.util.Map; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -664,12 +662,21 @@ public class DemoController { @Autowired private PublicPartiTotalDataExtractService publicPartiTotalDataExtractService; @PostMapping("insertScreenPioneerData") - public Result insertScreenPioneerData(@RequestParam("customerId") String customerId, @RequestParam("dateId") String dateId) { + public Result insertScreenPioneerData(@RequestParam("customerId") String customerId, @RequestParam("dateId") String dateId,@RequestParam("type") String type) { if (StringUtils.isNotBlank(customerId) && StringUtils.isNotBlank(dateId)) { - pioneerDataExtractService.extractGridPioneerData(customerId, dateId); - pioneerDataExtractService.extractCommunityPioneerData(customerId, dateId); - pioneerDataExtractService.extractExceptCommunityPioneerData(customerId, dateId); - } else { + if ("grid".equals(type)) { + pioneerDataExtractService.extractGridPioneerData(customerId, dateId); + } else if ("community".equals(type)) { + pioneerDataExtractService.extractCommunityPioneerData(customerId, dateId); + } else if ("exceptcommunity".equals(type)) { + pioneerDataExtractService.extractExceptCommunityPioneerData(customerId, dateId); + } else { + pioneerDataExtractService.extractGridPioneerData(customerId, dateId); + pioneerDataExtractService.extractCommunityPioneerData(customerId, dateId); + pioneerDataExtractService.extractExceptCommunityPioneerData(customerId, dateId); + } + } + /*else { QueryWrapper customerEntityQueryWrapper = new QueryWrapper<>(); List customerEntityList = dimCustomerDao.selectList(customerEntityQueryWrapper); for (DimCustomerEntity customerEntity : customerEntityList) { @@ -677,8 +684,8 @@ public class DemoController { pioneerDataExtractService.extractCommunityPioneerData(customerEntity.getId(), "20200926"); pioneerDataExtractService.extractExceptCommunityPioneerData(customerEntity.getId(), "20200926"); } - } - return new Result(); + }*/ + return new Result().ok("调用成功"); } @PostMapping("extractPublicPartiTotalData") diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java index f41366eb13..125fdbdc65 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java @@ -66,36 +66,44 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //何为参与: 议题的表决行为次数总计 //1、党员参与议事 entity.setIssueTotal(calPartyPartiIssueTotal(customerId,gridId,null,null,NumConstant.ONE_STR)); + log.info("extractGridPioneerData 当前网格id=" + gridId + ";党员参与议事issueTotal="+entity.getIssueTotal()); if(entity.getIssueTotal()==0){ entity.setIssueRatio(BigDecimal.ZERO); }else{ //2、党员参与议事占比 int issueTotal=calPartyPartiIssueTotal(customerId,gridId,null,null,null); + log.info("extractGridPioneerData 当前网格id=" + gridId + ";参与议事总数issueTotal=" + issueTotal); BigDecimal issueRatio=new BigDecimal(entity.getIssueTotal()/issueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); + log.info("extractGridPioneerData 当前网格id=" + gridId + ";issueRatio=" + issueRatio); entity.setIssueRatio(issueRatio.setScale(NumConstant.SIX,RoundingMode.HALF_UP)); } //3、党员发布话题: entity.setTopicTotal(getTopicTotal(customerId, gridId, null)); + log.info("extractGridPioneerData 当前网格id=" + gridId + ";党员发布话题topicTotal"+entity.getTopicTotal()); //4、党员发布话题占比: 网格内注册党员发布的话题总数占 网格内话题总数的 比率 if (entity.getTopicTotal() == NumConstant.ZERO) { entity.setTopicRatio(BigDecimal.ZERO); } else { //当前网格内所有话题总数 int gridTopicTotal = getGridOrCommunityTopicTotal(customerId, gridId, null); + log.info("extractGridPioneerData 当前网格id=" + gridId + ";当前网格内所有话题总数gridTopicTotal="+gridTopicTotal); if(gridTopicTotal == NumConstant.ZERO){ entity.setTopicRatio(BigDecimal.ZERO); }else{ BigDecimal topicRatio=new BigDecimal(entity.getTopicTotal() / gridTopicTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); + log.info("extractGridPioneerData 当前网格id=" + gridId + ";党员发布话题占比topicRatio="+topicRatio); entity.setTopicRatio(topicRatio.setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } } //当前网格内所有议题总数 int gridIssueTotal = getGridOrCommunityIssueTotal(customerId, gridId, null); + log.info("extractGridPioneerData 当前网格id=" + gridId + ";当前网格内所有议题总数=" + gridIssueTotal); if (gridIssueTotal != NumConstant.ZERO) { //5、党员发布议题 entity.setPublishIssueTotal(getParyPublishIssueTotal(customerId, gridId, null)); + log.info("extractGridPioneerData 当前网格id=" + gridId + ";党员发布议题publishIssueTotal"+entity.getPublishIssueTotal()); //6、党员发布议题占比 : 占网格内所有议题的比率 if (entity.getPublishIssueTotal() == NumConstant.ZERO) { entity.setPublishIssueRatio(BigDecimal.ZERO); @@ -106,6 +114,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //7、议题转项目数 entity.setShiftProjectTotal(getGridOrCommunityShiftProjectTotal(customerId, gridId, null)); + log.info("extractGridPioneerData 当前网格id=" + gridId +";议题转项目数shiftProjectTotal="+entity.getShiftProjectTotal()); //8、议题转项目占比 : 占网格内议题总数的比率 if(entity.getShiftProjectTotal() == NumConstant.ZERO){ entity.setShiftProjectRatio(BigDecimal.ZERO); @@ -115,7 +124,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService } }else{ -// log.info("当前网格内所有议题总数="+gridIssueTotal); + log.info("extractGridPioneerData 当前网格id="+gridId+";当前网格内所有议题总数 gridIssueTotal =0 "); entity.setPublishIssueTotal(NumConstant.ZERO); entity.setPublishIssueRatio(BigDecimal.ZERO); entity.setShiftProjectTotal(NumConstant.ZERO); @@ -125,11 +134,13 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService // 9、已解决项目 entity.setResolvedProjectTotal(getGridOrCommunityClosedProjectTotal(customerId, gridId, null, DimObjectStatusConstant.RESOLVED)); + log.info("extractGridPioneerData 当前网格id="+gridId+";已解决项目resolvedProjectTotal="+entity.getResolvedProjectTotal()); if (entity.getResolvedProjectTotal() == NumConstant.ZERO) { entity.setResolvedProjectRatio(BigDecimal.ZERO); } else { // 10、占总结项目 int closedProjectTotal = getGridOrCommunityClosedProjectTotal(customerId, gridId, null, null); + log.info("extractGridPioneerData 当前网格id="+gridId+";总结项目closedProjectTotal="+closedProjectTotal); if(closedProjectTotal == NumConstant.ZERO){ entity.setResolvedProjectRatio(BigDecimal.ZERO); }else { @@ -172,30 +183,36 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService String communityId = entity.getOrgId(); //1、党员参与议事 entity.setIssueTotal(calPartyPartiIssueTotal(customerId,null,communityId,null,NumConstant.ONE_STR)); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";党员参与议事issueTotal="+entity.getIssueTotal()); if(entity.getIssueTotal()==0){ entity.setIssueRatio(BigDecimal.ZERO); }else{ //2、党员参与议事占比 int issueTotal=calPartyPartiIssueTotal(customerId,null,communityId,null,null); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";参与议事总数issueTotal="+issueTotal); entity.setIssueRatio(new BigDecimal(entity.getIssueTotal()/issueTotal).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); } //3、党员发布话题: entity.setTopicTotal(getTopicTotal(customerId, null, communityId)); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";党员发布话题topicTotal="+entity.getTopicTotal()); //4、党员发布话题占比: 社区内注册党员发布的话题总数占 社区内话题总数的 比率 if (entity.getTopicTotal() == NumConstant.ZERO) { entity.setTopicRatio(BigDecimal.ZERO); } else { //当前社区内所有话题总数 int communityTopicTotal = getGridOrCommunityTopicTotal(customerId, null, communityId); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";当前社区内所有话题总数communityTopicTotal="+communityTopicTotal); entity.setTopicRatio(communityTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getTopicTotal() / communityTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } //当前社区内所有议题总数 int communityIssueTotal = getGridOrCommunityIssueTotal(customerId, null, communityId); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";当前社区内所有议题总数communityIssueTotal="+communityIssueTotal); if (communityIssueTotal != NumConstant.ZERO) { //5、党员发布议题 entity.setPublishIssueTotal(getParyPublishIssueTotal(customerId, null, communityId)); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";党员发布议题publishIssueTotal="+entity.getPublishIssueTotal()); //6、党员发布议题占比 : 占社区内所有议题的比率 if (entity.getPublishIssueTotal() == NumConstant.ZERO) { entity.setPublishIssueRatio(BigDecimal.ZERO); @@ -204,10 +221,11 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //7、议题转项目数 entity.setShiftProjectTotal(getGridOrCommunityShiftProjectTotal(customerId, null, communityId)); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";议题转项目数shiftProjectTotal="+entity.getShiftProjectTotal()); //8、议题转项目占比 : 占社区内议题总数的比率 entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getShiftProjectTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); }else{ -// log.info("当前社区内所有议题总数="+communityIssueTotal); + log.info("extractCommunityPioneerData 当前communityId="+communityId+"communityIssueTotal =0"); entity.setPublishIssueTotal(NumConstant.ZERO); entity.setPublishIssueRatio(BigDecimal.ZERO); entity.setShiftProjectTotal(NumConstant.ZERO); @@ -217,11 +235,13 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService // 9、已解决项目 entity.setResolvedProjectTotal(getGridOrCommunityClosedProjectTotal(customerId, null, communityId, DimObjectStatusConstant.RESOLVED)); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";已解决项目resolvedProjectTotal="+entity.getResolvedProjectTotal()); if (entity.getResolvedProjectTotal() == NumConstant.ZERO) { entity.setResolvedProjectRatio(BigDecimal.ZERO); } else { // 10、占总结项目 int closedProjectTotal = getGridOrCommunityClosedProjectTotal(customerId, null, communityId, null); + log.info("extractCommunityPioneerData 当前communityId="+communityId+";总结项目closedProjectTotal="+closedProjectTotal); entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getResolvedProjectTotal() / closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } }); @@ -243,32 +263,39 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService } else { entity.setAgencyPath(entity.getAgencyPids().concat(StrConstant.COLON).concat(entity.getOrgId())); } + log.info("extractExceptCommunityPioneerData 当前orgId="+entity.getOrgId()+";agencyPath="+entity.getAgencyPath()); //1、党员参与议事 entity.setIssueTotal(calPartyPartiIssueTotal(customerId,null,null,entity.getAgencyPath(),NumConstant.ONE_STR)); + log.info("extractExceptCommunityPioneerData 党员参与议事issueTotal="+entity.getIssueTotal()); if(entity.getIssueTotal()==0){ entity.setIssueRatio(BigDecimal.ZERO); }else{ //2、党员参与议事占比 int issueTotal=calPartyPartiIssueTotal(customerId,null,null,entity.getAgencyPath(),null); + log.info("extractExceptCommunityPioneerData 平台参与议事issueTotal="+issueTotal); entity.setIssueRatio(new BigDecimal(entity.getIssueTotal()/issueTotal).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); } //3、党员发布话题: entity.setTopicTotal(getAgencyTopicTotal(customerId, entity.getAgencyPath(),NumConstant.ONE_STR)); + log.info("extractExceptCommunityPioneerData 党员发布话题topicTotal="+entity.getTopicTotal()); //4、党员发布话题占比: 组织内注册党员发布的话题总数占 组织内话题总数的 比率 if (entity.getTopicTotal() == NumConstant.ZERO) { entity.setTopicRatio(BigDecimal.ZERO); } else { //当前组织内所有话题总数 int agencyTopicTotal = getAgencyTopicTotal(customerId, entity.getAgencyPath(),null); + log.info("extractExceptCommunityPioneerData 当前组织内所有话题总数agencyTopicTotal="+agencyTopicTotal); entity.setTopicRatio(agencyTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getTopicTotal() / agencyTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } //当前组织内所有议题总数 int agencyIssueTotal = getAgencyIssueTotal(customerId, entity.getAgencyPath()); + log.info("extractExceptCommunityPioneerData 当前组织内所有议题总数agencyIssueTotal="+agencyIssueTotal); if (agencyIssueTotal != NumConstant.ZERO) { //5、党员发布议题 entity.setPublishIssueTotal(getAgencyParyPublishIssueTotal(customerId, entity.getAgencyPath())); + log.info("extractExceptCommunityPioneerData 党员发布议题publishIssueTotal="+entity.getPublishIssueTotal()); //6、党员发布议题占比 : 占社区内所有议题的比率 if (entity.getPublishIssueTotal() == NumConstant.ZERO) { entity.setPublishIssueRatio(BigDecimal.ZERO); @@ -277,10 +304,11 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //7、议题转项目数 entity.setShiftProjectTotal(getAgencyShiftProjectTotal(customerId, entity.getAgencyPath())); + log.info("extractExceptCommunityPioneerData 议题转项目数shiftProjectTotal="+entity.getShiftProjectTotal()); //8、议题转项目占比 : 占网格内议题总数的比率 entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getShiftProjectTotal() / agencyIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); }else{ -// log.info("当前组织内所有议题总数="+agencyIssueTotal); + log.info("extractExceptCommunityPioneerData 当前组织内所有议题总数agencyIssueTotal=0"); entity.setPublishIssueTotal(NumConstant.ZERO); entity.setPublishIssueRatio(BigDecimal.ZERO); entity.setShiftProjectTotal(NumConstant.ZERO); @@ -290,11 +318,13 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService // 9、已解决项目 entity.setResolvedProjectTotal(getAgencyClosedProjectTotal(customerId, entity.getAgencyPath(), DimObjectStatusConstant.RESOLVED)); + log.info("extractExceptCommunityPioneerData 已解决项目resolvedProjectTotal="+entity.getResolvedProjectTotal()); if (entity.getResolvedProjectTotal() == NumConstant.ZERO) { entity.setResolvedProjectRatio(BigDecimal.ZERO); } else { // 10、占总结项目 int closedProjectTotal = getAgencyClosedProjectTotal(customerId, entity.getAgencyPath(), null); + log.info("extractExceptCommunityPioneerData 总结项目closedProjectTotal="+closedProjectTotal); entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getResolvedProjectTotal() / closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } }); From d2a155906a30583f15852b95f8bc321ee899f23a Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 Jan 2021 13:00:44 +0800 Subject: [PATCH 174/184] =?UTF-8?q?=E5=85=88=E9=94=8B=E6=A8=A1=E8=8C=83?= =?UTF-8?q?=E6=8A=BD=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PioneerDataExtractServiceImpl.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java index 125fdbdc65..22eb0f5099 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java @@ -73,7 +73,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //2、党员参与议事占比 int issueTotal=calPartyPartiIssueTotal(customerId,gridId,null,null,null); log.info("extractGridPioneerData 当前网格id=" + gridId + ";参与议事总数issueTotal=" + issueTotal); - BigDecimal issueRatio=new BigDecimal(entity.getIssueTotal()/issueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); + BigDecimal issueRatio = new BigDecimal((double) entity.getIssueTotal() / issueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); log.info("extractGridPioneerData 当前网格id=" + gridId + ";issueRatio=" + issueRatio); entity.setIssueRatio(issueRatio.setScale(NumConstant.SIX,RoundingMode.HALF_UP)); } @@ -91,7 +91,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService if(gridTopicTotal == NumConstant.ZERO){ entity.setTopicRatio(BigDecimal.ZERO); }else{ - BigDecimal topicRatio=new BigDecimal(entity.getTopicTotal() / gridTopicTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); + BigDecimal topicRatio = new BigDecimal((double) entity.getTopicTotal() / gridTopicTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); log.info("extractGridPioneerData 当前网格id=" + gridId + ";党员发布话题占比topicRatio="+topicRatio); entity.setTopicRatio(topicRatio.setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } @@ -108,7 +108,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService if (entity.getPublishIssueTotal() == NumConstant.ZERO) { entity.setPublishIssueRatio(BigDecimal.ZERO); }else{ - BigDecimal publishIssueRatio=new BigDecimal(entity.getPublishIssueTotal() / gridIssueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); + BigDecimal publishIssueRatio=new BigDecimal((double)entity.getPublishIssueTotal() / gridIssueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); entity.setPublishIssueRatio(publishIssueRatio.setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } @@ -119,7 +119,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService if(entity.getShiftProjectTotal() == NumConstant.ZERO){ entity.setShiftProjectRatio(BigDecimal.ZERO); }else{ - BigDecimal shiftProjectRatio=new BigDecimal(entity.getShiftProjectTotal() / gridIssueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); + BigDecimal shiftProjectRatio = new BigDecimal((double) entity.getShiftProjectTotal() / gridIssueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); entity.setShiftProjectRatio(shiftProjectRatio.setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } @@ -144,7 +144,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService if(closedProjectTotal == NumConstant.ZERO){ entity.setResolvedProjectRatio(BigDecimal.ZERO); }else { - BigDecimal resolvedProjectRatio=new BigDecimal(entity.getResolvedProjectTotal() / closedProjectTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); + BigDecimal resolvedProjectRatio = new BigDecimal((double) entity.getResolvedProjectTotal() / closedProjectTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)); entity.setResolvedProjectRatio(resolvedProjectRatio.setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } } @@ -190,7 +190,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //2、党员参与议事占比 int issueTotal=calPartyPartiIssueTotal(customerId,null,communityId,null,null); log.info("extractCommunityPioneerData 当前communityId="+communityId+";参与议事总数issueTotal="+issueTotal); - entity.setIssueRatio(new BigDecimal(entity.getIssueTotal()/issueTotal).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); + entity.setIssueRatio(new BigDecimal((double)entity.getIssueTotal()/issueTotal).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); } //3、党员发布话题: @@ -203,7 +203,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //当前社区内所有话题总数 int communityTopicTotal = getGridOrCommunityTopicTotal(customerId, null, communityId); log.info("extractCommunityPioneerData 当前communityId="+communityId+";当前社区内所有话题总数communityTopicTotal="+communityTopicTotal); - entity.setTopicRatio(communityTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getTopicTotal() / communityTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setTopicRatio(communityTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getTopicTotal() / communityTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } //当前社区内所有议题总数 @@ -217,13 +217,13 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService if (entity.getPublishIssueTotal() == NumConstant.ZERO) { entity.setPublishIssueRatio(BigDecimal.ZERO); } - entity.setPublishIssueRatio(communityIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getPublishIssueTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setPublishIssueRatio(communityIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getPublishIssueTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); //7、议题转项目数 entity.setShiftProjectTotal(getGridOrCommunityShiftProjectTotal(customerId, null, communityId)); log.info("extractCommunityPioneerData 当前communityId="+communityId+";议题转项目数shiftProjectTotal="+entity.getShiftProjectTotal()); //8、议题转项目占比 : 占社区内议题总数的比率 - entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getShiftProjectTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getShiftProjectTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); }else{ log.info("extractCommunityPioneerData 当前communityId="+communityId+"communityIssueTotal =0"); entity.setPublishIssueTotal(NumConstant.ZERO); @@ -242,7 +242,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService // 10、占总结项目 int closedProjectTotal = getGridOrCommunityClosedProjectTotal(customerId, null, communityId, null); log.info("extractCommunityPioneerData 当前communityId="+communityId+";总结项目closedProjectTotal="+closedProjectTotal); - entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getResolvedProjectTotal() / closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getResolvedProjectTotal() / closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } }); screenPioneerDataService.delAndSavePioneerData(customerId, OrgTypeConstant.AGENCY, IndexCalConstant.DELETE_SIZE, communityList); @@ -273,7 +273,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //2、党员参与议事占比 int issueTotal=calPartyPartiIssueTotal(customerId,null,null,entity.getAgencyPath(),null); log.info("extractExceptCommunityPioneerData 平台参与议事issueTotal="+issueTotal); - entity.setIssueRatio(new BigDecimal(entity.getIssueTotal()/issueTotal).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); + entity.setIssueRatio(new BigDecimal((double)entity.getIssueTotal()/issueTotal).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); } //3、党员发布话题: @@ -286,7 +286,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //当前组织内所有话题总数 int agencyTopicTotal = getAgencyTopicTotal(customerId, entity.getAgencyPath(),null); log.info("extractExceptCommunityPioneerData 当前组织内所有话题总数agencyTopicTotal="+agencyTopicTotal); - entity.setTopicRatio(agencyTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getTopicTotal() / agencyTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setTopicRatio(agencyTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getTopicTotal() / agencyTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } //当前组织内所有议题总数 @@ -300,13 +300,13 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService if (entity.getPublishIssueTotal() == NumConstant.ZERO) { entity.setPublishIssueRatio(BigDecimal.ZERO); } - entity.setPublishIssueRatio(agencyIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getPublishIssueTotal() / agencyIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setPublishIssueRatio(agencyIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getPublishIssueTotal() / agencyIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); //7、议题转项目数 entity.setShiftProjectTotal(getAgencyShiftProjectTotal(customerId, entity.getAgencyPath())); log.info("extractExceptCommunityPioneerData 议题转项目数shiftProjectTotal="+entity.getShiftProjectTotal()); //8、议题转项目占比 : 占网格内议题总数的比率 - entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getShiftProjectTotal() / agencyIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getShiftProjectTotal() / agencyIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); }else{ log.info("extractExceptCommunityPioneerData 当前组织内所有议题总数agencyIssueTotal=0"); entity.setPublishIssueTotal(NumConstant.ZERO); @@ -325,7 +325,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService // 10、占总结项目 int closedProjectTotal = getAgencyClosedProjectTotal(customerId, entity.getAgencyPath(), null); log.info("extractExceptCommunityPioneerData 总结项目closedProjectTotal="+closedProjectTotal); - entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal(entity.getResolvedProjectTotal() / closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getResolvedProjectTotal() / closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } }); screenPioneerDataService.delAndSavePioneerData(customerId, OrgTypeConstant.AGENCY, IndexCalConstant.DELETE_SIZE, agencyList); From f03c5e0304600cf46d3e5b66157d2dc6cbc8cf21 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 Jan 2021 13:16:21 +0800 Subject: [PATCH 175/184] =?UTF-8?q?=E5=85=88=E9=94=8B=E6=A8=A1=E8=8C=83?= =?UTF-8?q?=E6=8A=BD=E5=8F=962?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PioneerDataExtractServiceImpl.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java index 22eb0f5099..234e5ed149 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PioneerDataExtractServiceImpl.java @@ -190,7 +190,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //2、党员参与议事占比 int issueTotal=calPartyPartiIssueTotal(customerId,null,communityId,null,null); log.info("extractCommunityPioneerData 当前communityId="+communityId+";参与议事总数issueTotal="+issueTotal); - entity.setIssueRatio(new BigDecimal((double)entity.getIssueTotal()/issueTotal).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); + entity.setIssueRatio(new BigDecimal((double)entity.getIssueTotal()/issueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); } //3、党员发布话题: @@ -203,7 +203,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //当前社区内所有话题总数 int communityTopicTotal = getGridOrCommunityTopicTotal(customerId, null, communityId); log.info("extractCommunityPioneerData 当前communityId="+communityId+";当前社区内所有话题总数communityTopicTotal="+communityTopicTotal); - entity.setTopicRatio(communityTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getTopicTotal() / communityTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setTopicRatio(communityTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getTopicTotal() / communityTopicTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } //当前社区内所有议题总数 @@ -217,13 +217,13 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService if (entity.getPublishIssueTotal() == NumConstant.ZERO) { entity.setPublishIssueRatio(BigDecimal.ZERO); } - entity.setPublishIssueRatio(communityIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getPublishIssueTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setPublishIssueRatio(communityIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getPublishIssueTotal() / communityIssueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); //7、议题转项目数 entity.setShiftProjectTotal(getGridOrCommunityShiftProjectTotal(customerId, null, communityId)); log.info("extractCommunityPioneerData 当前communityId="+communityId+";议题转项目数shiftProjectTotal="+entity.getShiftProjectTotal()); //8、议题转项目占比 : 占社区内议题总数的比率 - entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getShiftProjectTotal() / communityIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getShiftProjectTotal() / communityIssueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); }else{ log.info("extractCommunityPioneerData 当前communityId="+communityId+"communityIssueTotal =0"); entity.setPublishIssueTotal(NumConstant.ZERO); @@ -242,7 +242,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService // 10、占总结项目 int closedProjectTotal = getGridOrCommunityClosedProjectTotal(customerId, null, communityId, null); log.info("extractCommunityPioneerData 当前communityId="+communityId+";总结项目closedProjectTotal="+closedProjectTotal); - entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getResolvedProjectTotal() / closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getResolvedProjectTotal() / closedProjectTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } }); screenPioneerDataService.delAndSavePioneerData(customerId, OrgTypeConstant.AGENCY, IndexCalConstant.DELETE_SIZE, communityList); @@ -273,7 +273,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //2、党员参与议事占比 int issueTotal=calPartyPartiIssueTotal(customerId,null,null,entity.getAgencyPath(),null); log.info("extractExceptCommunityPioneerData 平台参与议事issueTotal="+issueTotal); - entity.setIssueRatio(new BigDecimal((double)entity.getIssueTotal()/issueTotal).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); + entity.setIssueRatio(new BigDecimal((double)entity.getIssueTotal()/issueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX,RoundingMode.HALF_UP)); } //3、党员发布话题: @@ -286,7 +286,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService //当前组织内所有话题总数 int agencyTopicTotal = getAgencyTopicTotal(customerId, entity.getAgencyPath(),null); log.info("extractExceptCommunityPioneerData 当前组织内所有话题总数agencyTopicTotal="+agencyTopicTotal); - entity.setTopicRatio(agencyTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getTopicTotal() / agencyTopicTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setTopicRatio(agencyTopicTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getTopicTotal() / agencyTopicTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } //当前组织内所有议题总数 @@ -300,13 +300,13 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService if (entity.getPublishIssueTotal() == NumConstant.ZERO) { entity.setPublishIssueRatio(BigDecimal.ZERO); } - entity.setPublishIssueRatio(agencyIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getPublishIssueTotal() / agencyIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setPublishIssueRatio(agencyIssueTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getPublishIssueTotal() / agencyIssueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); //7、议题转项目数 entity.setShiftProjectTotal(getAgencyShiftProjectTotal(customerId, entity.getAgencyPath())); log.info("extractExceptCommunityPioneerData 议题转项目数shiftProjectTotal="+entity.getShiftProjectTotal()); //8、议题转项目占比 : 占网格内议题总数的比率 - entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getShiftProjectTotal() / agencyIssueTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setShiftProjectRatio(entity.getShiftProjectTotal() == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getShiftProjectTotal() / agencyIssueTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); }else{ log.info("extractExceptCommunityPioneerData 当前组织内所有议题总数agencyIssueTotal=0"); entity.setPublishIssueTotal(NumConstant.ZERO); @@ -325,7 +325,7 @@ public class PioneerDataExtractServiceImpl implements PioneerDataExtractService // 10、占总结项目 int closedProjectTotal = getAgencyClosedProjectTotal(customerId, entity.getAgencyPath(), null); log.info("extractExceptCommunityPioneerData 总结项目closedProjectTotal="+closedProjectTotal); - entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getResolvedProjectTotal() / closedProjectTotal).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); + entity.setResolvedProjectRatio(closedProjectTotal == NumConstant.ZERO ? BigDecimal.ZERO : new BigDecimal((double)entity.getResolvedProjectTotal() / closedProjectTotal).multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.SIX, RoundingMode.HALF_UP)); } }); screenPioneerDataService.delAndSavePioneerData(customerId, OrgTypeConstant.AGENCY, IndexCalConstant.DELETE_SIZE, agencyList); From 230b9f231129cff20771cb0d1970d3121ca61fae Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 12 Jan 2021 13:55:03 +0800 Subject: [PATCH 176/184] =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/service/impl/SubscribeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java index 450d747944..27a8497fb6 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java +++ b/epmet-module/epmet-third/epmet-third-server/src/main/java/com/epmet/service/impl/SubscribeServiceImpl.java @@ -391,7 +391,7 @@ public class SubscribeServiceImpl implements SubscribeService { @Override public void initAll(InitAllFormDTO formDTO) { AuthorizationInfoDTO authInfo = authorizationInfoDao.selectInfoByAppId(formDTO.getAppId()); - PersonalTemplateDTO publicDTO = personalTemplateService.get(formDTO.getTempId()); + PersonalTemplateDTO publicDTO = personalTemplateService.getTempByPid(authInfo.getCustomerId(), formDTO.getTempId()); //获取客户列表 List customerList = paCustomerService.getCustomerListByTestId(authInfo.getCustomerId()); From 3d3168829f013b43121a023fd4ad7848674a1d6d Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 12 Jan 2021 14:31:42 +0800 Subject: [PATCH 177/184] =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/PersonalTemplateDao.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml index 1b73c85569..644cda2bc6 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/mapper/PersonalTemplateDao.xml @@ -39,7 +39,17 @@ + + + \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml index c2ad6b5722..56b62b7888 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml @@ -188,7 +188,14 @@ CREATED_TIME, UPDATED_BY, UPDATED_TIME, - DATA_END_TIME + DATA_END_TIME, + PLAT_ISSUE_TOTAL, + PLAT_JOIN_USER_TOTAL, + PLAT_JOIN_PARTY_TOTAL, + PLAT_JOIN PARTY_RATIO, + PLAT_TOPIC_TOTAL, + PLAT_PUBLISH_ISSUE_TOTAL, + PLAT_CLOSED_PROJECT_TOTAL ) values ( @@ -214,7 +221,13 @@ now(), 'APP_USER', now(), - #{item.dataEndTime} + #{item.dataEndTime}, + #{item.platIssueTotal}, + #{item.platJoinUserTotal}, + #{item.platJoinPartyTotal}, + #{item.platTopicTotal}, + #{item.platPublishIssueTotal}, + #{item.platClosedProjectTotal} ) From 3e2f4729cd2f3fea79e6e23818c3256c7710d28c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 Jan 2021 15:59:42 +0800 Subject: [PATCH 180/184] platJoinPartyRatio --- .../mapper/evaluationindex/screen/ScreenPioneerDataDao.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml index 56b62b7888..a1cd7f4f71 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml @@ -225,6 +225,7 @@ #{item.platIssueTotal}, #{item.platJoinUserTotal}, #{item.platJoinPartyTotal}, + #{item.platJoinPartyRatio} #{item.platTopicTotal}, #{item.platPublishIssueTotal}, #{item.platClosedProjectTotal} From 25fee5d681ac2e13785930221dc64910dafe7717 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 Jan 2021 16:07:23 +0800 Subject: [PATCH 181/184] platJoinPartyRatio 91 --- .../mapper/evaluationindex/screen/ScreenPioneerDataDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml index a1cd7f4f71..9e3da3328a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml @@ -225,7 +225,7 @@ #{item.platIssueTotal}, #{item.platJoinUserTotal}, #{item.platJoinPartyTotal}, - #{item.platJoinPartyRatio} + #{item.platJoinPartyRatio}, #{item.platTopicTotal}, #{item.platPublishIssueTotal}, #{item.platClosedProjectTotal} From 9afd38a997afd03f9016da8a2a9b1c71708e1f01 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 12 Jan 2021 16:25:04 +0800 Subject: [PATCH 182/184] =?UTF-8?q?PLAT=5FJOIN=5FPARTY=5FRATIO=20=E8=BF=99?= =?UTF-8?q?=E4=B8=AA=E7=94=9F=E4=BA=A7=E4=B8=8A=E5=B7=B2=E7=BB=8F=E5=8F=91?= =?UTF-8?q?=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/evaluationindex/screen/ScreenPioneerDataDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml index 9e3da3328a..de20dd018c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenPioneerDataDao.xml @@ -192,7 +192,7 @@ PLAT_ISSUE_TOTAL, PLAT_JOIN_USER_TOTAL, PLAT_JOIN_PARTY_TOTAL, - PLAT_JOIN PARTY_RATIO, + PLAT_JOIN_PARTY_RATIO, PLAT_TOPIC_TOTAL, PLAT_PUBLISH_ISSUE_TOTAL, PLAT_CLOSED_PROJECT_TOTAL From f2bb21bf512a91df1cb22b99508844e12aa8df1b Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 12 Jan 2021 16:41:54 +0800 Subject: [PATCH 183/184] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=20=E5=85=88=E9=94=8B?= =?UTF-8?q?=E6=A8=A1=E8=8C=83=E5=80=9F=E5=8F=A3=20=E6=B7=BB=E5=8A=A0=20?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E8=AE=AE=E4=BA=8B=E6=80=BB=E6=95=B0=E5=92=8C?= =?UTF-8?q?=E4=BD=86=E4=B9=9F=E5=8D=A0=E6=AF=94=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/dto/result/FineExampleResultDTO.java | 9 +++++++++ .../screen/impl/PartyMemberLeadServiceImpl.java | 1 + .../resources/mapper/screen/ScreenPioneerDataDao.xml | 6 ++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/FineExampleResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/FineExampleResultDTO.java index b522e3166c..d8b33c9d12 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/FineExampleResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/FineExampleResultDTO.java @@ -78,4 +78,13 @@ public class FineExampleResultDTO implements Serializable { * 党员发布议题数占比 */ private String publishIssueRatio = "0.00%"; + + /** + * 01.12新增:PLAT_ISSUE_TOTAL 平台参与议事总数 + */ + private Integer platIssueTotal; + /** + * PLAT_JOIN PARTY_RATIO 平台参与议事的党员占比 + */ + private String platJoinPartyRatio = "0.00%"; } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java index 77f8a4c7e1..941a294e49 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java @@ -67,6 +67,7 @@ public class PartyMemberLeadServiceImpl implements PartyMemberLeadService { fineExampleResultDTO.setResolvedProjectRatio(this.getRatio(fineExampleResultDTO.getResolvedProjectRatioA())); fineExampleResultDTO.setTopicRatio(this.getRatio(fineExampleResultDTO.getTopicRatioA())); fineExampleResultDTO.setShiftProjectRatio(this.getRatio(fineExampleResultDTO.getShiftProjectRatioA())); + fineExampleResultDTO.setPlatJoinPartyRatio(this.getRatio(Double.valueOf(fineExampleResultDTO.getPlatJoinPartyRatio()))); return fineExampleResultDTO; } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPioneerDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPioneerDataDao.xml index 992c347f9b..505ca018a8 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPioneerDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPioneerDataDao.xml @@ -15,7 +15,9 @@ resolved_project_total AS resolvedProjectTotal, resolved_project_ratio AS resolvedProjectRatioA, publish_issue_total AS publishIssueTotal, - publish_issue_ratio AS publishIssueRatioA + publish_issue_ratio AS publishIssueRatioA, + PLAT_ISSUE_TOTAL AS platIssueTotal, + PLAT_JOIN_PARTY_RATIO AS platJoinPartyRatio FROM screen_pioneer_data WHERE @@ -24,4 +26,4 @@ ORDER BY data_end_time DESC LIMIT 1 - \ No newline at end of file + From 8f2ef22a58f01033b018caec82b97d6dd867f871 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 12 Jan 2021 18:00:58 +0800 Subject: [PATCH 184/184] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=B5=81=E8=BD=AC?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectProcessServiceImpl.java | 19 +++++++++++++++++++ .../service/impl/ProjectServiceImpl.java | 17 +++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index bc78b8b46c..26a9fe3de3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -707,6 +707,25 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl smsList = new ArrayList<>(); + staffList.forEach(staff -> { + CustomerStaffDTO staffDTO = new CustomerStaffDTO(); + staffDTO.setUserId(staff.getStaffId()); + Result staffResult = epmetUserFeignClient.getCustomerStaffInfoByUserId(staffDTO); + if (staffResult.success() && null != staffResult.getData()) { + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(staffResult.getData().getCustomerId()); + sms.setMobile(staffResult.getData().getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_TRANSFER); + smsList.add(sms); + } + }); + Result result = epmetMessageOpenFeignClient.projectSendMsg(smsList); + if (!result.success()) { + logger.error("项目流转,发送手机短信失败" + JSON.toJSONString(result)); + } } } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index cc7973f318..ca29e4b937 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -1813,6 +1813,23 @@ public class ProjectServiceImpl extends BaseServiceImpl smsList = new ArrayList<>(); + CustomerStaffDTO staffDTO = new CustomerStaffDTO(); + staffDTO.setUserId(projectStaffDTO.getStaffId()); + Result staffResult = epmetUserFeignClient.getCustomerStaffInfoByUserId(staffDTO); + if (staffResult.success() && null != staffResult.getData()) { + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(staffResult.getData().getCustomerId()); + sms.setMobile(staffResult.getData().getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_TRANSFER); + smsList.add(sms); + } + result = epmetMessageOpenFeignClient.projectSendMsg(smsList); + if (!result.success()) { + logger.error("项目退回,发送手机短信失败" + JSON.toJSONString(result)); + } } /**