Commit 6eb85665 authored by lisong's avatar lisong

更新接口

parent 1b268f75
......@@ -15,5 +15,7 @@ public class CompanyTreeDto {
private String type;
private String level;
private List<CompanyTreeDto> children;
}
package com.yeejoin.amos.boot.module.jxiop.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jxiop.api.dto.CompanyTreeDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import java.util.List;
/**
* 接口类
*
......@@ -11,4 +15,5 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
*/
public interface IHouseholdPvDistrictService extends IService<HouseholdPvDistrict>{
List<CompanyTreeDto> getTree(HouseholdPvDto dto);
}
......@@ -31,7 +31,4 @@ public interface IHouseholdPvService extends IService<HouseholdPv>{
HouseholdPvDto update(HouseholdPvDto householdPvDto);
HouseholdPvDto getBySeq(Long id);
List<CompanyTreeDto> getTree(HouseholdPvDto dto);
}
......@@ -32,7 +32,6 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -260,11 +259,4 @@ public class HouseholdPvController extends BaseController {
}
@GetMapping(value = "/getTree")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "厂站树", notes = "厂站树")
public ResponseModel<Object> getTree () {
return ResponseHelper.buildResponse(iHouseholdPvService.getTree(null));
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDistrictDto;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDistrictService;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.HouseholdPvDistrictServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDistrictDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
*
*
* @author system_generator
* @date 2023-03-17
*/
......@@ -31,34 +29,37 @@ public class HouseholdPvDistrictController extends BaseController {
@Autowired
HouseholdPvDistrictServiceImpl householdPvDistrictServiceImpl;
@Autowired
IHouseholdPvDistrictService householdPvDistrictService;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<HouseholdPvDistrictDto> save(@RequestBody HouseholdPvDistrictDto model) {
model = householdPvDistrictServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<HouseholdPvDistrictDto> save(@RequestBody HouseholdPvDistrictDto model) {
model = householdPvDistrictServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/**
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<HouseholdPvDistrictDto> updateBySequenceNbrHouseholdPvDistrict(@RequestBody HouseholdPvDistrictDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.updateWithModel(model));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<HouseholdPvDistrictDto> updateBySequenceNbrHouseholdPvDistrict(@RequestBody HouseholdPvDistrictDto model, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.updateWithModel(model));
}
/**
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
......@@ -67,50 +68,71 @@ public class HouseholdPvDistrictController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<HouseholdPvDistrictDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryBySeq(sequenceNbr));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<HouseholdPvDistrictDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryBySeq(sequenceNbr));
}
/**
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<HouseholdPvDistrictDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<HouseholdPvDistrictDto> page = new Page<HouseholdPvDistrictDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryForHouseholdPvDistrictPage(page));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询")
public ResponseModel<Page<HouseholdPvDistrictDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size) {
Page<HouseholdPvDistrictDto> page = new Page<HouseholdPvDistrictDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryForHouseholdPvDistrictPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdPvDistrictDto>> selectForList() {
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryForHouseholdPvDistrictList());
}
@GetMapping(value = "/getTree")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "厂站树", notes = "厂站树")
public ResponseModel<Object> getTree() {
return ResponseHelper.buildResponse(householdPvDistrictService.getTree(null));
}
/**
* 列表全部数据查询
/**
* 树节点新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<HouseholdPvDistrictDto>> selectForList() {
return ResponseHelper.buildResponse(householdPvDistrictServiceImpl.queryForHouseholdPvDistrictList());
}
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/treeAdd")
@ApiOperation(httpMethod = "POST", value = "树节点新增", notes = "树节点新增")
public ResponseModel<HouseholdPvDistrictDto> treeAdd(@RequestBody HouseholdPvDistrictDto model) {
model = householdPvDistrictServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
}
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
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.HouseholdPvDistrictDto;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDto;
import com.yeejoin.amos.boot.module.jxiop.api.entity.HouseholdPvDistrict;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.HouseholdPvDistrictMapper;
import com.yeejoin.amos.boot.module.jxiop.api.service.IHouseholdPvDistrictService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.boot.module.jxiop.api.dto.HouseholdPvDistrictDto;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.yeejoin.amos.feign.privilege.model.UserOrgTreeModel;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 服务实现类
......@@ -17,20 +33,65 @@ import java.util.List;
* @date 2023-03-17
*/
@Service
public class HouseholdPvDistrictServiceImpl extends BaseService<HouseholdPvDistrictDto,HouseholdPvDistrict,HouseholdPvDistrictMapper> implements IHouseholdPvDistrictService {
public class HouseholdPvDistrictServiceImpl extends BaseService<HouseholdPvDistrictDto, HouseholdPvDistrict, HouseholdPvDistrictMapper> implements IHouseholdPvDistrictService {
@Autowired
RedisUtils redisUtils;
@Autowired
HouseholdPvDistrictMapper householdPvDistrictMapper;
/**
* 分页查询
*/
public Page<HouseholdPvDistrictDto> queryForHouseholdPvDistrictPage(Page<HouseholdPvDistrictDto> page) {
public Page<HouseholdPvDistrictDto> queryForHouseholdPvDistrictPage(Page<HouseholdPvDistrictDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<HouseholdPvDistrictDto> queryForHouseholdPvDistrictList() {
Privilege.companyClient.queryOrgTree(null);
return this.queryForList("" , false);
public List<HouseholdPvDistrictDto> queryForHouseholdPvDistrictList() {
Privilege.companyClient.queryOrgTree(null);
return this.queryForList("", false);
}
@Override
public List<CompanyTreeDto> getTree(HouseholdPvDto dto) {
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();
if (collectionFeignClientResult != null) {
Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult();
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());
}
private void change(Collection<UserOrgTreeModel> data, List<CompanyTreeDto> result) {
data.forEach(item -> {
CompanyTreeDto dto = new CompanyTreeDto();
BeanUtils.copyProperties(item, dto, "children");
Map<String, Object> detail = (Map<String, Object>) item.getObject();
if (!ObjectUtils.isEmpty(detail)) {
dto.setLevel(detail.getOrDefault("level", "").toString());
}
result.add(dto);
if (!ObjectUtils.isEmpty(item.getChildren())) {
change(item.getChildren(), result);
}
});
}
private List<CompanyTreeDto> getCompanyBuildingChildrenTree(String parentId, List<CompanyTreeDto> all) {
return all.stream().filter(a -> parentId.equals(a.getParentId())).peek(a -> {
a.setChildren(getCompanyBuildingChildrenTree(a.getId(), all));
}).collect(Collectors.toList());
}
}
\ No newline at end of file
......@@ -59,8 +59,6 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
@Autowired
IHouseholdPvInstallService iHouseholdPvInstallService;
@Autowired
RedisUtils redisUtils;
@Autowired
HouseholdPvDistrictMapper householdPvDistrictMapper;
......@@ -241,38 +239,4 @@ public class HouseholdPvServiceImpl extends BaseService<HouseholdPvDto, Househol
return householdPvDto;
}
@Override
public List<CompanyTreeDto> getTree(HouseholdPvDto dto) {
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();
if (collectionFeignClientResult != null){
Collection<UserOrgTreeModel> result = collectionFeignClientResult.getResult();
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());
}
private void change(Collection<UserOrgTreeModel> data, List<CompanyTreeDto> result) {
data.forEach(item -> {
CompanyTreeDto dto = new CompanyTreeDto();
BeanUtils.copyProperties(item, dto, "children");
result.add(dto);
if (!ObjectUtils.isEmpty(item.getChildren())) {
change(item.getChildren(), result);
}
});
}
private List<CompanyTreeDto> getCompanyBuildingChildrenTree(String parentId, List<CompanyTreeDto> all) {
return all.stream().filter(a -> parentId.equals(a.getParentId())).peek(a -> {
a.setChildren(getCompanyBuildingChildrenTree(a.getId(), all));
}).collect(Collectors.toList());
}
}
\ No newline at end of file
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