Browse Source

Merge remote-tracking branch 'origin/dev_question_naire' into dev_question_naire

dev_shibei_match
jianjun 4 years ago
parent
commit
0696b0bd16
  1. 17
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TDuckConstant.java
  2. 7
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckListFormDTO.java
  3. 1
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/CascaderDTO.java
  4. 1
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetTDuckController.java
  5. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmettduck/PrUserProjectDao.java
  6. 65
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java
  7. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml

17
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/TDuckConstant.java

@ -0,0 +1,17 @@
package com.epmet.dataaggre.constant;
/**
* @Author zxc
* @DateTime 2021/9/23 4:06 下午
* @DESC
*/
public interface TDuckConstant {
String CLIENT_GOV = "gov";
String CLIENT_RESI = "resi";
String ORG_TYPE_AGENCY = "agency";
String ORG_TYPE_GRID = "grid";
String ORG_TYPE_DEPT = "dept";
}

7
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/form/TDuckListFormDTO.java

@ -30,11 +30,14 @@ public class TDuckListFormDTO implements Serializable {
@NotNull(message = "pageSize不能为空",groups = TDuckListForm.class)
private Integer pageSize;
@NotBlank(message = "orgIds不能为空",groups = TDuckListForm.class)
private String orgIds;
private String orgId;
private String orgType;
@NotBlank(message = "client不能为空",groups = TDuckListForm.class)
private String client;
private String userId;
private String customerId;
}

1
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmettduck/result/CascaderDTO.java

@ -35,5 +35,6 @@ public class CascaderDTO implements Serializable {
* 全路径名字
*/
private List<String> labels;
public String pathName;
}

1
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetTDuckController.java

@ -81,6 +81,7 @@ public class EpmetTDuckController {
public Result<List<TDuckListResultDTO>> queryProjectList(@RequestBody TDuckListFormDTO formDTO,@LoginUser TokenDto tokenDto){
ValidatorUtils.validateEntity(formDTO,TDuckListFormDTO.TDuckListForm.class);
formDTO.setUserId(tokenDto.getUserId());
formDTO.setCustomerId(tokenDto.getCustomerId());
return new Result<List<TDuckListResultDTO>>().ok(prUserProjectService.queryProjectList(formDTO));
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmettduck/PrUserProjectDao.java

@ -55,7 +55,7 @@ public interface PrUserProjectDao extends BaseDao<PrUserProjectEntity> {
* @author zxc
* @date 2021/9/17 2:16 下午
*/
List<String> selectProjectKey(@Param("orgIds")String orgIds);
List<String> selectProjectKey(@Param("orgIds")List<String> orgIds);
/**
* @Description 根据keys查询project

65
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmettduck/impl/PrUserProjectServiceImpl.java

@ -27,10 +27,16 @@ 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.constant.StrConstant;
import com.epmet.commons.tools.dto.form.IdAndNameDTO;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dataaggre.constant.DataSourceConstant;
import com.epmet.dataaggre.constant.TDuckConstant;
import com.epmet.dataaggre.dao.epmettduck.PrUserProjectDao;
import com.epmet.dataaggre.dao.epmettduck.PrVistRecordDao;
import com.epmet.dataaggre.dto.epmettduck.PrPublishRangeDTO;
@ -49,6 +55,9 @@ import com.epmet.dataaggre.service.epmettduck.PrPublishRangeService;
import com.epmet.dataaggre.service.epmettduck.PrUserProjectService;
import com.epmet.dataaggre.service.epmettduck.PrVistRecordService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.form.CustomerGridFormDTO;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@ -83,6 +92,8 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl<PrUserProjectDao,
private GovOrgService govOrgService;
@Resource
private PrVistRecordService prVistRecordService;
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Override
public PageData<PrUserProjectDTO> page(Map<String, Object> params) {
@ -157,7 +168,39 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl<PrUserProjectDao,
*/
@Override
public List<TDuckListResultDTO> queryProjectList(TDuckListFormDTO formDTO) {
List<String> projectKeys = baseDao.selectProjectKey(formDTO.getOrgIds());
List<String> orgIds = new ArrayList<>();
if (formDTO.getClient().equals(TDuckConstant.CLIENT_GOV)){
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getUserId());
String pids = staffInfo.getAgencyPIds();
String agencyId = staffInfo.getAgencyId();
if (staffInfo.getFromOrgType().equals(TDuckConstant.ORG_TYPE_DEPT)){
List<IdAndNameDTO> deptList = staffInfo.getDeptList();
if (CollectionUtils.isEmpty(deptList)){
return new ArrayList<>();
}
orgIds = joint(pids,agencyId,deptList);
}else if (staffInfo.getFromOrgType().equals(TDuckConstant.ORG_TYPE_GRID)){
List<IdAndNameDTO> gridList = staffInfo.getGridList();
if (CollectionUtils.isEmpty(gridList)){
return new ArrayList<>();
}
orgIds = joint(pids,agencyId,gridList);
}else {
String selfOrg = pids + ":" + agencyId;
orgIds.add(selfOrg);
}
}else {
CustomerGridFormDTO customerGridFormDTO = new CustomerGridFormDTO();
customerGridFormDTO.setGridId(formDTO.getOrgId());
Result<CustomerGridDTO> gridResult = govOrgOpenFeignClient.getGridBaseInfoByGridId(customerGridFormDTO);
if (!gridResult.success()){
throw new RenException("查询网格信息失败了...");
}
CustomerGridDTO data = gridResult.getData();
String oneOrg = data.getPids() + ":" + data.getId();
orgIds.add(oneOrg);
}
List<String> projectKeys = baseDao.selectProjectKey(orgIds);
if (CollectionUtils.isEmpty(projectKeys)){
return new ArrayList<>();
}
@ -177,6 +220,23 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl<PrUserProjectDao,
return result;
}
/**
* @Description orgIds拼接
* @Param pids
* @Param agencyId
* @Param list
* @author zxc
* @date 2021/9/23 4:48 下午
*/
public List<String> joint(String pids, String agencyId, List<IdAndNameDTO> list){
List<String> orgIds = new ArrayList<>();
list.forEach(l -> {
String oneOrg = pids + ":" + agencyId + ":" + l.getId();
orgIds.add(oneOrg);
});
return orgIds;
}
/**
* 分析报告
*
@ -385,7 +445,8 @@ public class PrUserProjectServiceImpl extends BaseServiceImpl<PrUserProjectDao,
int totalCount = 0;
Map<String, Integer> resMap = new HashMap<>();
for (PrUserProjectResultEntity res : resultList) {
JSONObject originalData = JSON.parseObject(res.getOriginalData());
//级联组件,用processdata特殊处理下
JSONObject originalData = JSON.parseObject(res.getProcessData());
if(originalData.containsKey(key)){
List<CascaderDTO> dtoList = JSON.parseArray(originalData.get(key).toString(), CascaderDTO.class);
if(CollectionUtils.isEmpty(dtoList)){

6
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmettduck/PrUserProjectDao.xml

@ -73,7 +73,11 @@
DISTINCT project_key
FROM pr_publish_range
WHERE del_flag = 0
AND #{orgIds} LIKE CONCAT(org_ids,'%')
AND (
<foreach collection="orgIds" item="orgId" separator=" OR ">
#{orgId} LIKE CONCAT(org_ids,'%')
</foreach>
)
</select>
<!-- 根据keys查询project -->

Loading…
Cancel
Save