Browse Source

Merge branch 'develop' into release_temp

dev
sunyuchao 4 years ago
parent
commit
27e11b5ec2
  1. 3
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/common/CustomerOrgRedis.java
  2. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerGridDao.xml
  3. 2
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java
  4. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/result/CustomerGridDTO.java
  5. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
  6. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
  7. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java
  8. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java
  9. 19
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/HistoryDataService.java
  10. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
  11. 16
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
  12. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java
  13. 15
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectDataServiceImpl.java
  14. 75
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/HistoryDataServiceImpl.java
  15. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java
  16. 16
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
  17. 14
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  18. 15
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml
  19. 1
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml
  20. 12
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml
  21. 8
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/EpmetHeartOpenFeignClient.java
  22. 11
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/feign/fallback/EpmetHeartOpenFeignClientFallback.java
  23. 11
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java
  24. 7
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/VolunteerInfoDao.java
  25. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java
  26. 10
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java
  27. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/VolunteerInfoDao.xml
  28. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java
  29. 46
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  30. 2
      epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.13__abandon_grid.sql
  31. 4
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java
  32. 2
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoDifficultyDTO.java
  33. 7
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddMemoDifficultyFromDTO.java
  34. 1
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java
  35. 4
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java
  36. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoDifficultyEntity.java
  37. 86
      epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.21__create_memo_table.sql
  38. 1
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java
  39. 1
      epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java
  40. 10
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExDeptDao.xml
  41. 16
      epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml
  42. 2
      epmet-module/resi-guide/resi-guide-server/src/main/java/com/epmet/controller/UserGuideController.java
  43. 26
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ModifyRegGridFormDTO.java
  44. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java
  45. 6
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java
  46. 91
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java

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

@ -1,6 +1,7 @@
package com.epmet.commons.tools.redis.common;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.feign.CommonAggFeignClient;
import com.epmet.commons.tools.redis.RedisKeys;
@ -51,6 +52,7 @@ 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);
}
@ -62,6 +64,7 @@ public class CustomerOrgRedis {
//throw new RenException("没有此网格信息...");
return null;
}
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);
return gridInfoResult.getData();

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

@ -174,8 +174,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>

2
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/org/CustomerStaffGridDTO.java

@ -20,7 +20,6 @@ package com.epmet.dto.org;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
@ -46,6 +45,7 @@ public class CustomerStaffGridDTO implements Serializable {
* 网格ID
*/
private String gridId;
private String gridName;
/**
* 上级组织ID
*/

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;
}

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java

@ -41,6 +41,7 @@ import com.epmet.entity.stats.DimAgencyEntity;
import com.epmet.entity.stats.DimCustomerEntity;
import com.epmet.entity.stats.DimDateEntity;
import com.epmet.entity.stats.DimMonthEntity;
import com.epmet.service.HistoryDataService;
import com.epmet.service.StatsDemoService;
import com.epmet.service.StatsPartyMemberVanguardService;
import com.epmet.service.evaluationindex.extract.dataToIndex.*;
@ -60,6 +61,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@ -139,6 +141,8 @@ public class DemoController {
private DimCustomerService dimCustomerService;
@Autowired
private ScreenProjectDataService screenProjectDataService;
@Resource
private HistoryDataService historyDataService;
@GetMapping("testAlarm")
public void testAlarm() {
@ -1139,4 +1143,11 @@ public class DemoController {
long l = (end - start) / 1000;
return new Result<String>().ok("gridAndOrgDaily耗时" + l+ "s");
}
@PostMapping("projectHistoryData")
public Result projectHistoryData(@RequestBody ExtractOriginFormDTO formDTO) {
historyDataService.projectAddGridId(formDTO.getCustomerId());
return new Result();
}
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java

@ -23,6 +23,7 @@ import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.TransferRightRatioResultDTO;
import com.epmet.dto.indexcollect.result.CpcIndexCommonDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.pingyin.result.*;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
@ -550,4 +551,13 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
*/
List<OrgStatisticsResultDTO> getMemberProjectCount(@Param("customerId") String customerId, @Param("dateId") String dateId);
/**
* 更新历史数据
* @Param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:48
*/
void updateHistoryData(CustomerStaffGridDTO dto);
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java

@ -19,6 +19,7 @@ package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.form.ExtractOriginFormDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.result.DataCheckDTO;
import com.epmet.dto.screen.result.GridAndOrgCategoryCountResultDTO;
@ -122,4 +123,13 @@ public interface ScreenProjectDataDao extends BaseDao<ScreenProjectDataEntity> {
* @Date 2022/3/7 16:00
*/
List<DataCheckDTO> getCheckResult(ExtractOriginFormDTO formDTO);
/**
* 更新历史数据
* @Param list
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:48
*/
void updateHistoryData(CustomerStaffGridDTO dto);
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectDao.java

@ -19,6 +19,7 @@ package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.project.*;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.project.ProjectEntity;
@ -204,4 +205,13 @@ public interface ProjectDao extends BaseDao<ProjectEntity> {
* @return
*/
List<ResiEventDTO> getEventList(@Param("customerId") String customerId, @Param("projectId") String projectId);
/**
* 更新历史数据
* @Param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:48
*/
void updateHistoryData(CustomerStaffGridDTO dto);
}

19
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/HistoryDataService.java

@ -0,0 +1,19 @@
package com.epmet.service;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/3/15 10:09
*/
public interface HistoryDataService {
/**
* 网格员立项来源改为work_event
*
* @Param customerId
* @Return
* @Author zhaoqifeng
* @Date 2022/3/15 10:13
*/
void projectAddGridId(String customerId);
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java

@ -23,6 +23,7 @@ import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.TransferRightRatioResultDTO;
import com.epmet.dto.indexcollect.result.CpcIndexCommonDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.pingyin.result.*;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
@ -490,4 +491,13 @@ public interface FactOriginProjectMainDailyService extends BaseService<FactOrigi
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.dto.extract.result.OrgStatisticsResultDTO>>
*/
Map<String, List<OrgStatisticsResultDTO>> getMemberProjectCount(String customerId, String dateId, Integer type);
/**
* 更新项目表历史数据
* @Param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:46
*/
void updateHistoryData(CustomerStaffGridDTO dto);
}

16
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java

@ -31,6 +31,7 @@ import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.TransferRightRatioResultDTO;
import com.epmet.dto.indexcollect.result.CpcIndexCommonDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.pingyin.result.*;
import com.epmet.dto.result.CostDayResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
@ -44,6 +45,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
@ -734,5 +736,19 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
return list.stream().collect(Collectors.groupingBy(OrgStatisticsResultDTO::getStaffId));
}
/**
* 更新项目表历史数据
*
* @param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:46
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void updateHistoryData(CustomerStaffGridDTO dto) {
baseDao.updateHistoryData(dto);
}
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenProjectDataService.java

@ -20,6 +20,7 @@ package com.epmet.service.evaluationindex.screen;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.rocketmq.messages.DisputeProcessMQMsg;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ScreenProjectDataInfoFormDTO;
import com.epmet.dto.screencoll.ScreenCollFormDTO;
@ -157,4 +158,13 @@ public interface ScreenProjectDataService extends BaseService<ScreenProjectDataE
*/
void extractCategory(String customerId);
/**
* 更新项目表历史数据
* @Param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:46
*/
void updateHistoryData(CustomerStaffGridDTO dto);
}

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

@ -32,6 +32,7 @@ import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.evaluationindex.screen.ScreenProjectDataDao;
import com.epmet.dao.evaluationindex.screen.ScreenProjectImgDataDao;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.ScreenProjectImgDataDTO;
import com.epmet.dto.screen.form.ScreenProjectDataInfoFormDTO;
@ -390,4 +391,18 @@ public class ScreenProjectDataServiceImpl extends BaseServiceImpl<ScreenProjectD
}
}
/**
* 更新项目表历史数据
*
* @Param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:46
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void updateHistoryData(CustomerStaffGridDTO dto) {
baseDao.updateHistoryData(dto);
}
}

75
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/HistoryDataServiceImpl.java

@ -0,0 +1,75 @@
package com.epmet.service.impl;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.RoleKeyConstants;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.user.result.StaffRoleInfoDTO;
import com.epmet.service.HistoryDataService;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
import com.epmet.service.evaluationindex.screen.ScreenProjectDataService;
import com.epmet.service.org.CustomerGridService;
import com.epmet.service.project.ProjectService;
import com.epmet.service.user.UserService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Description
* @Author zhaoqifeng
* @Date 2022/3/15 10:12
*/
@Service
public class HistoryDataServiceImpl implements HistoryDataService {
@Resource
CustomerGridService customerGridService;
@Resource
private UserService userService;
@Resource
private ProjectService projectService;
@Resource
private FactOriginProjectMainDailyService factOriginProjectMainDailyService;
@Resource
private ScreenProjectDataService screenProjectDataService;
/**
* 网格员立项来源改为work_event
*
* @param customerId
* @Param customerId
* @Return
* @Author zhaoqifeng
* @Date 2022/3/15 10:13
*/
@Override
public void projectAddGridId(String customerId) {
List<CustomerStaffGridDTO> staffGridList = customerGridService.getCustomerStaffGridList(customerId);
List<StaffRoleInfoDTO> staffInfoList = userService.getStaffByRoleKey(customerId, RoleKeyConstants.ROLE_KEY_GRID_MEMBER);
if (CollectionUtils.isEmpty(staffGridList) || CollectionUtils.isEmpty(staffInfoList)) {
return;
}
Map<String, StaffRoleInfoDTO> staffMap = staffInfoList.stream().collect(Collectors.toMap(StaffRoleInfoDTO :: getStaffId,
Function.identity()));
List<CustomerStaffGridDTO> list = staffGridList.stream().filter(p -> null != staffMap.get(p.getStaffId())).map(item -> {
StaffRoleInfoDTO staffInfo = staffMap.get(item.getStaffId());
CustomerStaffGridDTO dto = ConvertUtils.sourceToTarget(item, CustomerStaffGridDTO.class);
dto.setStaffId(staffInfo.getStaffId());
return dto;
}).collect(Collectors.toList());
list.forEach(part -> {
//更新project表
projectService.updateHistoryData(part);
//更新fact_origin_project_main_daily
factOriginProjectMainDailyService.updateHistoryData(part);
//更新screen_project_data
screenProjectDataService.updateHistoryData(part);
});
}
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectService.java

@ -20,6 +20,7 @@ package com.epmet.service.project;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.ProjectCategoryDTO;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.project.ProjectAgencyDTO;
import com.epmet.dto.project.ProjectGridDTO;
import com.epmet.dto.project.ResiEventDTO;
@ -204,4 +205,13 @@ public interface ProjectService extends BaseService<ProjectEntity> {
* @return
*/
Map<String, ResiEventDTO> getEventList(String customerId, String projectId);
/**
* 更新项目表历史数据
* @Param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:46
*/
void updateHistoryData(CustomerStaffGridDTO dto);
}

16
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java

@ -23,6 +23,7 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.constant.DataSourceConstant;
import com.epmet.dao.project.ProjectDao;
import com.epmet.dto.ProjectDTO;
import com.epmet.dto.org.CustomerStaffGridDTO;
import com.epmet.dto.project.*;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
@ -31,6 +32,7 @@ import com.epmet.service.project.ProjectService;
import com.github.pagehelper.PageHelper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
@ -263,5 +265,19 @@ public class ProjectServiceImpl extends BaseServiceImpl<ProjectDao, ProjectEntit
return list.stream().collect(Collectors.toMap(ResiEventDTO::getProjectId, Function.identity()));
}
/**
* 更新项目表历史数据
*
* @param dto
* @Return
* @Author zhaoqifeng
* @Date 2022/3/16 9:46
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void updateHistoryData(CustomerStaffGridDTO dto) {
baseDao.updateHistoryData(dto);
}
}

14
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml

@ -1211,4 +1211,18 @@
AGENCY_ID,
PROJECT_CREATOR
</select>
<update id="updateHistoryData">
UPDATE
fact_origin_project_main_daily
SET
ORIGIN = 'work_event',
ORIGIN_ID = #{gridId},
GRID_ID = #{gridId}
WHERE
PROJECT_CREATOR = #{staffId}
AND CUSTOMER_ID = #{customerId}
AND AGENCY_ID = #{agencyId}
AND ORIGIN = 'agency'
</update>
</mapper>

15
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml

@ -458,4 +458,19 @@
AGENCY_ID,
DATE_ID DESC
</select>
<update id="updateHistoryData">
UPDATE
screen_project_data
SET
ORIGIN = 'work_event',
ORG_TYPE = 'grid',
ORG_ID = #{gridId},
ORG_NAME = #{gridName}
WHERE
PROJECT_CREATOR = #{staffId}
AND CUSTOMER_ID = #{customerId}
AND ORG_ID = #{agencyId}
AND ORIGIN = 'agency'
</update>
</mapper>

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

@ -121,6 +121,7 @@
ca.PID,
cg.PIDS,
csg.GRID_ID,
cg.GRID_NAME,
csg.USER_ID AS staffId
FROM
customer_staff_grid csg

12
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml

@ -268,4 +268,16 @@
and rero.CUSTOMER_ID = #{customerId}
</select>
<update id="updateHistoryData">
UPDATE
project
SET
ORIGIN = 'work_event',
ORIGIN_ID = #{gridId}
WHERE
CREATED_BY = #{staffId}
AND CUSTOMER_ID = #{customerId}
AND AGENCY_ID = #{agencyId}
AND ORIGIN = 'agency'
</update>
</mapper>

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

@ -420,4 +420,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>

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

@ -241,15 +241,4 @@ public class GridController {
return new Result();
}
/**
* desc:移除网格内的工作人员关系 并迁移到组织
* @author jianjun liu
* @remark: 如果是网格添加的则解除关系后将注册关系改为对应的组织 如果不是则直接解除关系(相当于移除该人员与网格的关系)
*/
@PostMapping("removeGridStaff2Agency/{gridId}")
//@RequirePermission(requirePermission = RequirePermissionEnum.ORG_STAFF_TRANSFER)
public Result removeGridStaff2Agency( @PathVariable String gridId){
customerGridService.abandonGridForDealBizData(gridId);
return new Result();
}
}

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

@ -972,7 +972,6 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
* @param formDTO
* @return
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void abandonGrid(AbandonGridFormDTO formDTO) {
//未处理的事件
@ -989,16 +988,8 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "存在未关闭的议题", "该网格存在未关闭的议题,请处理完再操作");
}
//可以弃用、处理数据 todo
// ....
// ....
//可以弃用、处理数据(网格工作人员所属关系(网格工作人员人数), 删除正在审核中的徽章认证)
this.abandonGridForDealBizData(formDTO.getGridId());
//处理成功,隐藏网格
LambdaUpdateWrapper<CustomerGridEntity> updateGrid=new LambdaUpdateWrapper<>();
updateGrid.set(CustomerGridEntity::getAbandonFlag,true);
updateGrid.eq(CustomerGridEntity::getId,formDTO.getGridId());
baseDao.update(null,updateGrid);
CustomerOrgRedis.delGridInfo(formDTO.getGridId());
}
@ -1014,24 +1005,28 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
logger.debug("abandonGridForDealBizData staffList:{}", JSON.toJSONString(staffList));
List<StaffOrgRelationEntity> updateList = new ArrayList<>();
staffList.forEach(staffOrg->{
if(OrgTypeEnum.GRID.getCode().equals(staffOrg.getOrgType())){
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())){
log.error("abandonGridForDealBizData agencyId:{} is not exist",gridInfo.getPid());
return;
}
entity.setOrgId(gridInfo.getPid());
updateList.add(entity);
//只有工作人员是网格添加的才处理
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 = staffList.get(NumConstant.ZERO).getCustomerId();
updateGridStaff2Agency(customerId,gridId, staffList, updateList);
//清空工作人员缓存
staffList.forEach(staff->CustomerStaffRedis.delStaffInfoFormCache(customerId,staff.getStaffId()));
} catch (Exception e) {
log.error("abandonGridForDealBizData exception", e);
throw e;
@ -1051,11 +1046,18 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
//网格对应的人数减少
long reduceCount = NumConstant.ZERO - staffList.stream().map(StaffOrgRelationDTO::getStaffId).distinct().count();
log.debug("updateGridStaff2Agency gridId:{} reduceCount:{}",gridId, reduceCount);
int effectRow = customerGridDao.updateTotalUser(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(),"删除未审核徽章失败,请稍后重试");
}
//处理成功,隐藏网格
LambdaUpdateWrapper<CustomerGridEntity> updateGrid=new LambdaUpdateWrapper<>();
updateGrid.set(CustomerGridEntity::getAbandonFlag,true);
updateGrid.eq(CustomerGridEntity::getId,gridId);
baseDao.update(null,updateGrid);
}
}

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

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

4
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoConcernDTO.java

@ -61,13 +61,13 @@ public class MemoConcernDTO implements Serializable {
private String content;
/**
* 计划执行时间
* 预计关怀时间
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm")
private Date scheduledTime;
/**
* 实际执行时间
* 实际执行时间(预留字段)
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm")
private Date actualTime;

2
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/MemoDifficultyDTO.java

@ -45,7 +45,7 @@ public class MemoDifficultyDTO implements Serializable {
private String remark;
/**
* 计划执行时间
* 预计处理时间
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm")
private Date scheduledTime;

7
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/AddMemoDifficultyFromDTO.java

@ -5,7 +5,6 @@ import com.epmet.dto.MemoAttachmentDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@ -34,21 +33,23 @@ public class AddMemoDifficultyFromDTO implements Serializable {
* 内容
*/
@NotBlank(message = "难点堵点内容不能为空", groups = { AddMemoDifficulty.class })
@Length(max = 500, message = "难点堵点内容最为50个字", groups = { AddMemoDifficulty.class })
@Length(max = 500, message = "难点堵点内容最为50个字", groups = { AddMemoDifficulty.class })
private String content;
/**
* 解决方式
*/
@Length(max = 500, message = "解决方式最多为500个字", groups = { AddMemoDifficulty.class })
private String resolveWay;
/**
* 备注
*/
@Length(max = 200, message = "备注最多为200个字", groups = { AddMemoDifficulty.class })
private String remark;
/**
* 计划执行时间
* 预计处理时间
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm")
private Date scheduledTime;

1
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/MemoDifficultyController.java

@ -92,6 +92,7 @@ public class MemoDifficultyController {
@PostMapping("detail")
public Result<AddMemoDifficultyFromDTO> detail(@RequestBody MemoDifficultyDetailFromDTO fromDTO){
ValidatorUtils.validateEntity(fromDTO, MemoDifficultyDetailFromDTO.Detail.class);
return new Result<AddMemoDifficultyFromDTO>().ok(memoDifficultyService.detail(fromDTO));
}

4
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoConcernEntity.java

@ -51,12 +51,12 @@ public class MemoConcernEntity extends BaseEpmetEntity {
private String content;
/**
* 计划执行时间
* 预计关怀时间
*/
private Date scheduledTime;
/**
* 实际执行时间
* 实际执行时间(预留字段)
*/
private Date actualTime;

2
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/MemoDifficultyEntity.java

@ -41,7 +41,7 @@ public class MemoDifficultyEntity extends BaseEpmetEntity {
private String remark;
/**
* 计划执行时间
* 预计处理时间
*/
private Date scheduledTime;

86
epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.21__create_memo_table.sql

@ -0,0 +1,86 @@
CREATE TABLE `memo_attachment` (
`ID` varchar(64) NOT NULL COMMENT '主键',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`REMIND_MSG_ID` varchar(64) NOT NULL COMMENT 'REMIND_MSG.ID 业务(工作日志、难点堵点、人员关怀)表Id',
`FILE_NAME` varchar(255) DEFAULT NULL COMMENT '文件名',
`ATTACHMENT_NAME` varchar(64) DEFAULT NULL COMMENT '附件名(uuid随机生成)',
`ATTACHMENT_SIZE` int(11) DEFAULT NULL COMMENT '文件大小,单位b',
`ATTACHMENT_FORMAT` varchar(64) NOT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)',
`ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))',
`ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址',
`DURATION` int(11) DEFAULT '0' COMMENT '语音或视频时长,秒',
`SORT` int(1) NOT NULL COMMENT '排序字段',
`DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除',
`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`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='备忘录-附件表';
CREATE TABLE `memo_attr` (
`ID` varchar(32) NOT NULL COMMENT '唯一标识',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`REMIND_TIME` datetime DEFAULT NULL COMMENT '提醒时间',
`TYPE` varchar(32) NOT NULL COMMENT '业务类型 人员关怀:concern;难点堵点:difficulty;工作日志:work_diary',
`READ_FLAG` tinyint(1) NOT NULL DEFAULT '0' COMMENT '阅读标记1 已读;0未读',
`RECEIVER` varchar(32) NOT NULL COMMENT '接收人ID',
`DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`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`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备忘录-属性(通知)表';
CREATE TABLE `memo_concern` (
`ID` varchar(32) NOT NULL COMMENT '唯一标识(同memo_attr表Id)',
`CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID',
`CONCERN_TYPE` varchar(64) DEFAULT NULL COMMENT '关怀类型',
`RESI_NAME` varchar(64) NOT NULL COMMENT '关怀人员',
`PHONE` varchar(64) DEFAULT NULL COMMENT '关怀对象电话',
`ADDRESS` varchar(64) DEFAULT NULL COMMENT '关怀对象地址',
`CONTENT` varchar(1024) NOT NULL COMMENT '关怀事项',
`SCHEDULED_TIME` datetime DEFAULT NULL COMMENT '预计关怀时间',
`ACTUAL_TIME` datetime DEFAULT NULL COMMENT '实际执行时间(预留字段)',
`STATUS` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态 0未完成 1已完成',
`DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`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`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备忘录-人文关怀';
CREATE TABLE `memo_difficulty` (
`ID` varchar(32) NOT NULL COMMENT '唯一标识(同memo_attr表Id)',
`CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID',
`CONTENT` varchar(1024) NOT NULL COMMENT '内容',
`RESOLVE_WAY` varchar(512) DEFAULT NULL COMMENT '解决方式',
`REMARK` varchar(255) DEFAULT NULL COMMENT '备注',
`SCHEDULED_TIME` datetime DEFAULT NULL COMMENT '预计处理时间',
`DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`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`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备忘录-难点读点';
CREATE TABLE `memo_work_diary` (
`ID` varchar(32) NOT NULL COMMENT '唯一标识(同memo_attr表Id)',
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID',
`CONTENT` varchar(1024) NOT NULL COMMENT '内容',
`WORK_TYPE` varchar(64) DEFAULT NULL COMMENT '工作事项',
`DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除',
`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`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备忘录-工作日志';

1
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataOrgChangeEventListener.java

@ -83,6 +83,7 @@ public class OpenDataOrgChangeEventListener implements MessageListenerConcurrent
dto.setType(obj.getType());
List<String> orgIdList = new ArrayList<>();
orgIdList.add(obj.getOrgId());
dto.setOrgIdList(orgIdList);
if ("agency".equals(obj.getOrgType())) {
SpringContextUtils.getBean(ExDeptService.class).getAgencyBaseInfo(dto);
} else {

1
epmet-module/open-data-worker/open-data-worker-server/src/main/java/com/epmet/opendata/mq/listener/OpenDataStaffChangeEventListener.java

@ -85,6 +85,7 @@ public class OpenDataStaffChangeEventListener implements MessageListenerConcurre
dto.setType(obj.getType());
List<String> staffIdList = new ArrayList<>();
staffIdList.add(obj.getOrgId());
dto.setStaffIdList(staffIdList);
SpringContextUtils.getBean(ExUserService.class).getStaffBaseInfo(dto);
} catch (RenException e) {
// 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试

10
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExDeptDao.xml

@ -10,7 +10,7 @@
<trim prefix="qx_dept_id =(case" suffix="end),">
<foreach collection="list" item="item">
<if test='null != item.qxDeptId'>
when qx_dept_name = #{item.qxDeptName} then #{item.qxDeptId}
when dept_name = #{item.qxDeptName} then #{item.qxDeptId}
</if>
</foreach>
</trim>
@ -18,7 +18,7 @@
<trim prefix="qx_dept_name =(case" suffix="end),">
<foreach collection="list" item="item">
<if test='null != item.qxDeptName'>
when qx_dept_name = #{item.qxDeptName} then #{item.qxDeptId}
when dept_name = #{item.qxDeptName} then #{item.qxDeptName}
</if>
</foreach>
</trim>
@ -26,7 +26,7 @@
<trim prefix="qx_dept_code =(case" suffix="end),">
<foreach collection="list" item="item">
<if test='null != item.qxDeptCode'>
when qx_dept_name = #{item.qxDeptName} then #{item.qxDeptCode}
when dept_name = #{item.qxDeptName} then #{item.qxDeptCode}
</if>
</foreach>
</trim>
@ -34,7 +34,7 @@
<trim prefix="qx_customer_id =(case" suffix="end),">
<foreach collection="list" item="item">
<if test='null != item.qxCustomerId'>
when qx_dept_name = #{item.qxDeptName} then #{item.qxCustomerId}
when dept_name = #{item.qxDeptName} then #{item.qxCustomerId}
</if>
</foreach>
</trim>
@ -43,7 +43,7 @@
WHERE
1=1
<foreach collection="list" item="item" open="AND( " separator=" OR " index="index" close=")">
qx_dept_name = #{item.qxDeptName}
dept_name = #{item.qxDeptName}
</foreach>
</update>

16
epmet-module/open-data-worker/open-data-worker-server/src/main/resources/mapper/ExUserDao.xml

@ -7,10 +7,18 @@
UPDATE ex_user
<trim prefix="set" suffixOverrides=",">
<trim prefix="qx_user_id =(case" suffix="end),">
<foreach collection="list" item="item">
<if test='null != item.qxUserId'>
when (login_name = #{item.qxMobile} ) then #{item.qxUserId}
</if>
</foreach>
</trim>
<trim prefix="qx_user_name =(case" suffix="end),">
<foreach collection="list" item="item">
<if test='null != item.qxUserName'>
when (qx_user_id = #{item.qxUserId} ) then #{item.qxUserName}
when (login_name = #{item.qxMobile} ) then #{item.qxUserName}
</if>
</foreach>
</trim>
@ -18,7 +26,7 @@
<trim prefix="qx_mobile =(case" suffix="end),">
<foreach collection="list" item="item">
<if test='null != item.qxMobile'>
when (qx_user_id = #{item.qxUserId} ) then #{item.qxMobile}
when (login_name = #{item.qxMobile} ) then #{item.qxMobile}
</if>
</foreach>
</trim>
@ -26,7 +34,7 @@
<trim prefix="qx_customer_id =(case" suffix="end),">
<foreach collection="list" item="item">
<if test='null != item.qxCustomerId'>
when (qx_user_id = #{item.qxUserId} ) then #{item.qxCustomerId}
when (login_name = #{item.qxMobile} ) then #{item.qxCustomerId}
</if>
</foreach>
</trim>
@ -34,7 +42,7 @@
</trim>
WHERE 1=1
<foreach collection="list" item="item" open="AND ( " separator=" OR " index="index" close=")">
(qx_user_id = #{item.qxUserId} )
(login_name = #{item.qxMobile} )
</foreach>
</update>

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));

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;
}

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();
}
}

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);
}

91
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,16 @@ 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;
private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class);
@ -417,4 +429,69 @@ 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());
if (null == newGridInfo) {
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());
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());
badgeUpdate.eq(ResiUserBadgeEntity::getCustomerId,formDTO.getCustomerId())
.eq(ResiUserBadgeEntity::getUserId,formDTO.getUserId());
resiUserBadgeDao.update(null,badgeUpdate);
//3、修改支援者信息表
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(), "居民端_修改注册网格:修改用户志愿者信息异常", "服务器开小差了...");
}
//4、删除用户缓存信息
userBaseInfoRedis.clearUserCache(Arrays.asList(formDTO.getUserId()));
}
}

Loading…
Cancel
Save