Browse Source

Merge branch 'wxz_resiimport_optimize' of http://git.elinkit.com.cn:7070/r/epmet-cloud

 Conflicts:
	epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
dev
wangxianzhang 3 years ago
parent
commit
9bbbe02c97
  1. 64
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java
  2. 129
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
  3. 17
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java
  4. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java
  5. 6
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java
  6. 40
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleServiceImpl.java
  7. 3
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java
  8. 16
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java
  9. 26
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java
  10. 26
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java
  11. 25
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java
  12. 21
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
  13. 11
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartymemberStyleController.java
  14. 6
      epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java
  15. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripListFormDTO.java
  16. 1
      epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripPieDetailFormDTO.java
  17. 10
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java
  18. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java
  19. 8
      epmet-user/epmet-user-server/src/main/resources/mapper/IcTripReportRecordDao.xml

64
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/SysDictDataServiceImpl.java

@ -8,6 +8,8 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -16,6 +18,8 @@ import com.epmet.commons.tools.dto.result.DictListResultDTO;
import com.epmet.commons.tools.dto.result.DictTreeResultDTO;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
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.utils.ConvertUtils;
import com.epmet.commons.tools.utils.TreeUtils;
import com.epmet.dao.SysDictDataDao;
@ -23,6 +27,7 @@ import com.epmet.dto.SysDictDataDTO;
import com.epmet.entity.SysDictDataEntity;
import com.epmet.service.SysDictDataService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -39,6 +44,9 @@ import java.util.stream.Collectors;
@Service
public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysDictDataEntity> implements SysDictDataService {
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<SysDictDataDTO> page(Map<String, Object> params) {
IPage<SysDictDataEntity> page = baseDao.selectPage(
@ -102,17 +110,26 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
*/
@Override
public List<OptionResultDTO> getNineSmallPlacesOption() {
String cacheKey = RedisKeys.getNineSmallPlacesOptions();
List<OptionResultDTO> cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference<List<OptionResultDTO>>(){});
if (cachedDatas != null) {
return cachedDatas;
}
LambdaQueryWrapper<SysDictDataEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000001L);
wrapper.orderByAsc(SysDictDataEntity::getSort);
List<SysDictDataEntity> list = baseDao.selectList(wrapper);
return list.stream().map(item -> {
List<OptionResultDTO> datas = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getDictValue());
dto.setLabel(item.getDictLabel());
dto.setSysDictDataId(item.getId().toString());
return dto;
}).collect(Collectors.toList());
redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10);
return datas;
}
/**
@ -125,16 +142,25 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
*/
@Override
public List<OptionResultDTO> getEducationOption() {
String cacheKey = RedisKeys.getEducationOptions();
List<OptionResultDTO> cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference<List<OptionResultDTO>>(){});
if (cachedDatas != null) {
return cachedDatas;
}
LambdaQueryWrapper<SysDictDataEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000002L);
wrapper.orderByAsc(SysDictDataEntity::getSort);
List<SysDictDataEntity> list = baseDao.selectList(wrapper);
return list.stream().map(item -> {
List<OptionResultDTO> datas = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getDictValue());
dto.setLabel(item.getDictLabel());
return dto;
}).collect(Collectors.toList());
redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10);
return datas;
}
/**
@ -147,16 +173,25 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
*/
@Override
public List<OptionResultDTO> getNationOption() {
String cacheKey = RedisKeys.getEducationOptions();
List<OptionResultDTO> cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference<List<OptionResultDTO>>(){});
if (cachedDatas != null) {
return cachedDatas;
}
LambdaQueryWrapper<SysDictDataEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000003L);
wrapper.orderByAsc(SysDictDataEntity::getSort);
List<SysDictDataEntity> list = baseDao.selectList(wrapper);
return list.stream().map(item -> {
List<OptionResultDTO> datas = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getDictValue());
dto.setLabel(item.getDictLabel());
return dto;
}).collect(Collectors.toList());
redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10);
return datas;
}
/**
@ -169,16 +204,25 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
*/
@Override
public List<OptionResultDTO> getRelationshipOption() {
String cacheKey = RedisKeys.getRelationshipOptions();
List<OptionResultDTO> cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference<List<OptionResultDTO>>(){});
if (cachedDatas != null) {
return cachedDatas;
}
LambdaQueryWrapper<SysDictDataEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000004L);
wrapper.orderByAsc(SysDictDataEntity::getSort);
List<SysDictDataEntity> list = baseDao.selectList(wrapper);
return list.stream().map(item -> {
List<OptionResultDTO> datas = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getDictValue());
dto.setLabel(item.getDictLabel());
return dto;
}).collect(Collectors.toList());
redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10);
return datas;
}
/**
@ -191,16 +235,26 @@ public class SysDictDataServiceImpl extends BaseServiceImpl<SysDictDataDao, SysD
*/
@Override
public List<OptionResultDTO> getHouseOption() {
String cacheKey = RedisKeys.getHouseOptions();
List<OptionResultDTO> cachedDatas = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference<List<OptionResultDTO>>(){});
if (cachedDatas != null) {
return cachedDatas;
}
LambdaQueryWrapper<SysDictDataEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysDictDataEntity::getDictTypeId, 1000000000000000005L);
wrapper.orderByAsc(SysDictDataEntity::getSort);
List<SysDictDataEntity> list = baseDao.selectList(wrapper);
return list.stream().map(item -> {
List<OptionResultDTO> datas = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getDictValue());
dto.setLabel(item.getDictLabel());
return dto;
}).collect(Collectors.toList());
redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10);
return datas;
}
/**

129
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java

@ -923,6 +923,135 @@ public class RedisKeys {
return rootPrefix.concat("oper:access:examineresources");
}
/**
* 查询某个组织下的直属网格options
* @author wxz
* @date 2022/11/10 下午9:19
* @param agencyId
* @return String
*/
public static String getGridOptionsKey(String agencyId) {
return rootPrefix.concat("icform:options:grids:" + agencyId);
}
/**
* 查询某个小区下的楼栋列表
* @author wxz
* @date 2022/11/10 下午9:42
* @param neighborHoodId
* @return String
*/
public static String getBuildingOptionsKey(String neighborHoodId) {
return rootPrefix.concat("icform:options:buildings:" + neighborHoodId);
}
/**
* 查询某个楼栋下的单元
* @author wxz
* @date 2022/11/10 下午9:50
* @param buildingId
* @return String
*/
public static String getUnitOptionsKey(String buildingId) {
return rootPrefix.concat("icform:options:units:" + buildingId);
}
/**
* 房屋options选项
* @author wxz
* @date 2022/11/10 下午10:00
* @param buildingId
* @param unitId
* @return String
*/
public static String getHouseOptionsKey(String buildingId, String unitId) {
StringBuilder sb = new StringBuilder(rootPrefix.concat("icform:options:houses"));
if (StringUtils.isNotBlank(buildingId)) {
sb.append(":").append(buildingId);
}
if (StringUtils.isNotBlank(unitId)) {
sb.append(":").append(unitId);
}
return sb.toString();
}
/**
* 党支部options
* @author wxz
* @date 2022/11/10 下午10:52
* @param gridId
* @return String
*/
public static String getBranchOptionsKey(String gridId) {
return rootPrefix.concat("icform:options:branches:" + gridId);
}
/**
* 小区options
* @author wxz
* @date 2022/11/10 下午11:00
* @param agencyId
* @param gridId
* @return String
*/
public static String getNeighborhoodOptions(String agencyId, String gridId) {
StringBuilder sb = new StringBuilder(rootPrefix.concat("icform:options:neighborhoods:"));
if (StringUtils.isNotBlank(agencyId)) {
sb.append(agencyId);
}
if (StringUtils.isNotBlank(gridId)) {
sb.append(gridId);
}
return sb.toString();
}
/**
* 文化程度
* @author wxz
* @date 2022/11/10 下午11:04
* @return String
*/
public static String getEducationOptions() {
return rootPrefix.concat("icform:options:education");
}
/**
* 住房性质
* @author wxz
* @date 2022/11/10 下午11:07
* @return String
*/
public static String getHouseOptions() {
return rootPrefix.concat("icform:options:housetype");
}
/**
* 9小场所
* @author wxz
* @date 2022/11/10 下午11:10
* @return String
*/
public static String getNineSmallPlacesOptions() {
return rootPrefix.concat("icform:options:ninesmallplaces");
}
/**
* 人员关系
* @author wxz
* @date 2022/11/10 下午11:12
* @return String
*/
public static String getRelationshipOptions() {
return rootPrefix.concat("icform:options:relationship");
}
/**
* 山东通的Accesstoken缓存
* @author wxz

17
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisUtils.java

@ -10,6 +10,7 @@ package com.epmet.commons.tools.redis;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.utils.ConvertUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
@ -482,4 +483,20 @@ public class RedisUtils {
redisTemplate.delete(keys);
}
}
/**
* hash查询并且转化为对象
* @author wxz
* @date 2022/11/10 下午8:57
* @param key
* @param targetClass
* @return T
*/
public <T> T hGetAllAndConvertToBean(String key, Class<T> targetClass) {
Map<String, Object> map = hGetAll(key);
if (map != null && map.size() > 0) {
return ConvertUtils.sourceToTarget(map, targetClass);
}
return null;
}
}

6
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyActivityController.java

@ -89,6 +89,12 @@ public class IcPartyActivityController {
return new Result<IcPartyActivityDTO>().ok(data);
}
/**
* 联建活动-新增
* @param tokenDto
* @param dto
* @return
*/
@PostMapping("save")
@NoRepeatSubmit
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPartyActivityDTO dto){

6
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcPartyUnitController.java

@ -90,6 +90,12 @@ public class IcPartyUnitController {
return new Result<IcPartyUnitDTO>().ok(data);
}
/**
* 联建单位新增
* @param tokenDto
* @param dto
* @return
*/
@PostMapping("save")
@NoRepeatSubmit
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPartyUnitDTO dto) {

40
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovRoleServiceImpl.java

@ -18,7 +18,6 @@
package com.epmet.service.impl;
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.exception.EpmetErrorCode;
@ -34,6 +33,8 @@ import com.epmet.redis.GovRoleRedis;
import com.epmet.service.GovRoleMenuService;
import com.epmet.service.GovRoleService;
import com.epmet.service.GovRoleUserService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -64,11 +65,20 @@ public class GovRoleServiceImpl extends BaseServiceImpl<GovRoleDao, GovRoleEntit
@Override
public PageData<GovRoleDTO> page(Map<String, Object> params) {
IPage<GovRoleEntity> page = baseDao.selectPage(
getPage(params, FieldConstant.CREATED_TIME, false),
getWrapper(params)
);
return getPageData(page, GovRoleDTO.class);
Integer pageNo = Integer.valueOf((String) params.get("pageNo"));
Integer pageSize = Integer.valueOf((String) params.get("pageSize"));
String id = (String) params.get(FieldConstant.ID_HUMP);
String name = (String) params.get(FieldConstant.NAME_HUMP);
String customerId = (String) params.get(FieldConstant.CUSTOMER_ID_HUMP);
QueryWrapper<GovRoleEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id)
.like(StringUtils.isNotBlank(name), FieldConstant.NAME, name)
.eq(StringUtils.isNotBlank(customerId), FieldConstant.CUSTOMER_ID, customerId);
PageHelper.startPage(pageNo, pageSize);
List<GovRoleEntity> list = baseDao.selectList(wrapper);
List<GovRoleDTO> resList = ConvertUtils.sourceToTarget(list, GovRoleDTO.class);
PageInfo<GovRoleDTO> pageInfo = new PageInfo<>(resList);
return new PageData<>(resList, pageInfo.getTotal());
}
@Override
@ -79,10 +89,10 @@ public class GovRoleServiceImpl extends BaseServiceImpl<GovRoleDao, GovRoleEntit
return ConvertUtils.sourceToTarget(entityList, GovRoleDTO.class);
}
private QueryWrapper<GovRoleEntity> getWrapper(Map<String, Object> params){
String id = (String)params.get(FieldConstant.ID_HUMP);
String name = (String)params.get(FieldConstant.NAME_HUMP);
String customerId = (String)params.get(FieldConstant.CUSTOMER_ID_HUMP);
private QueryWrapper<GovRoleEntity> getWrapper(Map<String, Object> params) {
String id = (String) params.get(FieldConstant.ID_HUMP);
String name = (String) params.get(FieldConstant.NAME_HUMP);
String customerId = (String) params.get(FieldConstant.CUSTOMER_ID_HUMP);
QueryWrapper<GovRoleEntity> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id).like(StringUtils.isNotBlank(name), FieldConstant.NAME, name)
.eq(StringUtils.isNotBlank(customerId), FieldConstant.CUSTOMER_ID, customerId);
@ -101,7 +111,7 @@ public class GovRoleServiceImpl extends BaseServiceImpl<GovRoleDao, GovRoleEntit
public void save(GovRoleDTO dto) {
GovRoleEntity entity = ConvertUtils.sourceToTarget(dto, GovRoleEntity.class);
insert(entity);
//保存角色菜单关系
// 保存角色菜单关系
govRoleMenuService.saveOrUpdate(entity.getId(), dto.getMenuIdList());
}
@ -110,16 +120,16 @@ public class GovRoleServiceImpl extends BaseServiceImpl<GovRoleDao, GovRoleEntit
public void update(GovRoleDTO dto) {
GovRoleEntity entity = ConvertUtils.sourceToTarget(dto, GovRoleEntity.class);
updateById(entity);
//保存角色菜单关系
// 保存角色菜单关系
govRoleMenuService.saveOrUpdate(entity.getId(), dto.getMenuIdList());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
//联建单位负责人、社区自组织负责人两个默认解释不允许删除
// 联建单位负责人、社区自组织负责人两个默认解释不允许删除
GovRoleEntity entity = baseDao.selectById(ids[0]);
if(null!=entity && "1".equals(entity.getDefaultRole())){
if (null != entity && "1".equals(entity.getDefaultRole())) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "系统默认角色,不允许删除", "系统默认角色,不允许删除");
}
baseDao.deleteBatchIds(Arrays.asList(ids));
@ -144,7 +154,7 @@ public class GovRoleServiceImpl extends BaseServiceImpl<GovRoleDao, GovRoleEntit
entity.setRemark("默认角色");
entity.setDefaultRole("1");
list.add(entity);
GovRoleEntity entity1 = ConvertUtils.sourceToTarget(entity,GovRoleEntity.class);
GovRoleEntity entity1 = ConvertUtils.sourceToTarget(entity, GovRoleEntity.class);
entity1.setId(null);
entity1.setName("社区自组织负责人");
list.add(entity1);

3
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java

@ -764,6 +764,9 @@ public class AgencyServiceImpl implements AgencyService {
}
if (formDTO.getLevel().equals(OrgInfoConstant.AGENCY)) {
CustomerAgencyEntity entity = customerAgencyDao.selectById(formDTO.getOrgId());
if (null == entity) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "customer_agency is null orgId:" + formDTO.getOrgId(), "组织信息查询为空orgId:" + formDTO.getOrgId());
}
result = ConvertUtils.sourceToTarget(entity, MapOrgResultDTO.class);
result.setName(entity.getOrganizationName());
result.setLevel(formDTO.getLevel());

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

@ -19,6 +19,7 @@ package com.epmet.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@ -939,6 +940,15 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
}
return baseDao.getGridOptionForQuery(gridPids);
}
// 优先查询缓存
String cachedKey = RedisKeys.getGridOptionsKey(agencyId);
List<OptionResultDTO> cachedDatas = JSON.parseObject(redisUtils.getString(cachedKey), new TypeReference<List<OptionResultDTO>>() {});
if (cachedDatas != null) {
return cachedDatas;
}
// 再查db
LambdaQueryWrapper<CustomerGridEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CustomerGridEntity::getPid, agencyId);
wrapper.last("ORDER BY sort,CONVERT ( GRID_NAME USING gbk ) desc");
@ -946,13 +956,17 @@ public class CustomerGridServiceImpl extends BaseServiceImpl<CustomerGridDao, Cu
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
List<OptionResultDTO> grids = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setLabel(item.getGridName());
dto.setValue(item.getId());
dto.setPid(item.getPid());
return dto;
}).collect(Collectors.toList());
//加入缓存(10秒有效期),并且返回数据
redisUtils.setString(cachedKey, JSON.toJSONString(grids), 10);
return grids;
}
/**

26
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java

@ -17,6 +17,8 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -24,6 +26,8 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
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.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcBuildingDao;
@ -35,6 +39,7 @@ import com.epmet.service.IcBuildingService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -54,6 +59,8 @@ import java.util.stream.Collectors;
@Service
public class IcBuildingServiceImpl extends BaseServiceImpl<IcBuildingDao, IcBuildingEntity> implements IcBuildingService {
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<IcBuildingDTO> page(Map<String, Object> params) {
@ -121,6 +128,16 @@ public class IcBuildingServiceImpl extends BaseServiceImpl<IcBuildingDao, IcBuil
log.warn("小区ID为空");
return Collections.emptyList();
}
// 1.差缓存
String cachedKey = RedisKeys.getBuildingOptionsKey(neighborHoodId);
List<OptionResultDTO> cachedBuildings = JSON.parseObject(redisUtils.getString(cachedKey), new TypeReference<List<OptionResultDTO>>() {
});
if (cachedBuildings != null) {
// 即便是查询到了[]空列表,也要返回,说明该小区下没有漏洞
return cachedBuildings;
}
LambdaQueryWrapper<IcBuildingEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcBuildingEntity::getNeighborHoodId, neighborHoodId);
wrapper.last("ORDER BY SORT ASC, BUILDING_NAME+0 ASC");
@ -128,12 +145,19 @@ public class IcBuildingServiceImpl extends BaseServiceImpl<IcBuildingDao, IcBuil
if(CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
List<OptionResultDTO> gridsFromDb = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getId());
dto.setLabel(item.getBuildingName());
return dto;
}).collect(Collectors.toList());
if (gridsFromDb != null) {
// 设置缓存
redisUtils.setString(cachedKey, JSON.toJSONString(gridsFromDb), 10);
}
return gridsFromDb;
}
/**

26
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java

@ -17,6 +17,8 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -24,6 +26,8 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
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.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcBuildingUnitDao;
@ -35,6 +39,7 @@ import com.epmet.service.IcBuildingUnitService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -54,6 +59,8 @@ import java.util.stream.Collectors;
@Service
public class IcBuildingUnitServiceImpl extends BaseServiceImpl<IcBuildingUnitDao, IcBuildingUnitEntity> implements IcBuildingUnitService {
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<IcBuildingUnitDTO> page(Map<String, Object> params) {
@ -121,6 +128,17 @@ public class IcBuildingUnitServiceImpl extends BaseServiceImpl<IcBuildingUnitDao
log.warn("楼栋ID为空");
return Collections.emptyList();
}
// 先差缓存
String cachedKey = RedisKeys.getUnitOptionsKey(buildingId);
List<OptionResultDTO> cachedUnits = JSON.parseObject(redisUtils.getString(cachedKey), new TypeReference<List<OptionResultDTO>>() {
});
if (cachedUnits != null) {
return cachedUnits;
}
LambdaQueryWrapper<IcBuildingUnitEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcBuildingUnitEntity::getBuildingId, buildingId);
wrapper.last("ORDER BY CONVERT ( UNIT_NAME USING gbk ) ASC");
@ -128,13 +146,19 @@ public class IcBuildingUnitServiceImpl extends BaseServiceImpl<IcBuildingUnitDao
if(CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
List<OptionResultDTO> units = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getId());
dto.setCode(item.getUnitNum());
dto.setLabel(item.getUnitName());
return dto;
}).collect(Collectors.toList());
if (units != null) {
redisUtils.setString(cachedKey, JSON.toJSONString(units), 10);
}
return units;
}
/**

25
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java

@ -1,5 +1,7 @@
package com.epmet.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
@ -11,6 +13,8 @@ import com.epmet.commons.tools.dto.result.OptionResultDTO;
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.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.redis.common.CustomerIcHouseRedis;
import com.epmet.commons.tools.redis.common.CustomerResiUserRedis;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
@ -84,6 +88,8 @@ public class IcHouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntit
private IcBuildingUnitDao buildingUnitDao;
@Autowired
private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient;
@Autowired
private RedisUtils redisUtils;
@Override
public IcHouseDTO get(String id) {
@ -134,6 +140,17 @@ public class IcHouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntit
log.warn("楼栋和单元ID为空");
return Collections.emptyList();
}
// 查缓存
String cachedKey = RedisKeys.getHouseOptionsKey(formDTO.getBuildingId(), formDTO.getUnitId());
List<OptionResultDTO> cachedHouses = JSON.parseObject(redisUtils.getString(cachedKey), new TypeReference<List<OptionResultDTO>>() {
});
if (cachedHouses != null) {
return cachedHouses;
}
// 查db
LambdaQueryWrapper<IcHouseEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(formDTO.getBuildingId()), IcHouseEntity::getBuildingId, formDTO.getBuildingId());
wrapper.eq(StringUtils.isNotBlank(formDTO.getUnitId()), IcHouseEntity::getBuildingUnitId, formDTO.getUnitId());
@ -142,13 +159,19 @@ public class IcHouseServiceImpl extends BaseServiceImpl<IcHouseDao, IcHouseEntit
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
List<OptionResultDTO> houses = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getId());
dto.setLabel(item.getDoorName());
dto.setType(item.getRentFlag().toString());
return dto;
}).collect(Collectors.toList());
if (houses != null) {
redisUtils.setString(cachedKey, JSON.toJSONString(houses), 10);
}
return houses;
}
/**

21
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java

@ -23,6 +23,7 @@ import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader;
import com.alibaba.excel.read.metadata.ReadSheet;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -37,6 +38,8 @@ import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils;
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.AgencyInfoCache;
@ -123,6 +126,8 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
private IcBuildingUnitDao icBuildingUnitDao;
@Autowired
private IcHouseDao icHouseDao;
@Autowired
private RedisUtils redisUtils;
@Override
public PageData<IcNeighborHoodDTO> page(Map<String, Object> params) {
@ -195,6 +200,17 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
}
agencyId=result.getAgencyId();
}
// 查缓存
String cacheKey = RedisKeys.getNeighborhoodOptions(agencyId, gridId);
List<OptionResultDTO> cachedKeys = JSON.parseObject(redisUtils.getString(cacheKey), new TypeReference<List<OptionResultDTO>>() {
});
if (cachedKeys != null) {
return cachedKeys;
}
LambdaQueryWrapper<IcNeighborHoodEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(agencyId),IcNeighborHoodEntity::getAgencyId, agencyId);
wrapper.eq(StringUtils.isNotBlank(gridId), IcNeighborHoodEntity::getGridId, gridId);
@ -203,12 +219,15 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
if(CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(item -> {
List<OptionResultDTO> datas = list.stream().map(item -> {
OptionResultDTO dto = new OptionResultDTO();
dto.setValue(item.getId());
dto.setLabel(item.getNeighborHoodName());
return dto;
}).collect(Collectors.toList());
redisUtils.setString(cacheKey, JSON.toJSONString(datas), 10);
return datas;
}
public List<BuildingResultDTO> getNeighborhoodList(TokenDto tokenDto, IcNeighborHoodDTO dto) {

11
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/controller/IcPartymemberStyleController.java

@ -89,6 +89,12 @@ public class IcPartymemberStyleController {
return new Result<IcPartymemberStyleDTO>().ok(data);
}
/**
* 党员风采-新增
* @param tokenDto
* @param dto
* @return
*/
@PostMapping("save")
@NoRepeatSubmit
public Result save(@LoginUser TokenDto tokenDto, @RequestBody IcPartymemberStyleDTO dto) {
@ -98,6 +104,11 @@ public class IcPartymemberStyleController {
return new Result();
}
/**
* 党员风采-删除
* @param dto
* @return
*/
@PostMapping("delete")
public Result delete(@RequestBody IcPartymemberStyleDTO dto) {
//效验数据

6
epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/IcPartymemberStyleServiceImpl.java

@ -208,11 +208,17 @@ public class IcPartymemberStyleServiceImpl extends BaseServiceImpl<IcPartymember
}
}
/**
* 删除党员风采
* 同时删除党员风采相关照片
* @param id
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String id) {
// 逻辑删除(@TableLogic 注解)
baseDao.deleteById(id);
icPartymemberStyleImageService.deleteByStyleId(id);
}
/**

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripListFormDTO.java

@ -14,6 +14,7 @@ public class EmphasisTripListFormDTO extends PageFormDTO implements Serializable
private static final long serialVersionUID = 5850717233738956442L;
private String code;
private String name;
private String dangerLevel;

1
epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/EmphasisTripPieDetailFormDTO.java

@ -17,6 +17,7 @@ public class EmphasisTripPieDetailFormDTO implements Serializable {
// @NotBlank(message = "code不能为空",groups = {EmphasisTripPieDetailForm.class})
private String code;
private String name;
private String customerId;

10
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java

@ -56,6 +56,11 @@ public class IcFollowUpRecordController {
return new Result<PageData<IcFollowUpRecordDTO>>().ok(page);
}
/**
* 随访记录查看详情
* @param id
* @return
*/
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
public Result<IcFollowUpRecordDTO> get(@PathVariable("id") String id){
IcFollowUpRecordDTO data = icFollowUpRecordService.get(id);
@ -86,6 +91,11 @@ public class IcFollowUpRecordController {
return new Result();
}
/**
* 随访记录删除
* @param ids
* @return
*/
@PostMapping("delete")
public Result delete(@RequestBody String[] ids){
//效验数据

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcFollowUpRecordServiceImpl.java

@ -76,6 +76,10 @@ public class IcFollowUpRecordServiceImpl extends BaseServiceImpl<IcFollowUpRecor
return ConvertUtils.sourceToTarget(entity, IcFollowUpRecordDTO.class);
}
/**
* 随访记录-新增
* @param dto
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void save(IcFollowUpRecordDTO dto) {

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

@ -98,8 +98,8 @@
<if test='null != agencyId and agencyId != "" '>
AND CONCAT(PIDS,':',AGENCY_ID) LIKE CONCAT('%',#{agencyId},'%')
</if>
<if test='null != code and code != "" '>
AND SOURCE_ADDRESS_PATH_CODE LIKE CONCAT('%',#{code},'%')
<if test='null != name and name != "" '>
AND SOURCE_ADDRESS LIKE CONCAT('%',#{name},'%')
</if>
<choose>
<when test='null != dangerLevel and dangerLevel != "" '>
@ -120,8 +120,8 @@
FROM ic_trip_report_record
WHERE DEL_FLAG = '0'
AND CONCAT(PIDS,':',AGENCY_ID) LIKE CONCAT('%',#{agencyId},'%')
<if test='null != code and code != "" '>
AND SOURCE_ADDRESS_PATH_CODE LIKE CONCAT('%',#{code},'%')
<if test='null != name and name != "" '>
AND SOURCE_ADDRESS LIKE CONCAT('%',#{name},'%')
</if>
AND sojourn_history != '3'
group by dangerLevel

Loading…
Cancel
Save