forked from angelo/java-retail-app
## Feat - 收益区域接口
This commit is contained in:
parent
fc91a6a650
commit
c6c30fd96d
|
@ -9,6 +9,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||
import com.hzs.common.core.constant.RetailRegionTreeQueryConstants;
|
||||
import com.hzs.common.core.constant.SysConstants;
|
||||
import com.hzs.common.core.constant.msg.AreaConstants;
|
||||
import com.hzs.common.core.enums.EGrade;
|
||||
|
@ -75,6 +76,15 @@ public class RetailMemberController extends BaseController {
|
|||
}
|
||||
return AjaxResult.success(retailMemberInfoVO);
|
||||
}
|
||||
@GetMapping("/test")
|
||||
public AjaxResult test() {
|
||||
List<Tree<String>> test1 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.CITY);
|
||||
List<Tree<String>> test2 = iCuMemberRetailRegionService.getRegionTreeList(RetailRegionTreeQueryConstants.COUNTY);
|
||||
log.info("test1: {}", test1);
|
||||
log.info("test2: {}", test2);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
||||
// /**
|
||||
// * 获取会员收益区域
|
||||
|
|
|
@ -99,4 +99,6 @@ public interface CuMemberRetailRegionMapper extends BaseMapper<CuMemberRetailReg
|
|||
@Param("county") Integer county,
|
||||
@Param("systemType") Integer systemType);
|
||||
|
||||
|
||||
List<BdArea> getRegionTreeList(@Param("queryType") String queryType, @Param("userId") Long userId);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.retail.member.service;
|
||||
|
||||
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;
|
||||
|
@ -84,4 +85,10 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
|||
*/
|
||||
void handleRepeatRegion();
|
||||
|
||||
/**
|
||||
* 查询可选收益区域树结构 入参常量为 RetailRegionTreeQueryConstants
|
||||
* @param queryType
|
||||
* @return
|
||||
*/
|
||||
List<Tree<String>> getRegionTreeList(String queryType);
|
||||
}
|
||||
|
|
|
@ -1,15 +1,20 @@
|
|||
package com.hzs.retail.member.service.impl;
|
||||
|
||||
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.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.common.core.constant.*;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.exception.ServiceException;
|
||||
import com.hzs.common.core.service.RedisService;
|
||||
import com.hzs.common.core.web.domain.AjaxResult;
|
||||
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.security.utils.SecurityUtils;
|
||||
import com.hzs.retail.member.mapper.CuMemberRetailRegionMapper;
|
||||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
||||
|
@ -20,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -204,4 +210,23 @@ public class CuMemberRetailRegionServiceImpl extends ServiceImpl<CuMemberRetailR
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tree<String>> getRegionTreeList(String queryType) {
|
||||
List<BdArea> areaList = baseMapper.getRegionTreeList(queryType, SecurityUtils.getUserId());
|
||||
if (CollectionUtil.isEmpty(areaList)) {
|
||||
return null;
|
||||
}
|
||||
TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
|
||||
treeNodeConfig.setDeep(3);
|
||||
if(RetailRegionTreeQueryConstants.CITY.equals(queryType)){
|
||||
treeNodeConfig.setDeep(2);
|
||||
}
|
||||
return TreeUtil.build(areaList, "0", treeNodeConfig,
|
||||
(treeNode, tree) -> {
|
||||
tree.setId(treeNode.getPkId().toString());
|
||||
tree.setParentId(treeNode.getParent().toString());
|
||||
tree.setName(treeNode.getName());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -239,6 +239,50 @@
|
|||
group by cmrr.province, cmrr.city, cmrr.county
|
||||
having count(1) > 1
|
||||
</select>
|
||||
<select id="getRegionTreeList" resultType="com.hzs.common.domain.system.base.BdArea">
|
||||
SELECT
|
||||
pr.*,
|
||||
nvl( region.num, 0 )
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
ba.PK_ID,
|
||||
ba.PARENT,
|
||||
ba.NAME,
|
||||
ba.BIND_NUM
|
||||
FROM
|
||||
bd_area ba
|
||||
WHERE
|
||||
ba.del_flag = 0
|
||||
AND ba.pk_country = 1
|
||||
AND ba.ENABLE_STATE = 0
|
||||
) pr
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
<if test="queryType != null and queryType == 'city'">
|
||||
city id,
|
||||
</if>
|
||||
<if test="queryType != null and queryType == 'county'">
|
||||
county id,
|
||||
</if>
|
||||
count( 1 ) num
|
||||
FROM cu_member_retail_region
|
||||
WHERE
|
||||
del_flag = 0
|
||||
AND PK_MEMBER != #{userId}
|
||||
GROUP BY
|
||||
<if test="queryType != null and queryType == 'city'">
|
||||
city
|
||||
</if>
|
||||
<if test="queryType != null and queryType == 'county'">
|
||||
county
|
||||
</if>
|
||||
) region ON pr.PK_ID = region.id
|
||||
WHERE
|
||||
nvl( region.num, 0 ) <![CDATA[ < ]]> pr.BIND_NUM
|
||||
ORDER BY
|
||||
nvl( region.num, 0 ) DESC
|
||||
</select>
|
||||
|
||||
<!-- 更新非最新区域其它数据 -->
|
||||
<update id="updateRepeatDate">
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package com.hzs.common.core.constant;
|
||||
|
||||
/**
|
||||
* 用户绑定收益区域查询类型常量
|
||||
*/
|
||||
public class RetailRegionTreeQueryConstants {
|
||||
|
||||
/**
|
||||
* 市级
|
||||
*/
|
||||
public static final String CITY = "city";
|
||||
/**
|
||||
* 区级
|
||||
*/
|
||||
public static final String COUNTY = "county";
|
||||
|
||||
}
|
Loading…
Reference in New Issue