From f8c5ae7324170d45e0946e49642206c2c322d1a0 Mon Sep 17 00:00:00 2001
From: yinzuomei <576302893@qq.com>
Date: Fri, 5 May 2023 10:48:17 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../result/OrganizationMessageResultDTO.java | 9 ++
.../epmet-message-server/pom.xml | 5 -
.../entity/OrganizationMessageEntity.java | 10 +-
.../impl/OrganizationMessageServiceImpl.java | 93 ++++++++++++++++++-
.../mapper/OrganizationMessageDao.xml | 2 +
.../dto/form/RegisterRelationPageFormDTO.java | 33 +++++++
.../epmet/feign/EpmetUserOpenFeignClient.java | 8 ++
.../EpmetUserOpenFeignClientFallback.java | 11 +++
.../RegisterRelationController.java | 18 ++++
.../com/epmet/dao/RegisterRelationDao.java | 5 +
.../service/RegisterRelationService.java | 12 +++
.../impl/RegisterRelationServiceImpl.java | 20 ++++
.../resources/mapper/RegisterRelationDao.xml | 17 +++-
13 files changed, 234 insertions(+), 9 deletions(-)
create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RegisterRelationPageFormDTO.java
diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/OrganizationMessageResultDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/OrganizationMessageResultDTO.java
index 0d68bafe6d..08b6d88924 100644
--- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/OrganizationMessageResultDTO.java
+++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/OrganizationMessageResultDTO.java
@@ -61,5 +61,14 @@ public class OrganizationMessageResultDTO {
* 发布人所属组织名称
*/
private String publishOrgName;
+
+ /**
+ * 发送结果
+ */
+ private String sendMsgRes;
+ /**
+ * 共发送出多少条消息
+ */
+ private Integer totalReceiver;
}
diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml
index fef8b6bded..daa811ed8e 100644
--- a/epmet-module/epmet-message/epmet-message-server/pom.xml
+++ b/epmet-module/epmet-message/epmet-message-server/pom.xml
@@ -101,11 +101,6 @@
flyway-core
-
- com.epmet
- epmet-user-client
- 2.0.0
-
com.epmet
epmet-third-client
diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/OrganizationMessageEntity.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/OrganizationMessageEntity.java
index 383720be2a..416f66793b 100644
--- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/OrganizationMessageEntity.java
+++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/entity/OrganizationMessageEntity.java
@@ -65,5 +65,13 @@ public class OrganizationMessageEntity extends BaseEpmetEntity {
* 发布时间
*/
private Date publishTime;
-
+ /**
+ * 发送结果
+ * sending发送中;failed失败;success成功
+ */
+ private String sendMsgRes;
+ /**
+ * 共发送出多少条消息
+ */
+ private Integer totalReceiver;
}
diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/OrganizationMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/OrganizationMessageServiceImpl.java
index cfc8daef6a..616228fc59 100644
--- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/OrganizationMessageServiceImpl.java
+++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/OrganizationMessageServiceImpl.java
@@ -1,9 +1,15 @@
package com.epmet.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
+import com.epmet.commons.tools.constant.AppClientConstant;
+import com.epmet.commons.tools.constant.Constant;
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.enums.OrgTypeEnum;
+import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
@@ -12,18 +18,26 @@ import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.PidUtils;
+import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.OrganizationMessageDao;
import com.epmet.dao.OrganizationMessagePublishRangeDao;
+import com.epmet.dao.UserMessageDao;
import com.epmet.dto.OrganizationMessageFormDTO;
import com.epmet.dto.OrganizationMessagePublishRangeDTO;
+import com.epmet.dto.RegisterRelationDTO;
+import com.epmet.dto.form.RegisterRelationPageFormDTO;
import com.epmet.dto.result.OrganizationMessageResultDTO;
import com.epmet.entity.OrganizationMessageEntity;
import com.epmet.entity.OrganizationMessagePublishRangeEntity;
+import com.epmet.entity.UserMessageEntity;
+import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.service.OrganizationMessageService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -36,10 +50,16 @@ import java.util.List;
* @author generator generator@elink-cn.com
* @since v1.0.0 2023-05-04
*/
+@Slf4j
@Service
public class OrganizationMessageServiceImpl extends BaseServiceImpl implements OrganizationMessageService {
@Autowired
private OrganizationMessagePublishRangeDao organizationMessagePublishRangeDao;
+ @Autowired
+ private UserMessageDao userMessageDao;
+ @Autowired
+ private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
+
/**
* 分页列表
@@ -93,6 +113,7 @@ public class OrganizationMessageServiceImpl extends BaseServiceImpl rangeList, String customerId) {
+ String result = "success";
+ int totalMsg = NumConstant.ZERO;
+ try {
+ for (OrganizationMessagePublishRangeDTO rangeDto : rangeList) {
+ RegisterRelationPageFormDTO pageFormDTO=new RegisterRelationPageFormDTO();
+ pageFormDTO.setCustomerId(customerId);
+ pageFormDTO.setFirstRegister(NumConstant.ONE_STR);
+ pageFormDTO.setPageNo(NumConstant.ONE);
+ pageFormDTO.setPageSize(NumConstant.TWO);
+ // pageFormDTO.setPageSize(NumConstant.ONE_THOUSAND);
+ if (OrgTypeEnum.GRID.getCode().equals(rangeDto.getOrgType())) {
+ // 查询该网格下的注册居民
+ pageFormDTO.setGridId(rangeDto.getOrgId());
+ } else {
+ // 查询该组织下的注册居民
+ pageFormDTO.setAgencyIdPath(rangeDto.getOrgIdPath());
+ }
+ List list=null;
+ do {
+ Result> regRes = epmetUserOpenFeignClient.pageQueryRegisterUser(pageFormDTO);
+ list = regRes.getData().getList();
+ for (RegisterRelationDTO regUser : list) {
+ LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper();
+ queryWrapper.eq(UserMessageEntity::getCustomerId,customerId)
+ .eq(UserMessageEntity::getTargetId,messageId)
+ .eq(UserMessageEntity::getUserId,regUser.getUserId());
+ UserMessageEntity origin=userMessageDao.selectOne(queryWrapper);
+ if(null==origin){
+ UserMessageEntity userMessageEntity = new UserMessageEntity();
+ userMessageEntity.setCustomerId(customerId);
+ userMessageEntity.setGridId(regUser.getGridId());
+ userMessageEntity.setUserId(regUser.getUserId());
+ userMessageEntity.setApp(AppClientConstant.APP_RESI);
+ userMessageEntity.setTitle("您有一条社区消息!");
+ userMessageEntity.setMessageContent(content);
+ userMessageEntity.setReadFlag(Constant.UNREAD);
+ userMessageEntity.setReferer(StrConstant.EPMETY_STR);
+ userMessageEntity.setMessageType("organization_message");
+ userMessageEntity.setTargetId(messageId);
+ userMessageEntity.setCreatedBy(publishStaffId);
+ userMessageEntity.setUpdatedBy(publishStaffId);
+ userMessageDao.insert(userMessageEntity);
+ totalMsg += 1;
+ }
+ }
+ pageFormDTO.setPageNo(pageFormDTO.getPageNo() + NumConstant.ONE);
+ } while (CollectionUtils.isNotEmpty(list) && list.size() == pageFormDTO.getPageSize());
+ }
+ } catch (Exception e) {
+ log.error(String.format("messageId:%s,发送消息异常:%s", messageId, ExceptionUtils.getErrorStackTrace(e)));
+ result = "failed";
+ } finally {
+ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
+ updateWrapper.eq(OrganizationMessageEntity::getId, messageId)
+ .set(OrganizationMessageEntity::getSendMsgRes, result)
+ .set(OrganizationMessageEntity::getTotalReceiver, totalMsg)
+ .set(OrganizationMessageEntity::getUpdatedTime,new Date());
+ baseDao.update(null, updateWrapper);
+ }
+ }
+
+
}
\ No newline at end of file
diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/OrganizationMessageDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/OrganizationMessageDao.xml
index 742421c739..8e8bd51ad6 100644
--- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/OrganizationMessageDao.xml
+++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/OrganizationMessageDao.xml
@@ -32,6 +32,8 @@
om.PUBLISH_ORG_ID as publishStaffName,
om.PUBLISH_ORG_ID_PATH as publishOrgIdPath,
OM.PUBLISH_ORG_NAME as publishOrgName,
+ om.SEND_MSG_RES as sendMsgRes,
+ om.TOTAL_RECEIVER as totalReceiver,
GROUP_CONCAT(r.ORG_NAME) as publishRangeName
from organization_message om
left join organization_message_publish_range r
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RegisterRelationPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RegisterRelationPageFormDTO.java
new file mode 100644
index 0000000000..bd1e28d424
--- /dev/null
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/RegisterRelationPageFormDTO.java
@@ -0,0 +1,33 @@
+package com.epmet.dto.form;
+
+import com.epmet.commons.tools.dto.form.PageFormDTO;
+import lombok.Data;
+
+/**
+ * @Description
+ * @Author yzm
+ * @Date 2023/5/5 9:47
+ */
+@Data
+public class RegisterRelationPageFormDTO extends PageFormDTO {
+ /**
+ * 客户Id (customer.id)
+ */
+ private String customerId;
+
+ /**
+ * agencyId的所有上级,包含自己
+ */
+ private String agencyIdPath;
+
+ /**
+ * 网格Id (customer_grid.id)
+ */
+ private String gridId;
+
+ /**
+ * 首次注册用户 0表示不参与计数 1表示参与计数
+ */
+ private String firstRegister;
+}
+
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
index c80eab326e..ddc7a635e7 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
@@ -1033,4 +1033,12 @@ public interface EpmetUserOpenFeignClient {
*/
@PostMapping("/epmetuser/icNat/clearNatRecords")
Result clearNatRecords(@RequestBody Map map);
+
+ /**
+ * 分页查询注册居民
+ * @param pageFormDTO
+ * @return
+ */
+ @PostMapping("/epmetuser/registerrelation/pageQueryRegisterUser")
+ Result> pageQueryRegisterUser(@RequestBody RegisterRelationPageFormDTO pageFormDTO);
}
diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
index 4d3d56b76c..3bba7ced02 100644
--- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
+++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
@@ -756,4 +756,15 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result clearNatRecords(Map map) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "clearNatRecords", map);
}
+
+ /**
+ * 分页查询注册居民
+ *
+ * @param pageFormDTO
+ * @return
+ */
+ @Override
+ public Result> pageQueryRegisterUser(RegisterRelationPageFormDTO pageFormDTO) {
+ return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "pageQueryRegisterUser", pageFormDTO);
+ }
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RegisterRelationController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RegisterRelationController.java
index d801a5e6e9..77dd78bf9d 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RegisterRelationController.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/RegisterRelationController.java
@@ -28,6 +28,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.RegisterRelationDTO;
import com.epmet.dto.form.AllResiByGridFormDTO;
import com.epmet.dto.form.EnterGridFormDTO;
+import com.epmet.dto.form.RegisterRelationPageFormDTO;
import com.epmet.dto.result.UserInfoOnEnterGridResultDTO;
import com.epmet.excel.RegisterRelationExcel;
import com.epmet.service.RegisterRelationService;
@@ -120,4 +121,21 @@ public class RegisterRelationController {
ValidatorUtils.validateEntity(formDTO, AllResiByGridFormDTO.AllResiByGridForm.class);
return new Result().ok(registerRelationService.getAllResiByGrid(formDTO));
}
+
+ /**
+ * 分页查询注册居民信息
+ * @param pageFormDTO
+ * @return
+ */
+ @PostMapping("pageQueryRegisterUser")
+ public Result> pageQueryRegisterUser(@RequestBody RegisterRelationPageFormDTO pageFormDTO){
+ return new Result>().ok(registerRelationService.pageQueryRegisterUser(pageFormDTO.getPageNo(),
+ pageFormDTO.getPageSize(),
+ pageFormDTO.getCustomerId(),
+ pageFormDTO.getGridId(),
+ pageFormDTO.getAgencyIdPath(),
+ pageFormDTO.getFirstRegister()));
+ }
+
+
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RegisterRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RegisterRelationDao.java
index f5f4cdfd35..83ac08f940 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RegisterRelationDao.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/RegisterRelationDao.java
@@ -71,4 +71,9 @@ public interface RegisterRelationDao extends BaseDao {
* @date 2022/10/8 10:48
*/
Integer getAllResiByGrid(@Param("gridId")String gridId);
+
+ List pageQueryRegisterUser(@Param("customerId") String customerId,
+ @Param("gridId") String gridId,
+ @Param("agencyIdPath") String agencyIdPath,
+ @Param("firstRegister") String firstRegister);
}
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RegisterRelationService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RegisterRelationService.java
index 7179b78530..ed39bd6441 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RegisterRelationService.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/RegisterRelationService.java
@@ -123,4 +123,16 @@ public interface RegisterRelationService extends BaseService pageQueryRegisterUser(Integer pageNo, Integer pageSize, String customerId, String gridId, String agencyIdPath, String firstRegister);
}
\ No newline at end of file
diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java
index 11cca8346e..6091ab7cdb 100644
--- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java
+++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java
@@ -48,6 +48,8 @@ import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.GridVisitedService;
import com.epmet.service.RegisterRelationService;
import com.epmet.util.ModuleConstant;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -389,4 +391,22 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl pageQueryRegisterUser(Integer pageNo, Integer pageSize, String customerId, String gridId, String agencyIdPath, String firstRegister) {
+ PageHelper.startPage(pageNo,pageSize);
+ List resList=baseDao.pageQueryRegisterUser(customerId,gridId,agencyIdPath,firstRegister);
+ PageInfo pageInfo = new PageInfo<>(resList);
+ return new PageData<>(resList, pageInfo.getTotal());
+ }
}
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml
index c43cea28cc..f2e0506de3 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml
@@ -97,5 +97,20 @@
AND grid_id = #{gridId}
-
+