## Feat - H5个人拓展结余接口
This commit is contained in:
parent
df316c164f
commit
d3d416d377
|
@ -1,6 +1,7 @@
|
|||
package com.hzs.system.base;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.system.config.BdBonusExpand;
|
||||
import com.hzs.system.base.dto.BdCubasdocDTO;
|
||||
|
||||
import java.util.Collection;
|
||||
|
@ -50,4 +51,5 @@ public interface ISystemConfigServiceApi {
|
|||
**/
|
||||
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.TreeUtil;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
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.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.DateUtils;
|
||||
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.CuMemberSettleExt;
|
||||
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.util.TransactionUtils;
|
||||
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.structure.controller.vo.CuMemberSettlePeriodVo;
|
||||
import com.hzs.system.base.ICountryServiceApi;
|
||||
import com.hzs.system.base.ISystemConfigServiceApi;
|
||||
import com.hzs.system.config.IGradeServiceApi;
|
||||
import com.hzs.system.config.dto.GradeDTO;
|
||||
import com.hzs.system.sys.IUserServiceApi;
|
||||
import com.hzs.system.sys.dto.UserAuthorityDTO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
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.util.ArrayList;
|
||||
import java.util.Date;
|
||||
|
@ -50,6 +63,7 @@ import java.util.stream.Collectors;
|
|||
|
||||
@RestController
|
||||
@RequestMapping("/api/member-structure")
|
||||
@Slf4j
|
||||
public class ApiMemberStructureController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
|
@ -65,6 +79,8 @@ public class ApiMemberStructureController extends BaseController {
|
|||
IUserServiceApi iUserServiceApi;
|
||||
@DubboReference
|
||||
ICountryServiceApi iCountryServiceApi;
|
||||
@DubboReference
|
||||
ISystemConfigServiceApi systemConfigServiceApi;
|
||||
|
||||
/**
|
||||
* 安置架构网体
|
||||
|
@ -544,4 +560,126 @@ public class ApiMemberStructureController extends BaseController {
|
|||
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.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.ESystemConfig;
|
||||
import com.hzs.common.core.utils.ComputeUtil;
|
||||
import com.hzs.common.domain.system.base.BdCountry;
|
||||
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.dto.BdCubasdocDTO;
|
||||
import com.hzs.system.base.param.BdCubasdocParam;
|
||||
import com.hzs.system.base.service.IBdCountryService;
|
||||
import com.hzs.system.base.service.IBdCubasdocService;
|
||||
import com.hzs.system.base.service.IBdSystemConfigService;
|
||||
import com.hzs.system.config.service.IBdBonusExpandService;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
|
@ -30,6 +33,8 @@ public class SystemConfigServiceProvider implements ISystemConfigServiceApi {
|
|||
private IBdCountryService bdCountryService;
|
||||
@Autowired
|
||||
private IBdCubasdocService bdCubasdocService;
|
||||
@Autowired
|
||||
private IBdBonusExpandService iBdBonusExpandService;
|
||||
|
||||
@Override
|
||||
public R<String> getBonusSystemConfig(Integer pkCountry, String key) {
|
||||
|
@ -101,4 +106,13 @@ public class SystemConfigServiceProvider implements ISystemConfigServiceApi {
|
|||
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