## Feat - H5个人拓展结余接口
This commit is contained in:
parent
df316c164f
commit
d3d416d377
|
@ -1,6 +1,7 @@
|
||||||
package com.hzs.system.base;
|
package com.hzs.system.base;
|
||||||
|
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
|
import com.hzs.common.domain.system.config.BdBonusExpand;
|
||||||
import com.hzs.system.base.dto.BdCubasdocDTO;
|
import com.hzs.system.base.dto.BdCubasdocDTO;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -50,4 +51,5 @@ public interface ISystemConfigServiceApi {
|
||||||
**/
|
**/
|
||||||
R<BdCubasdocDTO> queryBdCubasdocByUser(Long pkUser);
|
R<BdCubasdocDTO> queryBdCubasdocByUser(Long pkUser);
|
||||||
|
|
||||||
|
R<BdBonusExpand> getBdBonusExpand();
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,13 +7,20 @@ import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.lang.tree.Tree;
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
import cn.hutool.core.lang.tree.TreeUtil;
|
import cn.hutool.core.lang.tree.TreeUtil;
|
||||||
import cn.hutool.core.util.RandomUtil;
|
import cn.hutool.core.util.RandomUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson2.JSONArray;
|
import com.alibaba.fastjson2.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.hzs.common.core.constant.*;
|
import com.hzs.common.core.constant.CountryConstants;
|
||||||
|
import com.hzs.common.core.constant.MemberConstants;
|
||||||
|
import com.hzs.common.core.constant.MemberFrameworkConstants;
|
||||||
|
import com.hzs.common.core.constant.TableNameConstants;
|
||||||
import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
import com.hzs.common.core.constant.msg.MemberMsgConstants;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.enums.*;
|
import com.hzs.common.core.enums.ECategory;
|
||||||
|
import com.hzs.common.core.enums.EGrade;
|
||||||
|
import com.hzs.common.core.enums.EPlaceDept;
|
||||||
|
import com.hzs.common.core.enums.EYesNo;
|
||||||
import com.hzs.common.core.utils.CommonUtil;
|
import com.hzs.common.core.utils.CommonUtil;
|
||||||
import com.hzs.common.core.utils.DateUtils;
|
import com.hzs.common.core.utils.DateUtils;
|
||||||
import com.hzs.common.core.utils.StringUtils;
|
import com.hzs.common.core.utils.StringUtils;
|
||||||
|
@ -24,6 +31,7 @@ import com.hzs.common.domain.member.base.CuMember;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberExt;
|
import com.hzs.common.domain.member.ext.CuMemberExt;
|
||||||
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
import com.hzs.common.domain.member.ext.CuMemberSettleExt;
|
||||||
import com.hzs.common.domain.system.base.BdCountry;
|
import com.hzs.common.domain.system.base.BdCountry;
|
||||||
|
import com.hzs.common.domain.system.config.BdBonusExpand;
|
||||||
import com.hzs.common.security.utils.SecurityUtils;
|
import com.hzs.common.security.utils.SecurityUtils;
|
||||||
import com.hzs.common.util.TransactionUtils;
|
import com.hzs.common.util.TransactionUtils;
|
||||||
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
import com.hzs.member.achieve.service.ICuMemberSettlePeriodService;
|
||||||
|
@ -31,16 +39,21 @@ import com.hzs.member.achieve.service.ICuMemberTreeService;
|
||||||
import com.hzs.member.base.service.ICuMemberService;
|
import com.hzs.member.base.service.ICuMemberService;
|
||||||
import com.hzs.member.structure.controller.vo.CuMemberSettlePeriodVo;
|
import com.hzs.member.structure.controller.vo.CuMemberSettlePeriodVo;
|
||||||
import com.hzs.system.base.ICountryServiceApi;
|
import com.hzs.system.base.ICountryServiceApi;
|
||||||
|
import com.hzs.system.base.ISystemConfigServiceApi;
|
||||||
import com.hzs.system.config.IGradeServiceApi;
|
import com.hzs.system.config.IGradeServiceApi;
|
||||||
import com.hzs.system.config.dto.GradeDTO;
|
import com.hzs.system.config.dto.GradeDTO;
|
||||||
import com.hzs.system.sys.IUserServiceApi;
|
import com.hzs.system.sys.IUserServiceApi;
|
||||||
import com.hzs.system.sys.dto.UserAuthorityDTO;
|
import com.hzs.system.sys.dto.UserAuthorityDTO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.dubbo.config.annotation.DubboReference;
|
import org.apache.dubbo.config.annotation.DubboReference;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -50,6 +63,7 @@ import java.util.stream.Collectors;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/member-structure")
|
@RequestMapping("/api/member-structure")
|
||||||
|
@Slf4j
|
||||||
public class ApiMemberStructureController extends BaseController {
|
public class ApiMemberStructureController extends BaseController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -65,6 +79,8 @@ public class ApiMemberStructureController extends BaseController {
|
||||||
IUserServiceApi iUserServiceApi;
|
IUserServiceApi iUserServiceApi;
|
||||||
@DubboReference
|
@DubboReference
|
||||||
ICountryServiceApi iCountryServiceApi;
|
ICountryServiceApi iCountryServiceApi;
|
||||||
|
@DubboReference
|
||||||
|
ISystemConfigServiceApi systemConfigServiceApi;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 安置架构网体
|
* 安置架构网体
|
||||||
|
@ -544,4 +560,126 @@ public class ApiMemberStructureController extends BaseController {
|
||||||
return AjaxResult.success(array);
|
return AjaxResult.success(array);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/az-framework")
|
||||||
|
public AjaxResult azFramework() {
|
||||||
|
Integer level = 1;
|
||||||
|
List<Tree<String>> result = null;
|
||||||
|
// 体系
|
||||||
|
UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
|
||||||
|
List<Integer> vertexIdList = userAuthorityDTO.getVertexIdList();
|
||||||
|
Date date = new Date();
|
||||||
|
String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
|
||||||
|
LocalDate beforeLocalDate = DateUtils.getStringToLocalDate(time).minus(1, ChronoUnit.DAYS);
|
||||||
|
time = beforeLocalDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
|
||||||
|
Long pkMember = SecurityUtils.getUserId();
|
||||||
|
Integer period = null;
|
||||||
|
Date settleDate = null;
|
||||||
|
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
|
||||||
|
if (csPeriod != null) {
|
||||||
|
period = csPeriod.getPkId();
|
||||||
|
settleDate = csPeriod.getSettleDate();
|
||||||
|
}
|
||||||
|
// 查询当天 (秒结)
|
||||||
|
// if (settleDate != null
|
||||||
|
// && DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, settleDate).equals(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, new Date()))) {
|
||||||
|
if(1 == 2) {
|
||||||
|
// 会员结算秒结表
|
||||||
|
String settleTableName = TableNameConstants.CU_MEMBER_SECOND + period;
|
||||||
|
// 查询所有用户表数据 id
|
||||||
|
// 查询秒结 表 如果 秒结表 没有则去 历史表
|
||||||
|
Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName);
|
||||||
|
if (tableNumber != null && tableNumber == 1) {
|
||||||
|
List<CuMemberSettleExt> cuMemberSettleExts;
|
||||||
|
// 查询今日会员表是否有值
|
||||||
|
Long treeMemberCount = iCuMemberTreeService.selectByselectByTreeMemberCount(settleTableName, pkMember);
|
||||||
|
if (treeMemberCount > 0) {
|
||||||
|
//表格存在
|
||||||
|
cuMemberSettleExts = iCuMemberTreeService.selectByTreeMemberList(pkMember, settleTableName, level, vertexIdList);
|
||||||
|
} else {
|
||||||
|
DateTime dateTime = DateUtil.offsetDay(DateUtils.currentDate(), -1);
|
||||||
|
time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, dateTime);
|
||||||
|
csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
|
||||||
|
if (csPeriod != null) {
|
||||||
|
period = csPeriod.getPkId();
|
||||||
|
}
|
||||||
|
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period;
|
||||||
|
cuMemberSettleExts = iCuMemberTreeService.selectByTreeMemberList(pkMember, settleTableName, level, vertexIdList);
|
||||||
|
}
|
||||||
|
// 查询顶点
|
||||||
|
CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember);
|
||||||
|
if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) {
|
||||||
|
memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode());
|
||||||
|
}
|
||||||
|
memberSettleExt.setLevel(0);
|
||||||
|
// 添加自身
|
||||||
|
cuMemberSettleExts.add(memberSettleExt);
|
||||||
|
List<Tree<String>> build = iCuMemberService.systemAzSetListTree(cuMemberSettleExts, memberSettleExt);
|
||||||
|
// 安置架构 无点位 追加空点位
|
||||||
|
R<Map<Integer, BdCountry>> allCountryMap = iCountryServiceApi.getAllCountryMap();
|
||||||
|
Map<Integer, BdCountry> allCountryData = allCountryMap.getData();
|
||||||
|
result = setTreeList(build, level, allCountryData);
|
||||||
|
} else {
|
||||||
|
// 查询表格是否存在
|
||||||
|
tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName);
|
||||||
|
if (tableNumber == null) {
|
||||||
|
settleTableName = null;
|
||||||
|
}
|
||||||
|
// 查询顶点
|
||||||
|
CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember);
|
||||||
|
if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) {
|
||||||
|
memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode());
|
||||||
|
}
|
||||||
|
memberSettleExt.setLevel(0);
|
||||||
|
//查询下级
|
||||||
|
List<CuMemberSettleExt> list = iCuMemberTreeService.queryCuMemberTreePlaceParentHistoryTable(settleTableName, pkMember, new ArrayList<>(), level);
|
||||||
|
// 无法查询到自身 所有单独查询自身并且添加
|
||||||
|
list.add(memberSettleExt);
|
||||||
|
List<Tree<String>> build = iCuMemberService.systemAzSetListTree(list, memberSettleExt);
|
||||||
|
// 安置架构 无点位 追加空点位
|
||||||
|
R<Map<Integer, BdCountry>> allCountryMap = iCountryServiceApi.getAllCountryMap();
|
||||||
|
Map<Integer, BdCountry> allCountryData = allCountryMap.getData();
|
||||||
|
result = setTreeList(build, level, allCountryData);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 查询 历史
|
||||||
|
String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period;
|
||||||
|
Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName);
|
||||||
|
if (tableNumber != null && tableNumber == 1) {
|
||||||
|
// 表示表格存在
|
||||||
|
// 查询顶点
|
||||||
|
CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember);
|
||||||
|
if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) {
|
||||||
|
memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode());
|
||||||
|
}
|
||||||
|
memberSettleExt.setLevel(0);
|
||||||
|
//查询下级
|
||||||
|
List<CuMemberSettleExt> list = iCuMemberTreeService.queryCuMemberTreePlaceParentHistoryFramework(settleTableName, pkMember, new ArrayList<>(), level);
|
||||||
|
// 无法查询到自身 所有单独查询自身并且添加
|
||||||
|
list.add(memberSettleExt);
|
||||||
|
List<Tree<String>> build = iCuMemberService.systemAzSetListTree(list, memberSettleExt);
|
||||||
|
// 安置架构 无点位 追加空点位
|
||||||
|
R<Map<Integer, BdCountry>> allCountryMap = iCountryServiceApi.getAllCountryMap();
|
||||||
|
Map<Integer, BdCountry> allCountryData = allCountryMap.getData();
|
||||||
|
result = setTreeList(build, level, allCountryData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BdBonusExpand bdBonusExpand = systemConfigServiceApi.getBdBonusExpand().getData();
|
||||||
|
assert result != null;
|
||||||
|
String leftFirstSurplusStr = result.get(0).get("leftFirstSurplus").toString();
|
||||||
|
String rightFirstSurplusStr = result.get(0).get("rightFirstSurplus").toString();
|
||||||
|
BigDecimal leftFirstSurplus = new BigDecimal(leftFirstSurplusStr.replaceAll(",", ""));
|
||||||
|
BigDecimal rightFirstSurplus = new BigDecimal(rightFirstSurplusStr.replaceAll(",", ""));
|
||||||
|
log.info("result : {}", JSONUtil.toJsonStr(result));
|
||||||
|
if(leftFirstSurplus.compareTo(bdBonusExpand.getExpandSmall()) > 0){
|
||||||
|
result.get(0).putExtra("leftFirstSurplus", bdBonusExpand.getExpandSmall().toString());
|
||||||
|
}
|
||||||
|
if(rightFirstSurplus.compareTo(bdBonusExpand.getExpandBig()) > 0){
|
||||||
|
result.get(0).putExtra("rightFirstSurplus", bdBonusExpand.getExpandBig().toString());
|
||||||
|
}
|
||||||
|
JSONObject data = new JSONObject();
|
||||||
|
data.put("tree", result);
|
||||||
|
data.put("config", bdBonusExpand);
|
||||||
|
|
||||||
|
return AjaxResult.success(data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,17 +2,20 @@ package com.hzs.system.base.provider;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.hzs.common.core.domain.R;
|
import com.hzs.common.core.domain.R;
|
||||||
import com.hzs.common.core.enums.ESystemConfig;
|
import com.hzs.common.core.enums.ESystemConfig;
|
||||||
import com.hzs.common.core.utils.ComputeUtil;
|
import com.hzs.common.core.utils.ComputeUtil;
|
||||||
import com.hzs.common.domain.system.base.BdCountry;
|
import com.hzs.common.domain.system.base.BdCountry;
|
||||||
import com.hzs.common.domain.system.base.ext.BdCubasdocExt;
|
import com.hzs.common.domain.system.base.ext.BdCubasdocExt;
|
||||||
|
import com.hzs.common.domain.system.config.BdBonusExpand;
|
||||||
import com.hzs.system.base.ISystemConfigServiceApi;
|
import com.hzs.system.base.ISystemConfigServiceApi;
|
||||||
import com.hzs.system.base.dto.BdCubasdocDTO;
|
import com.hzs.system.base.dto.BdCubasdocDTO;
|
||||||
import com.hzs.system.base.param.BdCubasdocParam;
|
import com.hzs.system.base.param.BdCubasdocParam;
|
||||||
import com.hzs.system.base.service.IBdCountryService;
|
import com.hzs.system.base.service.IBdCountryService;
|
||||||
import com.hzs.system.base.service.IBdCubasdocService;
|
import com.hzs.system.base.service.IBdCubasdocService;
|
||||||
import com.hzs.system.base.service.IBdSystemConfigService;
|
import com.hzs.system.base.service.IBdSystemConfigService;
|
||||||
|
import com.hzs.system.config.service.IBdBonusExpandService;
|
||||||
import org.apache.dubbo.config.annotation.DubboService;
|
import org.apache.dubbo.config.annotation.DubboService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
@ -30,6 +33,8 @@ public class SystemConfigServiceProvider implements ISystemConfigServiceApi {
|
||||||
private IBdCountryService bdCountryService;
|
private IBdCountryService bdCountryService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IBdCubasdocService bdCubasdocService;
|
private IBdCubasdocService bdCubasdocService;
|
||||||
|
@Autowired
|
||||||
|
private IBdBonusExpandService iBdBonusExpandService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<String> getBonusSystemConfig(Integer pkCountry, String key) {
|
public R<String> getBonusSystemConfig(Integer pkCountry, String key) {
|
||||||
|
@ -101,4 +106,13 @@ public class SystemConfigServiceProvider implements ISystemConfigServiceApi {
|
||||||
return R.fail();
|
return R.fail();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R<BdBonusExpand> getBdBonusExpand() {
|
||||||
|
LambdaQueryWrapper<BdBonusExpand> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(BdBonusExpand::getPkCountry, 1);
|
||||||
|
queryWrapper.orderByDesc(BdBonusExpand::getCreationTime);
|
||||||
|
BdBonusExpand bdBonusExpand = iBdBonusExpandService.getOne(queryWrapper, false);
|
||||||
|
return R.ok(bdBonusExpand);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue