From 794267cfda1b7f8f18bd1cf4d2179c49ed6fe69d Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Tue, 2 Jun 2020 15:33:33 +0800 Subject: [PATCH 01/15] =?UTF-8?q?=E6=94=BF=E5=BA=9C=E7=AB=AF=E5=B7=B2?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=88=97=E8=A1=A8=E9=A1=B5=E7=9A=84=E6=A0=87?= =?UTF-8?q?=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisUtils.java | 12 ++++ .../epmet/dto/result/TagInfoResultDto.java | 27 ++++++++ .../gov-voice/gov-voice-server/pom.xml | 5 ++ .../java/com/epmet/constant/TagConstant.java | 18 +++++ .../com/epmet/controller/TagController.java | 24 +++++++ .../main/java/com/epmet/redis/TagRedis.java | 68 +++++++++++++++++++ .../java/com/epmet/service/TagService.java | 17 +++++ .../epmet/service/impl/TagServiceImpl.java | 41 +++++++++++ .../epmet/dto/form/TagCustomerFormDTO.java | 16 +++++ .../dto/result/TagCustomerResultDTO.java | 20 ++++++ .../com/epmet/feign/EpmetUserFeignClient.java | 28 ++++++++ .../EpmetUserFeignClientFallBack.java | 23 +++++++ 12 files changed, 299 insertions(+) create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/TagInfoResultDto.java create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java create mode 100644 epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagServiceImpl.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TagCustomerResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.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 2e45203dc0..c51a4458ac 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 @@ -9,6 +9,7 @@ package com.epmet.commons.tools.redis; import com.epmet.commons.tools.constant.NumConstant; +import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.HashOperations; @@ -262,4 +263,15 @@ public class RedisUtils { return hGetAll(key); } + + /** + * @Description 获取集合的元素, 从大到小排序 + * @param key + * @param start + * @param end + * @author zxc + */ + public Set zRevRange(String key, long start, long end) { + return redisTemplate.opsForZSet().reverseRange(key, start, end); + } } diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/TagInfoResultDto.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/TagInfoResultDto.java new file mode 100644 index 0000000000..f0470751e7 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/TagInfoResultDto.java @@ -0,0 +1,27 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/2 9:47 + */ +@JsonIgnoreProperties(ignoreUnknown = true) +@Data +public class TagInfoResultDto implements Serializable { + + private static final long serialVersionUID = 4366515668545958124L; + + /** + * 标签id + */ + private String tagId; + + /** + * 标签名称 + */ + private String tagName; +} diff --git a/epmet-module/gov-voice/gov-voice-server/pom.xml b/epmet-module/gov-voice/gov-voice-server/pom.xml index aee9221446..f546dac50a 100644 --- a/epmet-module/gov-voice/gov-voice-server/pom.xml +++ b/epmet-module/gov-voice/gov-voice-server/pom.xml @@ -19,6 +19,11 @@ gov-voice-client 2.0.0 + + com.epmet + epmet-user-client + 2.0.0 + com.epmet epmet-commons-tools diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java index bac2953abd..1ca78d3ac2 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java @@ -14,4 +14,22 @@ package com.epmet.constant; * @since 1.0.0 */ public interface TagConstant { + + /** + * 客户维度(政府端) 热度标签 key的前缀 【zset】 + */ + String GOV_TAG_KEY = "epmet:customer:articletag:"; + + /** + * 客户维度(政府端) 关联标签 key的前缀 【set】 + */ + String GOV_RETAG_KEY = "epmet:customer:article:retag:"; + + /** + * 冒号 + */ + String COLON = ":"; + + + } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java index 40c0d0e5e4..61cb7fc94f 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java @@ -1,9 +1,33 @@ package com.epmet.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.dto.result.TagInfoResultDto; +import com.epmet.service.TagService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @RestController @RequestMapping("tag") public class TagController { + + @Autowired + private TagService tagService; + + /** + * @Description 已发布列表页的标签 + * @param tokenDto + * @author zxc + */ + @PostMapping("taglist") + public Result> tagList(@LoginUser TokenDto tokenDto){ + return new Result>().ok(tagService.tagList(tokenDto)); + } + + } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java new file mode 100644 index 0000000000..35117b41c3 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.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.redis; + +import com.alibaba.druid.sql.visitor.functions.Concat; +import com.epmet.commons.tools.constant.Constant; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.constant.TagConstant; +import com.epmet.dto.result.TagInfoResultDto; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +@Component +public class TagRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + + public List zRevRange(String key){ + long start = 0; + long end = -1; + String tagKey = TagConstant.GOV_TAG_KEY+key; + Set objects = redisUtils.zRevRange(tagKey, start, end); + if (objects.size()== NumConstant.ZERO){ + return new ArrayList<>(); + } + List result = new ArrayList(); + ObjectMapper objectMapper = new ObjectMapper(); + for (Object object : objects) { + TagInfoResultDto tagInfoResultDto = objectMapper.convertValue(object, TagInfoResultDto.class); + result.add(tagInfoResultDto); + } + return result; + } + +} \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java new file mode 100644 index 0000000000..681d43da18 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java @@ -0,0 +1,17 @@ +package com.epmet.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.result.TagInfoResultDto; + +import java.util.List; + +public interface TagService { + + /** + * @Description 已发布列表页的标签 + * @param tokenDto + * @author zxc + */ + List tagList(TokenDto tokenDto); + +} \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagServiceImpl.java new file mode 100644 index 0000000000..c6f8115267 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/TagServiceImpl.java @@ -0,0 +1,41 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.TagCustomerFormDTO; +import com.epmet.dto.result.TagCustomerResultDTO; +import com.epmet.dto.result.TagInfoResultDto; +import com.epmet.feign.EpmetUserFeignClient; +import com.epmet.redis.TagRedis; +import com.epmet.service.TagService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class TagServiceImpl implements TagService { + + @Autowired + private TagRedis tagRedis; + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + + /** + * @Description 已发布列表页的标签 + * @param tokenDto + * @author zxc + */ + @Override + public List tagList(TokenDto tokenDto) { + TagCustomerFormDTO formDTO = new TagCustomerFormDTO(); + formDTO.setUserId(tokenDto.getUserId()); + TagCustomerResultDTO data = epmetUserFeignClient.getCustomerIdByUserId(formDTO).getData(); + if (StringUtils.isBlank(data.getCustomerId())){ + return new ArrayList<>(); + } + List resultDtos = tagRedis.zRevRange(data.getCustomerId()); + return resultDtos; + } +} \ No newline at end of file diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java new file mode 100644 index 0000000000..62dd66c8a0 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/TagCustomerFormDTO.java @@ -0,0 +1,16 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +@Data +public class TagCustomerFormDTO implements Serializable{ + + private static final long serialVersionUID = -6722269597588807655L; + /** + * 用户Id + * */ + private String userId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TagCustomerResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TagCustomerResultDTO.java new file mode 100644 index 0000000000..73f3498b2e --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/TagCustomerResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zxc + */ +@Data +public class TagCustomerResultDTO implements Serializable { + + private static final long serialVersionUID = 4890020932450803062L; + /** + * 客户id + * */ + private String customerId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java new file mode 100644 index 0000000000..d9b27309bc --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -0,0 +1,28 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.TagCustomerFormDTO; +import com.epmet.dto.result.TagCustomerResultDTO; +import com.epmet.feign.fallback.EpmetUserFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +/** + * @Author zxc + * @CreateTime 2020/6/2 14:05 + * , url = "localhost:8087" + */ +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class, url = "localhost:8087") +public interface EpmetUserFeignClient { + + /** + * @Description 根据userId获取customerId + * @param formDTO + * @author zxc + */ + @PostMapping("/epmetuser/user/getcustomeridbyuserid") + Result getCustomerIdByUserId(@RequestBody TagCustomerFormDTO formDTO); + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java new file mode 100644 index 0000000000..38a0fc01bd --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java @@ -0,0 +1,23 @@ +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.form.TagCustomerFormDTO; +import com.epmet.dto.result.TagCustomerResultDTO; +import com.epmet.feign.EpmetUserFeignClient; +import org.springframework.stereotype.Component; + +/** + * @Description 居民端-陌生人导览 调用gov-org服务 + * @Author sun + * @Date 2020/3/16 + */ +@Component +public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { + + @Override + public Result getCustomerIdByUserId(TagCustomerFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustomerIdByUserId", formDTO); + } +} From 71b2ee3a2bfb74af2906cadbcc97907ff0ca23d0 Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 2 Jun 2020 16:27:02 +0800 Subject: [PATCH 02/15] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=EF=BC=9Ageteway?= =?UTF-8?q?=E4=B8=AD=E5=8F=96customerId=E7=9A=84=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E6=BC=8F=E6=B4=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../filter/CpAuthGatewayFilterFactory.java | 42 ++++++++++++------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java b/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java index 9934c62217..22ac52df2f 100644 --- a/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java +++ b/epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java @@ -76,6 +76,31 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory().error(e.getCode(),e.getMsg())); } From 3d076e5cd13c83071d2009ab4b1e302c6a3f9c44 Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 2 Jun 2020 16:27:36 +0800 Subject: [PATCH 03/15] =?UTF-8?q?1.=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-dev.yml | 2 +- epmet-gateway/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-gateway/deploy/docker-compose-dev.yml b/epmet-gateway/deploy/docker-compose-dev.yml index be13116e66..b4bc50d97e 100644 --- a/epmet-gateway/deploy/docker-compose-dev.yml +++ b/epmet-gateway/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-gateway-server: container_name: epmet-gateway-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.15 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-gateway:0.3.16 ports: - "8080:8080" network_mode: host # 使用现有网络 diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index a8ba10b681..05dff2093f 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.15 + 0.3.16 com.epmet epmet-cloud From 0a2ed77683ea2b61d9cbcb79dedb5340c945be8a Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Tue, 2 Jun 2020 17:22:02 +0800 Subject: [PATCH 04/15] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E5=B7=B2?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=88=97=E8=A1=A8=E9=A1=B5=E7=9A=84=E6=A0=87?= =?UTF-8?q?=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/feign/GovVoiceFeignClient.java | 31 +++++++++++++++++ .../fallback/GovVoiceFeignClientFallBack.java | 23 +++++++++++++ .../epmet/dto/form/ResiTagListFormDto.java | 30 ++++++++++++++++ .../gov-voice/gov-voice-server/pom.xml | 5 +++ .../java/com/epmet/constant/TagConstant.java | 5 +++ .../com/epmet/controller/TagController.java | 7 +++- .../main/java/com/epmet/dao/ArticleDao.java | 10 +++++- .../main/java/com/epmet/redis/TagRedis.java | 27 +++++++++++++++ .../java/com/epmet/service/TagService.java | 11 +++++- .../service/impl/ArticleServiceImpl.java | 3 -- .../epmet/service/impl/TagServiceImpl.java | 28 +++++++++++---- .../src/main/resources/mapper/ArticleDao.xml | 12 +++++++ .../epmet/dto/form/ResiTagListFormDto.java | 31 +++++++++++++++++ .../resi-voice/resi-voice-server/pom.xml | 5 +++ .../epmet/controller/ArticleController.java | 25 ++++++++++++++ .../com/epmet/service/ArticleService.java | 21 ++++++++++++ .../service/impl/ArticleServiceImpl.java | 34 +++++++++++++++++++ 17 files changed, 295 insertions(+), 13 deletions(-) create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/fallback/GovVoiceFeignClientFallBack.java create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java create mode 100644 epmet-module/resi-voice/resi-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java create mode 100644 epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java create mode 100644 epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java new file mode 100644 index 0000000000..aa60bb70f0 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java @@ -0,0 +1,31 @@ +package com.epmet.dto.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.feign.fallback.GovVoiceFeignClientFallBack; +import com.epmet.dto.form.ResiTagListFormDto; +import com.epmet.dto.result.TagInfoResultDto; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/2 16:05 + * , url = "localhost:8105" + */ +@FeignClient(name = ServiceConstant.GOV_VOICE_SERVER, fallback = GovVoiceFeignClientFallBack.class, url = "localhost:8105") +public interface GovVoiceFeignClient { + + /** + * @Description 已发布列表页的标签——居民端 + * @param formDto + * @author zxc + */ + @PostMapping("/gov/voice/tag/resitaglist") + Result> resiTagList(@RequestBody ResiTagListFormDto formDto); + +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/fallback/GovVoiceFeignClientFallBack.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/fallback/GovVoiceFeignClientFallBack.java new file mode 100644 index 0000000000..a8ad4e7af3 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/fallback/GovVoiceFeignClientFallBack.java @@ -0,0 +1,23 @@ +package com.epmet.dto.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.feign.GovVoiceFeignClient; +import com.epmet.dto.form.ResiTagListFormDto; +import com.epmet.dto.result.TagInfoResultDto; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/2 16:07 + */ +@Component +public class GovVoiceFeignClientFallBack implements GovVoiceFeignClient { + @Override + public Result> resiTagList(ResiTagListFormDto formDto) { + return ModuleUtils.feignConError(ServiceConstant.GOV_VOICE_SERVER, "resiTagList", formDto); + } +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java new file mode 100644 index 0000000000..b63fa61a8f --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java @@ -0,0 +1,30 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/2 15:50 + */ +@Data +public class ResiTagListFormDto implements Serializable { + + private static final long serialVersionUID = 4337657473061285656L; + /** + * 网格id + */ + private String gridId; + + /** + * 用户id + */ + private String customerId; + + /** + * 用户id + */ + private String userId; +} diff --git a/epmet-module/gov-voice/gov-voice-server/pom.xml b/epmet-module/gov-voice/gov-voice-server/pom.xml index 09030c6c9b..1ae17d3e45 100644 --- a/epmet-module/gov-voice/gov-voice-server/pom.xml +++ b/epmet-module/gov-voice/gov-voice-server/pom.xml @@ -24,6 +24,11 @@ epmet-user-client 2.0.0 + + com.epmet + resi-voice-client + 2.0.0 + com.epmet epmet-commons-tools diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java index 1ca78d3ac2..30697d832c 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/TagConstant.java @@ -25,6 +25,11 @@ public interface TagConstant { */ String GOV_RETAG_KEY = "epmet:customer:article:retag:"; + /** + * 网格热度标签 key的前缀 【zset】 + */ + String GRID_TAG_KEY = "epmet:grid:articletag:"; + /** * 冒号 */ diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java index 61cb7fc94f..b7e0a0b73f 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java @@ -3,6 +3,7 @@ package com.epmet.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.dto.form.ResiTagListFormDto; import com.epmet.dto.result.TagInfoResultDto; import com.epmet.service.TagService; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +21,7 @@ public class TagController { private TagService tagService; /** - * @Description 已发布列表页的标签 + * @Description 已发布列表页的标签——政府端 * @param tokenDto * @author zxc */ @@ -29,5 +30,9 @@ public class TagController { return new Result>().ok(tagService.tagList(tokenDto)); } + @PostMapping("resitaglist") + public Result> resiTagList(@LoginUser ResiTagListFormDto formDto){ + return new Result>().ok(tagService.resiTagList(formDto)); + } } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java index d9c4204004..e04c6d8231 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ResiTagListFormDto; import com.epmet.entity.ArticleEntity; import org.apache.ibatis.annotations.Mapper; @@ -29,5 +30,12 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ArticleDao extends BaseDao { - + + /** + * @Description + * @param formDto + * @author zxc + */ + Integer checkPublishArticle(ResiTagListFormDto formDto); + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java index 35117b41c3..143a86df45 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java @@ -48,6 +48,11 @@ public class TagRedis { return null; } + /** + * @Description 获取标签(政府端),按使用次数倒叙 + * @param key == customerId + * @author zxc + */ public List zRevRange(String key){ long start = 0; long end = -1; @@ -65,4 +70,26 @@ public class TagRedis { return result; } + /** + * @Description 获取标签(居民端) + * @param key == gridId + * @author zxc + */ + public List zGridRevRange(String key){ + long start = 0; + long end = -1; + String tagKey = TagConstant.GRID_TAG_KEY+key; + Set objects = redisUtils.zRevRange(tagKey, start, end); + if (objects.size()== NumConstant.ZERO){ + return new ArrayList<>(); + } + List result = new ArrayList(); + ObjectMapper objectMapper = new ObjectMapper(); + for (Object object : objects) { + TagInfoResultDto tagInfoResultDto = objectMapper.convertValue(object, TagInfoResultDto.class); + result.add(tagInfoResultDto); + } + return result; + } + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java index 681d43da18..10f325e9d3 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java @@ -1,6 +1,8 @@ package com.epmet.service; +import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.ResiTagListFormDto; import com.epmet.dto.result.TagInfoResultDto; import java.util.List; @@ -8,10 +10,17 @@ import java.util.List; public interface TagService { /** - * @Description 已发布列表页的标签 + * @Description 已发布列表页的标签——政府端 * @param tokenDto * @author zxc */ List tagList(TokenDto tokenDto); + /** + * @Description 已发布列表页的标签——居民端 + * @param formDto + * @author zxc + */ + List resiTagList( ResiTagListFormDto formDto); + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 3b082d2776..afd4c22b29 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -69,9 +69,6 @@ public class ArticleServiceImpl extends BaseServiceImpl tagList(TokenDto tokenDto) { - TagCustomerFormDTO formDTO = new TagCustomerFormDTO(); - formDTO.setUserId(tokenDto.getUserId()); - TagCustomerResultDTO data = epmetUserFeignClient.getCustomerIdByUserId(formDTO).getData(); - if (StringUtils.isBlank(data.getCustomerId())){ + String customerId = tokenDto.getCustomerId(); + List resultDtos = tagRedis.zRevRange(customerId); + return resultDtos; + } + + /** + * @Description 已发布列表页的标签——居民端 + * @param formDto + * @author zxc + */ + @Override + public List resiTagList(ResiTagListFormDto formDto) { + Integer articleCounts = articleDao.checkPublishArticle(formDto); + if (articleCounts== NumConstant.ZERO){ return new ArrayList<>(); } - List resultDtos = tagRedis.zRevRange(data.getCustomerId()); - return resultDtos; + return tagRedis.zGridRevRange(formDto.getGridId()); } } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml index 488e2fe7cd..12c869c5f2 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml @@ -3,4 +3,16 @@ + + \ No newline at end of file diff --git a/epmet-module/resi-voice/resi-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java b/epmet-module/resi-voice/resi-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java new file mode 100644 index 0000000000..1c7de733b7 --- /dev/null +++ b/epmet-module/resi-voice/resi-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java @@ -0,0 +1,31 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/2 15:50 + */ +@Data +public class ResiTagListFormDto implements Serializable { + private static final long serialVersionUID = -794399801200532922L; + + /** + * 网格id + */ + @NotBlank(message = "网格id不能为空") + private String gridId; + + /** + * 客户id + */ + private String customerId; + + /** + * 用户id + */ + private String userId; +} diff --git a/epmet-module/resi-voice/resi-voice-server/pom.xml b/epmet-module/resi-voice/resi-voice-server/pom.xml index 702124f779..836d94fe43 100644 --- a/epmet-module/resi-voice/resi-voice-server/pom.xml +++ b/epmet-module/resi-voice/resi-voice-server/pom.xml @@ -19,6 +19,11 @@ resi-voice-client 2.0.0 + + com.epmet + gov-voice-client + 2.0.0 + com.epmet epmet-commons-tools diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 46cce7aeed..68cd236d45 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -1,9 +1,34 @@ package com.epmet.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.dto.form.ResiTagListFormDto; +import com.epmet.dto.result.TagInfoResultDto; +import com.epmet.service.ArticleService; +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; + @RestController @RequestMapping("article") public class ArticleController { + + @Autowired + private ArticleService articleService; + + /** + * @Description 首页标签及更多——居民端 + * @param formDto + * @author zxc + */ + @PostMapping("taglist") + public Result> resiTagList(@LoginUser TokenDto tokenDto, @RequestBody ResiTagListFormDto formDto){ + return new Result>().ok(articleService.resiTagList(tokenDto,formDto)); + } + } diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java new file mode 100644 index 0000000000..5d58c7f4cd --- /dev/null +++ b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/ArticleService.java @@ -0,0 +1,21 @@ +package com.epmet.service; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.ResiTagListFormDto; +import com.epmet.dto.result.TagInfoResultDto; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/2 15:59 + */ +public interface ArticleService { + + /** + * @Description 首页标签及更多——居民端 + * @param formDto + * @author zxc + */ + List resiTagList(TokenDto tokenDto, ResiTagListFormDto formDto); +} diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java new file mode 100644 index 0000000000..96f8addfd4 --- /dev/null +++ b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -0,0 +1,34 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.feign.GovVoiceFeignClient; +import com.epmet.dto.form.ResiTagListFormDto; +import com.epmet.dto.result.TagInfoResultDto; +import com.epmet.service.ArticleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/2 16:00 + */ +@Service +public class ArticleServiceImpl implements ArticleService { + + @Autowired + private GovVoiceFeignClient govVoiceFeignClient; + + /** + * @Description 首页标签及更多——居民端 + * @param formDto + * @author zxc + */ + @Override + public List resiTagList(TokenDto tokenDto, ResiTagListFormDto formDto) { + formDto.setCustomerId(tokenDto.getCustomerId()); + formDto.setUserId(tokenDto.getUserId()); + return govVoiceFeignClient.resiTagList(formDto).getData(); + } +} From f620060f0be736c38e9250dca185901edfcd244d Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 2 Jun 2020 17:28:07 +0800 Subject: [PATCH 05/15] =?UTF-8?q?1.=E5=B0=86=E6=9F=A5=E8=AF=A2LoginUserDet?= =?UTF-8?q?ails=E6=8E=A5=E5=8F=A3=E4=BB=8Egov-access=E7=A7=BB=E5=88=B0?= =?UTF-8?q?=E4=BA=86epmet-user=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/LoginUserDetailsFormDTO.java | 10 ++++++++++ .../java/com/epmet/controller/UserController.java | 13 ++++++++++++- .../main/java/com/epmet/service/UserService.java | 11 +++++++---- .../com/epmet/service/impl/UserServiceImpl.java | 8 ++++++++ 4 files changed, 37 insertions(+), 5 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java new file mode 100644 index 0000000000..7c1af89a00 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/LoginUserDetailsFormDTO.java @@ -0,0 +1,10 @@ +package com.epmet.dto.form; + +import lombok.Data; + +@Data +public class LoginUserDetailsFormDTO { + private String app; + private String client; + private String userId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java index d7f0f28dde..a02a38b24a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java @@ -10,11 +10,11 @@ import com.epmet.dto.UserDTO; import com.epmet.dto.UserWechatDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.CreatedTimeByUserIdResultDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; import com.epmet.dto.result.MyResiUserInfoResultDTO; import com.epmet.dto.result.PasswordLoginUserInfoResultDTO; import com.epmet.service.UserService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.PropertySource; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -111,4 +111,15 @@ public class UserController { return new Result().ok(userService.resiMyselfMsg(myResiUserInfoFormDTO)); } + /** + * 从缓存中查询已登录用户的基本信息以及角色等相关信息 + * @return + */ + @PostMapping("loginuserdetails") + public Result getLoginUserDetails(@RequestBody LoginUserDetailsFormDTO dto) { + ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class); + LoginUserDetailsResultDTO govTokenDto = userService.getLoginUserDetails(dto.getApp(), dto.getClient(), dto.getUserId()); + return new Result().ok(govTokenDto); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java index a7bafa437e..1df8d94607 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java @@ -1,19 +1,16 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserDTO; import com.epmet.dto.UserWechatDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.CreatedTimeByUserIdResultDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; import com.epmet.dto.result.MyResiUserInfoResultDTO; import com.epmet.dto.result.PasswordLoginUserInfoResultDTO; import com.epmet.entity.UserEntity; -import java.util.List; -import java.util.Map; - /** * @Description * @IntefaceName UserService @@ -73,4 +70,10 @@ public interface UserService extends BaseService { * @date 2020.05.22 19:24 **/ MyResiUserInfoResultDTO resiMyselfMsg(MyResiUserInfoFormDTO myResiUserInfoFormDTO); + + /** + * 查询登陆用户信息 + * @return + */ + LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String staffId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java index 3909ab2c2a..621259be47 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.service.impl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.CpUserDetailRedis; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.UserConstant; import com.epmet.dao.UserDao; @@ -42,6 +43,8 @@ public class UserServiceImpl extends BaseServiceImpl implem private GovOrgFeignClient govOrgFeignClient; @Autowired private UserRoleDao userRoleDao; + @Autowired + private CpUserDetailRedis cpUserDetailRedis; private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class); @@ -174,4 +177,9 @@ public class UserServiceImpl extends BaseServiceImpl implem return null; } + + @Override + public LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String userId) { + return cpUserDetailRedis.get(app, client, userId, LoginUserDetailsResultDTO.class); + } } From f9af919f2290501291419f04672c73aabdf0082e Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 2 Jun 2020 17:29:04 +0800 Subject: [PATCH 06/15] =?UTF-8?q?1.=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-user/epmet-user-server/deploy/docker-compose-dev.yml | 2 +- epmet-user/epmet-user-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml index 8a1d84ff15..4d0c51854b 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-user-server: container_name: epmet-user-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.53 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.54 ports: - "8087:8087" network_mode: host # 不会创建新的网络 diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 37dfbcf945..61df77a965 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.53 + 0.3.54 com.epmet epmet-user From 14da6aa70372857b0d6ec92b004ab9b238c3cc12 Mon Sep 17 00:00:00 2001 From: wxz Date: Tue, 2 Jun 2020 17:31:19 +0800 Subject: [PATCH 07/15] =?UTF-8?q?1.=E8=A1=A5=E5=85=85=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...TO.java => LoginUserDetailsResultDTO.java} | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) rename epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/{LoginUserInfoResultDTO.java => LoginUserDetailsResultDTO.java} (56%) diff --git a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserInfoResultDTO.java b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java similarity index 56% rename from epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserInfoResultDTO.java rename to epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java index 440e5eb307..aba19d20a8 100644 --- a/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserInfoResultDTO.java +++ b/epmet-module/gov-access/gov-access-client/src/main/java/com/epmet/dto/result/LoginUserDetailsResultDTO.java @@ -5,17 +5,22 @@ import lombok.Data; import java.util.Set; @Data -public class LoginUserInfoResultDTO { +public class LoginUserDetailsResultDTO { /** - * 用户ID + * 政府端:gov、居民端:resi、运营端:oper */ - private String userId; + private String app; + + /** + * PC端:web、微信小程序:wxmp + */ + private String client; /** - * 权限列表 + * 用户ID */ - private Set permissions; + private String userId; /** * 角色列表 @@ -28,18 +33,24 @@ public class LoginUserInfoResultDTO { private Set deptIdList; /** - * 组织ID + * 当前登录的组织id(顶级) */ - private String orgIdPath; + private String agencyId; /** - * 网格ID + * 组织ID */ - private String gridId; + private String orgIdPath; /** * 网格ID列表 */ private Set gridIdList; + /** + * 当前工作人员进入的客户id + */ + private String customerId; + + } From 5f7215306b160d8654308e25d48777d2fcbf4b58 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 3 Jun 2020 10:08:29 +0800 Subject: [PATCH 08/15] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ArticleServiceImpl.java | 46 +++++++++---------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 778a08b7b4..d8ca414445 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -16,6 +16,7 @@ */ package com.epmet.service.impl; + import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -61,10 +62,10 @@ import java.util.*; @Service public class ArticleServiceImpl extends BaseServiceImpl implements ArticleService { private final Log logger = LogFactory.getLog(getClass()); - @Autowired - private ArticleRedis articleRedis; - @Autowired - private GovOrgSelfFeignClient govOrgSelfFeignClient; + @Autowired + private ArticleRedis articleRedis; + @Autowired + private GovOrgSelfFeignClient govOrgSelfFeignClient; @Autowired @@ -126,17 +127,17 @@ public class ArticleServiceImpl extends BaseServiceImpl result = govOrgSelfFeignClient.getAgencyGridList(tokenDTO.getUserId()); - return result.getData(); - } + /** + * @param tokenDTO + * @return + * @Author sun + * @Description 党建声音-政府端-可选发布范围 + **/ + @Override + public ArticleGridResultDTO agencyGridList(TokenDto tokenDTO) { + Result result = govOrgSelfFeignClient.getAgencyGridList(tokenDTO.getUserId()); + return result.getData(); + } @Override @Transactional(rollbackFor = Exception.class) @@ -181,7 +182,7 @@ public class ArticleServiceImpl extends BaseServiceImpl buildDraftContent(TokenDto tokenDto, DraftContentFromDTO fromDTO) { - //如果已发布 则需要校验内容是否更改过 没有更改则 不对审核状态进行重置 List newContentList = new ArrayList<>(); List contentList = fromDTO.getContentList(); - Set orderNumSet = new HashSet<>(); - contentList.forEach(content -> { + for (int i = 0; i < contentList.size(); i++) { + DraftContentFromDTO.DraftContentDTO content = contentList.get(i); DraftContentEntity entity = ConvertUtils.sourceToTarget(content, DraftContentEntity.class); entity.setId(content.getDraftContentId()); entity.setCustomerId(tokenDto.getCustomerId()); entity.setDraftId(fromDTO.getDraftId()); - orderNumSet.add(content.getOrderNum()); + entity.setOrderNum(i + 1); newContentList.add(entity); - }); - if (orderNumSet.size() != newContentList.size()) { - logger.warn("saveOrUpdateContent contentList orderNum is repeat"); - throw new RenException("参数错误"); } + return newContentList; } From 62226f7b8b147a47f0351c6894957802e17fc6c7 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 3 Jun 2020 10:10:23 +0800 Subject: [PATCH 09/15] =?UTF-8?q?1.gov-access=E5=88=A0=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E6=95=88=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/AccessController.java | 43 +++++++++---------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java index 8a68bec452..487c854dd9 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java @@ -1,16 +1,13 @@ package com.epmet.controller; -import com.epmet.commons.tools.security.dto.GovTokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.*; -import com.epmet.dto.result.LoginUserInfoResultDTO; import com.epmet.dto.result.RoleOpeScopeResultDTO; import com.epmet.service.AccessService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.validation.constraints.NotBlank; import java.util.List; import java.util.Set; @@ -46,26 +43,26 @@ public class AccessController { return new Result(); } - /** - * 从缓存中查询用户信息(DataFilterAspect中用到) - * @return - */ - @PostMapping("loginuserinfo") - public Result getLoginUserInfo(@RequestBody StaffPermCacheFormDTO dto) { - ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class); - GovTokenDto govTokenDto = accessService.getUserDetails(dto.getApp(), dto.getClient(), dto.getStaffId()); - LoginUserInfoResultDTO resultDTO = null; - if (govTokenDto != null) { - resultDTO = new LoginUserInfoResultDTO(); - resultDTO.setRoleIdList(govTokenDto.getRoleIdList()); - //resultDTO.setGridId(govTokenDto.getGridId()); - resultDTO.setOrgIdPath(govTokenDto.getOrgIdPath()); - resultDTO.setGridIdList(govTokenDto.getGridIdList()); - resultDTO.setDeptIdList(govTokenDto.getDeptIdList()); - resultDTO.setUserId(govTokenDto.getUserId()); - } - return new Result().ok(resultDTO); - } + ///** + // * 从缓存中查询用户信息(DataFilterAspect中用到) + // * @return + // */ + //@PostMapping("loginuserinfo") + //public Result getLoginUserInfo(@RequestBody StaffPermCacheFormDTO dto) { + // ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class); + // GovTokenDto govTokenDto = accessService.getUserDetails(dto.getApp(), dto.getClient(), dto.getStaffId()); + // LoginUserInfoResultDTO resultDTO = null; + // if (govTokenDto != null) { + // resultDTO = new LoginUserInfoResultDTO(); + // resultDTO.setRoleIdList(govTokenDto.getRoleIdList()); + // //resultDTO.setGridId(govTokenDto.getGridId()); + // resultDTO.setOrgIdPath(govTokenDto.getOrgIdPath()); + // resultDTO.setGridIdList(govTokenDto.getGridIdList()); + // resultDTO.setDeptIdList(govTokenDto.getDeptIdList()); + // resultDTO.setUserId(govTokenDto.getUserId()); + // } + // return new Result().ok(resultDTO); + //} /** * 查询角色的操作key对应操作范围列表(缓存) From d0ff40e6998a04ca8ce19d2854e3e2fd065f73df Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 3 Jun 2020 10:11:42 +0800 Subject: [PATCH 10/15] =?UTF-8?q?1.=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-user/epmet-user-server/deploy/docker-compose-dev.yml | 2 +- epmet-user/epmet-user-server/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml index 4d0c51854b..6d258a8771 100644 --- a/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml +++ b/epmet-user/epmet-user-server/deploy/docker-compose-dev.yml @@ -2,7 +2,7 @@ version: "3.7" services: epmet-user-server: container_name: epmet-user-server-dev - image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.54 + image: 192.168.1.130:10080/epmet-cloud-dev/epmet-user-server:0.3.55 ports: - "8087:8087" network_mode: host # 不会创建新的网络 diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 61df77a965..482d837c19 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -2,7 +2,7 @@ 4.0.0 - 0.3.54 + 0.3.55 com.epmet epmet-user From 927c9431c0188f00668d8d2e2accb4099f4033d2 Mon Sep 17 00:00:00 2001 From: wxz Date: Wed, 3 Jun 2020 10:30:41 +0800 Subject: [PATCH 11/15] =?UTF-8?q?1.=E6=9D=83=E9=99=90=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=99=BB=E9=99=86=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E9=80=BB=E8=BE=91=E6=94=B9=E5=8A=A8=202.commons?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E6=B8=85=E7=90=86=E9=83=A8=E5=88=86=E5=AF=B9?= =?UTF-8?q?gov-access=E7=9A=84=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/CommonGovAccessFeignClient.java | 21 +-------- .../CommonGovAccessFeignClientFallback.java | 16 ------- .../epmet/controller/AccessController.java | 43 +++++++++---------- .../java/com/epmet/service/AccessService.java | 5 ++- .../epmet/service/impl/AccessServiceImpl.java | 11 ++--- 5 files changed, 30 insertions(+), 66 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovAccessFeignClient.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovAccessFeignClient.java index 180cef4025..4d04ce783d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovAccessFeignClient.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovAccessFeignClient.java @@ -2,40 +2,21 @@ package com.epmet.commons.tools.feign; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.dto.form.HasSpecifiedPermissionFormDTO; -import com.epmet.commons.tools.dto.form.LoginUserInfoFormDTO; -import com.epmet.commons.tools.dto.form.LoginUserInfoResultDTO; -import com.epmet.commons.tools.dto.form.RoleOpeScopeResultDTO; import com.epmet.commons.tools.feign.fallback.CommonGovAccessFeignClientFallback; import com.epmet.commons.tools.utils.Result; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -import java.util.List; /** * @Description * @Author sun */ -//, url = "localhost:8099" +//@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = CommonGovAccessFeignClientFallback.class, url = "localhost:8099") @FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = CommonGovAccessFeignClientFallback.class) public interface CommonGovAccessFeignClient { - /** - * 查询登陆用户信息 - * @return - */ - @PostMapping("/gov/access/access/loginuserinfo") - Result getLoginUserInfo(@RequestBody LoginUserInfoFormDTO dto); - - /** - * 查询角色所有operation及其范围(缓存) - * @return - */ - @PostMapping("/gov/access/access/roleallopesandscopes/{roleId}") - Result> listRoleAllOperationScopesByRoleId(@PathVariable("roleId") String roleId); - /** * 用户是否具有指定权限 * @param form diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovAccessFeignClientFallback.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovAccessFeignClientFallback.java index feb8af499f..bc564fe148 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovAccessFeignClientFallback.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovAccessFeignClientFallback.java @@ -2,16 +2,10 @@ package com.epmet.commons.tools.feign.fallback; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.dto.form.HasSpecifiedPermissionFormDTO; -import com.epmet.commons.tools.dto.form.LoginUserInfoFormDTO; -import com.epmet.commons.tools.dto.form.LoginUserInfoResultDTO; -import com.epmet.commons.tools.dto.form.RoleOpeScopeResultDTO; import com.epmet.commons.tools.feign.CommonGovAccessFeignClient; import com.epmet.commons.tools.utils.ModuleUtils; import com.epmet.commons.tools.utils.Result; import org.springframework.stereotype.Component; -import org.springframework.web.bind.annotation.PathVariable; - -import java.util.List; /** * 调用政府端权限 @@ -22,16 +16,6 @@ import java.util.List; @Component public class CommonGovAccessFeignClientFallback implements CommonGovAccessFeignClient { - @Override - public Result getLoginUserInfo(LoginUserInfoFormDTO dto) { - return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "getLoginUserInfo", dto); - } - - @Override - public Result> listRoleAllOperationScopesByRoleId(@PathVariable("roleId") String roleId){ - return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "listRoleAllOperationScopesByRoleId", roleId); - } - @Override public Result hasSpecifiedPermission(HasSpecifiedPermissionFormDTO form) { return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "hasSpecifiedPermission", form); diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java index 8a68bec452..487c854dd9 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java @@ -1,16 +1,13 @@ package com.epmet.controller; -import com.epmet.commons.tools.security.dto.GovTokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.dto.form.*; -import com.epmet.dto.result.LoginUserInfoResultDTO; import com.epmet.dto.result.RoleOpeScopeResultDTO; import com.epmet.service.AccessService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.validation.constraints.NotBlank; import java.util.List; import java.util.Set; @@ -46,26 +43,26 @@ public class AccessController { return new Result(); } - /** - * 从缓存中查询用户信息(DataFilterAspect中用到) - * @return - */ - @PostMapping("loginuserinfo") - public Result getLoginUserInfo(@RequestBody StaffPermCacheFormDTO dto) { - ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class); - GovTokenDto govTokenDto = accessService.getUserDetails(dto.getApp(), dto.getClient(), dto.getStaffId()); - LoginUserInfoResultDTO resultDTO = null; - if (govTokenDto != null) { - resultDTO = new LoginUserInfoResultDTO(); - resultDTO.setRoleIdList(govTokenDto.getRoleIdList()); - //resultDTO.setGridId(govTokenDto.getGridId()); - resultDTO.setOrgIdPath(govTokenDto.getOrgIdPath()); - resultDTO.setGridIdList(govTokenDto.getGridIdList()); - resultDTO.setDeptIdList(govTokenDto.getDeptIdList()); - resultDTO.setUserId(govTokenDto.getUserId()); - } - return new Result().ok(resultDTO); - } + ///** + // * 从缓存中查询用户信息(DataFilterAspect中用到) + // * @return + // */ + //@PostMapping("loginuserinfo") + //public Result getLoginUserInfo(@RequestBody StaffPermCacheFormDTO dto) { + // ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class); + // GovTokenDto govTokenDto = accessService.getUserDetails(dto.getApp(), dto.getClient(), dto.getStaffId()); + // LoginUserInfoResultDTO resultDTO = null; + // if (govTokenDto != null) { + // resultDTO = new LoginUserInfoResultDTO(); + // resultDTO.setRoleIdList(govTokenDto.getRoleIdList()); + // //resultDTO.setGridId(govTokenDto.getGridId()); + // resultDTO.setOrgIdPath(govTokenDto.getOrgIdPath()); + // resultDTO.setGridIdList(govTokenDto.getGridIdList()); + // resultDTO.setDeptIdList(govTokenDto.getDeptIdList()); + // resultDTO.setUserId(govTokenDto.getUserId()); + // } + // return new Result().ok(resultDTO); + //} /** * 查询角色的操作key对应操作范围列表(缓存) diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessService.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessService.java index 831126f6bf..de151c9eed 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessService.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessService.java @@ -2,6 +2,7 @@ package com.epmet.service; import com.epmet.commons.tools.security.dto.GovTokenDto; import com.epmet.dto.form.GetSQLFilterFormDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; import com.epmet.dto.result.RoleOpeScopeResultDTO; import java.util.List; @@ -17,10 +18,10 @@ public interface AccessService { void updatePermissionCache(String staffId, String app, String client, Set permissions, Set roleIdList, String orgIdPath, String gridId); /** - * 查询用户当前权限列表 + * 查询登陆用户登陆信息 * @return */ - GovTokenDto getUserDetails(String app, String client, String staffId); + LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String staffId); /** * 查询角色的操作key对应操作范围列表 diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java index 8c7e448f64..8adcf8c301 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java @@ -16,6 +16,7 @@ import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.form.GetSQLFilterFormDTO; import com.epmet.dto.form.StaffRoleFormDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; import com.epmet.dto.result.RoleOpeScopeResultDTO; import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.GovOrgFeignClient; @@ -90,8 +91,8 @@ public class AccessServiceImpl implements AccessService { } @Override - public GovTokenDto getUserDetails(String app, String client, String staffId) { - return cpUserDetailRedis.get(app, client, staffId, GovTokenDto.class); + public LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String staffId) { + return cpUserDetailRedis.get(app, client, staffId, LoginUserDetailsResultDTO.class); } /** @@ -132,7 +133,7 @@ public class AccessServiceImpl implements AccessService { return true; } - GovTokenDto userDetails = getUserDetails(app, client, userId); + LoginUserDetailsResultDTO userDetails = getLoginUserDetails(app, client, userId); if (userDetails == null) { return false; } @@ -157,7 +158,7 @@ public class AccessServiceImpl implements AccessService { @Override public String getSqlFilterSegment(GetSQLFilterFormDTO form) { hasConditions.set(false); - GovTokenDto userDetails = getUserDetails(form.getApp(), form.getClient(), form.getUserId()); + LoginUserDetailsResultDTO userDetails = getLoginUserDetails(form.getApp(), form.getClient(), form.getUserId()); if (userDetails == null) { logger.error("查询SQL过滤脚本:没有找到用户的登陆信息:app: {}, client: {}, userId:{}", form.getApp(), form.getClient(), form.getUserId()); throw new RenException(EpmetErrorCode.ERR10006.getCode()); @@ -453,7 +454,7 @@ public class AccessServiceImpl implements AccessService { @Override public Set listOperationPermissions(String staffId, String currAgencyId) { - GovTokenDto userDetails = getUserDetails(loginUserUtil.getLoginUserApp(), loginUserUtil.getLoginUserClient(), loginUserUtil.getLoginUserId()); + LoginUserDetailsResultDTO userDetails = getLoginUserDetails(loginUserUtil.getLoginUserApp(), loginUserUtil.getLoginUserClient(), loginUserUtil.getLoginUserId()); if (userDetails == null) { throw new RenException(EpmetErrorCode.ERR10006.getCode(), EpmetErrorCode.ERR10006.getMsg()); } From 186572a69f8752a1964ce4a16f45e0b313e78f3e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 3 Jun 2020 10:34:42 +0800 Subject: [PATCH 12/15] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=8D=89=E7=A8=BF?= =?UTF-8?q?=E3=80=81=E6=96=87=E7=AB=A0=E6=93=8D=E4=BD=9C=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E3=80=81=E6=94=BF=E5=BA=9C=E7=AB=AF=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E5=B7=B2=E4=B8=8B=E7=BA=BF=E3=80=81=E5=B7=B2=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=96=87=E7=AB=A0=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/enums/RequirePermissionEnum.java | 4 +- .../dto/form/ArticleOperationFormDTO.java | 25 +++++++ .../epmet/dto/form/DeleteDraftFormDTO.java | 25 +++++++ .../dto/form/GovArticleDetailFormDTO.java | 24 +++++++ .../dto/result/ArticleOperationResultDTO.java | 19 +++++ .../dto/result/GovArticleContentDTO.java | 25 +++++++ .../dto/result/GovArticleDetailResultDTO.java | 69 +++++++++++++++++++ .../com/epmet/constant/DraftConstant.java | 16 +++++ .../epmet/controller/ArticleController.java | 44 +++++++++++- .../com/epmet/controller/DraftController.java | 17 +++++ .../main/java/com/epmet/dao/ArticleDao.java | 38 +++++++--- .../epmet/dao/ArticleOperateRecordDao.java | 11 ++- .../service/ArticleOperateRecordService.java | 11 +++ .../com/epmet/service/ArticleService.java | 11 +++ .../java/com/epmet/service/DraftService.java | 10 +++ .../impl/ArticleOperateRecordServiceImpl.java | 13 +++- .../service/impl/ArticleServiceImpl.java | 26 ++++--- .../epmet/service/impl/DraftServiceImpl.java | 19 ++++- .../src/main/resources/mapper/ArticleDao.xml | 31 +++++++++ .../mapper/ArticleOperateRecordDao.xml | 15 +++- 20 files changed, 422 insertions(+), 31 deletions(-) create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ArticleOperationFormDTO.java create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DeleteDraftFormDTO.java create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GovArticleDetailFormDTO.java create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/ArticleOperationResultDTO.java create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleContentDTO.java create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleDetailResultDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java index 5be4136e4b..61f64d7168 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java @@ -104,8 +104,8 @@ public enum RequirePermissionEnum { WORK_PARTY_VOICE_OFFLINE_LIST("work_party_voice_offline_list", "党建声音:已下线列表", "已下线文章列表"), WORK_PARTY_VOICE_PUBLISH("work_party_voice_publish", "党建声音:创建文章", ""), WORK_PARTY_VOICE_EDIT("work_party_voice_edit", "党建声音:重新编辑", ""), - WORK_PARTY_VOICE_OFFLINE("work_party_voice_offline", "党建声音:下线文章", ""); - + WORK_PARTY_VOICE_OFFLINE("work_party_voice_offline", "党建声音:下线文章", ""), + WORK_PARTY_VOICE_OPERATION_LIST("work_party_voice_operation_list","党建声音:查看文章操作记录",""); private String key; diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ArticleOperationFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ArticleOperationFormDTO.java new file mode 100644 index 0000000000..600a3913ad --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ArticleOperationFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 查询文章操作记录 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/2 16:42 + */ +@Data +public class ArticleOperationFormDTO implements Serializable { + private static final long serialVersionUID = -6659391832410565077L; + + public interface AddUserInternalGroup {} + + /** + * 文章id + */ + @NotBlank(message = "文章id不能为空", groups = {ArticleOperationFormDTO.AddUserInternalGroup.class}) + private String articleId; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DeleteDraftFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DeleteDraftFormDTO.java new file mode 100644 index 0000000000..761b844b0e --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/DeleteDraftFormDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 政府端工作人员,删除草稿入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/2 15:25 + */ +@Data +public class DeleteDraftFormDTO implements Serializable { + private static final long serialVersionUID = -2424432724401298206L; + + public interface AddUserInternalGroup {} + + /** + * 草稿id + */ + @NotBlank(message = "草稿id不能为空", groups = {AddUserInternalGroup.class}) + private String draftId; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GovArticleDetailFormDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GovArticleDetailFormDTO.java new file mode 100644 index 0000000000..a2a629059e --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/GovArticleDetailFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 政府端:(已发布、已下线)文章详情 入参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/2 17:21 + */ +@Data +public class GovArticleDetailFormDTO implements Serializable { + private static final long serialVersionUID = 2149876964249893025L; + public interface AddUserInternalGroup {} + + /** + * 文章id + */ + @NotBlank(message = "文章id不能为空", groups = {GovArticleDetailFormDTO.AddUserInternalGroup.class}) + private String articleId; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/ArticleOperationResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/ArticleOperationResultDTO.java new file mode 100644 index 0000000000..899c7273ec --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/ArticleOperationResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/2 16:44 + */ +@Data +public class ArticleOperationResultDTO implements Serializable { + private static final long serialVersionUID = -436748500797911121L; + private String id; + private String content; + private Long createdTime; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleContentDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleContentDTO.java new file mode 100644 index 0000000000..dbb98d9d3d --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleContentDTO.java @@ -0,0 +1,25 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 政府端:(已发布、已下线)文章内容详情 + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/3 9:39 + */ +@Data +public class GovArticleContentDTO implements Serializable { + private static final long serialVersionUID = 1519014754254863006L; + /** + * 内容类型,图片:img;文字:text + */ + private String contentType; + + /** + * 内容 + */ + private String content; +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleDetailResultDTO.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleDetailResultDTO.java new file mode 100644 index 0000000000..51ed6bc69b --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/GovArticleDetailResultDTO.java @@ -0,0 +1,69 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 政府端:(已发布、已下线)文章详情 返参DTO + * + * @author yinzuomei@elink-cn.com + * @date 2020/6/3 9:29 + */ +@Data +public class GovArticleDetailResultDTO implements Serializable { + private static final long serialVersionUID = -8328304788721564622L; + /** + * 文章id + */ + private String articleId; + + /** + * 标题 + */ + private String title; + + /** + * 发布单位名称 + */ + private String publisherName; + + /** + * 发布日期 + */ + @JsonFormat(pattern="yyyy-MM-dd") + private Date publishDate; + + /** + * 访问量 + */ + private Integer visitRecordCount; + + /** + * 发布范围字符串 + */ + private String publishRangeDesc; + + /** + * 标签字符串 + */ + private String tags; + + /** + * 发布状态 已发布:published;已下线:offline + */ + private String statusFlag; + + /** + * 草稿Id,重新编辑时使用 + */ + private String draftId; + + /** + * 内容列表 + */ + private List articleContentList; +} diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/DraftConstant.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/DraftConstant.java index 915a4eef57..dfab2106a0 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/DraftConstant.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/constant/DraftConstant.java @@ -10,8 +10,24 @@ package com.epmet.constant; /** * 常量 + * * @author sun * @since 1.0.0 */ public interface DraftConstant { + // 发布状态 + /** + * 未发布:unpublish + */ + String UNPUBLISH = "unpublish"; + + /** + * 已发布:published + */ + String PUBLISHED = "published"; + + /** + * 审核中:auditing + */ + String AUDITING = "auditing"; } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index e72213a34d..1be7ef624d 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -18,6 +18,8 @@ package com.epmet.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.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; @@ -28,11 +30,14 @@ 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.ArticleDTO; -import com.epmet.dto.form.LatestListFormDTO; -import com.epmet.dto.result.ArticleGridResultDTO; -import com.epmet.dto.result.LatestListResultDTO; +import com.epmet.dto.form.ArticleOperationFormDTO; import com.epmet.dto.form.DraftContentFromDTO; +import com.epmet.dto.form.GovArticleDetailFormDTO; +import com.epmet.dto.result.ArticleGridResultDTO; +import com.epmet.dto.result.ArticleOperationResultDTO; +import com.epmet.dto.result.GovArticleDetailResultDTO; import com.epmet.excel.ArticleExcel; +import com.epmet.service.ArticleOperateRecordService; import com.epmet.service.ArticleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -54,6 +59,8 @@ public class ArticleController { @Autowired private ArticleService articleService; + @Autowired + private ArticleOperateRecordService articleOperateRecordService; @GetMapping("page") public Result> page(@RequestParam Map params){ @@ -119,4 +126,35 @@ public class ArticleController { return new Result().ok(draftId); } + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author yinzuomei@elink-cn.com + * @description 政府端:查询文章操作记录 + * @date 2020/6/2 16:50 + **/ + @PostMapping("oprationlist") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_OPERATION_LIST) + public Result> operationList(@RequestBody ArticleOperationFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ArticleOperationFormDTO.AddUserInternalGroup.class); + List list = + articleOperateRecordService.listOfArticleOperation(formDTO.getArticleId()); + return new Result>().ok(list); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei@elink-cn.com + * @description 政府端:(已发布、已下线)文章详情 + * @date 2020/6/3 9:44 + **/ + @PostMapping("articledetail") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_DETAIL) + public Result articleDetail(@RequestBody GovArticleDetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, GovArticleDetailFormDTO.AddUserInternalGroup.class); + GovArticleDetailResultDTO articleDetail = articleService.queryGovArticleDetail(formDTO.getArticleId()); + return new Result().ok(articleDetail); + } + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/DraftController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/DraftController.java index 9b69445888..1fc03f1d9c 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/DraftController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/DraftController.java @@ -17,6 +17,8 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.RequirePermission; +import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; @@ -26,6 +28,7 @@ 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.DraftDTO; +import com.epmet.dto.form.DeleteDraftFormDTO; import com.epmet.excel.DraftExcel; import com.epmet.service.DraftService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +94,18 @@ public class DraftController { ExcelUtils.exportExcelToTarget(response, null, list, DraftExcel.class); } + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei@elink-cn.com + * @description 政府端:工作人员,删除草稿 + * @date 2020/6/2 16:00 + **/ + @PostMapping("deletedraft") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PARTY_VOICE_DRAFT_DELETE) + public Result deleteDraft(@RequestBody DeleteDraftFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, DeleteDraftFormDTO.AddUserInternalGroup.class); + draftService.deleteDraft(formDTO); + return new Result(); + } } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java index d9c4204004..2f176db48a 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleDao.java @@ -1,26 +1,27 @@ /** * 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 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. + * 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 . + * 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.dto.result.GovArticleContentDTO; +import com.epmet.dto.result.GovArticleDetailResultDTO; import com.epmet.entity.ArticleEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 文章表 * @@ -29,5 +30,20 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ArticleDao extends BaseDao { - + + /** + * 政府端查询文章详情 + * + * @param articleId + * 文章id + */ + GovArticleDetailResultDTO queryGovArticleDetail(String articleId); + + /** + * 政府端查询文章详情-内容 + * + * @param articleId + * 文章id + */ + List queryGovArticleContent(String articleId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleOperateRecordDao.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleOperateRecordDao.java index 1b60fdd5d6..f186193252 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleOperateRecordDao.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/dao/ArticleOperateRecordDao.java @@ -18,9 +18,12 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.ArticleOperationResultDTO; import com.epmet.entity.ArticleOperateRecordEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 文章操作记录表 * @@ -29,5 +32,11 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ArticleOperateRecordDao extends BaseDao { - + + /** + * 根据文章id查询操作记录 + * + * @param articleId + */ + List selectListByArticleId(String articleId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java index c8cd715443..368ecfcef7 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleOperateRecordService.java @@ -20,6 +20,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.ArticleOperateRecordDTO; +import com.epmet.dto.result.ArticleOperationResultDTO; import com.epmet.entity.ArticleOperateRecordEntity; import java.util.List; @@ -92,4 +93,14 @@ public interface ArticleOperateRecordService extends BaseService listOfArticleOperation(String articleId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java index 9cae7ed196..93a664e006 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java @@ -23,6 +23,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ArticleDTO; import com.epmet.dto.result.ArticleGridResultDTO; import com.epmet.dto.form.DraftContentFromDTO; +import com.epmet.dto.result.GovArticleDetailResultDTO; import com.epmet.entity.ArticleEntity; import java.util.List; @@ -110,4 +111,14 @@ public interface ArticleService extends BaseService { * @return */ String saveOrUpdateContent(DraftContentFromDTO fromDTO); + + /** + * 政府端:(已发布、已下线)文章详情 + * + * @param articleId + * @return com.epmet.dto.result.GovArticleDetailResultDTO + * @author yinzuomei@elink-cn.com + * @date 2020-06-03 + */ + GovArticleDetailResultDTO queryGovArticleDetail(String articleId); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java index 12446f2e2d..36a9fc1b57 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/DraftService.java @@ -20,6 +20,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.DraftDTO; +import com.epmet.dto.form.DeleteDraftFormDTO; import com.epmet.entity.DraftEntity; import java.util.List; @@ -92,4 +93,13 @@ public interface DraftService extends BaseService { * @date 2020-06-02 */ void delete(String[] ids); + + /** + * @param formDTO + * @return void + * @author yinzuomei@elink-cn.com + * @description 政府端工作人员,删除草稿 + * @date 2020/6/2 16:09 + **/ + void deleteDraft(DeleteDraftFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleOperateRecordServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleOperateRecordServiceImpl.java index ca6fe17651..a237638d2b 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleOperateRecordServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleOperateRecordServiceImpl.java @@ -20,11 +20,12 @@ 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.commons.tools.constant.FieldConstant; import com.epmet.dao.ArticleOperateRecordDao; import com.epmet.dto.ArticleOperateRecordDTO; +import com.epmet.dto.result.ArticleOperationResultDTO; import com.epmet.entity.ArticleOperateRecordEntity; import com.epmet.redis.ArticleOperateRecordRedis; import com.epmet.service.ArticleOperateRecordService; @@ -33,6 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -101,4 +103,13 @@ public class ArticleOperateRecordServiceImpl extends BaseServiceImpl listOfArticleOperation(String articleId) { + List list = baseDao.selectListByArticleId(articleId); + if (null == list) { + return new ArrayList<>(); + } + return list; + } + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 3b082d2776..09c91ad94c 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -26,7 +26,6 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; @@ -36,8 +35,10 @@ import com.epmet.dao.DraftContentDao; import com.epmet.dao.DraftDao; import com.epmet.dto.ArticleDTO; import com.epmet.dto.feign.GovOrgSelfFeignClient; -import com.epmet.dto.result.ArticleGridResultDTO; import com.epmet.dto.form.DraftContentFromDTO; +import com.epmet.dto.result.ArticleGridResultDTO; +import com.epmet.dto.result.GovArticleContentDTO; +import com.epmet.dto.result.GovArticleDetailResultDTO; import com.epmet.entity.ArticleEntity; import com.epmet.entity.DraftContentEntity; import com.epmet.entity.DraftEntity; @@ -49,7 +50,6 @@ import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.PathVariable; import org.springframework.util.CollectionUtils; import java.util.*; @@ -63,21 +63,15 @@ import java.util.stream.Collectors; */ @Service public class ArticleServiceImpl extends BaseServiceImpl implements ArticleService { - + private final Log logger = LogFactory.getLog(getClass()); @Autowired private ArticleRedis articleRedis; @Autowired private GovOrgSelfFeignClient govOrgSelfFeignClient; - private final Log logger = LogFactory.getLog(getClass()); - @Autowired - private ArticleRedis articleRedis; - @Autowired private DraftDao draftDao; @Autowired private DraftContentDao draftContentDao; - @Autowired - private ArticleDao articleDao; @Override public PageData page(Map params) { @@ -156,7 +150,7 @@ public class ArticleServiceImpl extends BaseServiceImpl articleParamMap = new HashMap<>(); articleParamMap.put("ARTICLE_ID", fromDTO.getArticleId()); articleParamMap.put("ARTICLE_ID", fromDTO.getArticleId()); - articleDao.selectByMap(articleParamMap); + baseDao.selectByMap(articleParamMap); } DraftEntity draftEntity = null; @@ -193,6 +187,16 @@ public class ArticleServiceImpl extends BaseServiceImpl articleContentList = baseDao.queryGovArticleContent(articleId); + articleDetail.setArticleContentList(articleContentList); + } + return articleDetail; + } + /** * desc:构建 内容对象 * diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java index 21402cb7a2..000a4d9b83 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/DraftServiceImpl.java @@ -20,15 +20,20 @@ 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.NumConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.constant.DraftConstant; import com.epmet.dao.DraftDao; import com.epmet.dto.DraftDTO; +import com.epmet.dto.form.DeleteDraftFormDTO; import com.epmet.entity.DraftEntity; import com.epmet.redis.DraftRedis; import com.epmet.service.DraftService; 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; @@ -45,7 +50,7 @@ import java.util.Map; */ @Service public class DraftServiceImpl extends BaseServiceImpl implements DraftService { - + private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private DraftRedis draftRedis; @@ -101,4 +106,16 @@ public class DraftServiceImpl extends BaseServiceImpl imp baseDao.deleteBatchIds(Arrays.asList(ids)); } + @Override + public void deleteDraft(DeleteDraftFormDTO formDTO) { + DraftDTO draftDTO = this.get(formDTO.getDraftId()); + // 已发布的草稿不能删除 + if (null == draftDTO || DraftConstant.PUBLISHED.equals(draftDTO.getStatusFlag())) { + logger.error(String.format("删除草稿错误,已发布的草稿不能删除。草稿id%s", formDTO.getDraftId())); + return; + } + draftDTO.setDelFlag(NumConstant.ONE); + this.update(draftDTO); + } + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml index 488e2fe7cd..5f3473a3b7 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleDao.xml @@ -2,5 +2,36 @@ + + + + \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleOperateRecordDao.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleOperateRecordDao.xml index 7b47ccdac5..2b80096293 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleOperateRecordDao.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/mapper/ArticleOperateRecordDao.xml @@ -3,5 +3,18 @@ - + + \ No newline at end of file From 962c235ba833c6568358e809c0d77ca09c429cbc Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 3 Jun 2020 11:00:58 +0800 Subject: [PATCH 13/15] =?UTF-8?q?=E5=86=B2=E7=AA=81=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/ArticleController.java | 6 +++++- .../src/main/java/com/epmet/service/ArticleService.java | 2 +- .../java/com/epmet/service/impl/ArticleServiceImpl.java | 3 +-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 97923ebebd..91d8def2a4 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -30,11 +30,15 @@ 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.ArticleDTO; +import com.epmet.dto.form.ArticleOperationFormDTO; import com.epmet.dto.form.DraftContentFromDTO; +import com.epmet.dto.form.GovArticleDetailFormDTO; import com.epmet.dto.result.ArticleGridResultDTO; +import com.epmet.dto.result.ArticleOperationResultDTO; +import com.epmet.dto.result.GovArticleDetailResultDTO; import com.epmet.excel.ArticleExcel; -import com.epmet.service.ArticleService; import com.epmet.service.ArticleOperateRecordService; +import com.epmet.service.ArticleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java index f25628422f..fa4482b97d 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/ArticleService.java @@ -23,6 +23,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.ArticleDTO; import com.epmet.dto.form.DraftContentFromDTO; import com.epmet.dto.result.ArticleGridResultDTO; +import com.epmet.dto.result.GovArticleDetailResultDTO; import com.epmet.entity.ArticleEntity; import java.util.List; @@ -112,7 +113,6 @@ public interface ArticleService extends BaseService { * @return */ String saveOrUpdateContent(TokenDto tokenDto, DraftContentFromDTO fromDTO); - String saveOrUpdateContent(DraftContentFromDTO fromDTO); /** * 政府端:(已发布、已下线)文章详情 diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index b3185e8d76..ae8f83582d 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -38,7 +38,6 @@ import com.epmet.dto.ArticleDTO; import com.epmet.dto.feign.GovOrgSelfFeignClient; import com.epmet.dto.form.DraftContentFromDTO; import com.epmet.dto.result.ArticleGridResultDTO; -import com.epmet.dto.result.ArticleGridResultDTO; import com.epmet.dto.result.GovArticleContentDTO; import com.epmet.dto.result.GovArticleDetailResultDTO; import com.epmet.entity.ArticleEntity; @@ -196,7 +195,7 @@ public class ArticleServiceImpl extends BaseServiceImpl Date: Wed, 3 Jun 2020 11:26:00 +0800 Subject: [PATCH 14/15] =?UTF-8?q?=E6=94=BF=E5=BA=9C=E7=AB=AF=E5=B7=B2?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=88=97=E8=A1=A8=E9=A1=B5-=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=85=B3=E8=81=94=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisUtils.java | 14 ++++++++ .../dto/form/CorrelationTagListFormDto.java | 23 +++++++++++++ .../epmet/dto/form/ResiTagListFormDto.java | 6 ++++ .../result/CorrelationTagListResultDto.java | 27 ++++++++++++++++ .../com/epmet/controller/TagController.java | 24 +++++++++++++- .../main/java/com/epmet/redis/TagRedis.java | 32 +++++++++++++++++-- .../java/com/epmet/service/TagService.java | 11 +++++++ .../service/impl/ArticleServiceImpl.java | 6 ---- .../epmet/service/impl/TagServiceImpl.java | 18 +++++++++-- .../epmet/dto/form/ResiTagListFormDto.java | 6 +++- .../epmet/controller/ArticleController.java | 2 ++ 11 files changed, 156 insertions(+), 13 deletions(-) create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CorrelationTagListFormDto.java create mode 100644 epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/CorrelationTagListResultDto.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 c51a4458ac..e8cec08991 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 @@ -274,4 +274,18 @@ public class RedisUtils { public Set zRevRange(String key, long start, long end) { return redisTemplate.opsForZSet().reverseRange(key, start, end); } + + /** + * @Description 获取key集合与多个集合的并集 + * @param key + * @param otherKeys + * @author zxc + */ + public Set sUnion(String key, Collection otherKeys) { + return redisTemplate.opsForSet().union(key, otherKeys); + } + + public Set sMembers(String key){ + return redisTemplate.opsForSet().members(key); + } } diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CorrelationTagListFormDto.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CorrelationTagListFormDto.java new file mode 100644 index 0000000000..7e8a638a28 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/CorrelationTagListFormDto.java @@ -0,0 +1,23 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @CreateTime 2020/6/3 9:39 + */ +@Data +public class CorrelationTagListFormDto implements Serializable { + + private static final long serialVersionUID = -1588825995685146967L; + + /** + * 标签id集合 + */ + private List tagIdList; + +} diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java index b63fa61a8f..6c31e69e71 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -13,9 +14,14 @@ import java.io.Serializable; public class ResiTagListFormDto implements Serializable { private static final long serialVersionUID = 4337657473061285656L; + + public interface ResiTagListForm{} + public interface ResiTagListFormWeb extends CustomerClientShowGroup{} + /** * 网格id */ + @NotBlank(message = "网格id不能为空",groups = {ResiTagListForm.class,ResiTagListFormWeb.class}) private String gridId; /** diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/CorrelationTagListResultDto.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/CorrelationTagListResultDto.java new file mode 100644 index 0000000000..51307547c7 --- /dev/null +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/result/CorrelationTagListResultDto.java @@ -0,0 +1,27 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @CreateTime 2020/6/3 9:41 + */ +@JsonIgnoreProperties(ignoreUnknown = true) +@Data +public class CorrelationTagListResultDto implements Serializable { + + private static final long serialVersionUID = 5536953304816455733L; + + /** + * 标签id + */ + private String tagId; + + /** + * 标签名称 + */ + private String tagName; +} diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java index b7e0a0b73f..d672d4f7d5 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/controller/TagController.java @@ -3,11 +3,15 @@ package com.epmet.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.dto.form.CorrelationTagListFormDto; import com.epmet.dto.form.ResiTagListFormDto; +import com.epmet.dto.result.CorrelationTagListResultDto; import com.epmet.dto.result.TagInfoResultDto; import com.epmet.service.TagService; 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; @@ -27,12 +31,30 @@ public class TagController { */ @PostMapping("taglist") public Result> tagList(@LoginUser TokenDto tokenDto){ + ValidatorUtils.validateEntity(tokenDto); return new Result>().ok(tagService.tagList(tokenDto)); } + /** + * @Description 已发布列表页的标签——居民端 + * @param formDto + * @author zxc + */ @PostMapping("resitaglist") - public Result> resiTagList(@LoginUser ResiTagListFormDto formDto){ + public Result> resiTagList(@RequestBody ResiTagListFormDto formDto){ + ValidatorUtils.validateEntity(formDto, ResiTagListFormDto.ResiTagListForm.class, ResiTagListFormDto.ResiTagListFormWeb.class); return new Result>().ok(tagService.resiTagList(formDto)); } + /** + * @Description 已发布列表页-获取关联标签——政府端 + * @param tokenDto + * @param formDto + * @author zxc + */ + @PostMapping("correlationtaglist") + public Result> correlationTagList(@LoginUser TokenDto tokenDto, @RequestBody CorrelationTagListFormDto formDto){ + return new Result>().ok(tagService.correlationTagList(tokenDto,formDto)); + } + } diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java index 143a86df45..5d16236d83 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/redis/TagRedis.java @@ -22,12 +22,15 @@ import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.constant.TagConstant; +import com.epmet.dto.form.CorrelationTagListFormDto; +import com.epmet.dto.result.CorrelationTagListResultDto; import com.epmet.dto.result.TagInfoResultDto; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Set; @@ -44,10 +47,35 @@ public class TagRedis { } - public String get(String id){ - return null; + public List get(String customerId, CorrelationTagListFormDto formDto){ + List tagIdList = formDto.getTagIdList(); + Set objects ; + Collection keys = new ArrayList<>(); + if (tagIdList.size() > 1){ + for (int i = NumConstant.ONE; i < tagIdList.size(); i++) { + String tagId = tagIdList.get(i); + tagId = TagConstant.GOV_RETAG_KEY+customerId+TagConstant.COLON+tagId; + keys.add(tagId); + } + String key = TagConstant.GOV_RETAG_KEY+customerId+TagConstant.COLON+tagIdList.get(0); + objects = redisUtils.sUnion(key, keys); + }else { + String key = TagConstant.GOV_RETAG_KEY+customerId+TagConstant.COLON+tagIdList.get(0); + objects = redisUtils.sMembers(key); + } + List resultList = new ArrayList<>(); + if (objects.size()==NumConstant.ZERO){ + return resultList; + } + ObjectMapper objectMapper = new ObjectMapper(); + for (Object object : objects) { + CorrelationTagListResultDto correlationTag = objectMapper.convertValue(object, CorrelationTagListResultDto.class); + resultList.add(correlationTag); + } + return resultList; } + /** * @Description 获取标签(政府端),按使用次数倒叙 * @param key == customerId diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java index 10f325e9d3..b0c4bcf534 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/TagService.java @@ -2,8 +2,11 @@ package com.epmet.service; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.dto.form.CorrelationTagListFormDto; import com.epmet.dto.form.ResiTagListFormDto; +import com.epmet.dto.result.CorrelationTagListResultDto; import com.epmet.dto.result.TagInfoResultDto; +import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -23,4 +26,12 @@ public interface TagService { */ List resiTagList( ResiTagListFormDto formDto); + /** + * @Description 已发布列表页-获取关联标签——政府端 + * @param tokenDto + * @param formDto + * @author zxc + */ + List correlationTagList(TokenDto tokenDto, CorrelationTagListFormDto formDto); + } \ No newline at end of file diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java index 5673e523c7..ae8f83582d 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java +++ b/epmet-module/gov-voice/gov-voice-server/src/main/java/com/epmet/service/impl/ArticleServiceImpl.java @@ -68,12 +68,6 @@ public class ArticleServiceImpl extends BaseServiceImpl resiTagList(ResiTagListFormDto formDto) { + //校验 在本网格是否发布过文章 Integer articleCounts = articleDao.checkPublishArticle(formDto); if (articleCounts== NumConstant.ZERO){ return new ArrayList<>(); } return tagRedis.zGridRevRange(formDto.getGridId()); } + + /** + * @Description 已发布列表页-获取关联标签——政府端 + * @param tokenDto + * @param formDto + * @author zxc + */ + @Override + public List correlationTagList(TokenDto tokenDto, CorrelationTagListFormDto formDto) { + String customerId = tokenDto.getCustomerId(); + return tagRedis.get(customerId,formDto); + } } \ No newline at end of file diff --git a/epmet-module/resi-voice/resi-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java b/epmet-module/resi-voice/resi-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java index 1c7de733b7..6a084c31b3 100644 --- a/epmet-module/resi-voice/resi-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java +++ b/epmet-module/resi-voice/resi-voice-client/src/main/java/com/epmet/dto/form/ResiTagListFormDto.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import javax.validation.constraints.NotBlank; @@ -13,10 +14,13 @@ import java.io.Serializable; public class ResiTagListFormDto implements Serializable { private static final long serialVersionUID = -794399801200532922L; + public interface ResiTagList{} + public interface ResiTagListWeb extends CustomerClientShowGroup {} + /** * 网格id */ - @NotBlank(message = "网格id不能为空") + @NotBlank(message = "网格id不能为空",groups = {ResiTagList.class,ResiTagListWeb.class}) private String gridId; /** diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java index 68cd236d45..3fa602cfea 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java +++ b/epmet-module/resi-voice/resi-voice-server/src/main/java/com/epmet/controller/ArticleController.java @@ -3,6 +3,7 @@ package com.epmet.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.dto.form.ResiTagListFormDto; import com.epmet.dto.result.TagInfoResultDto; import com.epmet.service.ArticleService; @@ -28,6 +29,7 @@ public class ArticleController { */ @PostMapping("taglist") public Result> resiTagList(@LoginUser TokenDto tokenDto, @RequestBody ResiTagListFormDto formDto){ + ValidatorUtils.validateEntity(formDto, ResiTagListFormDto.ResiTagList.class, ResiTagListFormDto.ResiTagListWeb.class); return new Result>().ok(articleService.resiTagList(tokenDto,formDto)); } From 50330344da1039917e94de5d54f88afdd45e72d5 Mon Sep 17 00:00:00 2001 From: zxc <954985706@qq.com> Date: Wed, 3 Jun 2020 12:57:10 +0800 Subject: [PATCH 15/15] =?UTF-8?q?feign=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java | 3 ++- .../src/main/java/com/epmet/feign/EpmetUserFeignClient.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java index aa60bb70f0..dd71cfc082 100644 --- a/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java +++ b/epmet-module/gov-voice/gov-voice-client/src/main/java/com/epmet/dto/feign/GovVoiceFeignClient.java @@ -17,7 +17,8 @@ import java.util.List; * @CreateTime 2020/6/2 16:05 * , url = "localhost:8105" */ -@FeignClient(name = ServiceConstant.GOV_VOICE_SERVER, fallback = GovVoiceFeignClientFallBack.class, url = "localhost:8105") +//@FeignClient(name = ServiceConstant.GOV_VOICE_SERVER, fallback = GovVoiceFeignClientFallBack.class, url = "localhost:8105") +@FeignClient(name = ServiceConstant.GOV_VOICE_SERVER, fallback = GovVoiceFeignClientFallBack.class) public interface GovVoiceFeignClient { /** diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java index d9b27309bc..d2a289864f 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserFeignClient.java @@ -14,7 +14,8 @@ import org.springframework.web.bind.annotation.RequestBody; * @CreateTime 2020/6/2 14:05 * , url = "localhost:8087" */ -@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class, url = "localhost:8087") +//@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class, url = "localhost:8087") +@FeignClient(name = ServiceConstant.EPMET_USER_SERVER, fallback = EpmetUserFeignClientFallBack.class) public interface EpmetUserFeignClient { /**