From ebc9a8807f1bcd5fd069d7a28017499fe1682930 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 27 Aug 2021 15:13:58 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=80=89=E7=BE=A4=E7=BB=84bug=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/UserMessageTypeConstant.java | 24 +++++++++++++++++++ .../epmet/constant/UserMessageConstans.java | 1 - .../com/epmet/dao/InfoGroupReceiversDao.java | 3 ++- .../epmet/service/impl/InfoServiceImpl.java | 3 ++- .../mapper/InfoGroupReceiversDao.xml | 8 +++++-- 5 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java new file mode 100644 index 0000000000..1dcdce9821 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java @@ -0,0 +1,24 @@ +package com.epmet.constant; + + +/** + * @author yinzuomei + * @dscription + * @date 2021/08/27 14:22 + */ +public interface UserMessageTypeConstant { + + //上传下达 + /** + * 工作端发送消息,通知接收人 + */ + String INFO="info"; + + /** + * 居民端提交热心居民申请,通知网格长 + */ + String WARMHEARTED_APPLY="warmhearted_apply"; + + + +} diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/UserMessageConstans.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/UserMessageConstans.java index 7c20b668a6..6b4fa8c2ed 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/UserMessageConstans.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/constant/UserMessageConstans.java @@ -20,6 +20,5 @@ public interface UserMessageConstans { String INFO_TITLE="您有一条新消息"; - String MESSAGE_TYPE_INFO="info"; String INFO_CONTENT_TEMP="您有一条【%s】的新消息,请您查看"; } diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java index 5ddcf73e9c..e2b275a750 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/InfoGroupReceiversDao.java @@ -20,6 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.entity.InfoGroupReceiversEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.Set; @@ -40,5 +41,5 @@ public interface InfoGroupReceiversDao extends BaseDao * @author yinzuomei * @date 2021/8/19 10:51 上午 */ - Set selectStaffIds(Set groupIdList); + Set selectStaffIds(@Param("groupIdList") Set groupIdList); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java index ba3712ccca..1dbb43ad80 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/InfoServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.UserMessageConstans; +import com.epmet.constant.UserMessageTypeConstant; import com.epmet.dao.*; import com.epmet.dto.form.*; import com.epmet.dto.result.AddReceiverGroupResultDTO; @@ -159,7 +160,7 @@ public class InfoServiceImpl extends BaseServiceImpl implem infoEntity.getContent().length() > NumConstant.FIFTY ? StringUtils.substring(infoEntity.getContent(), NumConstant.ZERO,NumConstant.FORTY_NINE) : infoEntity.getContent())); userMessageEntity.setReadFlag(UserMessageConstans.UNREAD); - userMessageEntity.setMessageType(UserMessageConstans.MESSAGE_TYPE_INFO); + userMessageEntity.setMessageType(UserMessageTypeConstant.INFO); userMessageEntity.setTargetId(infoEntity.getId()); userMessageEntity.setCreatedBy(formDTO.getUserId()); userMessageEntity.setUpdatedBy(formDTO.getUserId()); diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml index d8aefa0520..e57f5bbaf8 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/InfoGroupReceiversDao.xml @@ -11,9 +11,13 @@ info_group_receivers igr WHERE igr.DEL_FLAG = '0' - AND igr.info_receiver_group_id IN ( - '1','2' + + AND igr.info_receiver_group_id IN + + #{groupId} + ) + From dcdb50c17f21e3d0ec0639e5116354625231ebb3 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 27 Aug 2021 15:32:34 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=88=91=E7=9A=84=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=B7=BB=E5=8A=A0=E6=A0=B9=E7=BB=84=E7=BB=87?= =?UTF-8?q?id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/result/MineResultDTO.java | 4 ++++ .../java/com/epmet/service/impl/StaffServiceImpl.java | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java index de4bf27a47..69e4ff630d 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/MineResultDTO.java @@ -55,4 +55,8 @@ public class MineResultDTO implements Serializable { * 手机号 */ private String mobile; + /** + * 根组织 + */ + private String rootAgencyId; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java index 00b787aca5..ceab225169 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/StaffServiceImpl.java @@ -1,6 +1,7 @@ package com.epmet.service.impl; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; @@ -229,6 +230,15 @@ public class StaffServiceImpl implements StaffService { //用户所属机关名称 result.setMyAgencyName(customerAgencyDTO.getOrganizationName()); } + //2021.08.27 zhaoqf start + //获取根组织 + CustomerAgencyDTO agency = customerAgencyService.get(customerStaffAgency.getAgencyId()); + if (StringUtils.isNotBlank(agency.getPids())) { + result.setRootAgencyId(agency.getPids().split(StrConstant.COLON)[0]); + } else { + result.setRootAgencyId(customerStaffAgency.getAgencyId()); + } + //2021.08.27 zhaoqf end return result; } From b5874ae175e0879db87e9e30628a0c4ba2e7311a Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 27 Aug 2021 15:32:57 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=88=87=E9=9D=A2=E4=B8=8D=E6=8D=95?= =?UTF-8?q?=E8=8E=B7=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/aop/NoRepeatSubmitAop.java | 56 +++++++++---------- 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java index ff41a7747c..2c391d6b81 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java @@ -35,41 +35,35 @@ public class NoRepeatSubmitAop { private DistributedLock distributedLock; @Around("@annotation(noRepeatSubmit)") - public Object around(ProceedingJoinPoint pjp, NoRepeatSubmit noRepeatSubmit) { + public Object around(ProceedingJoinPoint pjp, NoRepeatSubmit noRepeatSubmit) throws Throwable { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + assert attributes != null; + HttpServletRequest request = attributes.getRequest(); + String internalToken = request.getHeader(AUTHORIZATION_TOKEN_HEADER_KEY); + String key = getKey(request.getRequestURI(), internalToken); + // 如果缓存中有这个url视为重复提交 + Object result = null; + RLock lock = null; try { - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - assert attributes != null; - HttpServletRequest request = attributes.getRequest(); - String internalToken = request.getHeader(AUTHORIZATION_TOKEN_HEADER_KEY); - String key = getKey(request.getRequestURI(), internalToken); - // 如果缓存中有这个url视为重复提交 - Object result = null; - RLock lock = null; - try { - long leaseTime = noRepeatSubmit.leaseTime(); - //如果获取不到锁等待0秒直接返回 持锁时间为leaseTime - lock = distributedLock.getLock(RedisKeys.getNoRepeatSubmitKey(key), leaseTime, NumConstant.ZERO_L, TimeUnit.MILLISECONDS); - } catch (Exception e) { - log.warn("noRepeatSubmit key:{},msg:{}", key, e.getMessage()); - //"未获取到锁,重复提交了 - throw new RenException(EpmetErrorCode.REPEAT_SUBMIT.getCode()); - } - try { - //因为getLock如果获取失败抛异常 所以不做锁状态的判断 - result = pjp.proceed(); - } finally { - distributedLock.unLock(lock); - } + long leaseTime = noRepeatSubmit.leaseTime(); + //如果获取不到锁等待0秒直接返回 持锁时间为leaseTime + lock = distributedLock.getLock(RedisKeys.getNoRepeatSubmitKey(key), leaseTime, NumConstant.ZERO_L, TimeUnit.MILLISECONDS); + } catch (Exception e) { + log.warn("noRepeatSubmit key:{},msg:{}", key, e.getMessage()); + //"未获取到锁,重复提交了 + throw new RenException(EpmetErrorCode.REPEAT_SUBMIT.getCode()); + } + try { + //因为getLock如果获取失败抛异常 所以不做锁状态的判断 + result = pjp.proceed(); + } finally { + distributedLock.unLock(lock); + } - return result; - } catch (RenException e) { - throw e; - } catch (Throwable e) { - log.error("验证重复提交时出现未知异常!"); - throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); - } + return result; + } private String getKey(String keyExpress, String token) {