From 602d79547c9ece1a53311235e835b2ac43b1a18e Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 9 Nov 2020 10:47:51 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=8B=8B=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/constant/UserRedisKeys.java | 4 ++- .../java/com/epmet/redis/UserBadgeRedis.java | 25 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserRedisKeys.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserRedisKeys.java index 46f5ad1fa2..c21ba28c1f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserRedisKeys.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/UserRedisKeys.java @@ -1,5 +1,7 @@ package com.epmet.constant; +import org.apache.commons.lang3.StringUtils; + /** * @Description * @ClassName UserRedisKeys @@ -32,5 +34,5 @@ public class UserRedisKeys { * @date 2020.11.05 13:34 */ public static String getResiUserBadgeKey(String customerId,String userId){ - return rootPrefix.concat("badge:user:").concat(customerId).concat(":").concat(userId);} + return rootPrefix.concat("badge:user:").concat(customerId).concat(":").concat( StringUtils.isBlank(userId) ? "*" : userId );} } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java index 0b57fcbb9f..f5c22ca54a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java @@ -16,10 +16,13 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisCallback; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import java.util.List; import java.util.Optional; +import java.util.Set; import static com.epmet.commons.tools.redis.RedisUtils.MINUTE_THIRTY_EXPIRE; @@ -37,6 +40,8 @@ public class UserBadgeRedis { private BadgeDao badgeDao; @Autowired private UserBadgeService badgeService; + @Autowired + private RedisTemplate redisTemplate; /** * @Description 获取客户徽章信息 @@ -146,5 +151,25 @@ public class UserBadgeRedis { return NumConstant.ONE; } + + /** + * @Description 批量清除用户徽章信息,用处:在客户取消点亮某个徽章后,批量清除该客户下所有用户的徽章缓存,当需要查取时再次初始化进缓存中 + * @param customerId + * @return void + * @author wangc + * @date 2020.11.09 10:02 + */ + public void batchClearUserBadgeCache(String customerId){ + redisTemplate.executePipelined((RedisCallback) connection ->{ + Set keys = + connection.keys(redisTemplate.getKeySerializer().serialize(UserRedisKeys.getResiUserBadgeKey(customerId, null))); + if(!CollectionUtils.isEmpty(keys)){ + keys.forEach( ser -> {connection.del(ser);}); + } + return null; + }); + + } + } From 079d9f2a26e2e4c665ec5e04bdff5b1f5accb834 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Mon, 9 Nov 2020 17:27:11 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF-=E6=88=91?= =?UTF-8?q?=E7=9A=84=E5=BB=BA=E8=AE=AE=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/MyAdviceListResultDTO.java | 30 +++++++++++++++++++ .../controller/UserAdviceController.java | 30 +++++++++++-------- 2 files changed, 48 insertions(+), 12 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java new file mode 100644 index 0000000000..a451b24393 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java @@ -0,0 +1,30 @@ +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; + +/** + * @description: + * @author: liushaowen + * @date: 2020/11/9 17:21 + */ +@Data +public class MyAdviceListResultDTO implements Serializable { + private static final long serialVersionUID = 1L; + + private String adviceContent; + + private List imgList; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date adviceTime; + + private String replyContent; + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date replyTime; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java index 3b7763b5fb..38578093ea 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java @@ -32,6 +32,7 @@ import com.epmet.dto.form.AdviceListFormDTO; import com.epmet.dto.form.ReplyAdviceFormDTO; import com.epmet.dto.result.AdviceDetailResultDTO; import com.epmet.dto.result.AdviceListResultDTO; +import com.epmet.dto.result.MyAdviceListResultDTO; import com.epmet.excel.UserAdviceExcel; import com.epmet.service.UserAdviceService; import org.apache.commons.lang3.StringUtils; @@ -60,19 +61,19 @@ public class UserAdviceController { private LoginUserUtil loginUserUtil; @GetMapping("page") - public Result> page(@RequestParam Map params){ + public Result> page(@RequestParam Map params) { PageData page = userAdviceService.page(params); return new Result>().ok(page); } @GetMapping("{id}") - public Result get(@PathVariable("id") String id){ + public Result get(@PathVariable("id") String id) { UserAdviceDTO data = userAdviceService.get(id); return new Result().ok(data); } @PostMapping - public Result save(@RequestBody UserAdviceDTO dto){ + public Result save(@RequestBody UserAdviceDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); userAdviceService.save(dto); @@ -80,7 +81,7 @@ public class UserAdviceController { } @PutMapping - public Result update(@RequestBody UserAdviceDTO dto){ + public Result update(@RequestBody UserAdviceDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); userAdviceService.update(dto); @@ -88,7 +89,7 @@ public class UserAdviceController { } @DeleteMapping - public Result delete(@RequestBody String[] ids){ + public Result delete(@RequestBody String[] ids) { //效验数据 AssertUtils.isArrayEmpty(ids, "id"); userAdviceService.delete(ids); @@ -102,29 +103,34 @@ public class UserAdviceController { } @PostMapping("replyadvice") - public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto){ + public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto) { ValidatorUtils.validateEntity(dto); - userAdviceService.replyAdvice(dto,loginUserUtil.getLoginUserId()); + userAdviceService.replyAdvice(dto, loginUserUtil.getLoginUserId()); return new Result(); } @PostMapping("advicedetail") - public Result adviceDetail(String adviceId){ - if (StringUtils.isBlank(adviceId)){ + public Result adviceDetail(String adviceId) { + if (StringUtils.isBlank(adviceId)) { throw new RenException("adviceId不能为空"); } return new Result().ok(userAdviceService.adviceDetail(adviceId)); } @PostMapping("advicelist") - public Result> adviceList(@RequestBody AdviceListFormDTO dto){ + public Result> adviceList(@RequestBody AdviceListFormDTO dto) { ValidatorUtils.validateEntity(dto); - if (dto.getStartTime()!=null && dto.getEndTime()!=null){ - if (dto.getStartTime().after(dto.getEndTime())){ + if (dto.getStartTime() != null && dto.getEndTime() != null) { + if (dto.getStartTime().after(dto.getEndTime())) { throw new RenException("开始时间不能大于结束时间"); } } PageData page = userAdviceService.adviceList(dto); return new Result>().ok(page); } + + @PostMapping("myadvicelist") + public Result> myAdviceList(String pageSize, String pageNo) { + return null; + } } From 31ea4f4f4120c5542159b42c0158bc3affbed2be Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Mon, 9 Nov 2020 18:09:51 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF=E5=BB=BA?= =?UTF-8?q?=E8=AE=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/MyAdviceListResultDTO.java | 4 ++-- .../controller/UserAdviceController.java | 13 ++++++++++-- .../java/com/epmet/dao/UserAdviceDao.java | 7 +++++++ .../com/epmet/service/UserAdviceService.java | 12 +++++++++++ .../service/impl/UserAdviceServiceImpl.java | 21 ++++++++++++++++--- .../main/resources/mapper/UserAdviceDao.xml | 21 +++++++++++++++++++ 6 files changed, 71 insertions(+), 7 deletions(-) diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java index a451b24393..77a8e2c460 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MyAdviceListResultDTO.java @@ -20,11 +20,11 @@ public class MyAdviceListResultDTO implements Serializable { private List imgList; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy/MM/dd", timezone = "GMT+8") private Date adviceTime; private String replyContent; - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(pattern = "yyyy/MM/dd", timezone = "GMT+8") private Date replyTime; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java index 38578093ea..1020c5d66a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java @@ -129,8 +129,17 @@ public class UserAdviceController { return new Result>().ok(page); } + /** + * @Description 居民端-我的建议列表 + * @param map ->pageSize,pageNo + * @return com.epmet.commons.tools.utils.Result> + * @Author liushaowen + * @Date 2020/11/9 17:35 + */ @PostMapping("myadvicelist") - public Result> myAdviceList(String pageSize, String pageNo) { - return null; + public Result> myAdviceList(@RequestBody Map map) { + int pageSize = map.get("pageSize"); + int pageNo = map.get("pageNo"); + return new Result>().ok(userAdviceService.myAdviceList(pageSize,pageNo,loginUserUtil.getLoginUserId())); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java index e198ef4b82..087b91f225 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserAdviceDao.java @@ -18,10 +18,13 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.MyAdviceListResultDTO; import com.epmet.entity.UserAdviceEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * user_advice * @@ -34,4 +37,8 @@ public interface UserAdviceDao extends BaseDao { @Param("replyContent") String replyContent, @Param("govContent") String govContent, @Param("replyUserId") String loginUserId); + + List myAdviceList(@Param("pageSize") int pageSize, + @Param("pageNo") int pageNo, + @Param("userId") String loginUserId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java index 31a63b3ffa..35a5e840ce 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserAdviceService.java @@ -24,6 +24,7 @@ import com.epmet.dto.form.AdviceListFormDTO; import com.epmet.dto.form.ReplyAdviceFormDTO; import com.epmet.dto.result.AdviceDetailResultDTO; import com.epmet.dto.result.AdviceListResultDTO; +import com.epmet.dto.result.MyAdviceListResultDTO; import com.epmet.entity.UserAdviceEntity; import java.util.List; @@ -124,4 +125,15 @@ public interface UserAdviceService extends BaseService { * @Date 2020/11/9 10:41 */ PageData adviceList(AdviceListFormDTO dto); + + /** + * @Description 居民端-我的建议列表 + * @param pageSize + * @param pageNo + * @param loginUserId + * @return java.util.List + * @Author liushaowen + * @Date 2020/11/9 17:39 + */ + List myAdviceList(int pageSize, int pageNo, String loginUserId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java index 58686403c4..8973026d33 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserAdviceServiceImpl.java @@ -42,6 +42,7 @@ import com.epmet.dto.form.AdviceListFormDTO; import com.epmet.dto.form.ReplyAdviceFormDTO; import com.epmet.dto.result.AdviceDetailResultDTO; import com.epmet.dto.result.AdviceListResultDTO; +import com.epmet.dto.result.MyAdviceListResultDTO; import com.epmet.entity.UserAdviceEntity; import com.epmet.entity.UserAdviceImgEntity; import com.epmet.redis.UserAdviceRedis; @@ -278,6 +279,20 @@ public class UserAdviceServiceImpl extends BaseServiceImpl + * @Description 居民端-我的建议列表 + * @Author liushaowen + * @Date 2020/11/9 17:39 + */ + @Override + public List myAdviceList(int pageSize, int pageNo, String loginUserId) { + return baseDao.myAdviceList(pageSize, pageNo, loginUserId); + } + private void auditText(String text) { TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); TextTaskDTO taskDTO = new TextTaskDTO(); @@ -285,14 +300,14 @@ public class UserAdviceServiceImpl extends BaseServiceImpl textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); - logger.info("用户建议文字审核入参:"+JSON.toJSONString(textScanParamDTO)); - logger.info("用户建议文字审核返参:"+JSON.toJSONString(textSyncScanResult)); + logger.info("用户建议文字审核入参:" + JSON.toJSONString(textScanParamDTO)); + logger.info("用户建议文字审核返参:" + JSON.toJSONString(textSyncScanResult)); if (!textSyncScanResult.success()) { logger.warn("用户建议文字审核接口返回失败,返参:", JSON.toJSONString(textSyncScanResult)); throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); } else { if (!textSyncScanResult.getData().isAllPass()) { - logger.warn("用户建议文字审核失败,文字:",text); + logger.warn("用户建议文字审核失败,文字:", text); throw new RenException(EpmetErrorCode.ACT_REQ_SCAN_FAILED.getCode()); } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml index 0f7d01cd50..d787d73850 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml @@ -43,4 +43,25 @@ where id = #{adviceId} and del_flag = 0 + + + + + + + + + + + From 86ac79a366c93db2de6e54b2675403538d7051f9 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Mon, 9 Nov 2020 18:21:36 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=AB=AF-=E6=88=91?= =?UTF-8?q?=E7=9A=84=E5=BB=BA=E8=AE=AE=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/UserAdviceController.java | 6 ++++++ .../src/main/resources/mapper/UserAdviceDao.xml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java index 1020c5d66a..070b0030f4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java @@ -140,6 +140,12 @@ public class UserAdviceController { public Result> myAdviceList(@RequestBody Map map) { int pageSize = map.get("pageSize"); int pageNo = map.get("pageNo"); + if (pageSize == 0){ + pageSize = 10; + } + if (pageNo == 0){ + pageNo = 1; + } return new Result>().ok(userAdviceService.myAdviceList(pageSize,pageNo,loginUserUtil.getLoginUserId())); } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml index d787d73850..42c4b57f44 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserAdviceDao.xml @@ -59,7 +59,7 @@ order by created_time desc limit ${(pageNo-1)*pageSize},${pageSize}; - select img_url from user_advice_img where del_flag = 0 and advice_Id = #{id} and type = 'resi' From 6bb97351e1ffde3730de4efb9b89fabd1f50063f Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 9 Nov 2020 18:44:39 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=8B=8B=E7=AB=A0=E5=A2=9E=E5=8A=A0=E8=A1=A5=E5=81=BF=EF=BC=8C?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E7=94=A8=E6=88=B7=E5=BE=BD?= =?UTF-8?q?=E7=AB=A0=EF=BC=8C=E5=B0=86keys=E6=93=8D=E4=BD=9C=E6=94=BE?= =?UTF-8?q?=E5=9C=A8=E7=AE=A1=E9=81=93=E5=A4=96=EF=BC=8C=E5=90=A6=E5=88=99?= =?UTF-8?q?=E8=BF=94=E5=9B=9Enull=EF=BC=8C=E5=85=B7=E4=BD=93=E5=8E=9F?= =?UTF-8?q?=E5=9B=A0=E8=BF=98=E5=9C=A8=E6=9F=A5=E3=80=82=E3=80=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/redis/RedisUtils.java | 8 ++++ .../epmet/dto/form/UserBadgeUnitFormDTO.java | 2 +- .../com/epmet/controller/BadgeController.java | 19 ++++++-- .../main/java/com/epmet/dao/UserBadgeDao.java | 11 +++++ .../java/com/epmet/redis/UserBadgeRedis.java | 32 ++++++++++--- .../com/epmet/service/UserBadgeService.java | 10 +++++ .../service/impl/UserBadgeServiceImpl.java | 14 ++++++ .../main/resources/mapper/UserBadgeDao.xml | 45 +++++++++++++++++++ 8 files changed, 129 insertions(+), 12 deletions(-) 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 19d8e73374..af891dc817 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 @@ -166,6 +166,14 @@ public class RedisUtils { redisTemplate.opsForHash().delete(key, fields); } + public void rightPush(String key, Object value, long expire){ + redisTemplate.opsForList().rightPush(key, value); + + if (expire != NOT_EXPIRE) { + expire(key, expire); + } + } + public void leftPush(String key, Object value) { leftPush(key, value, DEFAULT_EXPIRE); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserBadgeUnitFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserBadgeUnitFormDTO.java index 406f527bb9..a68dd2157e 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserBadgeUnitFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/UserBadgeUnitFormDTO.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.Objects; /** - * @Description 用户-徽章缓存单元 + * @Description 用户-徽章缓存单元(专为redis操作提供) 尽量不要使用这个DTO,因为重写了hashcode和equals!!!!!!! * @ClassName UserBadgeUnitFormDTO * @Auth wangc * @Date 2020-11-05 10:00 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java index 12042c4fbd..c284939571 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java @@ -12,12 +12,10 @@ import com.epmet.dto.result.BadgeAuditRecordResultDTO; import com.epmet.dto.result.BadgeAuditingResultDTO; import com.epmet.dto.result.BadgeDetailResultDTO; import com.epmet.dto.result.BadgeListResultDTO; +import com.epmet.redis.UserBadgeRedis; import com.epmet.service.BadgeService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -150,4 +148,17 @@ public class BadgeController { return new Result(); } + @Autowired + private UserBadgeRedis redis; + @PostMapping("compensation-mechanism") + public Result compensationMechanism(@RequestParam("userId")String userId,@RequestParam("customerId")String customerId,@RequestParam("b1")String b1, + @RequestParam("b2")String b2){ + redis.pushOrRemoveUserBadge4List(userId,b1,customerId); + redis.pushOrRemoveUserBadge4List(userId,b1,customerId); + redis.pushOrRemoveUserBadge4List(userId,b1,customerId); + redis.pushOrRemoveUserBadge4List(userId,b2,customerId); + redis.batchClearUserBadgeCache(customerId); + redis.obtainUserBadge2List(userId,customerId); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java index 65910f22cd..b304118d3d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserBadgeDao.java @@ -4,6 +4,7 @@ import com.epmet.dto.UserBadgeCertificateRecordDTO; import com.epmet.dto.form.AuthFieldFormDTO; import com.epmet.dto.form.OpenedOrClosedFormDTO; import com.epmet.dto.form.UserBadgeListFormDTO; +import com.epmet.dto.form.UserBadgeUnitFormDTO; import com.epmet.dto.result.AuthFieldResultDTO; import com.epmet.dto.result.CertificationDetailResultDTO; import com.epmet.dto.result.UserBadgeListResultDTO; @@ -92,4 +93,14 @@ public interface UserBadgeDao { * @date 2020/11/4 6:04 下午 */ void updateIsOpen(OpenedOrClosedFormDTO openedOrClosedFormDTO); + + /** + * @Description 查找用户全部的显示徽章(排序) + * @param userId + * @param customerId + * @return java.util.List + * @author wangc + * @date 2020.11.09 14:14 + */ + List selectUserSortedBadge(@Param("userId")String userId,@Param("customerId")String customerId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java index f5c22ca54a..759ae00192 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/redis/UserBadgeRedis.java @@ -16,10 +16,14 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.data.redis.connection.RedisConnection; +import org.springframework.data.redis.connection.StringRedisConnection; import org.springframework.data.redis.core.RedisCallback; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; +import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Set; @@ -106,8 +110,23 @@ public class UserBadgeRedis { * @date 2020.11.05 13:26 */ public List obtainUserBadge2List(String userId,String customerId) { - //TODO 补偿 - return redisUtils.lrange(UserRedisKeys.getResiUserBadgeKey(customerId,userId), NumConstant.ZERO, NumConstant.ONE_NEG, UserBadgeUnitFormDTO.class); + List cache = + redisUtils.lrange(UserRedisKeys.getResiUserBadgeKey(customerId,userId), NumConstant.ZERO, NumConstant.ONE_NEG, UserBadgeUnitFormDTO.class); + if(!CollectionUtils.isEmpty(cache)) return cache; + //补偿 + cache = badgeService.getUserSortedBadge(userId,customerId); + if(CollectionUtils.isEmpty(cache)) return cache; + final List sortedBadges = cache; + redisTemplate.executePipelined((RedisCallback>) connection ->{ + sortedBadges.forEach(badge -> { + + connection.listCommands().rPush(UserRedisKeys.getResiUserBadgeKey(customerId, userId).getBytes(), + redisTemplate.getValueSerializer().serialize(badge)); + }); + return null; + }); + + return cache; } /** @@ -160,12 +179,11 @@ public class UserBadgeRedis { * @date 2020.11.09 10:02 */ public void batchClearUserBadgeCache(String customerId){ + Set key = redisUtils.keys(UserRedisKeys.getResiUserBadgeKey(customerId, null)); + if(CollectionUtils.isEmpty(key)) return; + final Set keys = key; redisTemplate.executePipelined((RedisCallback) connection ->{ - Set keys = - connection.keys(redisTemplate.getKeySerializer().serialize(UserRedisKeys.getResiUserBadgeKey(customerId, null))); - if(!CollectionUtils.isEmpty(keys)){ - keys.forEach( ser -> {connection.del(ser);}); - } + keys.forEach( ser -> {connection.del(redisTemplate.getKeySerializer().serialize(ser));}); return null; }); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java index 81213550b9..65e9494cc8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeService.java @@ -81,4 +81,14 @@ public interface UserBadgeService { */ void reloadCustomerBadge(String customerId); + /** + * @Description 得到用户全部的显示徽章(排序) + * @param userId + * @param customerId + * @return java.util.List + * @author wangc + * @date 2020.11.09 13:45 + */ + List getUserSortedBadge(String userId,String customerId); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java index 2f3f51ed86..4d71f25c04 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java @@ -10,6 +10,7 @@ import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.PhoneValidatorUtils; import com.epmet.constant.BadgeConstant; import com.epmet.constant.SmsTemplateConstant; +import com.epmet.dao.ResiUserBadgeDao; import com.epmet.dao.UserBadgeDao; import com.epmet.dto.UserBadgeCertificateRecordDTO; import com.epmet.dto.form.*; @@ -254,4 +255,17 @@ public class UserBadgeServiceImpl implements UserBadgeService { userBadgeRedis.setCustomerBadge(userBadgeListResultDTOS, customerId); } + /** + * @Description 得到用户全部的显示徽章(排序) + * @param userId + * @param customerId + * @return java.util.List + * @author wangc + * @date 2020.11.09 13:45 + */ + @Override + public List getUserSortedBadge(String userId, String customerId) { + return userBadgeDao.selectUserSortedBadge(userId,customerId); + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml index a20a9c0e61..33b3c4eabb 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBadgeDao.xml @@ -180,4 +180,49 @@ ) + + From 136c5e9c13d7ed834ca7518dc0613da3e037b293 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 10 Nov 2020 09:06:07 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/UserBadgeServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java index b4fe0dbef6..74a1ddaddd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeServiceImpl.java @@ -158,6 +158,12 @@ public class UserBadgeServiceImpl implements UserBadgeService { return new Result(); } + /** + * @Description 站内信发送——提交徽章认证 + * @Param form + * @author zxc + * @date 2020/11/10 9:04 上午 + */ public void sendMessageByUser(UserBadgeCertificateRecordDTO form){ List msgList = new ArrayList<>(); UserMessageFormDTO formDTO = new UserMessageFormDTO(); From 6570ef98076536796de57ca00c72bdde1b149941 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 10 Nov 2020 09:31:53 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8C=85=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{badege => person}/controller/BadgeController.java | 4 ++-- .../modules/{badege => person}/service/BadgeService.java | 2 +- .../{badege => person}/service/impl/BadgeServiceImpl.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) rename epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/{badege => person}/controller/BadgeController.java (97%) rename epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/{badege => person}/service/BadgeService.java (97%) rename epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/{badege => person}/service/impl/BadgeServiceImpl.java (97%) diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/controller/BadgeController.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/BadgeController.java similarity index 97% rename from epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/controller/BadgeController.java rename to epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/BadgeController.java index 727e1ee1ae..f9f133bc02 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/controller/BadgeController.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/controller/BadgeController.java @@ -1,11 +1,11 @@ -package com.epmet.modules.badege.controller; +package com.epmet.modules.person.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.OpenedOrClosedFormDTO; -import com.epmet.modules.badege.service.BadgeService; +import com.epmet.modules.person.service.BadgeService; import com.epmet.resi.mine.dto.from.BadgeListFormDTO; import com.epmet.dto.form.CertificationAddFormDTO; import com.epmet.resi.mine.dto.from.OperListFormDTO; diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/service/BadgeService.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/BadgeService.java similarity index 97% rename from epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/service/BadgeService.java rename to epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/BadgeService.java index c9da1f12ed..2bd0869cbb 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/service/BadgeService.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/BadgeService.java @@ -1,4 +1,4 @@ -package com.epmet.modules.badege.service; +package com.epmet.modules.person.service; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/service/impl/BadgeServiceImpl.java b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/impl/BadgeServiceImpl.java similarity index 97% rename from epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/service/impl/BadgeServiceImpl.java rename to epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/impl/BadgeServiceImpl.java index 53057f9492..0bcfd1fb8b 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/badege/service/impl/BadgeServiceImpl.java +++ b/epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/person/service/impl/BadgeServiceImpl.java @@ -1,4 +1,4 @@ -package com.epmet.modules.badege.service.impl; +package com.epmet.modules.person.service.impl; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; @@ -10,7 +10,7 @@ import com.epmet.dto.form.UserOperListFormDTO; import com.epmet.dto.result.UserBadgeListResultDTO; import com.epmet.dto.result.UserOperListResultDTO; import com.epmet.feign.EpmetUserOpenFeignClient; -import com.epmet.modules.badege.service.BadgeService; +import com.epmet.modules.person.service.BadgeService; import com.epmet.resi.mine.dto.from.BadgeListFormDTO; import com.epmet.dto.form.CertificationAddFormDTO; import com.epmet.resi.mine.dto.from.OperListFormDTO; From 820e40e3b9cede0453ab065bd815518f8b389b61 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Tue, 10 Nov 2020 09:34:52 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A5=E5=8F=82?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserAdviceController.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java index 070b0030f4..0886a6a824 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserAdviceController.java @@ -102,6 +102,13 @@ public class UserAdviceController { ExcelUtils.exportExcelToTarget(response, null, list, UserAdviceExcel.class); } + /** + * @Description 运营-回复建议 + * @param dto + * @return com.epmet.commons.tools.utils.Result + * @Author liushaowen + * @Date 2020/11/10 9:34 + */ @PostMapping("replyadvice") public Result replyAdvice(@RequestBody ReplyAdviceFormDTO dto) { ValidatorUtils.validateEntity(dto); @@ -109,14 +116,29 @@ public class UserAdviceController { return new Result(); } + /** + * @Description 运营端-建议详情 + * @param map + * @return com.epmet.commons.tools.utils.Result + * @Author liushaowen + * @Date 2020/11/10 9:33 + */ @PostMapping("advicedetail") - public Result adviceDetail(String adviceId) { + public Result adviceDetail(@RequestBody Map map) { + String adviceId = map.get("adviceId"); if (StringUtils.isBlank(adviceId)) { throw new RenException("adviceId不能为空"); } return new Result().ok(userAdviceService.adviceDetail(adviceId)); } + /** + * @Description 运营端-建议列表 + * @param dto + * @return com.epmet.commons.tools.utils.Result> + * @Author liushaowen + * @Date 2020/11/10 9:32 + */ @PostMapping("advicelist") public Result> adviceList(@RequestBody AdviceListFormDTO dto) { ValidatorUtils.validateEntity(dto); From d9f88b1116a7c4ccdd4dbebda459f96a4d1f52b6 Mon Sep 17 00:00:00 2001 From: liushaowen <565850092@qq.com> Date: Tue, 10 Nov 2020 09:37:11 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A5=E5=8F=82?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/CustomerAgencyController.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java index 3135924fdd..1876fedb9b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerAgencyController.java @@ -251,13 +251,14 @@ public class CustomerAgencyController { /** * @Description 对外接口,根据customerId返回Element UI中Tree结构的agency列表 - * @param customerId + * @param map * @return com.epmet.commons.tools.utils.Result * @Author liushaowen * @Date 2020/11/6 13:51 */ @PostMapping("getagencyelementtreelist") - public Result> getAgencyElementTreeList(String customerId){ + public Result> getAgencyElementTreeList(@RequestBody Map map){ + String customerId = map.get("customerId"); if (StringUtils.isBlank(customerId)){ throw new RenException("customerId不能为空"); } @@ -265,13 +266,14 @@ public class CustomerAgencyController { } /** * @Description 对外接口,根据customerId返回Element UI中Tree结构的agency keys - * @param customerId + * @param map * @return com.epmet.commons.tools.utils.Result * @Author liushaowen * @Date 2020/11/6 13:51 */ @PostMapping("getagencyelementtreekeys") - public Result> getAgencyElementTreeKeys(String customerId){ + public Result> getAgencyElementTreeKeys(@RequestBody Map map){ + String customerId = map.get("customerId"); if (StringUtils.isBlank(customerId)){ throw new RenException("customerId不能为空"); }