Commit a240e2a2 authored by lisong's avatar lisong

更新接口

parent 6eb85665
...@@ -36,6 +36,9 @@ public class HouseholdPvDto extends BaseDto { ...@@ -36,6 +36,9 @@ public class HouseholdPvDto extends BaseDto {
@ApiModelProperty(value = "厂商") @ApiModelProperty(value = "厂商")
private Long platformCompanyId; private Long platformCompanyId;
@ApiModelProperty(value = "厂站名称")
private String platformCompanyName;
@ApiModelProperty(value = "性别") @ApiModelProperty(value = "性别")
private String sex; private String sex;
......
...@@ -46,4 +46,7 @@ public class HouseholdPvDistrict extends BaseEntity { ...@@ -46,4 +46,7 @@ public class HouseholdPvDistrict extends BaseEntity {
@TableField("parent_type") @TableField("parent_type")
private String parentType; private String parentType;
@TableField("biz_org_code")
private String bizOrgCode;
} }
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jxiop.api.mapper; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto; import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict; import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -15,4 +16,11 @@ import java.util.List; ...@@ -15,4 +16,11 @@ import java.util.List;
public interface HouseholdPvDistrictMapper extends BaseMapper<HouseholdPvDistrict> { public interface HouseholdPvDistrictMapper extends BaseMapper<HouseholdPvDistrict> {
List<CompanyTreeDto> getList(); List<CompanyTreeDto> getList();
Integer countTreeNodesById(@Param("id") Long id);
Integer countHouseholdById(@Param("id") Long id);
List<Long> selectIds(@Param("bizOrgCode")String bizOrgCode );
} }
package com.yeejoin.amos.boot.module.jxiop.api.mapper; package com.yeejoin.amos.boot.module.jxiop.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto; import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto; import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvExport; import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvExport;
...@@ -22,4 +23,7 @@ public interface HouseholdPvMapper extends BaseMapper<HouseholdPv> { ...@@ -22,4 +23,7 @@ public interface HouseholdPvMapper extends BaseMapper<HouseholdPv> {
List<HouseholdPvExport> selectExportList(@Param("dto")HouseholdPvDto dto, @Param("ids") List<Long> ids); List<HouseholdPvExport> selectExportList(@Param("dto")HouseholdPvDto dto, @Param("ids") List<Long> ids);
List<HouseholdPvDeviceDto> selectEquipList(@Param("id")Long id ); List<HouseholdPvDeviceDto> selectEquipList(@Param("id")Long id );
Page<HouseholdPvDto> selectPageMessage(@Param("page")Page<HouseholdPvDto> page, @Param("dto") HouseholdPvDto dto, @Param("ids") List<Long> ids);
} }
...@@ -15,5 +15,11 @@ import java.util.List; ...@@ -15,5 +15,11 @@ import java.util.List;
*/ */
public interface IHouseholdPvDistrictService extends IService<HouseholdPvDistrict>{ public interface IHouseholdPvDistrictService extends IService<HouseholdPvDistrict>{
List<CompanyTreeDto> getTree(HouseholdPvDto dto); List<CompanyTreeDto> getTree();
HouseholdPvDistrict treeAdd(Long parentId, String name);
HouseholdPvDistrict treeUpdate(Long id, String name);
void treeNodesRemove(Long id);
} }
...@@ -7,4 +7,24 @@ ...@@ -7,4 +7,24 @@
from household_pv_district hpd from household_pv_district hpd
where is_delete = 0 where is_delete = 0
</select> </select>
<select id="countTreeNodesById" resultType="java.lang.Integer">
SELECT
COUNT( 1 )
FROM
household_pv_district hpd
WHERE
hpd.parent_id = #{id}
</select>
<select id="countHouseholdById" resultType="java.lang.Integer">
SELECT COUNT(1)
FROM household_pv hp
WHERE hp.platform_company_id IN
(SELECT hpd.sequence_nbr
FROM household_pv_district hpd
WHERE hpd.sequence_nbr = #{id} OR hpd.parent_id = #{id})
</select>
<select id="selectIds" resultType="java.lang.Long">
select hp.sequence_nbr from household_pv_district hp where hp.biz_org_code like concat(#{bizOrgCode}, '%')
</select>
</mapper> </mapper>
...@@ -60,4 +60,25 @@ ...@@ -60,4 +60,25 @@
<select id="selectEquipList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto"> <select id="selectEquipList" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDeviceDto">
SELECT * from household_pv_device hpd WHERE hpd.household_pv_id = #{id} SELECT * from household_pv_device hpd WHERE hpd.household_pv_id = #{id}
</select> </select>
<select id="selectPageMessage" resultType="com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto">
select * from household_pv hp
<where>
<if test="dto.name != null and dto.name != ''">
and hp.name like concat('%',#{dto.name},'%')
</if>
<if test="dto.residenceAddress != null and dto.residenceAddress != ''">
and hp.residence_address like concat('%',#{residenceAddress},'%')
</if>
<if test="dto.number != null and dto.number != ''">
and hp.number like concat('%',#{dto.number},'%')
</if>
<if test="ids != null and ids.size > 0">
and hp.platform_company_id in
<foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
</mapper> </mapper>
...@@ -114,10 +114,10 @@ public class HouseholdPvController extends BaseController { ...@@ -114,10 +114,10 @@ public class HouseholdPvController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/page") @PostMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "户用光伏表分页查询", notes = "户用光伏表分页查询") @ApiOperation(httpMethod = "GET", value = "户用光伏表分页查询", notes = "户用光伏表分页查询")
public ResponseModel<IPage<HouseholdPv>> queryForPage(@RequestParam(value = "current") String current, public ResponseModel<IPage<HouseholdPvDto>> queryForPage(@RequestParam(value = "current") String current,
@RequestParam(value = "size") String size, @RequestParam(value = "size") String size,
HouseholdPvDto dto) { HouseholdPvDto dto) {
Page<HouseholdPv> page = new Page<>(); Page<HouseholdPvDto> page = new Page<>();
page.setCurrent(Long.parseLong(current)); page.setCurrent(Long.parseLong(current));
page.setSize(Long.parseLong(size)); page.setSize(Long.parseLong(size));
return ResponseHelper.buildResponse(householdPvServiceImpl.queryForHouseholdPvPage(page, dto)); return ResponseHelper.buildResponse(householdPvServiceImpl.queryForHouseholdPvPage(page, dto));
......
package com.yeejoin.amos.boot.module.jxiop.biz.controller; package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDistrictDto; import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDistrictDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDistrictService; import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDistrictService;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvDistrictServiceImpl; import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvDistrictServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -16,6 +19,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -16,6 +19,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author system_generator * @author system_generator
...@@ -120,7 +124,7 @@ public class HouseholdPvDistrictController extends BaseController { ...@@ -120,7 +124,7 @@ public class HouseholdPvDistrictController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "厂站树", notes = "厂站树") @ApiOperation(httpMethod = "GET", value = "厂站树", notes = "厂站树")
public ResponseModel<Object> getTree() { public ResponseModel<Object> getTree() {
return ResponseHelper.buildResponse(householdPvDistrictService.getTree(null)); return ResponseHelper.buildResponse(householdPvDistrictService.getTree());
} }
/** /**
...@@ -131,8 +135,39 @@ public class HouseholdPvDistrictController extends BaseController { ...@@ -131,8 +135,39 @@ public class HouseholdPvDistrictController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/treeAdd") @PostMapping(value = "/treeAdd")
@ApiOperation(httpMethod = "POST", value = "树节点新增", notes = "树节点新增") @ApiOperation(httpMethod = "POST", value = "树节点新增", notes = "树节点新增")
public ResponseModel<HouseholdPvDistrictDto> treeAdd(@RequestBody HouseholdPvDistrictDto model) { public ResponseModel<HouseholdPvDistrict> treeAdd(@RequestBody JSONObject model) {
model = householdPvDistrictServiceImpl.createWithModel(model); Map<String, Object> dto = (Map<String, Object>)model.get("dto");
return ResponseHelper.buildResponse(model); String id = dto.get("id").toString();
String name = dto.get("name").toString();
HouseholdPvDistrict householdPvDistrict = householdPvDistrictService.treeAdd(Long.parseLong(id), name);
return ResponseHelper.buildResponse(householdPvDistrict);
}
/**
* 树节点新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/treeUpdate")
@ApiOperation(httpMethod = "POST", value = "树节点新增", notes = "树节点新增")
public ResponseModel<HouseholdPvDistrict> treeUpdate(@RequestBody JSONObject model) {
Map<String, Object> dto = (Map<String, Object>)model.get("dto");
String id = dto.get("id").toString();
String name = dto.get("name").toString();
HouseholdPvDistrict householdPvDistrict = householdPvDistrictService.treeUpdate(Long.parseLong(id), name);
return ResponseHelper.buildResponse(householdPvDistrict);
}
/**
* 树节点删除
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/treeNodesRemove")
@ApiOperation(httpMethod = "DELETE", value = "树节点删除", notes = "树节点删除")
public ResponseModel<Object> treeNodesRemove(@RequestParam("id") String id) {
householdPvDistrictService.treeNodesRemove(Long.parseLong(id));
return ResponseHelper.buildResponse("ok");
} }
} }
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl; package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto; import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
...@@ -13,13 +16,17 @@ import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper; ...@@ -13,13 +16,17 @@ import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDistrictService; import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDistrictService;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel; import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.joda.time.DateTimeUtils;
import org.joda.time.LocalDate;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
...@@ -58,7 +65,50 @@ public class HouseholdPvDistrictServiceImpl extends BaseService<HouseholdPvDistr ...@@ -58,7 +65,50 @@ public class HouseholdPvDistrictServiceImpl extends BaseService<HouseholdPvDistr
} }
@Override @Override
public List<CompanyTreeDto> getTree(HouseholdPvDto dto) { public HouseholdPvDistrict treeAdd(Long parentId, String name) {
String random = "" + Math.random();
String substring = random.substring(random.length() - 4);
HouseholdPvDistrict householdPvDistrict = new HouseholdPvDistrict();
householdPvDistrict.setName(name);
householdPvDistrict.setParentId(parentId);
householdPvDistrict.setCreateTime(LocalDate.now().toDate());
HouseholdPvDistrict parentDetail = householdPvDistrictMapper.selectById(parentId);
if (ObjectUtils.isEmpty(parentDetail)) {
FeignClientResult<CompanyModel> companyModelFeignClientResult = Privilege.companyClient.seleteOne(parentId);
CompanyModel result = companyModelFeignClientResult.getResult();
if (!ObjectUtils.isEmpty(result)) {
householdPvDistrict.setBizOrgCode(result.getOrgCode() + "*" + substring);
}
} else {
householdPvDistrict.setBizOrgCode(parentDetail.getBizOrgCode() + "*" + substring);
}
householdPvDistrictMapper.insert(householdPvDistrict);
return householdPvDistrict;
}
@Override
public HouseholdPvDistrict treeUpdate(Long id, String name) {
HouseholdPvDistrict householdPvDistrict = new HouseholdPvDistrict();
householdPvDistrict.setSequenceNbr(id);
householdPvDistrict.setName(name);
this.updateById(householdPvDistrict);
return householdPvDistrict;
}
@Override
public void treeNodesRemove(Long id) {
Integer treeNodes = householdPvDistrictMapper.countTreeNodesById(id);
Integer integer = householdPvDistrictMapper.countHouseholdById(id);
if (treeNodes > 0) {
throw new BadRequest("该节点存在子节点");
} else if (integer > 0) {
throw new BadRequest("该节点已绑定户用光伏信息");
}
this.removeById(id);
}
@Override
public List<CompanyTreeDto> getTree() {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
Long sequenceNbr = reginParams.getCompany().getSequenceNbr(); Long sequenceNbr = reginParams.getCompany().getSequenceNbr();
FeignClientResult<Collection<UserOrgTreeModel>> collectionFeignClientResult = Privilege.companyClient.queryOrgTree(sequenceNbr); FeignClientResult<Collection<UserOrgTreeModel>> collectionFeignClientResult = Privilege.companyClient.queryOrgTree(sequenceNbr);
...@@ -67,9 +117,6 @@ public class HouseholdPvDistrictServiceImpl extends BaseService<HouseholdPvDistr ...@@ -67,9 +117,6 @@ public class HouseholdPvDistrictServiceImpl extends BaseService<HouseholdPvDistr
Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult(); Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult();
change(result, list); change(result, list);
} }
// list.forEach(item ->{
// item.setChildren(getCompanyBuildingChildrenTree(item.getId(), list));
// });
return list.stream().filter(a -> list.stream().noneMatch(c -> c.getId().equals(a.getParentId()))).peek(b -> b.setChildren(getCompanyBuildingChildrenTree(b.getId(), list))).collect(Collectors.toList()); return list.stream().filter(a -> list.stream().noneMatch(c -> c.getId().equals(a.getParentId()))).peek(b -> b.setChildren(getCompanyBuildingChildrenTree(b.getId(), list))).collect(Collectors.toList());
} }
......
...@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.*; ...@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.*;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper; import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel; import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -62,25 +63,65 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol ...@@ -62,25 +63,65 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
@Autowired @Autowired
HouseholdPvDistrictMapper householdPvDistrictMapper; HouseholdPvDistrictMapper householdPvDistrictMapper;
@Autowired
RedisUtils redisUtils;
/** /**
* 分页查询 * 分页查询
*/ */
public IPage<HouseholdPv> queryForHouseholdPvPage(Page<HouseholdPv> page, HouseholdPvDto dto) { public IPage<HouseholdPvDto> queryForHouseholdPvPage(Page<HouseholdPvDto> page, HouseholdPvDto dto) {
LambdaQueryWrapper<HouseholdPv> lambda = new QueryWrapper<HouseholdPv>().lambda(); String bizOrgCode = null;
lambda.eq(HouseholdPv::getIsDelete, false); List<Long> ids = new ArrayList<>();
if (!ObjectUtils.isEmpty(dto.getName())) { if (!ObjectUtils.isEmpty(dto.getPlatformCompanyId())) {
lambda.like(HouseholdPv::getName, dto.getName()); HouseholdPvDistrict parentDetail = householdPvDistrictMapper.selectById(dto.getPlatformCompanyId());
} if (ObjectUtils.isEmpty(parentDetail)) {
// if (!ObjectUtils.isEmpty(dto.getPlatformCompanyId())) { FeignClientResult<CompanyModel> companyModelFeignClientResult = Privilege.companyClient.seleteOne(dto.getPlatformCompanyId());
// lambda.eq(HouseholdPv::getPlatformCompanyId, dto.getPlatformCompanyId()); CompanyModel result = companyModelFeignClientResult.getResult();
// } if (!ObjectUtils.isEmpty(result)) {
if (!ObjectUtils.isEmpty(dto.getAddress())) { bizOrgCode = result.getOrgCode();
lambda.like(HouseholdPv::getAddress, dto.getAddress()); }
} else {
bizOrgCode = parentDetail.getBizOrgCode();
}
if (!ObjectUtils.isEmpty(bizOrgCode)) {
ids = householdPvDistrictMapper.selectIds(bizOrgCode);
if (ObjectUtils.isEmpty(ids)) {
return new Page<>();
}
}
} }
if (!ObjectUtils.isEmpty(dto.getNumber())) { Page<HouseholdPvDto> householdPvDtoPage = householdPvMapper.selectPageMessage(page, dto, ids);
lambda.like(HouseholdPv::getNumber, dto.getNumber()); Map<String, Object> map = companyList();
householdPvDtoPage.getRecords().forEach(data -> {
data.setPlatformCompanyName(String.valueOf(map.get(data.getPlatformCompanyId().toString())));
});
return householdPvDtoPage;
}
private Map<String, Object> companyList() {
HashMap<String, Object> map = new HashMap<>();
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
Long sequenceNbr = reginParams.getCompany().getSequenceNbr();
FeignClientResult<Collection<UserOrgTreeModel>> collectionFeignClientResult = Privilege.companyClient.queryOrgTree(sequenceNbr);
List<CompanyTreeDto> list = householdPvDistrictMapper.getList();
list.forEach(item -> {
map.put(item.getId(), item.getName());
});
if (collectionFeignClientResult != null) {
Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult();
change(result, map);
} }
return householdPvMapper.selectPage(page, lambda); return map;
}
private void change(Collection<UserOrgTreeModel> data, Map<String, Object> result) {
data.forEach(item -> {
result.put(item.getId(), item.getName());
if (!ObjectUtils.isEmpty(item.getChildren())) {
change(item.getChildren(), result);
}
});
} }
/** /**
...@@ -93,8 +134,10 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol ...@@ -93,8 +134,10 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
@Override @Override
public void importData(List<HouseholdPvImport> list) { public void importData(List<HouseholdPvImport> list) {
ArrayList<HouseholdPv> householdPvs = new ArrayList<>(); ArrayList<HouseholdPv> householdPvs = new ArrayList<>();
Map<String, Object> map = companyNameList();
list.forEach(item -> { list.forEach(item -> {
HouseholdPv householdPv = new HouseholdPv(); HouseholdPv householdPv = new HouseholdPv();
BeanUtils.copyProperties(item, householdPv, "platformCompanyId", "expiryTime");
householdPv.setCreateTime(LocalDateTime.now().toDate()); householdPv.setCreateTime(LocalDateTime.now().toDate());
if (!ObjectUtils.isEmpty(item.getExpiryTime())) { if (!ObjectUtils.isEmpty(item.getExpiryTime())) {
try { try {
...@@ -104,16 +147,53 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol ...@@ -104,16 +147,53 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
e.printStackTrace(); e.printStackTrace();
} }
} }
BeanUtils.copyProperties(item, householdPv); if (!ObjectUtils.isEmpty(item.getPlatformCompanyId())) {
if (map.containsKey(item.getPlatformCompanyId())) {
householdPv.setPlatformCompanyId(Long.parseLong(String.valueOf(map.get(item.getPlatformCompanyId()))));
}
}
householdPvs.add(householdPv); householdPvs.add(householdPv);
}); });
this.saveBatch(householdPvs); this.saveBatch(householdPvs);
} }
private Map<String, Object> companyNameList() {
HashMap<String, Object> map = new HashMap<>();
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
Long sequenceNbr = reginParams.getCompany().getSequenceNbr();
FeignClientResult<Collection<UserOrgTreeModel>> collectionFeignClientResult = Privilege.companyClient.queryOrgTree(sequenceNbr);
List<CompanyTreeDto> list = householdPvDistrictMapper.getList();
list.forEach(item -> {
map.put(item.getName(), item.getId());
});
if (collectionFeignClientResult != null) {
Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult();
changeName(result, map);
}
return map;
}
private void changeName(Collection<UserOrgTreeModel> data, Map<String, Object> result) {
data.forEach(item -> {
result.put(item.getName(), item.getId());
if (!ObjectUtils.isEmpty(item.getChildren())) {
changeName(item.getChildren(), result);
}
});
}
@Override @Override
public List<HouseholdPvExport> selectExportList(HouseholdPvDto dto, List<Long> ids) { public List<HouseholdPvExport> selectExportList(HouseholdPvDto dto, List<Long> ids) {
Map<String, Object> companyMap = companyList();
List<HouseholdPvExport> householdPvExports = householdPvMapper.selectExportList(dto, ids); List<HouseholdPvExport> householdPvExports = householdPvMapper.selectExportList(dto, ids);
householdPvExports.forEach(item -> { householdPvExports.forEach(item -> {
if (!ObjectUtils.isEmpty(item.getPlatformCompanyId())) {
if (companyMap.containsKey(item.getPlatformCompanyId())) {
item.setPlatformCompanyId(companyMap.get(item.getPlatformCompanyId()).toString());
} else {
item.setPlatformCompanyId("");
}
}
if (!ObjectUtils.isEmpty(item.getPeriod())) { if (!ObjectUtils.isEmpty(item.getPeriod())) {
JSONArray objects = JSON.parseArray(item.getPeriod()); JSONArray objects = JSON.parseArray(item.getPeriod());
if (!ObjectUtils.isEmpty(objects) && objects.size() >= 2) { if (!ObjectUtils.isEmpty(objects) && objects.size() >= 2) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment