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 cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
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.SysConstants;
|
||||||
import com.hzs.common.core.constant.msg.AreaConstants;
|
import com.hzs.common.core.constant.msg.AreaConstants;
|
||||||
import com.hzs.common.core.enums.EGrade;
|
import com.hzs.common.core.enums.EGrade;
|
||||||
|
@ -75,6 +76,15 @@ public class RetailMemberController extends BaseController {
|
||||||
}
|
}
|
||||||
return AjaxResult.success(retailMemberInfoVO);
|
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("county") Integer county,
|
||||||
@Param("systemType") Integer systemType);
|
@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;
|
package com.hzs.retail.member.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
import com.hzs.common.domain.retail.member.CuMemberRetailRegion;
|
||||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||||
|
@ -84,4 +85,10 @@ public interface ICuMemberRetailRegionService extends IService<CuMemberRetailReg
|
||||||
*/
|
*/
|
||||||
void handleRepeatRegion();
|
void handleRepeatRegion();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询可选收益区域树结构 入参常量为 RetailRegionTreeQueryConstants
|
||||||
|
* @param queryType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<Tree<String>> getRegionTreeList(String queryType);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,20 @@
|
||||||
package com.hzs.retail.member.service.impl;
|
package com.hzs.retail.member.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
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.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.hzs.common.core.constant.*;
|
import com.hzs.common.core.constant.*;
|
||||||
import com.hzs.common.core.enums.*;
|
import com.hzs.common.core.enums.*;
|
||||||
import com.hzs.common.core.exception.ServiceException;
|
import com.hzs.common.core.exception.ServiceException;
|
||||||
import com.hzs.common.core.service.RedisService;
|
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.CuMemberRetailRegion;
|
||||||
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
import com.hzs.common.domain.retail.member.ext.CuMemberRetailRegionExt;
|
||||||
import com.hzs.common.domain.system.base.BdArea;
|
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.mapper.CuMemberRetailRegionMapper;
|
||||||
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
import com.hzs.retail.member.param.RetailMemberRegionParam;
|
||||||
import com.hzs.retail.member.service.ICuMemberRetailAchieveService;
|
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.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
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
|
group by cmrr.province, cmrr.city, cmrr.county
|
||||||
having count(1) > 1
|
having count(1) > 1
|
||||||
</select>
|
</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">
|
<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