## 去掉部分字段;支付回调会员上树处理;

This commit is contained in:
cabbage 2025-07-21 15:26:57 +08:00
parent 14e1f3c3d3
commit ba36ea4a81
23 changed files with 131 additions and 823 deletions

View File

@ -14,9 +14,6 @@ public interface IMemberAchieveServiceApi {
* @param cuMember 推荐会员主键 公司 会员名称 手机号
* @param isFirst 是否首单
* @param isFirstAchieve 是否首购业绩
* @return: CuMemberAchieve
* @Author: sui q
* @Date: 2022/10/26 15:04
*/
R<CuMember> queryCuMemberAchieveByPkMember(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve);

View File

@ -16,9 +16,6 @@ import java.util.List;
/**
* 会员业绩记录 Mapper 接口
*
* @author hzs
* @since 2022-10-26
*/
public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
@ -47,22 +44,6 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
*/
CuMemberAwardsUnderVO selectAwardsByPkMember(CuMemberAwardsUnderVO memberAwardsUnderVO);
/**
* 根据用户ID查询结余大小信息
*
* @param memberAwardsUnderVO 奖衔VO
* @return CuMemberAwardsUnderVO
*/
CuMemberAwardsUnderVO selectBalanceByPkMember(CuMemberAwardsUnderVO memberAwardsUnderVO);
/**
* 查询本月小区新增业绩
*
* @param memberAwardsUnderVO 入参
* @return CuMemberAwardsUnderVO
*/
CuMemberAwardsUnderVO selectMemberSmallAchieve(CuMemberAwardsUnderVO memberAwardsUnderVO);
/**
* 根据用户ID查询奖衔伞下
*
@ -71,7 +52,6 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
*/
List<CuMemberAwardsUnderVO> selectUnderMemberAwards(CuMemberAwardsUnderVO memberAwardsUnderVO);
/**
* 月度新增业绩对比
*
@ -120,7 +100,6 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
**/
List<PlaceNewAddAchieveVO> directAchieveDetails(PlaceNewAddAchieveVO pna);
/**
* @description: 查询直推业绩
**/
@ -156,7 +135,6 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
**/
List<ParentAchieveVO> umbrellaAchieveTop(ParentAchieveVO pav);
/**
* 查询安置数据
*
@ -173,7 +151,6 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
*/
List<PlacementDataBaseVO> selectAchieveByPkMember(PlacementDataParam param);
/**
* 查询推荐数据
*
@ -190,7 +167,6 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
*/
List<RecommendDataBaseVO> selectRecommendDataListByPkMember(PlacementDataParam param);
/**
* 查询体系总和
*
@ -207,7 +183,6 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
*/
RecommendDataDetailVO selectRecommendMarketValue(PlacementDataParam param);
/**
* 查询安置图表
*

View File

@ -32,17 +32,17 @@ public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {
CuMemberAchieve queryCuMemberAchieveByPkMember(Long pkMember, Integer pkCountry);
/*
* description: 业绩分布-安置图
* 业绩分布-安置图
**/
CuMemberDisVO queryCuMemberAchieveDis(MemberAchieveDisParam memberAchieveDisParam);
/*
* @description: 点击架构树显示会员的业绩情况
* 点击架构树显示会员的业绩情况
**/
CuMemberDisVO queryCuMemberDis(MemberAchieveDisParam memberAchieveDisParam);
/*
* description: 查询会员伞下血缘业绩
* 查询会员伞下血缘业绩
**/
BigDecimal queryCuMemberUnderBloodAchieveByPkMember(MemberAchieveDisParam memberAchieveDisParam);
@ -91,7 +91,7 @@ public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {
LocalDate getStartDateByType(Integer dayType, LocalDate localDate);
/**
* @description: 业绩分布-新增业绩统计
* 业绩分布-新增业绩统计
**/
PlaceNewAddAchieveVO placeNewAddAchieveStat(PlaceNewAddAchieveVO pna);
@ -105,38 +105,38 @@ public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {
Date getDateFromYearAndMonth(String year, String month);
/**
* @description: 月度业绩-左右区人数详情(最新)
* 月度业绩-左右区人数详情(最新)
**/
List<PlaceNewAddAchieveVO> placeNewAddAchieveDetails(PlaceNewAddAchieveVO pna);
/**
* @description: 月度业绩-左右区人数详情(历史)
* 月度业绩-左右区人数详情(历史)
**/
List<PlaceNewAddAchieveVO> placeNewAddAchieveHistoryDetails(PlaceNewAddAchieveVO pna);
/**
* @description:月度业绩-左右区业绩详情
* 月度业绩-左右区业绩详情
**/
List<PlaceNewAddAchieveVO> leftRightAchieveDetails(PlaceNewAddAchieveVO pna);
/**
* @description:月度业绩-左右区血缘业绩详情
* 月度业绩-左右区血缘业绩详情
**/
List<PlaceNewAddAchieveVO> leftRightDirectAchieveDetails(PlaceNewAddAchieveVO pna);
/**
* @description:月度业绩-查询血缘业绩详情
* 月度业绩-查询血缘业绩详情
**/
List<PlaceNewAddAchieveVO> directAchieveDetails(PlaceNewAddAchieveVO pna);
/**
* @description: 业绩分布-直推业绩右图
* 业绩分布-直推业绩右图
**/
ParentAchieveVO parentAchieveRight(ParentAchieveVO pa);
/**
* @description: 业绩分布-直推业绩左图
* 业绩分布-直推业绩左图
**/
List<ParentAchieveVO> parentAchieveLeft(ParentAchieveVO pa);
@ -185,7 +185,6 @@ public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {
*/
PlacementImageDataVO selectPlaceImage(PlacementDataParam param);
/**
* 查询推荐体第图表
*
@ -194,7 +193,6 @@ public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {
*/
List<RecommendImageDataVO> selectRecommendVertexImage(PlacementDataParam param);
/**
* 查询推荐团队图表
*
@ -218,14 +216,4 @@ public interface ICuMemberAchieveService extends IService<CuMemberAchieve> {
**/
List<CuMemberAchieveExt> queryParentMemberMonthAchieve(MonthAchieveParam monthAchieveParam);
/**
* 根据实时小区业绩获取奖衔
*
* @param pkMember 会员ID
* @param pkCountry 国家ID
* @param yesterdayFlag 查询昨日业绩标记true=查询false=不查询
* @return Integer
*/
CuMemberAwardsUnderVO getPkAwardBySmallAchieve(Long pkMember, Integer pkCountry, boolean yesterdayFlag);
}

View File

@ -312,12 +312,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return cuMemberNewAddAchieveVOList;
}
/**
* 根据天数类型获取开始日期
*
* @param dayType 天数类型
* @return LocalDate
*/
@Override
public LocalDate getStartDateByType(Integer dayType, LocalDate localDate) {
LocalDate startDate;
@ -426,105 +420,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return resultVO;
}
/**
* 根据月底最后一天判断大小区
*
* @param pkMember 会员ID
* @param pkCountry 国家ID
* @return CuMemberAwardsUnderVO
*/
public CuMemberAwardsUnderVO getBigSmallArea(Long pkMember, Integer pkCountry) {
//获取期数
String upLastMonth = DateUtils.beforeMonthLastDateStr(new Date());
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(upLastMonth).getPkId();
//查询会员结余判断大小区
String settleTable = TableNameConstants.CU_MEMBER_SETTLE + period;
CuMemberAwardsUnderVO memberAwards = CuMemberAwardsUnderVO.builder().settleTable(settleTable).pkMember(pkMember).pkCountry(pkCountry).period(period).build();
return baseMapper.selectBalanceByPkMember(memberAwards);
}
/**
* 根据实时小区业绩获取奖衔
*
* @param pkMember 会员ID
* @param pkCountry 国家ID
* @return Integer
*/
@Override
public CuMemberAwardsUnderVO getPkAwardBySmallAchieve(Long pkMember, Integer pkCountry, boolean yesterdayFlag) {
CuMemberAwardsUnderVO cuMemberAwardsUnderVO = null;
//根据上月月底判断大小区
CuMemberAwardsUnderVO bigSmallArea = getBigSmallArea(pkMember, pkCountry);
if (yesterdayFlag) {
//查询历史小区业绩昨日业绩
String localDate = LocalDate.now().minus(1, ChronoUnit.DAYS).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
int period = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(localDate).getPkId();
//查询会员昨日业绩
String settleTable = TableNameConstants.CU_MEMBER_SETTLE + period;
CuMemberAwardsUnderVO memberAwards = CuMemberAwardsUnderVO.builder().settleTable(settleTable).pkMember(pkMember).pkCountry(pkCountry).period(period).build();
cuMemberAwardsUnderVO = baseMapper.selectBalanceByPkMember(memberAwards);
}
if (null == cuMemberAwardsUnderVO) {
cuMemberAwardsUnderVO = CuMemberAwardsUnderVO.builder().aSumPv(BigDecimal.ZERO).bSumPv(BigDecimal.ZERO)
.aNewPv(BigDecimal.ZERO).bNewPv(BigDecimal.ZERO).build();
}
//查询本月新增业绩
String month = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMM"));
CuMemberAwardsUnderVO cuMemberMonthTable = CuMemberAwardsUnderVO.builder()
.cuMemberMonthTable(TableNameConstants.CU_MEMBER_MONTH + month).pkMember(pkMember).build();
CuMemberAwardsUnderVO memberSmallAchieve = baseMapper.selectMemberSmallAchieve(cuMemberMonthTable);
if (null != memberSmallAchieve) {
BigDecimal aSumPv = memberSmallAchieve.getASumPv();
BigDecimal bSumPv = memberSmallAchieve.getBSumPv();
if (null != bigSmallArea) {
Integer placeDept = bigSmallArea.getPlaceDept();
//根据小区获取业绩
if (placeDept.equals(EPlaceDept.LEFT_DEPT.getValue())) {
cuMemberAwardsUnderVO.setSumRealPv(aSumPv);
} else if (placeDept.equals(EPlaceDept.RIGHT_DEPT.getValue())) {
cuMemberAwardsUnderVO.setSumRealPv(bSumPv);
} else {
//如果左右区的业绩为0则左区为小区
cuMemberAwardsUnderVO.setSumRealPv(aSumPv.add(bSumPv));
}
} else {
//如果左右区的业绩为0或者为空则取本月的小区业绩
cuMemberAwardsUnderVO.setSumRealPv(aSumPv.add(bSumPv));
}
} else {
cuMemberAwardsUnderVO.setSumRealPv(BigDecimal.ZERO);
}
//根据国家获取奖衔配置信息
List<BdAwards> awardsList = iAwardsServiceApi.queryAwards(pkCountry).getData();
cuMemberAwardsUnderVO.setAwardsList(awardsList);
//获取当前会员的奖衔
cuMemberAwardsUnderVO.setPkAwards(getMemberAwards(awardsList, cuMemberAwardsUnderVO.getSumRealPv()));
return cuMemberAwardsUnderVO;
}
/**
* 获取会员奖衔
*
* @param awardsList 奖衔列表
* @param sumRealPv 小区业绩
* @return Integer
*/
private Integer getMemberAwards(List<BdAwards> awardsList, BigDecimal sumRealPv) {
for (BdAwards awards : awardsList) {
BigDecimal communityCheck = awards.getCommunityCheck();
BigDecimal communityCheckEnd = awards.getCommunityCheckEnd();
if (sumRealPv.compareTo(communityCheck) >= 0 && null != communityCheckEnd && communityCheckEnd.compareTo(sumRealPv) > 0) {
return awards.getPkId();
}
}
return null;
}
@Override
public CuMemberAwardsDisVO selectAwardsByPkMember(Long pkMember, Integer pkCountry) {
BigDecimal rate = null;
@ -817,10 +712,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return baseMapper.umbrellaAchieveTop(pav);
}
/**
* 业绩分布-新增业绩统计
**/
@Override
public PlaceNewAddAchieveVO placeNewAddAchieveStat(PlaceNewAddAchieveVO pna) {
PlaceNewAddAchieveVO rtupna = new PlaceNewAddAchieveVO();
@ -1050,9 +941,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return rtupna;
}
/**
* 根据年月获取日期
**/
@Override
public Date getDateFromYearAndMonth(String year, String month) {
Calendar calendar = null;
@ -1075,47 +963,31 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return calendar.getTime();
}
/**
* 月度业绩-左右区人数详情(最新)
**/
@Override
public List<PlaceNewAddAchieveVO> placeNewAddAchieveDetails(PlaceNewAddAchieveVO pna) {
return baseMapper.placeNewAddAchieveDetails(pna);
}
/**
* 月度业绩-左右区人数详情(历史)
**/
@Override
public List<PlaceNewAddAchieveVO> placeNewAddAchieveHistoryDetails(PlaceNewAddAchieveVO pna) {
return baseMapper.placeNewAddAchieveHistoryDetails(pna);
}
/**
* 月度业绩-左右区业绩详情
**/
@Override
public List<PlaceNewAddAchieveVO> leftRightAchieveDetails(PlaceNewAddAchieveVO pna) {
return baseMapper.leftRightAchieveDetails(pna);
}
/**
* 月度业绩-左右区血缘业绩详情
**/
@Override
public List<PlaceNewAddAchieveVO> leftRightDirectAchieveDetails(PlaceNewAddAchieveVO pna) {
return baseMapper.leftRightDirectAchieveDetails(pna);
}
/**
* 月度业绩-查询血缘业绩详情
**/
@Override
public List<PlaceNewAddAchieveVO> directAchieveDetails(PlaceNewAddAchieveVO pna) {
return baseMapper.directAchieveDetails(pna);
}
/**
* 业绩分布-直推业绩右图
**/
@ -1199,7 +1071,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return parentList;
}
/**
* 获取前十人员
**/
@ -1288,7 +1159,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return param;
}
/**
* 转化VO
*
@ -1378,7 +1248,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
}
placementDataVO.setDetailVOList(detailVOList);
return placementDataVO;
}
/**
@ -1413,9 +1282,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return new ArrayList<>();
}
/**
* 查询会员真实业绩
*/
@Override
public RealPerformanceVo queryRealPerformance(Long pkMember, Integer pkCountry, Integer month) {
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(pkCountry);
@ -1428,7 +1294,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
String achieveTable = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(date);
Integer count = baseMapper.selectExistTable(achieveTable);
if (count == 1) {
realPerformanceVo = iCuMemberMonthAchieveService.queryCuMemberMonthAchieveInfo(pkMember, achieveTable);
if (realPerformanceVo != null) {
realPerformanceVo.setFirstLeftPurchaseTotal(realPerformanceVo.getFirstLeftPurchaseTotal().multiply(currency.getInExchangeRate()).divide(MagicNumberConstants.big10000));
@ -1451,14 +1316,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
return realPerformanceVo;
}
/**
* 会员真实业绩饼状图
*
* @param pkMember
* @param pkCountry
* @param month
* @return
*/
@Override
public AzAchievementPie queryRealPerformancePic(Long pkMember, Integer pkCountry, Integer month) {
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(pkCountry);

View File

@ -167,9 +167,14 @@ public interface ICuMemberBusinessService {
*/
Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
/*
/**
* 查询会员的安置位置
**/
*
* @param cuMember
* @param isFirst 是否首单
* @param isFirstAchieve 是否校验首购业绩
* @return
*/
CuMember queryCuMemberPlaceDept(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve);
/**

View File

@ -37,7 +37,7 @@ public interface ICuMemberService extends IService<CuMember> {
Boolean saveMember(CuMember cuMember);
/*
* @description: 查询网体是否存在推荐人
* 查询网体是否存在推荐人
**/
Integer queryCuMemberByPkMember(Long pkReference);
@ -65,7 +65,7 @@ public interface ICuMemberService extends IService<CuMember> {
List<CuMemberExt> getMemberInfoByCondition(CuMember cuMember);
/*
* @description: 根据条件查询会员信息查询单表
* 根据条件查询会员信息查询单表
**/
List<CuMemberExt> queryMemberByCondition(CuMember cuMember);
@ -86,12 +86,12 @@ public interface ICuMemberService extends IService<CuMember> {
CuMember getMember(Long pkId);
/*
* @description: 查询会员
* 查询会员
**/
CuMember queryMember(String memberCode);
/*
* @description: 查询会员
* 查询会员
**/
CuMember queryMember(Long pkMember);
@ -194,14 +194,14 @@ public interface ICuMemberService extends IService<CuMember> {
List<CuMemberVO> queryCuMemberByCondition(CuMemberVO memberParam);
/*
* @description: 查询会员信息根据条件
* 查询会员信息根据条件
**/
List<CuMemberVO> queryCuMemberByMemberList(List<CuMemberVO> cuMemberVOList, CuMemberVO memberParam);
List<CuMemberVO> queryCuMemberByMemberListExcel(CuMemberVO memberParam);
/**
* @description: 查询真实信息
* 查询真实信息
**/
List<CuMemberVO> realCuMemberByCondition(CuMemberVO memberParam);
@ -262,22 +262,22 @@ public interface ICuMemberService extends IService<CuMember> {
CuMember createEmptyOrderMember(CuMemberExt member);
/**
* @description: 特殊业务-修改会员编号列表
* 特殊业务-修改会员编号列表
**/
List<UpdateCodeVO> puCodeList(UpdateCodeVO updateCodeVO);
/**
* @description: 查询会员有效期休止期
* 查询会员有效期休止期
**/
List<UpdateExpireStopVO> getMemberExpireStopList(UpdateExpireStopVO updateExpireStopVO);
/**
* @description: 零元撤单签呈列表
* 零元撤单签呈列表
**/
List<ZeroElementRevokeDTO> zeroByBusinessList(AnalysisBusinessAppealParam analysisBusinessAppealParam);
/**
* @description: 查询会员变更前信息
* 查询会员变更前信息
**/
UpdateCodeVO specialBusinessQuery(UpdateCodeVO updateCodeVO);
@ -296,47 +296,47 @@ public interface ICuMemberService extends IService<CuMember> {
String updateParent(ParentParam parentParam);
/**
* @description: 批量修改会员编号
* 批量修改会员编号
**/
UpdateCodeVO updateCode(UpdateCodeVO updateCodeVO);
/**
* @description: 修改会员续约发起签呈
* 修改会员续约发起签呈
**/
UpdateExpireStopVO upExpireStop(UpdateExpireStopVO upESVO);
/**
* @description: 修改会员续约-审核通过驳回
* 修改会员续约-审核通过驳回
**/
boolean upExpireStopProcess(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description: 发起签呈-修改会员编号
* 发起签呈-修改会员编号
**/
UpdateCodeVO petition(UpdateCodeVO updateCodeVO);
/**
* @description: 审核通过根据业务单号业务类型批量修改业务数据
* 审核通过根据业务单号业务类型批量修改业务数据
**/
boolean updateCodeByBusinessNo(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description: 政策币签呈审核
* 政策币签呈审核
**/
boolean upPolicyCurrencyProcess(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description:删除政策币业务审核
* 删除政策币业务审核
**/
boolean delPolicyCurrencyProcess(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description: 审核驳回 根据业务单号业务类型批量修改业务数据
* 审核驳回 根据业务单号业务类型批量修改业务数据
**/
boolean updateCodeReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description: 真实奖衔控制-通过或驳回
* 真实奖衔控制-通过或驳回
**/
boolean awardsControlPetition(ApprovalBusinessResultDTO approvalBusinessResultDTO);
@ -367,47 +367,47 @@ public interface ICuMemberService extends IService<CuMember> {
Integer batchUpdateMemberByBusinessType(HandleBusinessVO handleBusinessVO);
/**
* @description: 招商列表
* 招商列表
**/
List<UserInvestmentVo> selectBiddingList(MarketNewsParam marketNewsParam);
/**
* @description:
*
**/
List<UpdateSettleCountryVO> upsettleCountryList(UpdateSettleCountryVO upseCountryVO);
/**
* @description:查询修改政策币列表
* 查询修改政策币列表
**/
List<UpPolicyCurrencyVO> upPolicyCurrencyList(UpPolicyCurrencyVO upVO);
/**
* @description: 特殊业务-修改结算国
* 特殊业务-修改结算国
**/
UpdateSettleCountryVO updateSettleCountry(UpdateSettleCountryVO upseCountryVO);
/**
* @description: 特殊业务-修改政策币
* 特殊业务-修改政策币
**/
UpPolicyCurrencyVO upPolicyCurrency(UpPolicyCurrencyVO policyCurrencyVO);
/**
* @description: 特殊业务-删除政策币业务
* 特殊业务-删除政策币业务
**/
UpPolicyCurrencyVO delPolicyCurrency(UpPolicyCurrencyVO policyCurrencyVO);
/**
* @description: 发起签呈-修改结算国
* 发起签呈-修改结算国
**/
UpdateSettleCountryVO petition(UpdateSettleCountryVO upseCountryVO);
/**
* @description: 发起签呈-修改政策币发起签呈
* 发起签呈-修改政策币发起签呈
**/
UpPolicyCurrencyVO petition(UpPolicyCurrencyVO policyCurrencyVO);
/**
* @description: 零元撤单审核-审核通过驳回
* 零元撤单审核-审核通过驳回
**/
boolean zeroByBusinessNo(ApprovalBusinessResultDTO approvalBusinessResultDTO);
@ -423,37 +423,37 @@ public interface ICuMemberService extends IService<CuMember> {
List<Tree<String>> systemTjSetListTree(List<CuMemberSettleExt> memberSettleExtList, CuMemberSettleExt memberSettleExt, String settleTableName, Boolean isMemberSecord);
/**
* @description: 特殊业务-修改结算国-审核通过
* 特殊业务-修改结算国-审核通过
**/
boolean updateSettleCountryAdopt(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description: 特殊业务-修改结算国-审核驳回
* 特殊业务-修改结算国-审核驳回
**/
boolean updateSettleCountryReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* @description: 校验会员是否有充值审核
* 校验会员是否有充值审核
**/
Integer checkCecharge(Long pkMember);
/**
* @description: 校验会员是否有提现审核
* 校验会员是否有提现审核
**/
Integer checkWithdraw(Long pkMember);
/**
* @description: 校验会员所有账户是否有余额
* 校验会员所有账户是否有余额
**/
Integer checkAccount(Long pkMember);
/**
* @description: 查询会员是否存在未完成基础业务办理
* 查询会员是否存在未完成基础业务办理
**/
Integer checkmsLogCount(Long pkMember, Integer editType);
/**
* @description: 查询会员是否存在未完成注水业绩业务
* 查询会员是否存在未完成注水业绩业务
**/
Integer checkMemberAchieveCount(Long pkMember);
@ -484,12 +484,12 @@ public interface ICuMemberService extends IService<CuMember> {
List<Tree<String>> systemAzSetListTreeFive(List<CuMemberSettleExt> list, CuMemberSettleExt memberSettleExt);
/**
* @description: 获取等级的翻译KEY值
* 获取等级的翻译KEY值
**/
Integer getGradeTranslateValue(Integer pkId);
/**
* @description: 获取奖衔的翻译KEY值
* 获取奖衔的翻译KEY值
**/
Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId);
@ -715,7 +715,7 @@ public interface ICuMemberService extends IService<CuMember> {
void updateParentByBusinessNoReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/*
* @description: 查询会员左右区人数
* 查询会员左右区人数
**/
List<CuMember> queryMemberLeftRightCount(Long pkMember);
@ -768,7 +768,7 @@ public interface ICuMemberService extends IService<CuMember> {
List<CuMemberExt> selectPlaceErrorCode();
/*
* @description: 查询伞下会员
* 查询伞下会员
**/
Boolean queryCuMemberUnderUmbrella(Long pkMember);
@ -853,7 +853,7 @@ public interface ICuMemberService extends IService<CuMember> {
List<MemberConsumptionStatVo> getMemberConsumptionStat(MemberConsumptionStatParam memberConsumptionStatParam);
/**
* @description: 查询表是否存在
* 查询表是否存在
**/
Integer selectExistTable(String tableName);

View File

@ -1261,8 +1261,8 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
/**
* 获得左右区
*
* @param isFirst 是否
* @param isFirstAchieve 否判断首购业绩
* @param isFirst 是否
* @param isFirstAchieve 否判断首购业绩
* @param cuMemberAchieve 业绩
*/
private Integer getPlaceDept(Boolean isFirst, Boolean isFirstAchieve, CuMemberAchieve cuMemberAchieve, Long pkParent) {
@ -1270,14 +1270,14 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
if (!isFirst) {
if (cuMemberAchieve != null) {
if (isFirstAchieve) {
// 分享专区快速注册判断首购业绩比较左右区 放入小区
// 快速注册判断首购业绩比较左右区放入小区
if (ComputeUtil.compareGreaterThan(cuMemberAchieve.getASumPv(), cuMemberAchieve.getBSumPv())) {
placeDept = EPlaceDept.RIGHT_DEPT.getValue();
}
} else {
// 嗨粉判断复购业绩 放入小区
if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberAchieve.getRepASumPv(), cuMemberAchieve.getRepBSumPv()))) {
if (ComputeUtil.compareValue(cuMemberAchieve.getRepASumPv(), cuMemberAchieve.getRepBSumPv())) {
// TODO 188判断左右区结余小区
if (ComputeUtil.compareValue(ComputeUtil.computeAdd(cuMemberAchieve.getASumPv(), cuMemberAchieve.getBSumPv()))) {
if (ComputeUtil.compareValue(cuMemberAchieve.getASumPv(), cuMemberAchieve.getBSumPv())) {
placeDept = EPlaceDept.RIGHT_DEPT.getValue();
}
} else {

View File

@ -1,7 +1,6 @@
package com.hzs.member.structure.controller.api;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.tree.Tree;
@ -15,25 +14,19 @@ 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.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;
import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
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;
import com.hzs.member.achieve.service.ICuMemberTreeService;
import com.hzs.member.base.service.ICuMemberService;
@ -60,7 +53,6 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/api/member-structure")
@ -83,168 +75,46 @@ public class ApiMemberStructureController extends BaseController {
@DubboReference
ISystemConfigServiceApi systemConfigServiceApi;
/**
* 安置架构网体
*/
// @GetMapping("/az-framework")
public AjaxResult azFramework(Long memberSettlePeriodId, String memberCode, Integer level, Integer type) {
if (level == null) {
level = 7;
}
// 体系
UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
List<Integer> vertexIdList = userAuthorityDTO.getVertexIdList();
Date date = DateUtils.currentDate();
if (DateUtils.getCurrentHour() < 2) {
date = DateUtils.beforeDate(2, ChronoUnit.DAYS, date);
}
String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
Long pkMember;
if (StringUtils.isNotBlank(memberCode)) {
CuMember member = iCuMemberService.getMember(memberCode);
if (member == null) {
return AjaxResult.error(TransactionUtils.getContent(MemberMsgConstants.MEMBER_NOT_EXITS));
}
// 查询编号是否在登录用户伞下
List<CuMemberExt> memberList = iCuMemberService.queryPlaceSponsorUnderUmbrella(SecurityUtils.getUserId(), memberCode);
if (CollectionUtil.isNotEmpty(memberList)) {
pkMember = member.getPkId();
} else {
// 如果查询编号不存在伞下 则直接查询订单为当前登录人的
pkMember = SecurityUtils.getUserId();
}
} else {
CuMember member = iCuMemberService.getMember(SecurityUtils.getMemberCode());
pkMember = member.getPkId();
}
Integer period = null;
Date settleDate = null;
if (memberSettlePeriodId != null) {
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getById(memberSettlePeriodId);
period = csPeriod.getPkId();
settleDate = csPeriod.getSettleDate();
} else {
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()))) {
// 会员结算秒结表
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);
CuMemberSettlePeriod 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<CuMemberSettleExt> cuMemberSettleExtList = cuMemberSettleExts.stream().peek(a -> a.setMemberName(CommonUtil.getMemberName(a.getPkVertex(), a.getMemberName(), a.getNickName()))).collect(Collectors.toList());
List<Tree<String>> build = iCuMemberService.systemAzSetListTree(cuMemberSettleExtList, memberSettleExt);
// 安置架构 无点位 追加空点位
R<Map<Integer, BdCountry>> allCountryMap = iCountryServiceApi.getAllCountryMap();
Map<Integer, BdCountry> allCountryData = allCountryMap.getData();
List<Tree<String>> trees = setTreeList(build, level, allCountryData);
return AjaxResult.success(trees);
}
} 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<CuMemberSettleExt> cuMemberSettleExtList = list.stream().peek(a -> a.setMemberName(CommonUtil.getMemberName(a.getPkVertex(), a.getMemberName(), a.getNickName()))).collect(Collectors.toList());
List<Tree<String>> build = iCuMemberService.systemAzSetListTree(cuMemberSettleExtList, memberSettleExt);
// 安置架构 无点位 追加空点位
R<Map<Integer, BdCountry>> allCountryMap = iCountryServiceApi.getAllCountryMap();
Map<Integer, BdCountry> allCountryData = allCountryMap.getData();
List<Tree<String>> trees = setTreeList(build, level, allCountryData);
return AjaxResult.success(trees);
}
}
return AjaxResult.success();
}
/**
* @param build
* @return
*/
public List<Tree<String>> setTreeList(List<Tree<String>> build, Integer numberOfPlies, Map<Integer, BdCountry> allCountryData) {
Integer pkCountry = SecurityUtils.getPkCountry();
String nationalFlag1 = allCountryData.get(pkCountry).getNationalFlag1();
String nationalFlag2 = allCountryData.get(pkCountry).getNationalFlag2();
// Integer pkCountry = SecurityUtils.getPkCountry();
// String nationalFlag1 = allCountryData.get(pkCountry).getNationalFlag1();
// String nationalFlag2 = allCountryData.get(pkCountry).getNationalFlag2();
for (Tree<String> stringTree : build) {
Integer level = (Integer) stringTree.get("level");
if (level < (numberOfPlies - 1)) {
if (stringTree.getChildren() != null) {
if (stringTree.getChildren().size() == 0) {
Tree<String> emptyNode1 = TreeUtil.createEmptyNode(RandomUtil.randomNumbers(5));
emptyNode1.putExtra("placeDept", EPlaceDept.LEFT_DEPT.getValue());
// emptyNode1.putExtra("placeDept", EPlaceDept.LEFT_DEPT.getValue());
emptyNode1.putExtra("level", level + 1);
emptyNode1.putExtra("memberCode", "");
emptyNode1.setName("-");
// emptyNode1.putExtra("memberCode", "");
// emptyNode1.setName("-");
emptyNode1.setParentId(stringTree.getId());
emptyNode1.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
emptyNode1.setId(RandomUtil.randomNumbers(3));
emptyNode1.putExtra("settleCountryUrl", nationalFlag1);
emptyNode1.putExtra("settleCountryUrl2", nationalFlag2);
emptyNode1.putExtra("countryUrl", nationalFlag1);
emptyNode1.putExtra("countryUrl2", nationalFlag2);
// emptyNode1.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
// emptyNode1.putExtra("settleCountryUrl", nationalFlag1);
// emptyNode1.putExtra("settleCountryUrl2", nationalFlag2);
// emptyNode1.putExtra("countryUrl", nationalFlag1);
// emptyNode1.putExtra("countryUrl2", nationalFlag2);
stringTree.getChildren().add(emptyNode1);
setTreeList(stringTree.getChildren(), numberOfPlies, allCountryData);
Tree<String> emptyNode2 = TreeUtil.createEmptyNode(RandomUtil.randomNumbers(5));
emptyNode2.putExtra("placeDept", EPlaceDept.RIGHT_DEPT.getValue());
// emptyNode2.putExtra("placeDept", EPlaceDept.RIGHT_DEPT.getValue());
emptyNode2.putExtra("level", level + 1);
emptyNode2.putExtra("memberCode", "");
emptyNode2.setName("-");
// emptyNode2.putExtra("memberCode", "");
// emptyNode2.setName("-");
emptyNode2.setParentId(stringTree.getId());
emptyNode2.setId(RandomUtil.randomNumbers(3));
emptyNode2.putExtra("settleCountryUrl", nationalFlag1);
emptyNode2.putExtra("settleCountryUrl2", nationalFlag2);
emptyNode2.putExtra("countryUrl", nationalFlag1);
emptyNode2.putExtra("countryUrl2", nationalFlag2);
emptyNode2.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
// emptyNode2.putExtra("settleCountryUrl", nationalFlag1);
// emptyNode2.putExtra("settleCountryUrl2", nationalFlag2);
// emptyNode2.putExtra("countryUrl", nationalFlag1);
// emptyNode2.putExtra("countryUrl2", nationalFlag2);
// emptyNode2.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
stringTree.getChildren().add(emptyNode2);
setTreeList(stringTree.getChildren(), numberOfPlies, allCountryData);
} else if (stringTree.getChildren().size() == 1) {
@ -252,31 +122,31 @@ public class ApiMemberStructureController extends BaseController {
Integer pd = (Integer) cli.get(0).get("placeDept");
Tree<String> emptyNode = TreeUtil.createEmptyNode(RandomUtil.randomNumbers(5));
if (pd.equals(EPlaceDept.LEFT_DEPT.getValue())) {
emptyNode.putExtra("placeDept", EPlaceDept.RIGHT_DEPT.getValue());
// emptyNode.putExtra("placeDept", EPlaceDept.RIGHT_DEPT.getValue());
emptyNode.putExtra("level", level + 1);
emptyNode.putExtra("memberCode", "");
emptyNode.setName("-");
emptyNode.putExtra("settleCountryUrl", nationalFlag1);
emptyNode.putExtra("settleCountryUrl2", nationalFlag2);
emptyNode.putExtra("countryUrl", nationalFlag1);
emptyNode.putExtra("countryUrl2", nationalFlag2);
// emptyNode.putExtra("memberCode", "");
// emptyNode.setName("-");
// emptyNode.putExtra("settleCountryUrl", nationalFlag1);
// emptyNode.putExtra("settleCountryUrl2", nationalFlag2);
// emptyNode.putExtra("countryUrl", nationalFlag1);
// emptyNode.putExtra("countryUrl2", nationalFlag2);
// emptyNode.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
emptyNode.setParentId(stringTree.getId());
emptyNode.setId(RandomUtil.randomNumbers(3));
emptyNode.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
stringTree.getChildren().add(emptyNode);
setTreeList(stringTree.getChildren(), numberOfPlies, allCountryData);
} else {
emptyNode.putExtra("placeDept", EPlaceDept.LEFT_DEPT.getValue());
// emptyNode.putExtra("placeDept", EPlaceDept.LEFT_DEPT.getValue());
emptyNode.putExtra("level", level + 1);
emptyNode.putExtra("memberCode", "");
emptyNode.setName("-");
// emptyNode.putExtra("memberCode", "");
// emptyNode.setName("-");
emptyNode.setParentId(stringTree.getId());
emptyNode.setId(RandomUtil.randomNumbers(3));
emptyNode.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
emptyNode.putExtra("settleCountryUrl", nationalFlag1);
emptyNode.putExtra("settleCountryUrl2", nationalFlag2);
emptyNode.putExtra("countryUrl", nationalFlag1);
emptyNode.putExtra("countryUrl2", nationalFlag2);
// emptyNode.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
// emptyNode.putExtra("settleCountryUrl", nationalFlag1);
// emptyNode.putExtra("settleCountryUrl2", nationalFlag2);
// emptyNode.putExtra("countryUrl", nationalFlag1);
// emptyNode.putExtra("countryUrl2", nationalFlag2);
stringTree.getChildren().add(emptyNode);
List<Tree<String>> strTree = stringTree.getChildren();
List<Tree<String>> sortChildren = new ArrayList<>();
@ -303,29 +173,29 @@ public class ApiMemberStructureController extends BaseController {
// 等于空
List<Tree<String>> children = new ArrayList<>();
Tree<String> emptyNode1 = TreeUtil.createEmptyNode(RandomUtil.randomNumbers(5));
emptyNode1.putExtra("placeDept", EPlaceDept.LEFT_DEPT.getValue());
// emptyNode1.putExtra("placeDept", EPlaceDept.LEFT_DEPT.getValue());
emptyNode1.putExtra("level", level + 1);
emptyNode1.putExtra("memberCode", "");
emptyNode1.setName("-");
emptyNode1.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
emptyNode1.putExtra("settleCountryUrl", nationalFlag1);
emptyNode1.putExtra("settleCountryUrl2", nationalFlag2);
emptyNode1.putExtra("countryUrl", nationalFlag1);
emptyNode1.putExtra("countryUrl2", nationalFlag2);
// emptyNode1.putExtra("memberCode", "");
// emptyNode1.setName("-");
// emptyNode1.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
// emptyNode1.putExtra("settleCountryUrl", nationalFlag1);
// emptyNode1.putExtra("settleCountryUrl2", nationalFlag2);
// emptyNode1.putExtra("countryUrl", nationalFlag1);
// emptyNode1.putExtra("countryUrl2", nationalFlag2);
emptyNode1.setParentId(stringTree.getId());
emptyNode1.setId(RandomUtil.randomNumbers(3));
children.add(emptyNode1);
Tree<String> emptyNode2 = TreeUtil.createEmptyNode(RandomUtil.randomNumbers(5));
emptyNode2.putExtra("placeDept", EPlaceDept.RIGHT_DEPT.getValue());
// emptyNode2.putExtra("placeDept", EPlaceDept.RIGHT_DEPT.getValue());
emptyNode2.putExtra("level", level + 1);
emptyNode2.putExtra("memberCode", "");
emptyNode2.setName("-");
emptyNode2.putExtra("settleCountryUrl", nationalFlag1);
emptyNode2.putExtra("settleCountryUrl2", nationalFlag2);
emptyNode2.putExtra("countryUrl", nationalFlag1);
emptyNode2.putExtra("countryUrl2", nationalFlag2);
emptyNode2.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
// emptyNode2.putExtra("memberCode", "");
// emptyNode2.setName("-");
// emptyNode2.putExtra("settleCountryUrl", nationalFlag1);
// emptyNode2.putExtra("settleCountryUrl2", nationalFlag2);
// emptyNode2.putExtra("countryUrl", nationalFlag1);
// emptyNode2.putExtra("countryUrl2", nationalFlag2);
// emptyNode2.putExtra("avatarUrl", MemberFrameworkConstants.xuni);
emptyNode2.setParentId(stringTree.getId());
emptyNode2.setId(RandomUtil.randomNumbers(3));
children.add(emptyNode2);
@ -338,161 +208,6 @@ public class ApiMemberStructureController extends BaseController {
return build;
}
private Integer defaultLevel = 5;
/**
* 推荐架构网体
*/
// @GetMapping("/tj-framework")
public AjaxResult tjFramework(Long memberSettlePeriodId, String memberCode, Integer level) {
Date date = DateUtils.currentDate();
if (DateUtils.getCurrentHour() < 2) {
date = DateUtils.beforeDate(2, ChronoUnit.DAYS, date);
}
String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date);
// 体系
UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData();
List<Integer> vertexIdList = userAuthorityDTO.getVertexIdList();
Long pkMember;
if (StringUtils.isNotBlank(memberCode)) {
CuMember member = iCuMemberService.getMember(memberCode);
if (member == null) {
return AjaxResult.error("会员编号不存在");
}
// 查询编号是否在登录用户伞下
if (!memberCode.equals(SecurityUtils.getMemberCode())) {
Long placeCount = iCuMemberService.checkPlaceSponsorUnderUmbrella(SecurityUtils.getUserId(), memberCode);
if (placeCount == 0) {
// 如果查询编号不存在伞下 则直接查询订单为当前登录人的
pkMember = SecurityUtils.getUserId();
} else {
pkMember = member.getPkId();
}
} else {
pkMember = SecurityUtils.getUserId();
}
} else {
CuMember member = iCuMemberService.getMember(SecurityUtils.getMemberCode());
pkMember = member.getPkId();
}
Integer period = null;
Date settleDate = null;
if (memberSettlePeriodId != null) {
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getById(memberSettlePeriodId);
period = csPeriod.getPkId();
settleDate = csPeriod.getSettleDate();
} else {
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()))) {
// 查询所有用户表数据 id
// 会员结算秒结表
String settleTableName = TableNameConstants.CU_MEMBER_SECOND + period;
Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName);
if (tableNumber != null && tableNumber == 1) {
//表格存在
if (level == null) {
level = defaultLevel;
}
List<CuMemberSettleExt> cuMemberSettleExts;
// 查询今日会员表是否有值
Long treeMemberCount = iCuMemberTreeService.selectByselectByTreeMemberCount(settleTableName, pkMember);
if (treeMemberCount > 0) {
//表格存在
cuMemberSettleExts = iCuMemberTreeService.queryCuMemberTreeParentTable(settleTableName, pkMember, level, vertexIdList);
} else {
DateTime dateTime = DateUtil.offsetDay(DateUtils.currentDate(), -1);
time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, dateTime);
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
if (csPeriod != null) {
period = csPeriod.getPkId();
}
settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period;
cuMemberSettleExts = iCuMemberTreeService.queryCuMemberTreeParentTable(settleTableName, pkMember, level, vertexIdList);
}
// 查询顶点
CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPlacePkMemberTable(settleTableName, pkMember);
if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) {
memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode());
}
memberSettleExt.setLevel(0);
// 添加自身
cuMemberSettleExts.add(memberSettleExt);
List<CuMemberSettleExt> cuMemberSettleExtList = cuMemberSettleExts.stream().peek(a -> a.setMemberName(CommonUtil.getMemberName(a.getPkVertex(), a.getMemberName(), a.getNickName()))).collect(Collectors.toList());
List<Tree<String>> build = iCuMemberService.systemTjSetListTree(cuMemberSettleExtList, memberSettleExt, settleTableName, true);
// 安置架构 无点位 追加空点位
return AjaxResult.success(build);
} else {
// 查询 历史
// 查询表格是否存在
if (level == null) {
level = defaultLevel;
}
if (tableNumber == null) {
settleTableName = null;
}
// 查询顶点
CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPlacePkMemberTable(settleTableName, pkMember);
if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) {
memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode());
}
memberSettleExt.setLevel(0);
//查询下级
List<CuMemberSettleExt> list = iCuMemberTreeService.queryCuMemberTreeParentTable(settleTableName, pkMember, level, vertexIdList);
// 无法查询到自身 所有单独查询自身并且添加
list.add(memberSettleExt);
List<CuMemberSettleExt> cuMemberSettleExtList = list.stream().peek(a -> a.setMemberName(CommonUtil.getMemberName(a.getPkVertex(), a.getMemberName(), a.getNickName()))).collect(Collectors.toList());
List<Tree<String>> build = iCuMemberService.systemTjSetListTree(cuMemberSettleExtList, memberSettleExt, settleTableName, true);
// 安置架构 无点位 追加空点位
R<Map<Integer, BdCountry>> allCountryMap = iCountryServiceApi.getAllCountryMap();
Map<Integer, BdCountry> allCountryData = allCountryMap.getData();
return AjaxResult.success(setTreeList(build, level, allCountryData));
}
} else {
if (level == null) {
level = defaultLevel;
}
DateTime dateTime = DateUtil.offsetDay(DateUtils.currentDate(), -1);
time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, dateTime);
CuMemberSettlePeriod csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time);
if (csPeriod != null) {
period = csPeriod.getPkId();
}
// 查询 历史
String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period;
Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName);
if (tableNumber == null) {
// 表示表格存在
settleTableName = null;
}
// 查询顶点
CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPlacePkMemberTable(settleTableName, pkMember);
if (StringUtils.isNotBlank(memberSettleExt.getParentMemberCode()) && MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) {
memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode());
}
memberSettleExt.setLevel(0);
//查询下级
List<CuMemberSettleExt> list = iCuMemberTreeService.queryCuMemberTreeParentTable(settleTableName, pkMember, level, vertexIdList);
// 无法查询到自身 所有单独查询自身并且添加
list.add(memberSettleExt);
List<CuMemberSettleExt> cuMemberSettleExtList = list.stream().peek(a -> a.setMemberName(CommonUtil.getMemberName(a.getPkVertex(), a.getMemberName(), a.getNickName()))).collect(Collectors.toList());
List<Tree<String>> build = iCuMemberService.systemTjSetListTree(cuMemberSettleExtList, memberSettleExt, settleTableName, false);
// 安置架构 无点位 追加空点位
return AjaxResult.success(build);
}
}
/**
* 查询最近一月所有期数
*
@ -574,16 +289,14 @@ public class ApiMemberStructureController extends BaseController {
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) {
if (1 == 2) {
// 会员结算秒结表
String settleTableName = TableNameConstants.CU_MEMBER_SECOND + period;
// 查询所有用户表数据 id
@ -664,7 +377,7 @@ public class ApiMemberStructureController extends BaseController {
result = setTreeList(build, level, allCountryData);
}
}
BdBonusExpand bdBonusExpand = systemConfigServiceApi.getBdBonusExpand().getData();
BdBonusExpand bdBonusExpand = systemConfigServiceApi.getBdBonusExpand().getData();
assert result != null;
String leftFirstSurplusStr = result.get(0).get("leftFirstSurplus").toString();
String rightFirstSurplusStr = result.get(0).get("rightFirstSurplus").toString();
@ -675,33 +388,33 @@ public class ApiMemberStructureController extends BaseController {
result.get(0).putExtra("leftFirstSurplusAll", formatBigDecimal(leftFirstSurplus));
result.get(0).putExtra("rightFirstSurplusAll", formatBigDecimal(rightFirstSurplus));
log.info("result : {}", JSONUtil.toJsonStr(result));
if(leftFirstSurplus.compareTo(rightFirstSurplus) >= 0){
if (leftFirstSurplus.compareTo(rightFirstSurplus) >= 0) {
// 左大右小
if(leftFirstSurplus.compareTo(bdBonusExpand.getExpandBig()) > 0){
if (leftFirstSurplus.compareTo(bdBonusExpand.getExpandBig()) > 0) {
result.get(0).putExtra("leftFirstSurplus", bdBonusExpand.getExpandBig().toString());
}
if(rightFirstSurplus.compareTo(bdBonusExpand.getExpandSmall()) > 0){
if (rightFirstSurplus.compareTo(bdBonusExpand.getExpandSmall()) > 0) {
result.get(0).putExtra("rightFirstSurplus", bdBonusExpand.getExpandSmall().toString());
}
}else{
} else {
// 左小右大
if(leftFirstSurplus.compareTo(bdBonusExpand.getExpandSmall()) > 0){
if (leftFirstSurplus.compareTo(bdBonusExpand.getExpandSmall()) > 0) {
result.get(0).putExtra("leftFirstSurplus", bdBonusExpand.getExpandSmall().toString());
}
if(rightFirstSurplus.compareTo(bdBonusExpand.getExpandBig()) > 0){
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);
}
private static final BigDecimal FIVE_MILLION = BigDecimal.valueOf(5_000_000); // 500万的固定值
/**
* 格式化BigDecimal数值为指定规则的字符串
*
* @param input 输入的BigDecimal数值需非null
* @return 格式化后的字符串小于500万返回四舍五入两位小数否则返回"500万+"
*/

View File

@ -123,7 +123,6 @@
order by s.settle_date
</select>
<select id="selectAwardsByPkMember" resultType="com.hzs.member.achieve.vo.CuMemberAwardsUnderVO">
select s.pk_member,
s.a_sum_real_pv aSumRealPv,
@ -137,86 +136,6 @@
and s.pk_member = #{pkMember}
</select>
<select id="selectBalanceByPkMember" resultType="com.hzs.member.achieve.vo.CuMemberAwardsUnderVO">
SELECT ms.pk_member pkMember,
ms.a_balance aBalance,
ms.b_balance bBalance,
ms.a_sum_pv aSumPv,
ms.b_sum_pv bSumPv,
ms.a_new_pv + ms.rep_a_new_pv aNewPv,
ms.b_new_pv + ms.rep_b_new_pv bNewPv,
CASE
WHEN ms.a_balance > ms.b_balance THEN
2
WHEN ms.a_balance &lt; ms.b_balance THEN
1
ELSE
3
END placeDept
FROM ${settleTable} ms
WHERE ms.pay_status = 1
AND ms.category = 0
AND ms.pk_country = #{pkCountry}
AND ms.pk_member = #{pkMember}
</select>
<select id="selectMemberSmallAchieve" resultType="com.hzs.member.achieve.vo.CuMemberAwardsUnderVO">
SELECT SUM(t1.asumpv) asumpv,
SUM(t1.bsumpv) bsumpv,
LEAST(SUM(t1.asumpv), SUM(t1.bsumpv)) smallPv
FROM (SELECT mm.a_sum_pv + mm.rep_a_sum_pv aSumPv,
mm.b_sum_pv + mm.rep_b_sum_pv bSumPv
FROM ${cuMemberMonthTable} mm
WHERE mm.pk_member = #{pkMember}
UNION ALL
SELECT NVL(SUM(so.order_achieve), 0) aSumPv, 0
FROM sa_order so
WHERE so.del_flag = 0
AND so.order_status = 1
AND so.pay_time >= TRUNC(SYSDATE)
AND so.pk_member IN
(SELECT t0.pk_id
FROM (SELECT m.pk_id,
m.del_flag,
m.category,
m.pk_country,
m.pay_status
FROM cu_member m
START
WITH m.pk_place_parent = #{pkMember}
AND m.place_dept = 1
CONNECT BY PRIOR m.pk_id = m.pk_place_parent) t0
WHERE t0.del_flag = 0
AND t0.category = 0
AND t0.pay_status = 1
AND t0.pk_country = 1)
UNION ALL
SELECT 0, NVL(SUM(so.order_achieve), 0) bSumPv
FROM sa_order so
WHERE so.del_flag = 0
AND so.order_status = 1
AND so.pay_time >= TRUNC(SYSDATE)
AND so.pk_member IN
(SELECT t0.pk_id
FROM (SELECT m.pk_id,
m.del_flag,
m.category,
m.pk_country,
m.pay_status
FROM cu_member m
START
WITH m.pk_place_parent = #{pkMember}
AND m.place_dept = 2
CONNECT BY PRIOR m.pk_id = m.pk_place_parent) t0
WHERE t0.del_flag = 0
AND t0.category = 0
AND t0.pay_status = 1
AND t0.pk_country = 1)) t1
</select>
<select id="selectUnderMemberAwards" resultType="com.hzs.member.achieve.vo.CuMemberAwardsUnderVO">
SELECT pk_member,
a_sum_real_pv aSumRealPv,

View File

@ -19,13 +19,6 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @Description:
* @Author: sui q
* @Time: 2022/9/16 17:10
* @Classname: RedisComponent
* @PackageName: com.hzs.sale.component.load
*/
@Component
@Slf4j
class RedisComponent {

View File

@ -110,6 +110,9 @@ public class OrderParam implements Serializable {
*/
private String placeParent;
/**
* 安置人ID
*/
@JsonIgnore
private Long placeParentId;

View File

@ -278,6 +278,7 @@ public interface ISaOrderService extends IService<SaOrder> {
*
* @param cuMember 会员 需要放(推荐人国家新用户姓名新用户手机号)
* @param isFirstAchieve 是否验证首购业绩
* @param isFirst 是否首单
*/
CuMember obtainLastResettleByRecommend(CuMember cuMember, Boolean isFirstAchieve, Boolean isFirst);
@ -384,6 +385,7 @@ public interface ISaOrderService extends IService<SaOrder> {
List<SaOrderExt> myOrderList(MyOrderParam param, Long memberId, Integer pkCountry);
List<TOnlineRefundExt> queryRefundList();
/**
* 自助撤单列表
**/
@ -501,14 +503,6 @@ public interface ISaOrderService extends IService<SaOrder> {
*/
CuMemberShare queryCuMemberShare(Long pkMember);
/**
* 支付分享销售订单
*
* @param saOrderExt 订单
* @return: Boolean
*/
Boolean payShareSaOrder(SaOrderExt saOrderExt);
/**
* 空单注册审核通过
*

View File

@ -1921,56 +1921,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
return iMemberServiceApi.queryCuMemberShare(pkMember).getData();
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean payShareSaOrder(SaOrderExt saOrderExt) {
CuMemberShare cuMemberShare = queryCuMemberShare(saOrderExt.getPkMember());
CuMember newCuMember = packageCuMemberShare(OrderParam.builder().isHaiFun(Boolean.FALSE).build(), cuMemberShare);
if (newCuMember == null) {
return Boolean.FALSE;
}
if (setLastCuMemberGrade(newCuMember, saOrderExt)) {
return Boolean.FALSE;
}
newCuMember.setPkId(saOrderExt.getPkMember());
Date currentDateTime = DateUtils.currentDateTime();
newCuMember.setPayStatus(EPayStatus.PAID.getValue());
newCuMember.setPayTime(currentDateTime);
// 2024.05.29 会员续约需求有效期为购买时间次年的上月最后一天
newCuMember.setExpireDate(DateUtils.beforeMonthLastDate(DateUtils.addYears(currentDateTime, 1)));
// 休止期普通会员6个月奖衔会员12个月先按6个月来后续MQ会统一处理同姓名同手机号会员
newCuMember.setStopDate(DateUtils.addMonths(newCuMember.getExpireDate(), 6));
newCuMember.setSource(EDataSource.APP.getValue());
saOrderExt.setPayTime(currentDateTime);
saOrderExt.setOrderStatus(EOrderStatus.PAY.getValue());
saOrderExt.setPkModified(saOrderExt.getPkCreator());
saOrderExt.setModifiedTime(currentDateTime);
saOrderExt.getOrderItemsList().forEach(saOrderItems -> {
saOrderItems.setPkModified(saOrderExt.getPkCreator());
saOrderItems.setModifiedTime(currentDateTime);
saOrderItems.setOrderStatus(EOrderStatus.PAY.getValue());
});
// 更新订单信息
updateSaOrder(saOrderExt);
CuMember cuMember = repeatTry(newCuMember, Boolean.TRUE);
newCuMember.setPkPlaceParent(cuMember.getPkPlaceParent());
newCuMember.setPlaceDept(cuMember.getPlaceDept());
// 调用其他服务保存会员信息会员注册信息
R<Boolean> saveResult = iMemberServiceApi.saveMember(newCuMember, saOrderExt);
if (saveResult.isSuccess()) {
if (!saveResult.getData()) {
log.error("payShareSaOrder 保存会员失败!");
throw new RuntimeException("保存会员失败!");
}
} else {
log.error("payShareSaOrder 保存会员失败!{}", saveResult.getMsg());
throw new RuntimeException("保存会员失败!");
}
return Boolean.TRUE;
}
private CuMember calculateHaFunMemberGrade(SaOrderExt saOrderExt, CuMember newCuMember) {
CuMember cuMember = null;
// if (newCuMember != null

View File

@ -10,9 +10,6 @@ import java.util.*;
/**
* 统一翻译表 服务类
*
* @author hzs
* @since 2022-08-08
*/
public interface IBdTransactionService extends IService<BdTransaction> {

View File

@ -28,9 +28,6 @@ import java.util.*;
/**
* 统一翻译表 服务实现类
*
* @author hzs
* @since 2022-08-08
*/
@Slf4j
@Service
@ -39,14 +36,6 @@ public class BdTransactionServiceImpl extends ServiceImpl<BdTransactionMapper, B
@Autowired
private RedisService redisService;
/**
* @description: 导入统一翻译信息
* @author: zhang jing
* @date: 2023/4/27 17:17
* @param: [transactionList, updateSupport, userId]
* @return: java.lang.String
**/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean importData(List<BdTransaction> transactionList,

View File

@ -26,13 +26,6 @@ import org.springframework.stereotype.Component;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
* @Description:
* @Author: sui q
* @Time: 2022/9/6 17:50
* @Classname: RedisComponent
* @PackageName: com.hzs.system.component.load
*/
@Component
@Slf4j
public class RedisComponent {
@ -41,7 +34,6 @@ public class RedisComponent {
private IBdSystemConfigService systemConfigService;
private IBdCountryService countryService;
private IBdCurrencyService currencyService;
private IBdAreaCurrencyService bdAreaCurrencyService;
private BdAccountMapper bdAccountMapper;
private IBdRangeService bdRangeService;
private IBdTransactionService bdTransactionService;
@ -51,11 +43,6 @@ public class RedisComponent {
this.bdRangeService = bdRangeService;
}
@Autowired
public void setBdAreaCurrencyService(IBdAreaCurrencyService bdAreaCurrencyService) {
this.bdAreaCurrencyService = bdAreaCurrencyService;
}
@Autowired
public void setBdAccountMapper(BdAccountMapper bdAccountMapper) {
this.bdAccountMapper = bdAccountMapper;
@ -204,10 +191,7 @@ public class RedisComponent {
}
/**
* @Description: 初始化极差类型
* @return: void
* @Author: sui q
* @Date: 2023/2/4 16:13
* 初始化极差类型
*/
private void initBdRange() {
Map<String, RangeDTO> rangeDtoMap = bdRangeService.queryRangeDto();

View File

@ -77,11 +77,6 @@ public class Constants {
*/
public static final Integer TIMEOUT_SECOND = 10;
/**
* 失效时间
*/
public static final Integer FIVE_TIMEOUT_SECOND = 5;
/**
* 失效时间
*/

View File

@ -25,11 +25,6 @@ public class MemberFieldConstants {
*/
public static final String MEMBER_CODE = "member_code";
/**
* 推荐人
*/
public static final String PK_REFERENCE = "pk_reference";
/**
* 推荐人主键
*/
@ -137,30 +132,6 @@ public class MemberFieldConstants {
*/
public static final String CONSUME_MONEY = "CONSUME_MONEY";
/**
* 可提现金额
*/
public static final String CASH_MONEY = "CASH_MONEY";
/**
* 周期值
*/
public static final String PERIOD_VALUE = "m";
/**
* 左区周期值
*/
public static final String LEFT_PERIOD_VALUE = "ml";
/**
* 右区周期值
*/
public static final String RIGHT_PERIOD_VALUE = "mr";
/**
* 周期键
*/
public static final String CYCLE_KEY = "cycleKey";
/**
* 数量
*/

View File

@ -1,7 +1,5 @@
package com.hzs.common.core.constant;
import java.math.BigDecimal;
public class SaOrderFieldConstants {
/**

View File

@ -32,10 +32,6 @@ public class TableNameConstants {
*/
public static final String CU_MEMBER_RANGE = "CU_MEMBER_RANGE";
/**
* 会员极差计算表
*/
public static final String CU_MEMBER_RANGE_MONTH = "cu_member_range_month";
/**
* 会员结算秒结表
*/

View File

@ -12,13 +12,6 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Description:
* Author: sui q
* Time: 2022/9/8 13:44
* Classname: CommonUtil
* PackageName: com.hzs.common.core.utils
*/
public class CommonUtil {
/**

View File

@ -11,9 +11,6 @@ import java.math.BigDecimal;
/**
* 会员业绩记录
*
* @author hzs
* @since 2022-10-26
*/
@Data
@KeySequence("CU_MEMBER_ACHIEVE_SEQ")

View File

@ -15,12 +15,7 @@ import java.io.Serializable;
import java.util.Date;
/**
* <p>
* 统一翻译表
* </p>
*
* @author hzs
* @since 2022-08-08
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ -227,7 +222,6 @@ public class BdTransaction implements Serializable {
private Integer isCache;
/**
* 是否上传0=,1=
*/