3
0
Fork 0

## Opt - 平铺区域数据

This commit is contained in:
sangelxiu1 2025-07-14 09:12:44 +08:00
parent 30b6468912
commit 5e21e19441
3 changed files with 59 additions and 4 deletions

View File

@ -2,6 +2,7 @@ package com.hzs.retail.member.controller.api;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo;
@ -288,8 +289,12 @@ public class RetailMemberController extends BaseController {
* @return
*/
@GetMapping("/query-region")
public AjaxResult queryRegion(@RequestParam("type") String type) {
return AjaxResult.success(iCuMemberRetailRegionService.getRegionTreeList(type, SecurityUtils.getUserId()));
public AjaxResult queryRegion(@RequestParam("type") String type, @RequestParam(value = "useTree", required = false) boolean useTree) {
if(ObjectUtil.isNotEmpty(useTree) && useTree){
return AjaxResult.success(iCuMemberRetailRegionService.getRegionTreeList(type, SecurityUtils.getUserId()));
}else{
return AjaxResult.success(iCuMemberRetailRegionService.getRegionList(type, SecurityUtils.getUserId()));
}
}
}

View File

@ -4,6 +4,7 @@ import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
import com.hzs.common.domain.system.base.BdArea;
import com.hzs.retail.member.param.RetailMemberRegionParam;
import com.hzs.retail.member.vo.UnboundAreaVO;
@ -60,6 +61,7 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
* @return
*/
List<Tree<String>> getRegionTreeList(String queryType, Long pkMember);
List<BdArea> getRegionList(String queryType, Long pkMember);
/**
* 插入或更新区域选择

View File

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.*;
@ -13,6 +14,7 @@ import com.hzs.common.core.service.RedisService;
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
import com.hzs.common.domain.system.base.BdArea;
import com.hzs.common.domain.system.base.ext.AreaCache;
import com.hzs.retail.member.mapper.CuMemberRetailRegionMapper;
import com.hzs.retail.member.param.RetailMemberRegionParam;
import com.hzs.retail.member.service.ICuMemberRetailRegionService;
@ -22,8 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
* 新零售会员区域配置 服务实现类
@ -115,6 +116,53 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
});
}
@Override
public List<BdArea> getRegionList(String queryType, Long pkMember) {
List<BdArea> allList = baseMapper.getRegionTreeList(queryType, pkMember);
/*
List<BdArea> provinceList = new ArrayList<>();
List<BdArea> cityList = new ArrayList<>();
List<BdArea> countyList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(allList)) {
//
for (BdArea ac : allList) {
// 上级为0则为省一级
if (ac.getParent().equals(0)) {
provinceList.add(ac);
}
}
}
//
for (BdArea ac : provinceList) {
for (BdArea ct : allList) {
if (ct.getParent().intValue() == ac.getPkId()) {
cityList.add(ct);
}
}
}
Set<Integer> idSet = new HashSet<>();
for (BdArea cache : cityList) {
for (BdArea ac : allList) {
if (ac.getParent().intValue() == cache.getPkId().intValue()) {
idSet.add(ac.getPkId());
}
}
}
for (BdArea cache : allList) {
for (Integer integer : idSet) {
if (cache.getPkId().equals(integer)) {
countyList.add(cache);
}
}
}
JSONObject result = new JSONObject();
result.put("provinceList", provinceList);
result.put("cityList", cityList);
result.put("countyList", countyList);
*/
return allList;
}
@Override
public int mergeMemberRetailRegion(CuMemberRetailRegion retailRegion) {
return baseMapper.mergeMemberRetailRegion(retailRegion);