diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java index 4d55db31..956c7a5e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/controller/api/RetailMemberController.java @@ -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())); + } } } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailRegionService.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailRegionService.java index b01940d0..4b1977bd 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailRegionService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/ICuMemberRetailRegionService.java @@ -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,4 +61,5 @@ public interface ICuMemberRetailRegionService extends IService> getRegionTreeList(String queryType, Long pkMember); + List getRegionList(String queryType, Long pkMember); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailRegionServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailRegionServiceImpl.java index 9d9e157d..217aae24 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailRegionServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/service/impl/CuMemberRetailRegionServiceImpl.java @@ -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,4 +116,51 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl getRegionList(String queryType, Long pkMember) { + List allList = baseMapper.getRegionTreeList(queryType, pkMember); + /* + List provinceList = new ArrayList<>(); + List cityList = new ArrayList<>(); + List 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 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; + } + }