Commit 47e4322f authored by lcl's avatar lcl

add

parent 62bdc25c
......@@ -163,6 +163,10 @@ tenant:
- sys_user_file_record
- sys_oss_config
- sys_region
- d_customer
- d_project
- d_subcontract
- dim_area
# MyBatisPlus配置
......
package com.dsk.cscec.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
......@@ -10,14 +8,9 @@ import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.service.IDCustomerService;
import com.dsk.system.domain.SysDept;
import com.dsk.system.domain.vo.SysDeptVo;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* 组织维表(DCustomer)表控制层
*
......
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.R;
import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.service.IDimAreaService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* (DimArea)表控制层
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@RestController
@RequestMapping("/area")
public class DimAreaController extends BaseController {
/**
* 服务对象
*/
@Resource
private IDimAreaService baseService;
/**
* 获取地区树
*/
@GetMapping("/all")
public R<List<RegionVo>> allArea(){
return R.ok(baseService.allArea());
}
}
package com.dsk.cscec.domain;
import java.io.Serializable;
import lombok.Data;
/**
* (DimArea)表实体类
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@Data
public class DimArea implements Serializable {
private static final long serialVersionUID = 1L;
private Integer areaKey;
private String areaCode;
private String areaName;
/**
* 地区
*/
private String areaName1;
/**
* 省
*/
private String areaName2;
/**
* 省简写
*/
private String areaAbbrName2;
private String areaName3;
private Integer levelNo;
private String isleaf;
private String isvalid;
private String remark;
private String areaId;
private String parentId;
private String loadTime;
}
package com.dsk.cscec.domain.vo;
import lombok.Data;
import java.util.List;
/**
* @Author lcl
* @Data 2023/12/13 14:14
*/
@Data
public class RegionVo {
String value;
List<RegionVo> children;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.DimArea;
/**
* (DimArea)表数据库访问层
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
public interface DimAreaMapper extends BaseMapper<DimArea> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.DimArea;
import com.dsk.cscec.domain.vo.RegionVo;
import java.util.List;
/**
* (DimArea)表服务接口
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
public interface IDimAreaService extends IService<DimArea> {
List<RegionVo> allArea();
}
......@@ -2,20 +2,18 @@ package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.domain.bo.DCustomerSearchBo;
import com.dsk.cscec.mapper.DCustomerMapper;
import com.dsk.cscec.domain.DCustomer;
import com.dsk.cscec.mapper.DSubcontractMapper;
import com.dsk.cscec.service.IDCustomerService;
import com.dsk.search.service.BusinessOpportunityRadarService;
import lombok.extern.slf4j.Slf4j;
import org.springdoc.core.converters.models.PageableAsQueryParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
......
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.constant.CacheNames;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.domain.entity.SysDictData;
import com.dsk.cscec.domain.vo.RegionVo;
import com.dsk.cscec.mapper.DimAreaMapper;
import com.dsk.cscec.domain.DimArea;
import com.dsk.cscec.service.IDimAreaService;
import com.dsk.system.service.ISysDictDataService;
import com.dsk.system.service.ISysDictTypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* (DimArea)表服务实现类
*
* @author lcl
* @since 2023-12-13 13:45:22
*/
@Service
public class DimAreaServiceImpl extends ServiceImpl<DimAreaMapper, DimArea> implements IDimAreaService {
@Autowired
private ISysDictTypeService sysDictTypeService;
private static final String AREA_TYPE = "arealist";
// @Cacheable(cacheNames = "", key = "")
@Override
public List<RegionVo> allArea() {
List<RegionVo> vos = new ArrayList<>();
//区域
List<SysDictData> sysDictData = sysDictTypeService.selectDictDataByType(AREA_TYPE);
if(CollectionUtils.isNotEmpty(sysDictData)){
for (SysDictData data : sysDictData) {
RegionVo regionVo = new RegionVo();
regionVo.setValue(data.getDictValue());
List<RegionVo> provinceVos = new ArrayList<>();
//省
List<Object> provinces = baseMapper.selectObjs(Wrappers.<DimArea>lambdaQuery()
.select(DimArea::getAreaName2)
.eq(DimArea::getAreaName1, data.getDictValue())
.ne(DimArea::getAreaName2, data.getDictValue())
.groupBy(DimArea::getAreaName2));
if(CollectionUtils.isNotEmpty(provinces)){
for (Object province : provinces) {
RegionVo provinceVo = new RegionVo();
provinceVo.setValue(String.valueOf(province));
List<RegionVo> cityVos = new ArrayList<>();
//市
List<Object> citys = baseMapper.selectObjs(Wrappers.<DimArea>lambdaQuery()
.select(DimArea::getAreaName3)
.eq(DimArea::getAreaName2, provinceVo.getValue())
.ne(DimArea::getAreaName3, provinceVo.getValue())
.groupBy(DimArea::getAreaName3));
if(CollectionUtils.isNotEmpty(citys)){
for (Object city : citys) {
RegionVo cityVo = new RegionVo();
cityVo.setValue(String.valueOf(city));
cityVos.add(cityVo);
}
}
provinceVo.setChildren(cityVos);
provinceVos.add(provinceVo);
}
}
regionVo.setChildren(provinceVos);
vos.add(regionVo);
}
}
return vos;
}
}
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