Browse Source

Merge remote-tracking branch 'remotes/origin/dev'

# Conflicts:
#	epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-prod.yml
dev
jianjun 3 years ago
parent
commit
b13f910f7d
  1. 42
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/CustomerGridFormDTO.java
  2. 29
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovOrgFeignClient.java
  3. 24
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovOrgFeignClientFallBackFactory.java
  4. 26
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovOrgFeignClientFallback.java
  5. 25
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java
  6. 5
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/GridInfoCache.java
  7. 5
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerGridDTO.java
  8. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java
  9. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerGridEntity.java
  10. 5
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
  11. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/result/CustomerGridDTO.java
  12. 5
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerGridEntity.java
  13. 7
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/DimGridEntity.java
  14. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java
  15. 1
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsDimServiceImpl.java
  16. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java
  17. 3
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml
  18. 8
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java
  19. 11
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java
  20. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java
  21. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/VolunteerInfoDao.java
  22. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java
  23. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java
  24. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/VolunteerInfoDao.xml
  25. 1
      epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml
  26. 1
      epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml
  27. 9
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java
  28. 5
      epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java
  29. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java
  30. 16
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java
  31. 8
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java
  32. 21
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java
  33. 20
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml
  34. 4
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java
  35. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java
  36. 15
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AbandonGridFormDTO.java
  37. 9
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java
  38. 5
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java
  39. 6
      epmet-module/gov-org/gov-org-server/pom.xml
  40. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java
  41. 16
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java
  42. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java
  43. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java
  44. 19
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java
  45. 5
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerGridEntity.java
  46. 34
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java
  47. 25
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java
  48. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java
  49. 27
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java
  50. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportNeighborHoodInfoListener.java
  51. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java
  52. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java
  53. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java
  54. 146
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  55. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java
  56. 3
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.13__abandon_grid.sql
  57. 20
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml
  58. 3
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml
  59. 23
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml
  60. 25
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectAuditResetResultDTO.java
  61. 14
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java
  62. 5
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java
  63. 11
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java
  64. 22
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java
  65. 9
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java
  66. 45
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java
  67. 36
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml
  68. 2
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerResiGuideController.java
  69. 2
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/UserGuideController.java
  70. 33
      epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java
  71. 31
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/WarnAndPartyAuditResultDTO.java
  72. 10
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/ResiPartyMemberOpenFeignClient.java
  73. 6
      epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/fallback/ResiPartyMemberOpenFeignClientFallback.java
  74. 12
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberConfirmManualController.java
  75. 17
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberConfirmManualDao.java
  76. 9
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberConfirmManualService.java
  77. 24
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmManualServiceImpl.java
  78. 34
      epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmManualDao.xml
  79. 26
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ModifyRegGridFormDTO.java
  80. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestGridInfoResultDTO.java
  81. 27
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java
  82. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridLatestController.java
  83. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java
  84. 9
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java
  85. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRegGridChangeRecDao.java
  86. 41
      epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserRegGridChangeRecEntity.java
  87. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java
  88. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridLatestService.java
  89. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeCertificateRecordService.java
  90. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java
  91. 21
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java
  92. 11
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java
  93. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeCertificateRecordServiceImpl.java
  94. 111
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java
  95. 14
      epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.25__create_user_reg_grid_rec.sql
  96. 10
      epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml
  97. 2
      epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml
  98. 8
      epmet-user/epmet-user-server/src/main/resources/mapper/UserRegGridChangeRecDao.xml

42
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/form/CustomerGridFormDTO.java

@ -0,0 +1,42 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* 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.
* <p>
* 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.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.commons.tools.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* epmet-user端调用gov-org端的入参
* @author sun
*/
@Data
public class CustomerGridFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 网格Id
*/
@NotBlank(message = "网格ID不能为空", groups = {Grid.class})
private String gridId;
public interface Grid{}
}

29
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovOrgFeignClient.java

@ -0,0 +1,29 @@
package com.epmet.commons.tools.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO;
import com.epmet.commons.tools.feign.fallback.CommonGovOrgFeignClientFallBackFactory;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* @Author zxc
* @DateTime 2022/3/17 1:42 下午
* @DESC
*/
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = CommonGovOrgFeignClientFallBackFactory.class)
public interface CommonGovOrgFeignClient {
/**
* @Description 查询网格信息
* @param customerGridFormDTO
* @author zxc
* @date 2021/11/5 2:54 下午
*/
@PostMapping("/gov/org/grid/getbaseinfo")
Result<GridInfoCache> getGridInfo(@RequestBody CustomerGridFormDTO customerGridFormDTO);
}

24
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovOrgFeignClientFallBackFactory.java

@ -0,0 +1,24 @@
package com.epmet.commons.tools.feign.fallback;
import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @Author zxc
* @DateTime 2022/3/17 1:46 下午
* @DESC
*/
@Slf4j
@Component
public class CommonGovOrgFeignClientFallBackFactory implements FallbackFactory<CommonGovOrgFeignClient> {
private CommonGovOrgFeignClientFallback fallback = new CommonGovOrgFeignClientFallback();
@Override
public CommonGovOrgFeignClient create(Throwable cause) {
log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause)));
return fallback;
}
}

26
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovOrgFeignClientFallback.java

@ -0,0 +1,26 @@
package com.epmet.commons.tools.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO;
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import org.springframework.stereotype.Component;
/**
* 调用政府端权限
* @Author wxz
* @Description
* @Date 2020/4/24 11:17
**/
@Component
public class CommonGovOrgFeignClientFallback implements CommonGovOrgFeignClient {
@Override
public Result<GridInfoCache> getGridInfo(CustomerGridFormDTO customerGridFormDTO) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridInfo", customerGridFormDTO);
}
}

25
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java

@ -1,8 +1,11 @@
package com.epmet.commons.tools.redis.common;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.CommonAggFeignClient;
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
@ -31,14 +34,18 @@ public class CustomerOrgRedis {
@Autowired
private CommonAggFeignClient commonAggFeignClient;
@Autowired
private CommonGovOrgFeignClient govOrgFeignClient;
private static CustomerOrgRedis customerOrgRedis;
@PostConstruct
public void init() {
customerOrgRedis = this;
customerOrgRedis.redisUtils = this.redisUtils;
customerOrgRedis.commonAggFeignClient = this.commonAggFeignClient;
customerOrgRedis.govOrgFeignClient = this.govOrgFeignClient;
}
/**
@ -50,10 +57,13 @@ public class CustomerOrgRedis {
public static GridInfoCache getGridInfo(String gridId){
String key = RedisKeys.getGridInfoKey(gridId);
Map<String, Object> grid = customerOrgRedis.redisUtils.hGetAll(key);
log.info("grid is {}", JSON.toJSONString(grid));
if (!CollectionUtils.isEmpty(grid)) {
return ConvertUtils.mapToEntity(grid, GridInfoCache.class);
}
Result<GridInfoCache> gridInfoResult = customerOrgRedis.commonAggFeignClient.getGridInfo(gridId);
CustomerGridFormDTO formDTO = new CustomerGridFormDTO();
formDTO.setGridId(gridId);
Result<GridInfoCache> gridInfoResult = customerOrgRedis.govOrgFeignClient.getGridInfo(formDTO);
if (!gridInfoResult.success()){
throw new RenException("查询网格信息失败...");
}
@ -61,8 +71,10 @@ public class CustomerOrgRedis {
//throw new RenException("没有此网格信息...");
return null;
}
// feign 方法中已经放缓存
/*log.info("select grid info is {}", JSON.toJSONString(gridInfoResult.getData()));
Map<String, Object> map = BeanUtil.beanToMap(gridInfoResult.getData(), false, true);
customerOrgRedis.redisUtils.hMSet(key, map);
customerOrgRedis.redisUtils.hMSet(key, map);*/
return gridInfoResult.getData();
}
@ -90,4 +102,13 @@ public class CustomerOrgRedis {
return agencyInfoResult.getData();
}
/**
* desc:删除网格缓存
* @param gridId
*/
public static void delGridInfo(String gridId) {
String key = RedisKeys.getGridInfoKey(gridId);
customerOrgRedis.redisUtils.delete(key);
}
}

5
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/bean/GridInfoCache.java

@ -113,4 +113,9 @@ public class GridInfoCache implements Serializable {
* 坐标区域
*/
private String coordinates;
/**
* 弃用标记
*/
private Integer abandonFlag;
}

5
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerGridDTO.java

@ -153,4 +153,9 @@ public class CustomerGridDTO implements Serializable {
* 联系电话
*/
private String mobile;
/**
* 弃用标记
*/
private Integer abandonFlag;
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerGridDao.java

@ -53,7 +53,7 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
/**
* @Author sun
* @Description 根据组织Id查询当前组织下所有网格列表
* @Description 根据组织Id查询当前组织下所有网格列表(未弃用的网格)
**/
List<GridInfoResultDTO> selectGridListByAgencyId(@Param("agencyId") String agencyId);

5
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerGridEntity.java

@ -99,4 +99,9 @@ public class CustomerGridEntity extends BaseEpmetEntity {
* 联系电话
*/
private String mobile;
/**
* 弃用标记
*/
private Integer abandonFlag;
}

5
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml

@ -53,6 +53,7 @@
WHERE
del_flag = '0'
AND pid = #{agencyId}
and ABANDON_FLAG='0'
</select>
<select id="gridListByStaffId" resultType="com.epmet.dataaggre.dto.govorg.CustomerGridDTO">
@ -174,8 +175,8 @@
cg.*
FROM customer_grid cg
LEFT JOIN customer_agency ca ON (ca.ID = cg.PID AND ca.DEL_FLAG = '0')
WHERE cg.DEL_FLAG = '0'
AND cg.ID = #{gridId}
WHERE cg.ID = #{gridId}
AND cg.DEL_FLAG = '0'
</select>
</mapper>

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/result/CustomerGridDTO.java

@ -131,4 +131,9 @@ public class CustomerGridDTO implements Serializable {
* 所有上级组织名
*/
private String allParentName;
/**
* 弃用标记
*/
private Integer abandonFlag;
}

5
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerGridEntity.java

@ -86,4 +86,9 @@ public class CustomerGridEntity extends BaseEpmetEntity {
*/
private String syncFlag;
/**
* 弃用标记
*/
private Integer abandonFlag;
}

7
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/stats/DimGridEntity.java

@ -17,6 +17,7 @@
package com.epmet.entity.stats;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
@ -59,4 +60,10 @@ public class DimGridEntity extends BaseEpmetEntity {
private String code;
/**
* 弃用标记
*/
@TableField(exist = false)
private Integer abandonFlag;
}

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerGridServiceImpl.java

@ -124,10 +124,15 @@ public class ScreenCustomerGridServiceImpl extends BaseServiceImpl<ScreenCustome
screenGrid.setCode(grid.getCode());
screenCustomerGridDao.updateById(screenGrid);
if ("1".equals(grid.getDelFlag())) {
if ("1".equals(grid.getDelFlag()) || grid.getAbandonFlag().compareTo(1) == 0) {
LambdaQueryWrapper<ScreenCustomerGridEntity> w = new LambdaQueryWrapper<>();
w.eq(ScreenCustomerGridEntity::getGridId, grid.getId());
screenCustomerGridDao.delete(w);
ScreenCustomerGridEntity e = new ScreenCustomerGridEntity();
e.setDelFlag(NumConstant.ONE_STR);
e.setUpdatedTime(new Date());
screenCustomerGridDao.update(e,w);
// 此delete不更新 updatedTime
// screenCustomerGridDao.delete(w);
}
}
}

1
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsDimServiceImpl.java

@ -112,6 +112,7 @@ public class StatsDimServiceImpl implements StatsDimService {
dimGrid.setAreaCode(updatedGrid.getAreaCode());
dimGrid.setCustomerId(updatedGrid.getCustomerId());
dimGrid.setCode(updatedGrid.getCode());
dimGrid.setAbandonFlag(updatedGrid.getAbandonFlag());
dimGrids.add(dimGrid);
}
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/DimGridServiceImpl.java

@ -130,7 +130,7 @@ public class DimGridServiceImpl extends BaseServiceImpl<DimGridDao, DimGridEntit
for (DimGridEntity updatedGridDim : changedGrids) {
baseDao.updateById(updatedGridDim);
if ("1".equals(updatedGridDim.getDelFlag())) {
if ("1".equals(updatedGridDim.getDelFlag()) || updatedGridDim.getAbandonFlag().compareTo(1) == 0) {
// 如果已经被删除了,那么这里也做删除操作
baseDao.deleteById(updatedGridDim.getId());
}

3
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml

@ -68,7 +68,8 @@
manage_district,
total_user,
pid,
pids
pids,
ABANDON_FLAG
FROM customer_grid
WHERE SYNC_FLAG='1'
AND CREATED_TIME <![CDATA[<]]> #{startTime}

8
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java

@ -84,4 +84,12 @@ public interface EpmetHeartOpenFeignClient {
*/
@PostMapping("/heart/resi/volunteer/count")
Result<Integer> getVolunteerCount(@RequestBody VolunteerCommonFormDTO input);
/**
* 修改志愿者的注册网格
* @param volunteerInfoDTO
* @return
*/
@PostMapping("/heart/resi/volunteer/modifyVolunteerGrid")
Result modifyVolunteerGrid(@RequestBody VolunteerInfoDTO volunteerInfoDTO);
}

11
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java

@ -77,4 +77,15 @@ public class EpmetHeartOpenFeignClientFallback implements EpmetHeartOpenFeignCli
public Result<Integer> getVolunteerCount(VolunteerCommonFormDTO input) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_HEART_SERVER, "getVolunteerCount", input);
}
/**
* 修改志愿者的注册网格
*
* @param volunteerInfoDTO
* @return
*/
@Override
public Result modifyVolunteerGrid(VolunteerInfoDTO volunteerInfoDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_HEART_SERVER, "modifyVolunteerGrid", volunteerInfoDTO);
}
}

11
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java

@ -159,4 +159,15 @@ public class ResiVolunteerController {
Integer volunteerCount = volunteerInfoService.getVolunteerCount(customerId, agencyId);
return new Result<Integer>().ok(volunteerCount);
}
/**
* 修改志愿者注册信息_的网格信息
* @param volunteerInfoDTO
* @return
*/
@PostMapping("modifyVolunteerGrid")
public Result modifyVolunteerGrid(@RequestBody VolunteerInfoDTO volunteerInfoDTO){
volunteerInfoService.modifyVolunteerGrid(volunteerInfoDTO);
return new Result();
}
}

7
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/VolunteerInfoDao.java

@ -74,4 +74,11 @@ public interface VolunteerInfoDao extends BaseDao<VolunteerInfoEntity> {
* @date 2020.08.13 10:06
**/
List<String> selectVolunteerIds(@Param("customerId")String customerId);
/**
* 修改志愿者注册信息_网格信息
* @param volunteerInfoDTO
* @return
*/
int updateVolunteerGrid(VolunteerInfoDTO volunteerInfoDTO);
}

6
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java

@ -111,4 +111,10 @@ public interface VolunteerInfoService extends BaseService<VolunteerInfoEntity> {
* @return
*/
Integer getVolunteerCount(String customerId, String agencyId);
/**
* 修改志愿者注册信息_的网格信息
* @param volunteerInfoDTO
*/
void modifyVolunteerGrid(VolunteerInfoDTO volunteerInfoDTO);
}

10
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java

@ -414,4 +414,14 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl<VolunteerInfoDao,
return pidsAndAgencyIdPath;
}
/**
* 修改志愿者注册信息_的网格信息
*
* @param volunteerInfoDTO
*/
@Override
public void modifyVolunteerGrid(VolunteerInfoDTO volunteerInfoDTO) {
baseDao.updateVolunteerGrid(volunteerInfoDTO);
}
}

13
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/VolunteerInfoDao.xml

@ -72,4 +72,17 @@
AND CUSTOMER_ID = #{customerId}
order by CREATED_TIME asc
</select>
<update id="updateVolunteerGrid" parameterType="com.epmet.dto.VolunteerInfoDTO">
UPDATE volunteer_info
SET GRID_ID = #{gridId},
GRID_NAME = #{gridName},
PID = #{pid},
PIDS = #{pids},
UPDATED_TIME = NOW()
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND user_id = #{userId}
</update>
</mapper>

1
epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-dev.yml

@ -2,7 +2,6 @@ version: "3.7"
services:
epmet-oss-server:
container_name: epmet-oss-server-dev
# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-dev/epmet-oss-server:0.3.2
image: 192.168.1.140:5000/epmet-cloud-dev/epmet-oss-server:version_placeholder
ports:
- "8083:8083"

1
epmet-module/epmet-oss/epmet-oss-server/deploy/docker-compose-test.yml

@ -2,7 +2,6 @@ version: "3.7"
services:
epmet-oss-server:
container_name: epmet-oss-server-test
# image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-test/epmet-oss-server:0.3.2
image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/epmet-oss-server:version_placeholder
ports:
- "8083:8083"

9
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java

@ -376,4 +376,13 @@ public interface GovIssueOpenFeignClient {
*/
@PostMapping("/gov/issue/issueprojectcategorydict/categoryMap/{customerId}")
Result<Map<String, String>> getCategoryMap(@PathVariable("customerId") String customerId);
/**
* Desc: 查询网格下是否存在审核中的表决中的议题 true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 4:40 下午
*/
@PostMapping("/gov/issue/issue/audit-reset")
Result<Boolean> issueAuditReset(@RequestParam("gridId")String gridId);
}

5
epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java

@ -319,4 +319,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient
public Result<Map<String, String>> getCategoryMap(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getCategoryMap", customerId);
}
@Override
public Result<Boolean> issueAuditReset(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "issueAuditReset", gridId);
}
}

11
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueController.java

@ -322,5 +322,16 @@ public class IssueController {
return new Result<List<ProjectDistributionAnalysisRightDTO>>().ok(issueService.getProjectCountByGrid(formDTO));
}
/**
* Desc: 查询网格下是否存在审核中的表决中的议题 true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 4:40 下午
*/
@PostMapping("audit-reset")
public Result<Boolean> issueAuditReset(@RequestParam("gridId")String gridId){
return new Result<Boolean>().ok(issueService.issueAuditReset(gridId));
}
}

16
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueDao.java

@ -292,4 +292,20 @@ public interface IssueDao extends BaseDao<IssueEntity> {
List<ResiBuzzIssueCategoryDTO> selectCategoryNameByIssueList(List<ResiBuzzLeftPieChartResultDTO> issueIds,@Param("customerId")String customerId);
/**
* Desc: 查询网格中表决中的议题个数
* @param gridId
* @author zxc
* @date 2022/3/15 4:44 下午
*/
Integer selectVotingIssue(@Param("gridId")String gridId);
/**
* Desc: 查询网格中审核中的议题个数
* @param gridId
* @author zxc
* @date 2022/3/15 4:44 下午
*/
Integer selectAuditIssue(@Param("gridId")String gridId);
}

8
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueService.java

@ -378,4 +378,12 @@ public interface IssueService extends BaseService<IssueEntity> {
*/
List<ProjectDistributionAnalysisRightDTO> getProjectCountByGrid(ProjectDistributionAnalysisFormDTO formDTO);
/**
* Desc: 查询网格下是否存在审核中的表决中的议题 true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 4:40 下午
*/
Boolean issueAuditReset(String gridId);
}

21
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueServiceImpl.java

@ -1744,5 +1744,26 @@ public class IssueServiceImpl extends BaseServiceImpl<IssueDao, IssueEntity> imp
return result;
}
/**
* Desc: 查询网格下是否存在审核中的表决中的议题 true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 4:40 下午
*/
@Override
public Boolean issueAuditReset(String gridId) {
// 表决中的议题个数
Integer votingCount = baseDao.selectVotingIssue(gridId);
if (votingCount.compareTo(NumConstant.ZERO) != NumConstant.ZERO){
return true;
}
// 审核中的议题个数
Integer auditCount = baseDao.selectAuditIssue(gridId);
if (auditCount.compareTo(NumConstant.ZERO) != NumConstant.ZERO){
return true;
}
return false;
}
}

20
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueDao.xml

@ -750,4 +750,24 @@
LEFT JOIN issue_project_category_dict cd ON (cd.CATEGORY_CODE = t1.categoryCode AND cd.DEL_FLAG = '0' AND cd.CUSTOMER_ID = #{customerId})
</foreach>
</select>
<!-- 查询网格中表决中的议题个数 -->
<select id="selectVotingIssue" resultType="java.lang.Integer">
SELECT
COUNT(id)
FROM issue
WHERE del_flag = 0
and ISSUE_STATUS = 'voting'
AND grid_id = #{gridId}
</select>
<!-- 查询网格中审核中的议题个数 -->
<select id="selectAuditIssue" resultType="java.lang.Integer">
SELECT
count( id )
FROM issue_application
WHERE DEL_FLAG = '0'
AND APPLY_STATUS = 'under_auditing'
AND GRID_ID = #{gridId}
</select>
</mapper>

4
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerGridDTO.java

@ -151,4 +151,8 @@ public class CustomerGridDTO implements Serializable {
* 联系电话
*/
private String mobile;
/**
* 弃用1正常使用0
*/
private Integer abandonFlag;
}

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java

@ -138,6 +138,11 @@ public class ImportGeneralDTO implements Serializable {
private Boolean existStatus = false;
/**
* 错误信息添加状态
*/
private Boolean addStatus = false;
/**
* 楼栋重复状态
*/

15
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AbandonGridFormDTO.java

@ -0,0 +1,15 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.AddGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
public class AbandonGridFormDTO implements Serializable {
@NotBlank(message = "网格id不能为空",groups = AddGroup.class)
private String gridId;
private String userId;
}

9
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java

@ -596,4 +596,13 @@ public interface GovOrgOpenFeignClient {
*/
@GetMapping("/gov/org/icbuildingunit/{id}")
Result<IcBuildingUnitDTO> getUnitById(@PathVariable("id") String id);
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
@PostMapping("/gov/org/customerstaffgrid/getallstaffbygridid")
Result<List<String>> getAllStaffByGridId(@RequestParam("gridId")String gridId);
}

5
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java

@ -388,4 +388,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient {
public Result<IcBuildingUnitDTO> getUnitById(String id) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getUnitById", id);
}
@Override
public Result<List<String>> getAllStaffByGridId(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getAllStaffByGridId", gridId);
}
}

6
epmet-module/gov-org/gov-org-server/pom.xml

@ -136,6 +136,12 @@
<version>3.0.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>gov-issue-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerStaffGridController.java

@ -145,4 +145,15 @@ public class CustomerStaffGridController {
public Result<List<EventTitleOrgResultDTO>> eventOrg(@LoginUser TokenDto tokenDto){
return new Result<List<EventTitleOrgResultDTO>>().ok(customerStaffGridService.eventOrg(tokenDto.getUserId()));
}
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
@PostMapping("getallstaffbygridid")
public Result<List<String>> getAllStaffByGridId(@RequestParam("gridId")String gridId){
return new Result<List<String>>().ok(customerStaffGridService.getAllStaffByGridId(gridId));
}
}

16
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java

@ -7,6 +7,7 @@ import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
@ -226,4 +227,19 @@ public class GridController {
ValidatorUtils.validateEntity(formDTO);
return new Result<List<GridTreeResultDTO>>().ok(customerGridService.getGridTree(formDTO));
}
/**
* 弃用网格
* @param formDTO
* @return
*/
@RequirePermission(requirePermission = RequirePermissionEnum.ORG_GRID_DELETE)
@PostMapping("abandon")
public Result abandonGrid(@LoginUser TokenDto tokenDto,@RequestBody AbandonGridFormDTO formDTO){
formDTO.setUserId(tokenDto.getUserId());
ValidatorUtils.validateEntity(formDTO, AddGroup.class);
customerGridService.abandonGrid(formDTO);
return new Result();
}
}

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java

@ -172,7 +172,7 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
BelongGridNameResultDTO getGridNameByGridId(BelongGridNameFormDTO formDTO);
/**
* @Description 根据组织机关Id查询机关下网格列表
* @Description 根据组织机关Id查询机关下网格列表:未废弃的
* @author sun
*/
List<GridListResultDTO> selectGridList(@Param("agencyId") String agencyId);
@ -367,11 +367,19 @@ public interface CustomerGridDao extends BaseDao<CustomerGridEntity> {
List<CustomerStaffGridResultDTO> getStaffGridList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("orgType") String orgType);
/**
* @Description 根据网格名字查询网格信息
* @param names
* @Description 根据网格名字查询网格信息
* @author zxc
* @date 2022/2/12 2:06 下午
*/
List<InfoByNamesResultDTO> selectGridInfoByNames(@Param("names")List<String> names,@Param("customerId")String customerId);
List<InfoByNamesResultDTO> selectGridInfoByNames(@Param("names") List<String> names, @Param("customerId") String customerId);
/**
* desc:修改网格工作人员数量
*
* @param gridId
* @param incrCount 增加人数 负数为 -
* @return
*/
int updateTotalUser(@Param("gridId") String gridId, @Param("incrCount") long incrCount);
}

2
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffAgencyDao.java

@ -88,7 +88,7 @@ public interface CustomerStaffAgencyDao extends BaseDao<CustomerStaffAgencyEntit
* @return com.epmet.dto.result.ActSponsorResultDTO
* @param staffId
* @author yinzuomei
* @description 根据staffId查询我所在的网格信息
* @description 根据staffId查询我所在的网格信息限制网格是未废弃的网格
* @Date 2020/7/23 21:04
**/
List<ActSponsorGridInfo> selectActSponsorGrid(String staffId);

19
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerStaffGridDao.java

@ -19,8 +19,8 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.CustomerStaffDepartmentDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffOrgRelationDTO;
import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.dto.result.EventTitleOrgResultDTO;
import com.epmet.dto.result.GridStaffResultDTO;
@ -28,7 +28,6 @@ import com.epmet.entity.CustomerStaffGridEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@ -115,4 +114,20 @@ public interface CustomerStaffGridDao extends BaseDao<CustomerStaffGridEntity> {
* @date 2021/8/5 5:36 下午
*/
List<EventTitleOrgResultDTO> eventOrg(@Param("userId") String userId);
/**
* desc:根据网格id 获取网格下的工作人员及其添加关系
* @param gridId
* @return
*/
List<StaffOrgRelationDTO> getGridStaffList(String gridId);
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
List<String> getAllStaffByGridId(String gridId);
}

5
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerGridEntity.java

@ -109,4 +109,9 @@ public class CustomerGridEntity extends BaseEpmetEntity {
* 联系电话
*/
private String mobile;
/**
* 弃用1正常使用0
*/
private Integer abandonFlag;
}

34
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/EpmetUserFeignClient.java

@ -3,28 +3,14 @@ package com.epmet.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.AddDepartmentStaffFormDTO;
import com.epmet.dto.form.DepartmentInStaffFormDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffDetailResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.feign.fallback.EpmetUserFeignClientFallBack;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -169,4 +155,22 @@ public interface EpmetUserFeignClient {
**/
@PostMapping(value = "/epmetuser/customerstaff/getcustomerstafflist", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
Result<CustomerStaffListResultDTO> getCustomerStaffList(List<String> staffIdList);
/**
* desc:删除审核中的徽章认证记录-弃用网格是调用
* @param customerId
* @param gridId
* @return
*/
@PostMapping("/epmetuser/badge/deleteBadgeCertificateAuditing")
Result<Integer> deleteBadgeCertificateAuditing(@RequestParam("customerId") String customerId, @RequestParam("gridId") String gridId);
/**
* desc:删除弃用网格的访问记录-弃用网格是调用
* @param customerId
* @param gridId
* @return
*/
@PostMapping("/epmetuser/gridlatest/deleteGridLatestData")
Result<Integer> deleteGridLatestData(@RequestParam("customerId") String customerId, @RequestParam("gridId") String gridId);
}

25
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/feign/fallback/EpmetUserFeignClientFallBack.java

@ -4,23 +4,8 @@ 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.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.dto.form.AddDepartmentStaffFormDTO;
import com.epmet.dto.form.DepartmentInStaffFormDTO;
import com.epmet.dto.form.StaffInfoFromDTO;
import com.epmet.dto.form.StaffSubmitFromDTO;
import com.epmet.dto.form.StaffsInAgencyFromDTO;
import com.epmet.dto.result.DepartInStaffListResultDTO;
import com.epmet.dto.result.StaffDetailResultDTO;
import com.epmet.dto.result.StaffInfoResultDTO;
import com.epmet.dto.result.StaffInitResultDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.CustomerStaffGridDTO;
import com.epmet.dto.StaffGridListDTO;
import com.epmet.feign.EpmetUserFeignClient;
import org.springframework.stereotype.Component;
@ -106,4 +91,14 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient {
public Result<CustomerStaffListResultDTO> getCustomerStaffList(List<String> staffIdList) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustomerStaffList", staffIdList);
}
@Override
public Result<Integer> deleteBadgeCertificateAuditing(String customerId, String gridId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "deleteBadgeCertificateAuditing", customerId, gridId);
}
@Override
public Result<Integer> deleteGridLatestData(String customerId, String gridId) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "deleteGridLatestData", customerId, gridId);
}
}

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java

@ -142,10 +142,14 @@ public class ImportBuildingInfoListener extends AnalysisEventListener<BuildingIn
for (ImportGeneralDTO r : needDisposeList) {
if (k.equals(r.getAgencyName() + "_" + r.getGridName() + "_" +
r.getNeighborHoodName() + "_" + r.getBuildingName())){
// 集合里重复的
nums.add(r.getNum());
disposeErrorMsg(info,ImportErrorMsgConstants.EXIST_ERROR);
r.setExistStatus(true);
if (!r.getAddStatus()){
// 集合里重复的
nums.add(r.getNum());
BuildingInfoModel buildingInfoModel = ConvertUtils.sourceToTarget(r, BuildingInfoModel.class);
disposeErrorMsg(buildingInfoModel,ImportErrorMsgConstants.EXIST_ERROR);
r.setExistStatus(true);
r.setAddStatus(true);
}
}
}
}
@ -158,8 +162,12 @@ public class ImportBuildingInfoListener extends AnalysisEventListener<BuildingIn
List<ImportGeneralDTO> existList = groupByBuildingExistStatus.get(true);
if (!CollectionUtils.isEmpty(existList)){
existList.forEach(e -> {
nums.add(e.getNum());
disposeErrorMsg(info,ImportErrorMsgConstants.EXIST_ERROR);
if (!e.getAddStatus()){
nums.add(e.getNum());
BuildingInfoModel buildingInfoModel = ConvertUtils.sourceToTarget(e, BuildingInfoModel.class);
disposeErrorMsg(buildingInfoModel,ImportErrorMsgConstants.EXIST_ERROR);
e.setAddStatus(true);
}
});
}
}

27
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java

@ -210,13 +210,18 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
}
Map<String, Long> collect = needInsertList.stream().collect(Collectors.groupingBy(n -> n.getBuildingUnitId() + "_" + n.getDoorName(), Collectors.counting()));
collect.forEach((k,v) -> {
if (Integer.valueOf(v.toString()).compareTo(1) > 0){
if (Integer.valueOf(v.toString()).compareTo(1) != 0){
for (ImportGeneralDTO r : needInsertList) {
if (k.equals(r.getBuildingUnitId()+"_"+r.getDoorName())){
// 集合里重复的
nums.add(r.getNum());
disposeErrorMsg(info,ImportErrorMsgConstants.EXIST_ERROR);
r.setExistStatus(true);
// 只添加没添加过的
if (!r.getAddStatus()){
// 集合里重复的
nums.add(r.getNum());
HouseInfoModel houseInfoModel = ConvertUtils.sourceToTarget(r, HouseInfoModel.class);
disposeErrorMsg(houseInfoModel,ImportErrorMsgConstants.EXIST_ERROR);
r.setExistStatus(true);
r.setAddStatus(true);
}
}
}
}
@ -227,10 +232,14 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
existHouses.forEach(e -> {
for (ImportGeneralDTO n : needInsertList) {
if ((n.getBuildingUnitId()+"_"+n.getDoorName()).equals(e)){
// 库里存在的
nums.add(n.getNum());
disposeErrorMsg(info,ImportErrorMsgConstants.EXIST_ERROR);
n.setExistStatus(true);
if (!n.getAddStatus()){
// 库里存在的
nums.add(n.getNum());
HouseInfoModel houseInfoModel = ConvertUtils.sourceToTarget(n, HouseInfoModel.class);
disposeErrorMsg(houseInfoModel,ImportErrorMsgConstants.EXIST_ERROR);
n.setExistStatus(true);
n.setAddStatus(true);
}
}
}
});

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportNeighborHoodInfoListener.java

@ -136,10 +136,14 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener<Neighb
if (Integer.valueOf(v.toString()).compareTo(1) > 0){
for (ImportGeneralDTO r : needDisposeList) {
if (k.equals(r.getAgencyName() + "_" + r.getGridName() + "_" + r.getNeighborHoodName())){
// 集合里重复的
nums.add(r.getNum());
disposeErrorMsg(info, ImportErrorMsgConstants.EXIST_ERROR);
r.setExistStatus(true);
if (!r.getAddStatus()){
// 集合里重复的
nums.add(r.getNum());
NeighborHoodInfoModel neighborHoodInfoModel = ConvertUtils.sourceToTarget(r, NeighborHoodInfoModel.class);
disposeErrorMsg(neighborHoodInfoModel, ImportErrorMsgConstants.EXIST_ERROR);
r.setExistStatus(true);
r.setAddStatus(true);
}
}
}
}
@ -152,8 +156,12 @@ public class ImportNeighborHoodInfoListener extends AnalysisEventListener<Neighb
List<ImportGeneralDTO> existList = groupByBuildingExistStatus.get(true);
if (!CollectionUtils.isEmpty(existList)){
existList.forEach(e -> {
nums.add(e.getNum());
disposeErrorMsg(info,ImportErrorMsgConstants.EXIST_ERROR);
if (!e.getAddStatus()){
nums.add(e.getNum());
NeighborHoodInfoModel neighborHoodInfoModel = ConvertUtils.sourceToTarget(e, NeighborHoodInfoModel.class);
disposeErrorMsg(neighborHoodInfoModel,ImportErrorMsgConstants.EXIST_ERROR);
e.setAddStatus(true);
}
});
}
List<ImportGeneralDTO> notExistList = groupByBuildingExistStatus.get(false);

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java

@ -374,4 +374,17 @@ public interface CustomerGridService extends BaseService<CustomerGridEntity> {
* @date 2022/1/17 3:50 下午
*/
List<CustomerStaffGridResultDTO> getStaffGridList(String customerId, String orgId, String orgType);
/**
* 弃用网格前置条件查询
* @param formDTO
* @return
*/
void abandonGrid(AbandonGridFormDTO formDTO);
/**
* desc:移除网格内的工作人员关系 并迁移到组织
* @param formDTO
*/
void abandonGridForDealBizData(AbandonGridFormDTO formDTO);
}

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerStaffGridService.java

@ -135,4 +135,13 @@ public interface CustomerStaffGridService extends BaseService<CustomerStaffGridE
* @date 2021/8/5 5:36 下午
*/
List<EventTitleOrgResultDTO> eventOrg(String userId);
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
List<String> getAllStaffByGridId(String gridId);
}

8
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java

@ -250,6 +250,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
}
//3:根据组织Id查询该组织下网格、人员列表
//3.1:查询组织下网格列表
// 未隐藏的网格
List<GridListResultDTO> gridList = customerGridDao.selectGridList(canTick.getAgencyId());
List<CustomerStaffGridDTO> gridStaffs = new ArrayList<>();
if (null != gridList && gridList.size() > NumConstant.ZERO) {
@ -438,7 +439,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
});
}
//3:根据组织Id查询该组织下网格、人员列表
//3.1:查询组织下网格列表
//3.1:查询组织下网格列表:未废弃的
List<GridListResultDTO> gridList = customerGridDao.selectGridList(canTick.getAgencyId());
List<CustomerStaffGridDTO> gridStaffs = new ArrayList<>();
if (null != gridList && gridList.size() > NumConstant.ZERO) {
@ -728,6 +729,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
if (party) {
//4.1:查询当前机关的网格列表以及所有下级机关的网格列表
//当前机关下网格列表
// 未隐藏的网格
List<AgencyGridListResultDTO> gridList = customerGridDao.selectAgencyGridList(agencyEntity.getId());
returnDTO.setGridList(gridList);
//递归查询当前组织的下级组织以及每个下级组织对应的网格列表
@ -762,6 +764,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
List<ArticleGridResultDTO> subAgencyList = baseDao.selectAllSubAgency(subAgencyPids);
if (subAgencyList.size() > NumConstant.ZERO) {
for (ArticleGridResultDTO sub : subAgencyList) {
//未隐藏的网格
List<AgencyGridListResultDTO> gridList = customerGridDao.selectAgencyGridList(sub.getAgencyId());
sub.setGridList(gridList);
List<ArticleGridResultDTO> subAgency = getGridList(sub.getPids() + ":" + sub.getAgencyId());
@ -826,11 +829,13 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
List<AgencyDeptList> agencyDeptList = customerDepartmentDao.selectAgencyDeptMsgList(agencyEntity.getId());
returnDTO.setAgencyDeptList(agencyDeptList);
//当前机关下网格列表
// 未隐藏的网格
List<AgencyGridList> agencyGridList = customerGridDao.selectAgencyGridMsgList(agencyEntity.getId());
returnDTO.setAgencyGridList(agencyGridList);
} else if (gridParty) {
//4.2:查询人员在当前机关下参与的网格列表
//查询当前组织下的网格列表
//未隐藏的网格
List<AgencyGridListResultDTO> gridList = customerGridDao.selectAgencyGridList(agencyEntity.getId());
//查询该工作人员在该客户下参与的网格列表
CustomerStaffGridDTO staffGridDTO = new CustomerStaffGridDTO();
@ -867,6 +872,7 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao
resultDTO.setAgencyId(customerAgency.getId());
resultDTO.setAgencyName(customerAgency.getOrganizationName());
}
//限制网格是未废弃的网格
List<ActSponsorGridInfo> list=customerStaffAgencyDao.selectActSponsorGrid(staffId);
resultDTO.setAgencyGridList(list);
return resultDTO;

146
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java

@ -18,8 +18,10 @@
package com.epmet.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
@ -27,26 +29,32 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.enums.OrgTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.CustomerStaffGridDao;
import com.epmet.dao.StaffOrgRelationDao;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.CustomerGridEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.EpmetMessageOpenFeignClient;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.OperCrmOpenFeignClient;
import com.epmet.entity.CustomerStaffGridEntity;
import com.epmet.entity.StaffOrgRelationEntity;
import com.epmet.feign.*;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import com.epmet.service.CustomerAgencyService;
import com.epmet.service.CustomerGridService;
import com.epmet.util.ModuleConstant;
@ -86,11 +94,26 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
@Autowired
private CustomerGridDao customerGridDao;
@Autowired
private RedisUtils redisUtils;
private StaffOrgRelationDao staffOrgRelationDao;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
private RedisUtils redisUtils;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Autowired
private LoginUserUtil loginUserUtil;
//迁移网格
@Autowired
private GovIssueOpenFeignClient govIssueOpenFeignClient;
@Autowired
private GovProjectOpenFeignClient govProjectOpenFeignClient;
@Autowired
private ResiPartyMemberOpenFeignClient resiPartyMemberOpenFeignClient;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public PageData<CustomerGridDTO> page(Map<String, Object> params) {
@ -802,14 +825,6 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
if (null != gridInfo) {
redisUtils.hMSet(redisKey, BeanUtil.beanToMap(gridInfo));
}
/*CustomerGridDTO gridInfo = ConvertUtils.sourceToTarget(baseDao.selectById(customerGridFormDTO.getGridId()), CustomerGridDTO.class);
if (null != gridInfo) {
CustomerAgencyEntity agency = customerAgencyService.selectById(gridInfo.getPid());
gridInfo.setAgencyName(null != agency ? agency.getOrganizationName() : "");
gridInfo.setGridNamePath(null != agency ? agency.getOrganizationName().concat("-").concat(gridInfo.getGridName()) : gridInfo.getGridName());
redisUtils.hMSet(redisKey, BeanUtil.beanToMap(gridInfo));
}*/
return gridInfo;
}
@ -945,4 +960,107 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
return baseDao.getStaffGridList(customerId,orgId,orgType);
}
/**
* 弃用网格
*
* @param formDTO
* @return
*/
@Override
public void abandonGrid(AbandonGridFormDTO formDTO) {
//未处理的事件
Result<ProjectAuditResetResultDTO> projectDb = govProjectOpenFeignClient.eventAuditReset(formDTO.getGridId());
//表决中的议题
Result<Boolean> issueAuditReset = govIssueOpenFeignClient.issueAuditReset(formDTO.getGridId());
if (!projectDb.success() || !issueAuditReset.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "校验数据异常", "服务器开小差了...");
}
if (projectDb.getData().getResiEventStatus()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未处理的事件", "该网格存在未办结的群众直报事件,请先将事件办结后再操作");
}
if (projectDb.getData().getProjectStatus()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未办结的项目", "该网格工作人员名下存在未结案的项目,请先将项目结案或转其它科室部门后再操作");
}
if (issueAuditReset.getData()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未关闭的议题", "该网格存在未关闭的议题,请先将议题关闭后再操作");
}
//可以弃用、处理数据(网格工作人员所属关系(网格工作人员人数), 删除正在审核中的徽章认证)
this.abandonGridForDealBizData(formDTO);
CustomerOrgRedis.delGridInfo(formDTO.getGridId());
}
@Override
public void abandonGridForDealBizData(AbandonGridFormDTO formDTO) {
try {
//根据网格id 获取网格内工作人员及其添加关系
List<StaffOrgRelationDTO> staffList = customerStaffGridDao.getGridStaffList(formDTO.getGridId());
if (staffList == null){
staffList = new ArrayList<>();
}
logger.debug("abandonGridForDealBizData staffList:{}", JSON.toJSONString(staffList));
List<StaffOrgRelationEntity> updateList = new ArrayList<>();
staffList.forEach(staffOrg->{
//只有工作人员是网格添加的才处理
if(!OrgTypeEnum.GRID.getCode().equals(staffOrg.getOrgType())) {
return;
}
StaffOrgRelationEntity entity = new StaffOrgRelationEntity();
entity.setId(staffOrg.getId());
entity.setOrgType(OrgTypeEnum.AGENCY.getCode());
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(staffOrg.getOrgId());
if (gridInfo == null || StringUtils.isBlank(gridInfo.getPid())) {
assert gridInfo != null;
log.error("abandonGridForDealBizData grid:{} pid is not exist", JSON.toJSONString(gridInfo));
return;
}
entity.setOrgId(gridInfo.getPid());
updateList.add(entity);
});
String customerId = loginUserUtil.getLoginUserCustomerId();
//更新工作人员组织关系
dealBizDataForAbandon(customerId,formDTO.getGridId(),formDTO.getUserId(), staffList, updateList);
//清空工作人员缓存
staffList.forEach(staff->CustomerStaffRedis.delStaffInfoFormCache(customerId,staff.getStaffId()));
} catch (Exception e) {
log.error("abandonGridForDealBizData exception", e);
throw e;
}
}
@Transactional
public void dealBizDataForAbandon(String customerId, String gridId, String userId,List<StaffOrgRelationDTO> staffList, List<StaffOrgRelationEntity> updateList) {
//1.删除工作人员与网格的关系
LambdaQueryWrapper<CustomerStaffGridEntity> updateWrapper = new LambdaQueryWrapper<>();
updateWrapper.eq(CustomerStaffGridEntity::getGridId,gridId);
customerStaffGridDao.delete(updateWrapper);
//2.修改 网格内添加工作人员改为组织
updateList.forEach(e->{
staffOrgRelationDao.update(e,null);
});
//网格对应的人数减少
long reduceCount = NumConstant.ZERO - staffList.stream().map(StaffOrgRelationDTO::getStaffId).distinct().count();
log.debug("dealBizDataForAbandon gridId:{} reduceCount:{}",gridId, reduceCount);
customerGridDao.updateTotalUser(gridId, reduceCount);
//删除正在审核中的徽章认证
Result<Integer> badgeResult = epmetUserFeignClient.deleteBadgeCertificateAuditing(customerId,gridId);
if (badgeResult == null || !badgeResult.success()){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"删除未审核徽章失败,请稍后重试");
}
//删除废弃网格的访问记录
Result<Integer> gridLatestResult = epmetUserFeignClient.deleteGridLatestData(customerId,gridId);
if (gridLatestResult == null || !gridLatestResult.success()){
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"删除网格访问记录失败,请稍后重试");
}
//处理成功,隐藏网格
LambdaUpdateWrapper<CustomerGridEntity> updateGrid=new LambdaUpdateWrapper<>();
updateGrid.set(CustomerGridEntity::getAbandonFlag,NumConstant.ONE);
updateGrid.set(CustomerGridEntity::getUpdatedBy,userId);
updateGrid.set(CustomerGridEntity::getUpdatedTime,new Date());
updateGrid.eq(CustomerGridEntity::getId,gridId);
baseDao.update(null,updateGrid);
}
}

11
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerStaffGridServiceImpl.java

@ -191,4 +191,15 @@ public class CustomerStaffGridServiceImpl extends BaseServiceImpl<CustomerStaffG
public List<EventTitleOrgResultDTO> eventOrg(String userId) {
return baseDao.eventOrg(userId);
}
/**
* Desc: 查询网格下所有的工作人员
* @param gridId
* @author zxc
* @date 2022/3/21 16:02
*/
@Override
public List<String> getAllStaffByGridId(String gridId) {
return baseDao.getAllStaffByGridId(gridId);
}
}

3
epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.13__abandon_grid.sql

@ -0,0 +1,3 @@
alter table customer_grid
add column ABANDON_FLAG TINYINT(1) NOT NULL default '0'
comment '弃用:1;正常使用:0' after SYNC_FLAG;

20
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml

@ -174,7 +174,9 @@
INNER JOIN customer_staff_grid csg ON cg.id = csg.grid_id
WHERE
cg.del_flag = '0'
AND cg.ABANDON_FLAG='0'
AND csg.del_flag = '0'
AND cg.ABANDON_FLAG='0'
AND csg.user_id = #{userId}
ORDER BY cg.GRID_NAME ASC
</select>
@ -288,6 +290,7 @@
CUSTOMER_GRID
WHERE
DEL_FLAG = '0'
and ABANDON_FLAG='0'
AND
PID = #{agencyId}
</select>
@ -307,6 +310,7 @@
CUSTOMER_GRID
<where>
DEL_FLAG = '0'
AND ABANDON_FLAG='0'
AND PID = #{agencyId}
ORDER BY CREATED_TIME DESC
<if test="null != pageSize and pageSize > 0">
@ -365,12 +369,14 @@
<!-- AND cg.del_flag = 0 --><!-- 网格被删除时,首次在该网格注册的居民就找不到了所属网格,暂时关闭这个查询条件,避免缓存中user的showname和组成员member的usershowname出现空值 -->
</select>
<!-- 根据组织机关Id查询机关下网格列表:未废弃的 -->
<select id="selectGridList" resultType="com.epmet.dto.result.GridListResultDTO">
SELECT
id AS "gridId",
grid_name AS "gridName"
FROM customer_grid
WHERE del_flag = '0'
and ABANDON_FLAG='0'
AND pid = #{agencyId}
ORDER BY created_time DESC
</select>
@ -407,6 +413,7 @@
grid_name AS "gridName"
FROM customer_grid
WHERE del_flag = '0'
and ABANDON_FLAG='0'
AND pid = #{agencyId}
</select>
@ -428,6 +435,7 @@
WHERE
cg.del_flag = '0'
AND ca.del_flag = '0'
and cg.ABANDON_FLAG='0'
AND cg.pid = #{agencyId}
</select>
@ -457,6 +465,7 @@
WHERE
grid.del_flag = 0
and grid.SYNC_FLAG='1'
and grid.ABANDON_FLAG='0'
<if test='areaCode != "" and areaCode != null'>
AND grid.area_code LIKE CONCAT(#{areaCode},'%')
</if>
@ -497,6 +506,7 @@
WHERE
a.del_flag = 0
and a.SYNC_FLAG='1'
and a.ABANDON_FLAG='0'
AND a.customer_id = #{customerId}
) AS c
ORDER BY CONVERT ( gridName USING gbk ) ASC
@ -756,10 +766,12 @@
cg.mobile,
<!-- 网格没有经纬度时获取客户根组织下的 -->
IFNULL(cg.longitude,ca.longitude) longitude,
IFNULL(cg.latitude,ca.latitude) latitude
IFNULL(cg.latitude,ca.latitude) latitude,
ca.ORGANIZATION_NAME agencyName,
cg.ABANDON_FLAG
FROM
customer_grid cg
INNER JOIN customer_agency ca ON ca.pid = '0' AND ca.customer_id = cg.customer_id
INNER JOIN customer_agency ca ON (ca.ID = cg.PID AND ca.customer_id = cg.customer_id)
WHERE
cg.del_flag = '0'
AND ca.del_flag = '0'
@ -834,5 +846,9 @@
</foreach>
)
</select>
<update id="updateTotalUser">
UPDATE customer_grid SET total_user = total_user+#{incrCount}
where id = #{gridId} and del_flag = '0'
</update>
</mapper>

3
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffAgencyDao.xml

@ -125,7 +125,7 @@
</if>
</select>
<!-- 根据staffId查询我所在的网格信息 -->
<!-- 根据staffId查询我所在的网格信息,限制网格是未废弃的网格 -->
<select id="selectActSponsorGrid" resultType="com.epmet.dto.result.ActSponsorGridInfo" parameterType="java.lang.String">
SELECT
csg.GRID_ID,
@ -136,6 +136,7 @@
LEFT JOIN customer_agency ca ON ( cg.PID = ca.ID AND ca.DEL_FLAG = '0' )
WHERE
csg.DEL_FLAG = '0'
and cg.ABANDON_FLAG='0'
AND csg.USER_ID =#{staffId}
</select>
<!-- 根据staffId,查询我所属的组织信息 -->

23
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerStaffGridDao.xml

@ -173,4 +173,27 @@
AND
DEL_FLAG = 0
</update>
<select id="getGridStaffList" resultType="com.epmet.dto.StaffOrgRelationDTO">
SELECT
csg.customer_id,
csg.GRID_ID orgId,
csg.USER_ID staffId,
ifnull(sor.ORG_TYPE,'agency') orgType,
sor.id id
FROM
customer_staff_grid csg
LEFT JOIN staff_org_relation sor ON csg.USER_ID = sor.STAFF_ID AND csg.grid_id = sor.ORG_ID AND sor.del_flag = '0'
WHERE
csg.del_flag = '0'
AND csg.GRID_ID = #{gridId}
</select>
<!-- 查询网格下所有的工作人员 -->
<select id="getAllStaffByGridId" resultType="java.lang.String">
SELECT
USER_ID
FROM customer_staff_grid
WHERE DEL_FLAG = '0'
AND GRID_ID = #{gridId}
</select>
</mapper>

25
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectAuditResetResultDTO.java

@ -0,0 +1,25 @@
package com.epmet.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/3/21 15:48
* @DESC
*/
@Data
public class ProjectAuditResetResultDTO implements Serializable {
private static final long serialVersionUID = -4523314881244005376L;
private Boolean projectStatus;
private Boolean resiEventStatus;
public ProjectAuditResetResultDTO() {
this.projectStatus = false;
this.resiEventStatus = false;
}
}

14
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/GovProjectOpenFeignClient.java

@ -9,10 +9,7 @@ import com.epmet.dto.result.*;
import com.epmet.feign.fallback.GovProjectOpenFeignClientFallbackFactory;
import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -152,4 +149,13 @@ public interface GovProjectOpenFeignClient {
**/
@PostMapping("gov/project/resievent/autoAudit")
Result autoAudit();
/**
* Desc: 查询群众直报是否存在处理中的true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 5:05 下午
*/
@PostMapping("gov/project/project/audit-reset")
Result<ProjectAuditResetResultDTO> eventAuditReset(@RequestParam("gridId")String gridId);
}

5
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/feign/fallback/GovProjectOpenFeignClientFallback.java

@ -154,4 +154,9 @@ public class GovProjectOpenFeignClientFallback implements GovProjectOpenFeignCli
public Result autoAudit() {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "autoAudit");
}
@Override
public Result<ProjectAuditResetResultDTO> eventAuditReset(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.GOV_PROJECT_SERVER, "eventAuditReset",gridId);
}
}

11
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectController.java

@ -325,4 +325,15 @@ public class ProjectController {
projectService.projectWorkMinutesJob(dto);
return new Result();
}
/**
* Desc: 查询群众直报是否存在处理中的true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 5:05 下午
*/
@PostMapping("audit-reset")
public Result<ProjectAuditResetResultDTO> eventAuditReset(@RequestParam("gridId")String gridId){
return new Result<ProjectAuditResetResultDTO>().ok(projectService.eventAuditReset(gridId));
}
}

22
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java

@ -21,10 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.EventProjectInfoDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.ProjectStaffDTO;
import com.epmet.dto.form.LatestListFormDTO;
import com.epmet.dto.form.PatrolProjectFormDTO;
import com.epmet.dto.form.ProjectListFromDTO;
import com.epmet.dto.form.ShiftProjectsFromDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.ProjectEntity;
import org.apache.ibatis.annotations.Mapper;
@ -50,6 +47,14 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
**/
List<ProjectDTO> selectPendList(ProjectListFromDTO fromDTO);
/**
* Desc: 待处理项目列表
* @param userIds
* @author zxc
* @date 2022/3/21 14:12
*/
List<ProjectDTO> selectPendListByUserIds(@Param("userIds")List<String> userIds);
/**
* 我发起的项目列表
*
@ -283,4 +288,13 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @Date 2022/1/12 17:05
*/
List<ProjectEntity> getProjectListForWorkMinutes(@Param("customerId")String customerId, @Param("projectId")String projectId, @Param("status")String status);
/**
* Desc: 查询网格下群众直报处理中的个数
* @param gridId
* @author zxc
* @date 2022/3/15 5:09 下午
*/
Integer selectEventStatus(@Param("gridId") String gridId);
}

9
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectService.java

@ -376,4 +376,13 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @Date 2022/1/4 16:27
*/
PageData<ApprovaledListResultDTO> approvaledList(ApprovaledListFromDTO formDTO);
/**
* Desc: 查询群众直报是否存在处理中的true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 5:05 下午
*/
ProjectAuditResetResultDTO eventAuditReset(String gridId);
}

45
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java

@ -234,14 +234,28 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return list;
}
/**
* Desc: 复制楼上方法略做修改
* @param userIds
* @author zxc
* @date 2022/3/21 15:33
*/
public boolean getPendProjectListByUserIds(List<String> userIds) {
if (CollectionUtils.isNotEmpty(userIds)){
List<ProjectDTO> projectList = baseDao.selectPendListByUserIds(userIds);
if (projectList.size() == 0){
return false;
}else {
return true;
}
}
return false;
}
@Override
public List<CreatedListResultDTO> getCreatedList(ProjectListFromDTO fromDTO) {
List<CreatedListResultDTO> list = new ArrayList<>();
//查询条件
int pageIndex = (fromDTO.getPageNo() - NumConstant.ONE) * fromDTO.getPageSize();
fromDTO.setPageNo(pageIndex);
List<ProjectDTO> projectList = baseDao.selectCreatedList(fromDTO);
//获取客户定制的可滞留天数
Integer finalDays = getDays(fromDTO);
@ -3134,6 +3148,29 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
}
/**
* Desc: 查询群众直报是否存在处理中的true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 5:05 下午
*/
@Override
public ProjectAuditResetResultDTO eventAuditReset(String gridId) {
ProjectAuditResetResultDTO result = new ProjectAuditResetResultDTO();
Integer processingCount = baseDao.selectEventStatus(gridId);
if (processingCount.compareTo(NumConstant.ZERO) != NumConstant.ZERO){
result.setResiEventStatus(true);
}
Result<List<String>> allStaffByGridId = govOrgOpenFeignClient.getAllStaffByGridId(gridId);
if (!allStaffByGridId.success()){
throw new EpmetException("查询网格下的工作人员失败");
}
if (CollectionUtils.isNotEmpty(allStaffByGridId.getData())){
result.setProjectStatus(getPendProjectListByUserIds(allStaffByGridId.getData()));
}
return result;
}
/**
* @Description 区间项目分类数量处理
* 查询的是时间段内的分类项目数查询的时间 是传入一个日期拼上时间在进行比较大小
* @param categories

36
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml

@ -41,6 +41,8 @@
ORDER BY psp.created_time, p.created_time ASC<!-- 先按滞留时间降序再按创建时间升序(带奇峰修改) -->
LIMIT #{pageNo}, #{pageSize}
</select>
<select id="selectCreatedList" resultType="com.epmet.dto.ProjectDTO" parameterType="com.epmet.dto.form.ProjectListFromDTO">
SELECT distinct
p.ID,
@ -528,4 +530,38 @@
AND a.`STATUS` = #{status}
</if>
</select>
<!-- 查询网格下群众直报处理中的个数 -->
<select id="selectEventStatus" resultType="java.lang.Integer">
SELECT
COUNT( ID )
FROM resi_event
WHERE DEL_FLAG = '0'
AND `STATUS` = 'processing'
AND audit_status = 'auto_passed'
AND GRID_ID = #{gridId}
</select>
<select id="selectPendListByUserIds" resultType="com.epmet.dto.ProjectDTO">
SELECT distinct
p.ID,
p.TITLE,
p.CREATED_TIME,
psp.CREATED_TIME AS UPDATED_TIME
FROM project p
INNER JOIN (SELECT
ps.PROJECT_ID,
MAX(ps.CREATED_TIME) AS CREATED_TIME
FROM project_staff ps
WHERE ps.DEL_FLAG = '0'
AND ps.IS_HANDLE = 'unhandled'
AND ps.STAFF_ID IN (
<foreach collection="userIds" item="userId" separator=",">
#{userId}
</foreach>
)
GROUP BY ps.PROJECT_ID) psp ON p.ID = psp.PROJECT_ID
WHERE p.DEL_FLAG = '0'
AND p.status = 'pending'
ORDER BY psp.created_time, p.created_time ASC<!-- 先按滞留时间降序再按创建时间升序 -->
</select>
</mapper>

2
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/StrangerResiGuideController.java

@ -131,7 +131,7 @@ public class StrangerResiGuideController {
/**
* @param
* @Author sun
* @Description 单客户-陌生访客根据自动定位获取附近网格数据
* @Description 单客户-陌生访客根据自动定位获取附近网格数据 陌生人选网格+去其他网格看看
**/
@PostMapping("publiclocationgridlist")
Result<List<PublicCustomerGridForStrangerResultDTO>> publicLocationGridList(@RequestBody PublicCustomerGridListFormDTO formDTO){

2
epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/UserGuideController.java

@ -2,6 +2,7 @@ package com.epmet.controller;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -29,6 +30,7 @@ public class UserGuideController {
@Autowired
private UserAccessService userAccessService;
@NoRepeatSubmit
@PostMapping("entergrid")
Result<UserInfoOnEnterGridResultDTO> enterGrid(@LoginUser TokenDto token, @RequestBody UserEnterGridFormDTO userEnterGridFormDTO){
logger.info("进网格TokenDto:"+ JSON.toJSON(token));

33
epmet-module/resi-mine/resi-mine-server/src/main/java/com/epmet/modules/grid/service/impl/ResiMineGridServiceImpl.java

@ -4,7 +4,10 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.HttpClientManager;
@ -13,6 +16,7 @@ import com.epmet.dto.PaCustomerDTO;
import com.epmet.dto.form.LatestGridInfoFormDTO;
import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.LatestGridInfoResultDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.modules.feign.EpmetUserFeignClient;
import com.epmet.modules.feign.GovOrgFeignClient;
@ -25,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -108,7 +113,24 @@ public class ResiMineGridServiceImpl implements ResiMineGridService {
@Override
public LatestGridInfoResultDTO latestGridInfo(LatestGridInfoFormDTO formDTO) {
logger.info(String.format("居民端获取用户最近访问网格入参%s", JSON.toJSONString(formDTO)));
//1.调用third服务,根据appId获取客户Id
// 查询注册网格的弃用状态
LatestGridInfoResultDTO result = new LatestGridInfoResultDTO();
Result<List<UserBaseInfoResultDTO>> userBaseInfo = epmetUserOpenFeignClient.queryUserBaseInfo(Arrays.asList(formDTO.getUserId()));
if (!userBaseInfo.success()){
throw new EpmetException("查询用户基本信息失败");
}
String registeredGridId = userBaseInfo.getData().get(NumConstant.ZERO).getRegisteredGridId();
if (StringUtils.isNotBlank(registeredGridId)){
GridInfoCache grid = CustomerOrgRedis.getGridInfo(registeredGridId);
if (grid != null) {
result.setRegisterGridStatus(grid.getAbandonFlag());
if (result.getRegisterGridStatus().compareTo(NumConstant.ONE) == NumConstant.ZERO){
return result;
}
}
}
//1.调用third服务,根据appId获取客户Id
JSONObject jsonObject = new JSONObject();
String customerMsgUrl = "https://epmet-cloud.elinkservice.cn/api/third/customermp/getcustomermsg/";
String data = HttpClientManager.getInstance().sendPostByJSON(customerMsgUrl + formDTO.getAppId(), JSON.toJSONString(jsonObject)).getData();
@ -133,9 +155,14 @@ public class ResiMineGridServiceImpl implements ResiMineGridService {
Result<LatestGridInfoResultDTO> userResult = epmetUserOpenFeignClient.latestGridInfo(formDTO);
if (!userResult.success()) {
logger.error(String.format("居民端获取用户最近访问网格失败,接口入参客户Id->%s,appId->%s,调用epmet-user-server服务返回->%s", formDTO.getCustomerId(), formDTO.getAppId(), JSON.toJSONString(userResult)));
return null;
}
return userResult.getData();
if (null == userResult.getData()){
return result;
}
result.setGridId(StringUtils.isNotBlank(userResult.getData().getGridId()) ? userResult.getData().getGridId() : "");
result.setCustomerId(StringUtils.isNotBlank(userResult.getData().getCustomerId()) ? userResult.getData().getCustomerId() : "");
return result;
}
/**

31
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/dto/partymember/result/WarnAndPartyAuditResultDTO.java

@ -0,0 +1,31 @@
package com.epmet.resi.partymember.dto.partymember.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/3/15 8:00 下午
* @DESC
*/
@Data
public class WarnAndPartyAuditResultDTO implements Serializable {
private static final long serialVersionUID = 6971169159679812283L;
/**
* 是否存在党员审核
*/
private Boolean partyMemberStatus;
/**
* 是否存在热心居民审核
*/
private Boolean warnStatus;
public WarnAndPartyAuditResultDTO() {
this.partyMemberStatus = false;
this.warnStatus = false;
}
}

10
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/ResiPartyMemberOpenFeignClient.java

@ -8,6 +8,7 @@ import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFor
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberBaseInfoAddFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartymemberBaseInfoResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.WarnAndPartyAuditResultDTO;
import com.epmet.resi.partymember.feign.fallback.ResiPartyMemberOpenFeignClientFallback;
import com.epmet.resi.partymember.feign.fallback.ResiPartyMemberOpenFeignClientFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
@ -105,4 +106,13 @@ public interface ResiPartyMemberOpenFeignClient {
@PostMapping(value = "/resi/partymember/partymemberinfo/getpartymemberinfobycustomerid")
Result<List<PartymemberInfoDTO>> getPartyMemberInfoByCustomerId(@RequestParam("customerId")String customerId);
/**
* Desc: 查询网格下是否存在党员审核 true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 4:19 下午
*/
@PostMapping("/resi/partymember/partymemberconfirmmanual/audit-reset")
Result<WarnAndPartyAuditResultDTO> partyMemberAuditReset(@RequestParam("gridId")String gridId);
}

6
epmet-module/resi-partymember/resi-partymember-client/src/main/java/com/epmet/resi/partymember/feign/fallback/ResiPartyMemberOpenFeignClientFallback.java

@ -9,6 +9,7 @@ import com.epmet.resi.partymember.dto.partymember.form.DelPartyMemberBaseInfoFor
import com.epmet.resi.partymember.dto.partymember.form.PartyMemberBaseInfoAddFormDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartyMemberBaseInfoDetailResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.PartymemberBaseInfoResultDTO;
import com.epmet.resi.partymember.dto.partymember.result.WarnAndPartyAuditResultDTO;
import com.epmet.resi.partymember.feign.ResiPartyMemberOpenFeignClient;
import org.springframework.stereotype.Component;
@ -69,4 +70,9 @@ public class ResiPartyMemberOpenFeignClientFallback implements ResiPartyMemberOp
public Result<List<PartymemberInfoDTO>> getPartyMemberInfoByCustomerId(String customerId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "getPartyMemberInfoByCustomerId", customerId);
}
@Override
public Result<WarnAndPartyAuditResultDTO> partyMemberAuditReset(String gridId) {
return ModuleUtils.feignConError(ServiceConstant.RESI_PARTYMEMBER_SERVER, "partyMemberAuditReset", gridId);
}
}

12
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/PartymemberConfirmManualController.java

@ -28,6 +28,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.modules.partymember.excel.PartymemberConfirmManualExcel;
import com.epmet.modules.partymember.service.PartymemberConfirmManualService;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmManualDTO;
import com.epmet.resi.partymember.dto.partymember.result.WarnAndPartyAuditResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -91,4 +92,15 @@ public class PartymemberConfirmManualController {
ExcelUtils.exportExcelToTarget(response, null, list, PartymemberConfirmManualExcel.class);
}
/**
* Desc: 查询网格下是否存在党员审核 true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 4:19 下午
*/
@PostMapping("audit-reset")
public Result<WarnAndPartyAuditResultDTO> partyMemberAuditReset(@RequestParam("gridId")String gridId){
return new Result<WarnAndPartyAuditResultDTO>().ok(partymemberConfirmManualService.partyMemberAuditReset(gridId));
}
}

17
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/dao/PartymemberConfirmManualDao.java

@ -20,6 +20,7 @@ package com.epmet.modules.partymember.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.modules.partymember.entity.PartymemberConfirmManualEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 党员认证人工审核表 人工审核时要展示自动审核的结果同事允许前台去修改党员认证信息表的数据
@ -30,4 +31,20 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PartymemberConfirmManualDao extends BaseDao<PartymemberConfirmManualEntity> {
/**
* Desc: 查询网格下存在党员审核个数
* @param gridId
* @author zxc
* @date 2022/3/15 4:24 下午
*/
Integer partyMemberAuditReset(@Param("gridId")String gridId);
/**
* Desc: 查询网格下热心居民审核个数
* @param gridId
* @author zxc
* @date 2022/3/15 8:11 下午
*/
Integer warnAuditReset(@Param("gridId")String gridId);
}

9
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/PartymemberConfirmManualService.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.modules.partymember.entity.PartymemberConfirmManualEntity;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmManualDTO;
import com.epmet.resi.partymember.dto.partymember.result.WarnAndPartyAuditResultDTO;
import java.util.List;
import java.util.Map;
@ -100,4 +101,12 @@ public interface PartymemberConfirmManualService extends BaseService<Partymember
* @return
*/
PartymemberConfirmManualDTO getInfoByPartyMemberInfoId(String partymemberInfoId);
/**
* Desc: 查询网格下是否存在党员审核 true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 4:19 下午
*/
WarnAndPartyAuditResultDTO partyMemberAuditReset(String gridId);
}

24
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartymemberConfirmManualServiceImpl.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.PartyMemberConstant;
@ -29,6 +30,7 @@ import com.epmet.modules.partymember.entity.PartymemberConfirmManualEntity;
import com.epmet.modules.partymember.redis.PartymemberConfirmManualRedis;
import com.epmet.modules.partymember.service.PartymemberConfirmManualService;
import com.epmet.resi.partymember.dto.partymember.PartymemberConfirmManualDTO;
import com.epmet.resi.partymember.dto.partymember.result.WarnAndPartyAuditResultDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -112,4 +114,26 @@ public class PartymemberConfirmManualServiceImpl extends BaseServiceImpl<Partyme
return ConvertUtils.sourceToTarget(entity, PartymemberConfirmManualDTO.class);
}
/**
* Desc: 查询网格下是否存在党员审核 true存在false不存在
* @param gridId
* @author zxc
* @date 2022/3/15 4:19 下午
*/
@Override
public WarnAndPartyAuditResultDTO partyMemberAuditReset(String gridId) {
WarnAndPartyAuditResultDTO result = new WarnAndPartyAuditResultDTO();
// 查询网格下是否存在党员审核
Integer integer = baseDao.partyMemberAuditReset(gridId);
if (integer.compareTo(NumConstant.ZERO) != NumConstant.ZERO){
result.setPartyMemberStatus(true);
}
// 网格下是否存在热心居民审核
Integer warnCount = baseDao.warnAuditReset(gridId);
if (warnCount.compareTo(NumConstant.ZERO) != NumConstant.ZERO){
result.setWarnStatus(true);
}
return result;
}
}

34
epmet-module/resi-partymember/resi-partymember-server/src/main/resources/mapper/partymember/PartymemberConfirmManualDao.xml

@ -3,21 +3,25 @@
<mapper namespace="com.epmet.modules.partymember.dao.PartymemberConfirmManualDao">
<resultMap type="com.epmet.modules.partymember.entity.PartymemberConfirmManualEntity" id="partymemberConfirmManualMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="userId" column="USER_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="partymemberInfoId" column="PARTYMEMBER_INFO_ID"/>
<result property="auditStatus" column="AUDIT_STATUS"/>
<result property="refuseReason" column="REFUSE_REASON"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<!-- 查询网格下存在党员审核个数 -->
<select id="partyMemberAuditReset" resultType="java.lang.Integer">
SELECT
COUNT( ID )
FROM partymember_confirm_manual
WHERE DEL_FLAG = 0
AND AUDIT_STATUS = 'under_auditting'
AND GRID_ID = #{gridId}
</select>
<!-- 查询网格下热心居民审核个数 -->
<select id="warnAuditReset" resultType="java.lang.Integer">
SELECT
COUNT(ID)
FROM resi_warmhearted_apply
WHERE DEL_FLAG = '0'
AND AUDIT_STATUS = 'under_auditting'
AND GRID_ID = #{gridId}
</select>
</mapper>

26
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ModifyRegGridFormDTO.java

@ -0,0 +1,26 @@
package com.epmet.dto.form;
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
public class ModifyRegGridFormDTO implements Serializable {
public interface AddUserInternalGroup {
}
public interface AddUserShowGroup extends CustomerClientShowGroup {
}
@NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class)
private String userId;
@NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class)
private String customerId;
@NotBlank(message = "请选择您所在的网格", groups = AddUserShowGroup.class)
private String gridId;
}

5
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/LatestGridInfoResultDTO.java

@ -23,4 +23,9 @@ public class LatestGridInfoResultDTO implements Serializable {
*/
private String gridId;
/**
* 居民注册网格弃用状态 1弃用0正常使用
*/
private Integer registerGridStatus = 0;
}

27
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/BadgeController.java

@ -1,7 +1,9 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.RequirePermission;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -12,7 +14,6 @@ import com.epmet.service.BadgeService;
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.Map;
@ -206,4 +207,28 @@ public class BadgeController {
List<ListUserByBadgeResultDTO> users = badgeService.listUsersByBadge(customerId, badgeKey);
return new Result<List<ListUserByBadgeResultDTO>>().ok(users);
}
/**
* Desc: 查询网格下是否存在未审核的徽章truefalse
* @param gridId
* @author zxc
* @date 2022/3/16 9:42 上午
*/
@PostMapping("audit-reset")
public Result<Boolean> badgeAuditReset(@RequestParam("gridId")String gridId){
return new Result<Boolean>().ok(badgeService.badgeAuditReset(gridId));
}
/**
* desc:删除审核中的徽章认证记录-弃用网格是调用
* @param customerId
* @param gridId
* @return
*/
@RequirePermission(requirePermission = RequirePermissionEnum.ORG_GRID_DELETE)
@PostMapping("deleteBadgeCertificateAuditing")
public Result<Integer> deleteBadgeCertificateAuditing(@RequestParam("customerId") String customerId,@RequestParam("gridId")String gridId){
return new Result<Integer>().ok(badgeService.deleteBadgeCertificateAuditing(customerId,gridId));
}
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/GridLatestController.java

@ -143,4 +143,15 @@ public class GridLatestController {
return new Result<LatestGridInfoResultDTO>().ok(gridLatestService.latestGridInfo(formDTO));
}
/**
* desc:删除弃用网格的访问记录-弃用网格是调用
* @param customerId
* @param gridId
* @return
*/
@PostMapping("deleteGridLatestData")
public Result<Integer> deleteGridLatestData(@RequestParam("customerId") String customerId,@RequestParam("gridId")String gridId){
return new Result<Integer>().ok(gridLatestService.deleteGridLatestData(customerId,gridId));
}
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java

@ -210,4 +210,20 @@ public class UserController {
ValidatorUtils.validateEntity(findIcUserFormDTO,FindIcUserFormDTO.AddUserInternalGroup.class);
return new Result<EpmetUserFamilyDTO>().ok(userService.findIcUser(findIcUserFormDTO));
}
/**
* 居民端-修改注册网格
* @param tokenDto
* @param formDTO
* @return
*/
@PostMapping(value = "modify-reg-grid")
public Result modifyRegGrid(@LoginUser TokenDto tokenDto,@RequestBody ModifyRegGridFormDTO formDTO){
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
ValidatorUtils.validateEntity(formDTO,ModifyRegGridFormDTO.AddUserShowGroup.class,
ModifyRegGridFormDTO.AddUserInternalGroup.class);
userService.modifyRegGrid(formDTO);
return new Result();
}
}

9
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/BadgeDao.java

@ -204,4 +204,13 @@ public interface BadgeDao extends BaseDao<BadgeEntity> {
* @date 2021.08.02 10:40
*/
List<ListUserByBadgeResultDTO> listUsersByBadge(@Param("customerId") String customerId, @Param("badgeKey") String badgeKey);
/**
* Desc: 查询网格下的徽章审核个数
* @param gridId
* @author zxc
* @date 2022/3/16 9:52 上午
*/
Integer badgeAuditReset(@Param("gridId") String gridId);
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRegGridChangeRecDao.java

@ -0,0 +1,16 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.entity.UserRegGridChangeRecEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* 用户注册网格变更记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-03-17
*/
@Mapper
public interface UserRegGridChangeRecDao extends BaseDao<UserRegGridChangeRecEntity> {
}

41
epmet-user/epmet-user-server/src/main/java/com/epmet/entity/UserRegGridChangeRecEntity.java

@ -0,0 +1,41 @@
package com.epmet.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 用户注册网格变更记录表
*
* @author generator generator@elink-cn.com
* @since v1.0.0 2022-03-17
*/
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("user_reg_grid_change_rec")
public class UserRegGridChangeRecEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;
/**
* 客户id
*/
private String customerId;
/**
* 居民端用户id
*/
private String userId;
/**
* 原始网格id
*/
private String originGridId;
/**
* 当前所选择的注册网格
*/
private String gridId;
}

16
epmet-user/epmet-user-server/src/main/java/com/epmet/service/BadgeService.java

@ -200,4 +200,20 @@ public interface BadgeService extends BaseService<BadgeEntity> {
* @date 2021.08.02 10:39
*/
List<ListUserByBadgeResultDTO> listUsersByBadge(String customerId, String badgeKey);
/**
* Desc: 查询网格下是否存在未审核的徽章truefalse
* @param gridId
* @author zxc
* @date 2022/3/16 9:42 上午
*/
Boolean badgeAuditReset(String gridId);
/**
* desc:根据网格id 修改审核状态
* @param customerId
* @param gridId
* @return
*/
Integer deleteBadgeCertificateAuditing(String customerId, String gridId);
}

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/GridLatestService.java

@ -140,4 +140,12 @@ public interface GridLatestService extends BaseService<GridLatestEntity> {
* @Date 2020/8/3
**/
LatestGridInfoResultDTO latestGridInfo(LatestGridInfoFormDTO formDTO);
/**
* desc:删除弃用网格的访问记录-弃用网格是调用
* @param customerId
* @param gridId
* @return
*/
Integer deleteGridLatestData(String customerId, String gridId);
}

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserBadgeCertificateRecordService.java

@ -92,4 +92,12 @@ public interface UserBadgeCertificateRecordService extends BaseService<UserBadge
* @date 2020-11-05
*/
void delete(String[] ids);
/**
* desc:删除审核中的徽章认证
* @param customerId
* @param gridId
* @return
*/
Integer deleteBadgeCertificateAuditing(String customerId, String gridId);
}

6
epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java

@ -121,4 +121,10 @@ public interface UserService extends BaseService<UserEntity> {
* @return
*/
EpmetUserFamilyDTO findIcUser(FindIcUserFormDTO findIcUserFormDTO);
/**
* 居民端-修改注册网格
* @param formDTO
*/
void modifyRegGrid(ModifyRegGridFormDTO formDTO);
}

21
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/BadgeServiceImpl.java

@ -24,7 +24,6 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.exception.ValidateException;
@ -495,4 +494,24 @@ public class BadgeServiceImpl extends BaseServiceImpl<BadgeDao, BadgeEntity> imp
public List<ListUserByBadgeResultDTO> listUsersByBadge(String customerId, String badgeKey) {
return baseDao.listUsersByBadge(customerId, badgeKey);
}
/**
* Desc: 查询网格下是否存在未审核的徽章truefalse
* @param gridId
* @author zxc
* @date 2022/3/16 9:42 上午
*/
@Override
public Boolean badgeAuditReset(String gridId) {
Integer badgeAuditCount = baseDao.badgeAuditReset(gridId);
if (badgeAuditCount.compareTo(NumConstant.ZERO) != NumConstant.ZERO){
return true;
}
return false;
}
@Override
public Integer deleteBadgeCertificateAuditing(String customerId, String gridId) {
return userBadgeCertificateRecordService.deleteBadgeCertificateAuditing(customerId,gridId);
}
}

11
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/GridLatestServiceImpl.java

@ -19,6 +19,7 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
@ -36,7 +37,6 @@ import com.epmet.dto.result.CustomerUser4PointResultDTO;
import com.epmet.dto.result.LatestGridInfoResultDTO;
import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.entity.GridLatestEntity;
import com.epmet.feign.EpmetHeartOpenFeignClient;
import com.epmet.redis.UserBaseInfoRedis;
import com.epmet.service.GridLatestService;
import com.epmet.util.ModuleConstant;
@ -210,4 +210,13 @@ public class GridLatestServiceImpl extends BaseServiceImpl<GridLatestDao, GridLa
return baseDao.selectLatestGridInfo(formDTO);
}
@Override
public Integer deleteGridLatestData(String customerId, String gridId) {
LambdaUpdateWrapper<GridLatestEntity> wrapper = new LambdaUpdateWrapper();
wrapper.eq(GridLatestEntity::getCustomerId,customerId)
.eq(GridLatestEntity::getGridId,gridId)
.set(GridLatestEntity::getUpdatedTime,System.currentTimeMillis());
return baseDao.delete(wrapper);
}
}

10
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserBadgeCertificateRecordServiceImpl.java

@ -17,6 +17,7 @@
package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
@ -97,4 +98,13 @@ public class UserBadgeCertificateRecordServiceImpl extends BaseServiceImpl<UserB
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Integer deleteBadgeCertificateAuditing(String customerId, String gridId) {
LambdaQueryWrapper<UserBadgeCertificateRecordEntity> tWrapper = new LambdaQueryWrapper<>();
tWrapper.eq(UserBadgeCertificateRecordEntity::getCustomerId,customerId)
.eq(UserBadgeCertificateRecordEntity::getGridId,gridId)
.eq(UserBadgeCertificateRecordEntity::getAuditStatus,"auditing");
return baseDao.delete(tWrapper);
}
}

111
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java

@ -1,26 +1,27 @@
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.NumConstant;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
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;
import com.epmet.dao.UserResiInfoDao;
import com.epmet.dao.UserRoleDao;
import com.epmet.dao.UserWechatDao;
import com.epmet.dao.*;
import com.epmet.dto.*;
import com.epmet.dto.form.*;
import com.epmet.dto.result.*;
import com.epmet.entity.UserBaseInfoEntity;
import com.epmet.entity.UserEntity;
import com.epmet.entity.UserWechatEntity;
import com.epmet.entity.*;
import com.epmet.feign.EpmetHeartOpenFeignClient;
import com.epmet.feign.EpmetPointOpenFeignClient;
import com.epmet.feign.GovOrgFeignClient;
import com.epmet.redis.UserBaseInfoRedis;
import com.epmet.service.IcResiUserService;
import com.epmet.service.UserBaseInfoService;
import com.epmet.service.UserService;
@ -31,6 +32,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
@ -63,6 +65,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
private UserResiInfoDao userResiInfoDao;
@Autowired
private IcResiUserService icResiUserService;
@Autowired
private RegisterRelationDao registerRelationDao;
@Autowired
private EpmetHeartOpenFeignClient epmetHeartOpenFeignClient;
@Autowired
private ResiUserBadgeDao resiUserBadgeDao;
@Autowired
private UserBadgeCertificateRecordDao userBadgeCertificateRecordDao;
@Autowired
private UserBaseInfoRedis userBaseInfoRedis;
@Autowired
private UserRegGridChangeRecDao UserRegGridChangeRecDao;
private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class);
@ -417,4 +432,86 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return result;
}
/**
* 居民端-修改注册网格
*
* @param formDTO
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void modifyRegGrid(ModifyRegGridFormDTO formDTO) {
GridInfoCache newGridInfo= CustomerOrgRedis.getGridInfo(formDTO.getGridId());
RegisterRelationEntity originReg=registerRelationDao.selectRegisteredGridIdByUserIdAndCustomerId(formDTO.getUserId(),formDTO.getCustomerId());
if (null == newGridInfo || null == originReg) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "居民端_修改注册网格:查询网格信息异常", "服务器开小差了...");
}
//修改register_relation表
LambdaQueryWrapper<RegisterRelationEntity> originWrapper=new LambdaQueryWrapper();
originWrapper.eq(RegisterRelationEntity::getCustomerId,formDTO.getCustomerId())
.eq(RegisterRelationEntity::getUserId,formDTO.getUserId())
.eq(RegisterRelationEntity::getFirstRegister, NumConstant.ONE_STR);
//1、删除废弃网格的(现在生产存在同一个用户相同的网格id多条记录,所以用delete方法)
registerRelationDao.delete(originWrapper);
//2、删除用户与当前选择的网格的关系,新插入一条注册关系,
LambdaQueryWrapper<RegisterRelationEntity> deleteWrapper=new LambdaQueryWrapper();
deleteWrapper.eq(RegisterRelationEntity::getCustomerId,formDTO.getCustomerId())
.eq(RegisterRelationEntity::getUserId,formDTO.getUserId())
.eq(RegisterRelationEntity::getGridId, formDTO.getGridId());
registerRelationDao.delete(deleteWrapper);
RegisterRelationEntity insert=new RegisterRelationEntity();
insert.setCustomerId(formDTO.getCustomerId());
insert.setGridId(formDTO.getGridId());
insert.setUserId(formDTO.getUserId());
insert.setFirstRegister(NumConstant.ONE_STR);
insert.setRegister(NumConstant.ONE_STR);
insert.setParticipation(NumConstant.ONE_STR);
registerRelationDao.insert(insert);
//2、修改历史徽章表
LambdaUpdateWrapper<UserBadgeCertificateRecordEntity> recUpdate=new LambdaUpdateWrapper<>();
recUpdate.set(UserBadgeCertificateRecordEntity::getGridId,newGridInfo.getId())
.set(UserBadgeCertificateRecordEntity::getUpdatedBy,formDTO.getUserId())
.set(UserBadgeCertificateRecordEntity::getUpdatedTime,new Date());
recUpdate.eq(UserBadgeCertificateRecordEntity::getCustomerId,formDTO.getCustomerId())
.eq(UserBadgeCertificateRecordEntity::getUserId,formDTO.getUserId());
userBadgeCertificateRecordDao.update(null,recUpdate);
LambdaUpdateWrapper<ResiUserBadgeEntity> badgeUpdate=new LambdaUpdateWrapper<>();
badgeUpdate.set(ResiUserBadgeEntity::getGridId,newGridInfo.getId())
.set(ResiUserBadgeEntity::getUpdatedBy,formDTO.getUserId())
.set(ResiUserBadgeEntity::getUpdatedTime,new Date());;
badgeUpdate.eq(ResiUserBadgeEntity::getCustomerId,formDTO.getCustomerId())
.eq(ResiUserBadgeEntity::getUserId,formDTO.getUserId());
resiUserBadgeDao.update(null,badgeUpdate);
//3、修改支援者信息表
modifyVolunteerGrid(formDTO,newGridInfo);
//4、删除用户缓存信息
userBaseInfoRedis.clearUserCache(Arrays.asList(formDTO.getUserId()));
//5、插入用户注册网格变更记录
UserRegGridChangeRecEntity log=new UserRegGridChangeRecEntity();
log.setCustomerId(formDTO.getCustomerId());
log.setUserId(formDTO.getUserId());
log.setOriginGridId(originReg.getGridId());
log.setGridId(formDTO.getGridId());
UserRegGridChangeRecDao.insert(log);
}
private void modifyVolunteerGrid(ModifyRegGridFormDTO formDTO, GridInfoCache newGridInfo) {
VolunteerInfoDTO volunteerInfoDTO=new VolunteerInfoDTO();
volunteerInfoDTO.setCustomerId(formDTO.getCustomerId());
volunteerInfoDTO.setUserId(formDTO.getUserId());
volunteerInfoDTO.setGridId(newGridInfo.getId());
volunteerInfoDTO.setPid(newGridInfo.getPid());
volunteerInfoDTO.setPids(newGridInfo.getPids());
volunteerInfoDTO.setGridName(newGridInfo.getGridName());
Result volunteerRes=epmetHeartOpenFeignClient.modifyVolunteerGrid(volunteerInfoDTO);
if (!volunteerRes.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "居民端_修改注册网格:修改用户志愿者信息异常", "服务器开小差了...");
}
}
}

14
epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.25__create_user_reg_grid_rec.sql

@ -0,0 +1,14 @@
CREATE TABLE `user_reg_grid_change_rec` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户id',
`USER_ID` varchar(64) NOT NULL COMMENT '居民端用户id',
`ORIGIN_GRID_ID` varchar(64) NOT NULL COMMENT '原始网格id',
`GRID_ID` varchar(64) NOT NULL COMMENT '当前所选择的注册网格',
`DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标识 1删除;0未删除',
`REVISION` int(11) NOT NULL COMMENT '乐观锁',
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人',
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间',
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人',
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户注册网格变更记录表';

10
epmet-user/epmet-user-server/src/main/resources/mapper/BadgeDao.xml

@ -330,4 +330,14 @@
and user_base_info.DEL_FLAG = 0)
</select>
<!-- 查询网格下的徽章审核个数 -->
<select id="badgeAuditReset" resultType="java.lang.Integer">
SELECT
COUNT(ID)
FROM user_badge_certificate_record
WHERE DEL_FLAG = '0'
AND AUDIT_STATUS = 'auditing'
AND GRID_ID = #{gridId}
</select>
</mapper>

2
epmet-user/epmet-user-server/src/main/resources/mapper/RegisterRelationDao.xml

@ -79,7 +79,7 @@
<!-- 根据userId查询注册网格ID -->
<select id="selectRegisterGridIdByUserId" resultType="java.lang.String">
SELECT GRID_ID FROM register_relation WHERE DEL_FLAG = 0 and USER_ID = #{userId}
SELECT GRID_ID FROM register_relation WHERE DEL_FLAG = 0 AND FIRST_REGISTER = 1 and USER_ID = #{userId}
</select>
<!-- 居民注册关系 -->

8
epmet-user/epmet-user-server/src/main/resources/mapper/UserRegGridChangeRecDao.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.dao.UserRegGridChangeRecDao">
</mapper>
Loading…
Cancel
Save