Compare commits

..

No commits in common. "4eb3c13324a5206a94ae2c64a6a3262a94a62517" and "4796eab2b48a44587843272da30817b63ca45031" have entirely different histories.

851 changed files with 33724 additions and 11603 deletions

View File

@ -0,0 +1,29 @@
package com.hzs.bonus.detail;
import com.hzs.common.core.domain.R;
import java.util.Date;
import java.util.List;
/**
* @description: 新零售会员区域考核dubbo服务
* @author: zhang jing
* @date: 2025/3/7 10:36
* @param:
* @return:
**/
public interface ICuRegionAssessApi {
/**
* @description: 定时处理会员收益区域处理前三天
* @author: zhang jing
* @date: 2025/3/7 10:45
* @param: [startDate]
* @return: com.hzs.common.core.domain.R<?>
**/
R<?> validateHandAreaAssess(Date startDate,Date endDate);
}

View File

@ -6,8 +6,14 @@ import com.hzs.member.account.dto.MemberBalanceDTO;
import java.util.List;
/**
* 业务办理扣费
* @Description:
* @Author: ljc
* @Time: 2023/1/7 15:38
* @Classname: IBusinessCommission
* @Package_name: com.hzs.member.account
*/
public interface IBusinessCommission {

View File

@ -1,21 +1,31 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApproveStatus;
import com.hzs.member.account.dto.BusinessCommissionDTO;
/**
* 会员交易明细API
* @description: 会员交易明细API
* @author: zhang jing
* @date: 2023/7/28 14:37
* @param:
* @return:
**/
public interface ICuMemberTradeServiceApi {
/**
* 业务办理扣费提交
* @description: 业务办理扣费提交
* @author: zhang jing
* @date: 2023/7/28 14:38
* @param: [businessCommissionDTO, eApproveStatus]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> businessCommissionSubmit(BusinessCommissionDTO businessCommissionDTO);
/**
* 业务办理扣费驳回
* @description: 业务办理扣费驳回
* @author: zhang jing
* @date: 2023/7/29 11:55
* @param: [businessCommissionDTO]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> businessCommissionReject(BusinessCommissionDTO businessCommissionDTO);
}

View File

@ -3,8 +3,13 @@ package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* 会员钱包审核接口
* @Description: 会员钱包审核接口
* @Author: ljc
* @Time: 2022/9/24 13:48
* @Classname: IMemberAccountAuditServiceApi
* @Package_name: com.hzs.member.account
*/
public interface IMemberAccountAuditServiceApi {

View File

@ -9,7 +9,11 @@ import java.math.BigDecimal;
import java.util.List;
/**
* 会员账户提供api操作实体
* @Description: 会员账户提供api操作实体
* @Author: sui q
* @Time: 2022/9/5 14:27
* @Classname: IMemberAccountServiceApi
* @PackageName: com.hzs.member.account
*/
public interface IMemberAccountServiceApi {
@ -17,6 +21,9 @@ public interface IMemberAccountServiceApi {
* 查询会员账户状态账户信息
*
* @param cuMemberAccount 会员账户条件信息
* @return: List<CuMemberAccountExt>
* @Author: sui q
* @Date: 2022/9/5 11:57
*/
R<List<CuMemberAccountExt>> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount);
@ -24,9 +31,21 @@ public interface IMemberAccountServiceApi {
* 根据会员id 列表查询账户信息
*
* @param pkMemberList 列表
* @return: List<CuMemberAccount>
* @Author: sui q
* @Date: 2023/3/25 16:28
*/
R<List<CuMemberAccount>> queryCuMemberAccountByPkMembers(List<Long> pkMemberList);
/**
* 校验订单调换货物余额是否足够
*
* @param saOrder 订单
* @param updateOrder 新订单
* @return
*/
R orderChangeProductPre(SaOrder saOrder, SaOrder updateOrder);
/**
* 订单调换货物扣费处理
*
@ -38,6 +57,17 @@ public interface IMemberAccountServiceApi {
*/
R orderChangeProduct(SaOrder saOrder, SaOrder updateOrder, Long userId, Object obj);
/**
* 订单退单
*
* @param saOrder 退单订单
* @param userId 操作用户ID
* @param changeAmount 变动金额除订单退回外又追加的补偿或者扣款 -- 非必传
* @param changeRemark 变动备注 -- 非必传
* @return
*/
R orderReturn(SaOrder saOrder, Long userId, BigDecimal changeAmount, String changeRemark);
/**
* 订单退单注册会员
*
@ -58,4 +88,12 @@ public interface IMemberAccountServiceApi {
*/
R orderSelfDeliver(Long pkMember, Integer pkRate, Integer pkCountry, BigDecimal postage, Long userId);
/**
* 扣款并插入明细
*
* @param saOrder 订单
* @param cuMemberAccount 会员账户
*/
R insertMemberTrade(SaOrder saOrder, CuMemberAccountExt cuMemberAccount);
}

View File

@ -4,10 +4,13 @@ import com.hzs.common.core.domain.R;
import com.hzs.member.account.dto.CuMemberBankParam;
/**
* 银行卡操作API
* @Description: 银行卡操作API
* @Author: ljc
* @Time: 2022/11/11 17:07
* @Classname: IMemberBankServiceApi
* @Package_name: com.hzs.member.account
*/
public interface IMemberBankServiceApi {
/**
* 添加银行卡信息
*
@ -15,5 +18,4 @@ public interface IMemberBankServiceApi {
* @return R
*/
R addBankInfo(CuMemberBankParam cuMemberBankParam);
}

View File

@ -1,12 +1,20 @@
package com.hzs.member.account;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.account.CuMemberRecharge;
import java.util.Date;
/**
* 会员模块定时任务
*
* @Description:
* @Author: ljc
* @Time: 2023/4/12 10:38
* @Classname: IMemberJobServiceApi
* @Package_name: com.hzs.member.account
*/
public interface IMemberJobServiceApi {
/**
* 定时插入账户详情数据
*
@ -14,14 +22,30 @@ public interface IMemberJobServiceApi {
*/
R insertAccountDetail();
/**
* 自动清理垃圾数据
* CU_MEMBER_AWARDS
* CU_MEMBER_LEVEL
* CU_MEMBER_GRADE
* 自动提现
*
* @return
*/
R autoDeleteGarbageData();
R automaticWithdrawal();
/**
* 查询充值金额总和
*
* @param startDate 开始时暗
* @param endDate 结速时间
* @return R<CuMemberRecharge>
*/
R<CuMemberRecharge> selectRechargeTotalAmount(Date startDate, Date endDate);
/**
* 自动清理垃圾数据
* CU_MEMBER_AWARDS
* CU_MEMBER_LEVEL
* CU_MEMBER_GRADE
* @return
*/
R autoDeleteGarbageData();
}

View File

@ -4,6 +4,7 @@ import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApproveOperation;
import com.hzs.common.domain.member.account.CuMemberRecharge;
import com.hzs.common.domain.member.account.CuMemberTrade;
import com.hzs.common.domain.member.account.CuMemberTradeExt;
import com.hzs.member.account.dto.BusinessCommissionDTO;
import com.hzs.member.account.dto.MemberBalanceDTO;
@ -11,8 +12,22 @@ import java.util.List;
/**
* 会员端在线支付 回调插入交易流水更新余额
*
* @Description:
* @Author: ljc
* @Time: 2023/3/8 18:23
* @Classname: IMemberTradeServiceApi
* @Package_name: com.hzs.member.account
*/
public interface IMemberTradeServiceApi {
/**
* 会员端在线支付 回调插入交易流水更新余额
*
* @param rechargeCode 充值单号
* @return R
*/
R saveMemberOnlineTradeAndAccount(String rechargeCode);
/**
* 会员端在线支付更新审批状态
@ -32,7 +47,6 @@ public interface IMemberTradeServiceApi {
* @return R
*/
R<CuMemberRecharge> selectMemberRechargeByCodeAndPkMember(String rechargeCode, Long pkMember);
/**
* 查询余额不足的用户信息
*
@ -49,4 +63,14 @@ public interface IMemberTradeServiceApi {
*/
R<Boolean> businessCommissionSubmit(BusinessCommissionDTO businessCommissionDTO);
/**
* 查询会员订单产生的最新交易明细
*
* @param pkMember 会员
* @param sourceCode 来源单号
* @param tradeClassify 交易分类
* @return
*/
R<List<CuMemberTrade>> querySourceCodeLastTrade(Long pkMember, String sourceCode, Integer tradeClassify);
}

View File

@ -10,6 +10,12 @@ import java.util.List;
/**
* 业务手续费扣款
*
* @Description:
* @Author: ljc
* @Time: 2023/1/6 15:15
* @Classname: BusinessCommissionDTO
* @Package_name: com.hzs.member.account.dto
*/
@Data
@Builder

View File

@ -1,5 +1,6 @@
package com.hzs.member.account.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -7,7 +8,12 @@ import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* <p>
* 会员信息-银行卡信息
* </p>
*
* @author hzs
* @since 2022-08-31
*/
@Data
@AllArgsConstructor

View File

@ -9,6 +9,12 @@ import java.math.BigDecimal;
/**
* 用户余额
*
* @Description:
* @Author: ljc
* @Time: 2023/1/7 15:12
* @Classname: MemberBalanceDTO
* @Package_name: com.hzs.member.account.dto
*/
@Data
@AllArgsConstructor

View File

@ -10,6 +10,12 @@ import java.util.List;
/**
* 办理业务专用会员余额
*
* @Description:
* @Author: zhangjing
* @Time: 2023/1/7 15:12
* @Classname: MemberBalanceDTO
* @Package_name: com.hzs.member.account.dto
*/
@Data
@AllArgsConstructor

View File

@ -0,0 +1,29 @@
package com.hzs.member.achieve;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.base.CuMember;
import java.util.Date;
/**
* @Description: 提供查询实时会员业绩的api接口
* @Author: sui q
* @Time: 2022/10/26 15:12
* @Classname: IMemberAchieveServiceAPI
* @PackageName: com.hzs.member.achieve
*/
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

@ -0,0 +1,24 @@
package com.hzs.member.address;
import com.hzs.common.core.domain.R;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* @description: 会员礼包收货地址修改回调接口
* @author: zhang jing
* @date: 2022/10/22 15:04
* @param:
* @return:
**/
public interface ICuMemberGiftServiceApi {
/**
* 审核流程(审批流调用业务模块)
*
* @param approvalBusinessResultDTO 业务审批操作DTO
* @return Integer
*/
R auditProcess(ApprovalBusinessResultDTO approvalBusinessResultDTO);
}

View File

@ -1,16 +1,22 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.business.SignOnlineInfoVo;
import com.hzs.member.base.dto.CuMemberAchieveLogDTO;
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
import java.util.List;
/**
* 特殊业务-注水业绩
* @description: 特殊业务-注水业绩
* @author: zhang jing
* @date: 2023/3/28 16:41
* @param:
* @return:
**/
public interface ICuMemberAchieveLogServiceApi {
/**
* 解析注水业绩诉求信息
*

View File

@ -0,0 +1,26 @@
package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.detail.CuMemberLevel;
import java.util.List;
/**
* @Description: 会员等级相关dubbo服务
* @Author: jiang chao
* @Time: 2025/2/27 9:25
* @Classname: IMemberLevelServiceApi
* @PackageName: com.hzs.member.base
*/
public interface IMemberLevelServiceApi {
/**
* 获取会员升级记录
*
* @param pkMember 会员ID
* @param pkOrder 订单ID -- 可为空
* @return
*/
R<List<CuMemberLevel>> listMemberLevel(Long pkMember, Long pkOrder);
}

View File

@ -2,6 +2,7 @@ package com.hzs.member.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.base.CuMemberRegister;
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
@ -29,14 +30,6 @@ public interface IMemberServiceApi {
*/
R<LoginMember> getMemberInfo(String memberCode);
/**
* 通过会员编码查询分享会员信息
*
* @param memberCode 会员编号
* @return
*/
R<LoginMember> getShareMemberInfo(String memberCode);
/**
* 根据会员ID获取会员信息查库
*
@ -95,6 +88,28 @@ public interface IMemberServiceApi {
* 撤销会员账户余额
**/
R<Boolean> cancelMemberAccount(Long pkMember, SaOrder saOrder);
/**
* 查找安置人伞上会员信息
*
* @param memberId 编号安置人
*/
R<List<CuMemberExt>> querySponsorOnUmbrella(Long memberId, String memberCode, String phone);
/**
* 查找安置人伞上会员信息
*
* @param memberId 编号安置人
*/
R<List<CuMemberExt>> querySponsorOnUmbrella(Long memberId, List<String> memberCodeList);
/**
* 查找安置人伞下
*
* @param memberId 会员编号
*/
R<List<CuMemberExt>> selectPlaceSponsorUnderUmbrellaByCondition(Long memberId, List<CuMemberExt> cuMemberExtList);
/**
* 查找安置人伞下
*
@ -102,6 +117,14 @@ public interface IMemberServiceApi {
*/
R<List<CuMemberExt>> queryPlaceSponsorUnderUmbrella(Long memberId, String... placeParent);
/**
* 根据会员编号查找该会员编号极左极下的那个人
*
* @param memberId 会员编号
* @param placeDept 1代表左区极左极下2代表右区极左极下
*/
R<CuMemberExt> queryPlaceSponsorLastLeft(Long memberId, Integer placeDept);
/**
* 获取会员缓存
*
@ -138,6 +161,11 @@ public interface IMemberServiceApi {
*/
R<Boolean> saveMember(CuMember cuMember);
/*
* 查询网体是否存在推荐人
**/
R<Integer> queryCuMemberByPkMember(Long pkReference);
/**
* 修改会员信息确认订单信息流水升级订单复购订单
*
@ -165,6 +193,13 @@ public interface IMemberServiceApi {
*/
R<Boolean> saveMember(CuMember cuMember, SaOrderExt saOrder, Boolean isPay, CuMemberAccountExt cuMemberAccountExt);
/**
* 处理新会员生成主键跟会员编号
*
* @param cuMember 会员
*/
R<CuMember> createMemberIdAndCode(CuMember cuMember);
/**
* 创建注册会员编号放入会员编号批次占用
*
@ -206,6 +241,13 @@ public interface IMemberServiceApi {
*/
R<List<CuMemberExt>> findMemberByMemberId(List<Long> pkMemberList, Integer pkCountry);
/**
* 根据会员主键查询会员注册信息
*
* @param pkMember 会员主键
*/
R<CuMemberRegister> queryCuMemberRegister(Long pkMember);
/*
* 会员编号账户类型抽奖金额
**/
@ -226,6 +268,15 @@ public interface IMemberServiceApi {
*/
R<Boolean> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
/**
* 校验是否血缘关系返回true则有血缘关系
*
* @param topCode 顶点编号
* @param userId 当前会员
* @return
*/
R<Boolean> checkParent(String topCode, Long userId);
/**
* 获取奖衔的翻译KEY值
**/
@ -356,12 +407,4 @@ public interface IMemberServiceApi {
*/
R<String> checkRegisterRelation(String phone, String parentCode);
/**
* 获取手机号数量
*
* @param phone 联系方式
* @return 返回为null则正常否则则错误信息
*/
R<Integer> getMemberPhoneCount(String phone);
}

View File

@ -25,6 +25,11 @@ public interface IMemberTeamServiceApi {
*/
R<Boolean> checkVertex(Integer pkVertex);
/*
* 根据主键获得所属团队
**/
R<CuMemberTeamExt> getCuMemberTeamById(Long pkMember);
/**
* 查询体系团队map
*

View File

@ -13,7 +13,12 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 真实奖衔控制表DTO
* </p>
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class CuAwardsControlDTO implements Serializable {
@ -125,7 +130,7 @@ public class CuAwardsControlDTO implements Serializable {
/**
* 创建时间
*/
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
@ -185,4 +190,5 @@ public class CuAwardsControlDTO implements Serializable {
private String pkAccountKeyVal;
}

View File

@ -10,7 +10,12 @@ import java.math.BigDecimal;
import java.util.Date;
/**
* <p>
* 注水业绩记录表DTO
* </p>
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class CuMemberAchieveLogDTO implements Serializable {
@ -26,130 +31,130 @@ public class CuMemberAchieveLogDTO implements Serializable {
/**
* 会员编号
*/
@Excel(name = "会员编号", sort = 1)
@Excel(name = "会员编号",sort = 1)
private String memberCode;
/**
* 会员姓名
*/
@Excel(name = "会员姓名", sort = 2)
@Excel(name = "会员姓名",sort = 2)
private String memberName;
/**
* A左区结余 左区首购结余
*/
@Excel(name = "变更前左区首购结余", sort = 17)
@Excel(name = "变更前左区首购结余",sort = 17)
private BigDecimal abalance;
/**
* B右区结余 右区首购结余
*/
@Excel(name = "变更前右区首购结余", sort = 18)
@Excel(name = "变更前右区首购结余",sort = 18)
private BigDecimal bbalance;
/**
* A左区累计 左区真实业绩
*/
@Excel(name = "变更前左区真实业绩(PV)", sort = 13)
@Excel(name = "变更前左区真实业绩(PV)",sort = 13)
private BigDecimal asumRealPv;
/**
* 变更后A左区累计 变更后左区真实业绩
*/
@Excel(name = "变更后左区真实业绩(PV)", sort = 3)
@Excel(name = "变更后左区真实业绩(PV)",sort = 3)
private BigDecimal asumRealModifyPv;
/**
* B右区累计 右区真实业绩
*/
@Excel(name = "变更前右区真实业绩(PV)", sort = 14)
@Excel(name = "变更前右区真实业绩(PV)",sort = 14)
private BigDecimal bsumRealPv;
/**
* 变更后B右区累计 更后右区真实业绩
*/
@Excel(name = "变更后右区真实业绩(PV)", sort = 4)
@Excel(name = "变更后右区真实业绩(PV)",sort = 4)
private BigDecimal bsumRealModifyPv;
/**
* A左区首购业绩
*/
@Excel(name = "变更前左区首购业绩(PV)", sort = 15)
@Excel(name = "变更前左区首购业绩(PV)",sort = 15)
private BigDecimal afirstPv;
/**
* 变更后A左区 变更后左区首购业绩
*/
@Excel(name = "变更后左区首购业绩(PV)", sort = 5)
@Excel(name = "变更后左区首购业绩(PV)",sort = 5)
private BigDecimal afirstModifyPv;
/**
* B右区首购业绩
*/
@Excel(name = "变更前右区首购业绩(PV)", sort = 16)
@Excel(name = "变更前右区首购业绩(PV)",sort = 16)
private BigDecimal bfirstPv;
/**
* 变更后B右区 变更后右区首购业绩
*/
@Excel(name = "变更后右区首购业绩(PV)", sort = 6)
@Excel(name = "变更后右区首购业绩(PV)",sort = 6)
private BigDecimal bfirstModifyPv;
/**
* 变更后A左区首购结余
*/
@Excel(name = "变更后左区首购结余", sort = 7)
@Excel(name = "变更后左区首购结余",sort = 7)
private BigDecimal repAFirstModifyBalance;
/**
* 变更后B右区首购结余
*/
@Excel(name = "变更后右区首购结余", sort = 8)
@Excel(name = "变更后右区首购结余",sort = 8)
private BigDecimal repBFirstModifyBalance;
/**
* A左区复购结余 左区复购结余
*/
@Excel(name = "变更前左区复购结余", sort = 21)
@Excel(name = "变更前左区复购结余",sort = 21)
private BigDecimal repABalance;
/**
* 变更后A左区复购结余
*/
@Excel(name = "变更后左区复购结余", sort = 11)
@Excel(name = "变更后左区复购结余",sort = 11)
private BigDecimal repAModifyBalance;
/**
* B右区复购结余 右区复购结余
*/
@Excel(name = "变更前右区复购结余", sort = 22)
@Excel(name = "变更前右区复购结余",sort = 22)
private BigDecimal repBBalance;
/**
* 变更后B右区复购结余
*/
@Excel(name = "变更后右区复购结余", sort = 12)
@Excel(name = "变更后右区复购结余",sort = 12)
private BigDecimal repBModifyBalance;
/**
* A左区复购业绩累计业绩 左区复购业绩
*/
@Excel(name = "变更前左区复购业绩(PV)", sort = 19)
@Excel(name = "变更前左区复购业绩(PV)",sort = 19)
private BigDecimal repASumPv;
/**
* 变更后A左区复购业绩累计业绩
*/
@Excel(name = "变更后左区复购业绩(PV)", sort = 9)
@Excel(name = "变更后左区复购业绩(PV)",sort = 9)
private BigDecimal repAModifySumPv;
/**
* B右区复购业绩累计业绩 右区复购业绩
*/
@Excel(name = "变更前右区复购业绩(PV)", sort = 20)
@Excel(name = "变更前右区复购业绩(PV)",sort = 20)
private BigDecimal repBSumPv;
/**
* 变更后B右区复购业绩累计业绩
*/
@Excel(name = "变更后右区复购业绩(PV)", sort = 10)
@Excel(name = "变更后右区复购业绩(PV)",sort = 10)
private BigDecimal repBModifySumPv;
/**
@ -192,4 +197,6 @@ public class CuMemberAchieveLogDTO implements Serializable {
private String dueDateStr;
}

View File

@ -1,7 +1,6 @@
package com.hzs.member.base.dto;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.domain.member.base.CuMemberShare;
import com.hzs.common.domain.member.ext.CuMemberExt;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -64,11 +63,6 @@ public class LoginMember implements Serializable {
*/
private CuMemberExt cuMember;
/**
* 分享会员信息分享注册会员使用
*/
private CuMemberShare cuMemberShare;
/**
* 结算国家此字段实体不存值只做部分业务传递参数使用
*/

View File

@ -0,0 +1,48 @@
package com.hzs.member.detail;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.base.CuMemberRegister;
import com.hzs.common.domain.member.detail.CuMemberLevel;
import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;
import java.util.List;
/**
* 会员升级记录dubbo服务
*/
public interface ICuMemberDetailServiceApi {
/**
* 查询升级的最新一条
*
* @param pkMember 会员ID
* @param pkOrder 订单ID可为null
* @return
*/
R<CuMemberLevel> getLastUpgrade(Long pkMember, Long pkOrder);
/**
* 查询所有升级记录
*
* @param pkMember 会员ID
* @return
*/
R<List<CuMemberLevel>> getUpgradeList(Long pkMember);
/**
* 查询手动开通奖衔的最新一条
*
* @param pkMember 会员ID
* @return
*/
R<CuMemberAwardsExt> queryLastManualAwards(Long pkMember);
/**
* 查询会员注册信息
*
* @param pkMember 会员ID
* @return
*/
R<CuMemberRegister> getMemberRegister(Long pkMember);
}

View File

@ -2,7 +2,10 @@ package com.hzs.member.detail;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.detail.CuMemberServiceLog;
import com.hzs.common.domain.member.detail.CuMemberServiceLogExt;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
public interface ICuMemberServiceLogServiceApi {
@ -47,4 +50,43 @@ public interface ICuMemberServiceLogServiceApi {
*/
R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog);
/**
* 根据业务单号查询业务日志
**/
R<List<CuMemberServiceLog>> selectCuMemberServiceLog(String businessNo);
/**
* 查询指定会员政策币信息
*
* @param pkMember 会员ID
* @return
*/
R<CuMemberServiceLogExt> queryPolicy(Long pkMember);
/**
* @param pkMember 会员主键 pkMember
* @param approvalBusiness 类型 EApprovalBusiness
* @param approveStatus 提交签呈状态 EApproveStatus
* @return
*/
R<Integer> queryCount(Long pkMember, Integer approvalBusiness, Integer approveStatus);
/**
* 查询最新一条变动记录
*
* @param pkMember 会员ID
* @param editType 业务类型
* @param approveStatus 审核状态
* @return
*/
R<CuMemberServiceLog> selectTopData(Long pkMember, int editType, int approveStatus);
/**
* 查询激活操作数据
*
* @param queryDate
* @return
*/
R<List<CuMemberServiceLog>> listActivateLog(@Param("queryDate") Date queryDate);
}

View File

@ -22,4 +22,9 @@ public interface ICuHandleBusinessServiceApi {
*/
R<?> signForApproval(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* 特殊业务审批处理
**/
String auditProcess(ApprovalBusinessResultDTO approvalBusinessResultDTO);
}

View File

@ -0,0 +1,199 @@
package com.hzs.member.self.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.web.domain.BaseApprovalEntity;
import com.hzs.member.account.dto.MemberAmountDTO;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Set;
/**
* <p>
* 自助服务日志表VO
* </p>
*
* @author hzs
* @since 2023-04-17
*/
@Data
public class SelfModifyAddressDTO extends BaseApprovalEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
private Long pkId;
/**
* 会员主键
*/
private Long pkMember;
/**
* 审批业务类型来源于 枚举 EApprovalBusiness
*/
private Integer editType;
/**
* 原值
*/
private String oldValue;
/**
* 新值
*/
private String newValue;
/**
* 业务单号
*/
private String businessNo;
/**
* 审核状态 0 待审核 1 审核通过 2 审核驳回 枚举 EModifyRecordStatus
*/
private Integer approveStatus;
/**
* 审核次数
*/
private Integer approveNumber;
/**
* 支付业务类型来源于枚举
*/
private Integer editTypePay;
/**
* 扣费金额
*/
private BigDecimal singleAmount;
/**
* 订单编号
*/
private String orderCode;
/**
* 订单id
*/
private Long pkOrder;
/**
* 创建人ID
*/
private Long pkCreator;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
/**
* 修改人ID
*/
private Long pkModified;
/**
* 修改时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifiedTime;
/**
* 逻辑删除 (0=未删除1已删除)
*/
private Integer delFlag;
/**
* 国家
*/
private Integer pkCountry;
/**
* 支付时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date payTime;
/**
* 收货地址ID
*/
private Long pkReceiving;
/**
* 收货人
*/
private String recName;
/**
* 手机
*/
private String recPhone;
/**
* 收货省
*/
private Integer recProvince;
/**
* 收货市
*/
private Integer recCity;
/**
* 收货县
*/
private Integer recCounty;
/**
* 详细地址
*/
private String recAddress;
/**
* 会员手续费
*/
List<MemberAmountDTO> memberAmountDTOList;
/**
* 错误信息
*/
private String errorMsg;
/**
* 业务涉及会员ID列表 -- 提交审核必传
*/
private Set<Long> pkMemberList;
/**
* 旧邮费
*/
private BigDecimal oldPostage;
/**
* 新邮费
*/
private BigDecimal newPostage;
/**
* 邮费
*/
private BigDecimal postage;
/**
* 备注
*/
private String selfRemark;
/**
* 扣款币种类型
*/
private Integer pkAccount;
/**
* 扣款币种翻译key
*/
@Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
private Integer pkAccountKey;
/**
* 扣款币种翻译
*/
private String pkAccountKeyVal;
}

View File

@ -0,0 +1,26 @@
package com.hzs.retail.member;
import com.hzs.common.core.domain.R;
import java.util.List;
/**
* 新零售会员dubbo服务
*/
public interface IMemberRetailApi {
/**
* 定时处理收益区域
*
* @return
*/
R<?> checkRegion();
/**
* 取消收益区域
*
* @param pkIdList 收益区域ID列表
*/
R<?> cancelRegion(List<Long> pkIdList);
}

View File

@ -1,19 +0,0 @@
package com.hzs.report.order;
import com.hzs.common.core.domain.R;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* 订单服务对外提供接口
*/
public interface IPerformanceSummaryServiceApi {
/**
* 按天创建统计数据
*
* @param day
* @return
*/
R<Boolean> createDataByDay(String day);
}

View File

@ -0,0 +1,20 @@
package com.hzs.report.stat;
import com.hzs.common.core.domain.R;
/**
* 统计分析
**/
public interface IMemberReportServiceApi {
/**
* 定时任务批量处理统计会员以及伞下金额业绩盒数
**/
R<?> pushAmountBoxmethod();
/**
* 定时任务7天重算直推会员金额业绩盒数
**/
R<?> repeatPushAmountBoxmethod(String startDateStr, String endDateStr);
}

View File

@ -0,0 +1,67 @@
package com.hzs.report.stat.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 修改政策币表DTO
*
* @author hzs
* @since 2022-08-22
*/
@Data
public class StatisticalLogDTO implements Serializable {
private static final long serialVersionUID = 1L;
private Long pkMember;
/**
* 会员编号
*/
private String memberCode;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String content;
/**
* 国家
*/
private Integer pkCountry;
/**
* 创建人
*/
private Long pkCreate;
/**
* 会员ID
*/
private List<Long> pkMemberList;
/**
* 业务单号
*/
private String businessNo;
/**
* 审核状态 2 待审核 4 已驳回 5 已完成(审核成功) 枚举 EApproveStatus
*/
private Integer approveStatus;
/**
* 错误信息
*/
private String errorMsg;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
}

View File

@ -2,8 +2,13 @@ package com.hzs.activity.base;
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
import com.hzs.common.domain.activity.recommend.ext.AcRepurSharRuleConfigExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.Date;
import java.util.List;
/**
* 所有活动的生效获得赠品入口
*/
@ -19,6 +24,16 @@ public interface IActivityServiceApi {
**/
R<Boolean> backGiveMemberDrawNum(SaOrderExt saOrderExt);
/*
* 查询目前所有启用的复购券规则
**/
R<List<AcRepurCouponsRuleConfig>> queryAcRepurchaseCouponsRule(Date settleDate);
/*
* 查询复购券均分收益
**/
R<List<AcRepurSharRuleConfigExt>> queryRepurSharRuleConfig(Date startDate, Date endDate);
/**
* 调用调用直推升级接口
*

View File

@ -0,0 +1,24 @@
package com.hzs.activity.pick;
import com.hzs.common.core.domain.R;
/**
* @description: 会员提货赠送活动日志接口服务
* @author: zhang jing
* @date: 2025/1/15 16:58
* @param:
* @return:
**/
public interface IAcRetailPickLogServiceApi {
/**
* @description: 处理会员提货赠送活动日志
* @author: zhang jing
* @date: 2025/1/15 17:13
* @param: []
* @return: com.hzs.common.core.domain.R<?>
**/
R<?> deliveryLog();
}

View File

@ -7,18 +7,49 @@ import com.hzs.sale.order.dto.WaresOrderDTO;
import java.util.List;
/**
* 销售订单-明细表
* @Description: 销售订单-明细表
* @Author: zhangjing
* @Time: 2023/11/16 20:06
* @Classname: ISaOrderItemsServiceApi
* @PackageName: com.hzs.sale.order.dto
*/
public interface ISaOrderItemsServiceApi {
/**
* 根据订单id查询订单商品列表
* @description: 根据订单id查询订单商品列表
* @author: zhang jing
* @date: 2023/11/16 9:23
* @param: [orderIdList]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.sale.order.dto.WaresOrderDTO>>
**/
R<List<WaresOrderDTO>> waresListByOrderId(List<Long> orderIdList);
/**
* 根据订单ID查询订单明细列表
* 根据订单ID查询订单明细商品列表不添加删除标记
*
* @param orderId 订单ID
* @return
*/
R<List<WaresOrderDTO>> waresListByOrderId(Long orderId);
/**
* @description: 根据订单ID查询订单明细列表
* @author: zhang jing
* @date: 2023/11/16 9:33
* @param: [orderIdList, tOrderIdList]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.sale.ext.SaOrderItemsExt>>
**/
R<List<SaOrderItemsExt>> queryListByOrderId(List<Long> orderIdList, List<Long> tOrderIdList);
/**
* 订单明细退货
*
* @param orderItemsIdList 订单明细ID列表
* @param userId 操作人ID
* @param pkCountry 所属国家可为空
* @return
*/
R orderItemsReturn(List<Long> orderItemsIdList, Long userId, Integer pkCountry);
}

View File

@ -2,7 +2,9 @@ package com.hzs.sale.order;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.ext.CuMemberAccountExt;
import com.hzs.common.domain.sale.ext.SaDeliverItemsExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.sale.order.SaOrderItems;
import com.hzs.sale.order.dto.*;
@ -17,6 +19,33 @@ import java.util.List;
*/
public interface ISaOrderServiceApi {
/**
* 查询时间范围内的所有订单按照订单时间排序,只能用于奖金结算
*
* @param startDate 开始日期
* @param endDate 结束日期
*/
R<List<SaOrderExt>> queryRetailSaOrderByDay(Date startDate, Date endDate, String orderCode);
/*
* 根据主键查询订单,需要查询del_flag=1的存在先撤单在退货
**/
R<SaOrder> querySaOrderExtByPkId(Long pkId);
/*
* 根据发货单查询销售订单
**/
R<List<SaOrderExt>> querySaOrderByDeliverList(List<SaDeliverItemsExt> deliverItemExtList);
/**
* 根据订单ID查询订单详细列表
*
* @param pkOrderList 订单ID列表 -- 必传
* @param pkCountry 国家ID -- 非必传
* @return
*/
R<List<SaOrderItemsExt>> queryOrderItemsListByOrderId(List<Long> pkOrderList, Integer pkCountry);
/**
* 空单注册审核通过
*
@ -52,6 +81,11 @@ public interface ISaOrderServiceApi {
*/
void closeOrder();
/*
* 查询订单某段时间累计金额累计业绩
**/
R<SaOrder> queryOrderTotalAchieveByTime(Date startDate, Date endDate);
/**
* 查询指定数量会员SEQ
*

View File

@ -7,7 +7,11 @@ import java.math.BigDecimal;
import java.util.List;
/**
* 邮费服务API
* @Description: 邮费服务API
* @Author: jiang chao
* @Time: 2023/4/25 14:40
* @Classname: IPostageServiceApi
* @PackageName: com.hzs.sale.postage
*/
public interface IPostageServiceApi {

View File

@ -1,8 +1,26 @@
package com.hzs.sale.product;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.sale.classify.BdSpecs;
import com.hzs.common.domain.sale.ext.BdProductExt;
import com.hzs.common.domain.sale.product.BdProduct;
import com.hzs.common.domain.sale.product.BdProductSpecs;
import com.hzs.sale.product.dto.ProductDTO;
import com.hzs.sale.product.dto.ProductParamDTO;
import com.hzs.system.sys.dto.LoginUser;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/11/15 17:52
* @Classname: IProductServiceApi
* @PackageName: com.hzs.sale.product
*/
public interface IProductServiceApi {
/**
@ -13,6 +31,14 @@ public interface IProductServiceApi {
*/
R<ProductDTO> getProduct(Integer productId);
/*
* @description: 根据规格主键查询产品
* @author: sui q
* @date: 2023/11/27 15:52
* @param: null null
**/
R<List<BdProductExt>> queryProductDtoById(List<BdProductSpecs> productSpecsList, Integer pkCountry);
/**
* 根据产品编号查询产品
*
@ -20,4 +46,27 @@ public interface IProductServiceApi {
* @return
*/
R<ProductDTO> getProduct(String productCode);
/*
* @description: 根据主键List查询规格
* @author: sui q
* @date: 2023/11/30 15:18
* @param: null null
**/
R<List<BdSpecs>> queryBdSpecsByIdList(List<Integer> idList);
/**
* 产品新增
* @param productParamDTO
* @return 编号
*/
R<String> saveProduct(ProductParamDTO productParamDTO, LoginUser loginUser);
/**
* 根据产品主键修改所关联商品是下架/预售
* @param productDTOList
* @return
*/
R<Boolean> updateWaresPreSaleStatus(List<ProductDTO> productDTOList);
}

View File

@ -5,6 +5,13 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/11/15 17:53
* @Classname: ProductDTO
* @PackageName: com.hzs.sale.product.dto
*/
@Data
public class ProductDTO implements Serializable {

View File

@ -0,0 +1,252 @@
package com.hzs.sale.product.dto;/**
* @Description:
* @Author: yuhui
* @Time: 2024/3/23 16:27
* @Classname: ProductParamDTO
* @PackageName: com.hzs.sale.product.dto
*/
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
*@BelongsProject: hzs_cloud
*@BelongsPackage: com.hzs.sale.product.dto
*@Author: yh
*@CreateTime: 2024-03-23 16:27
*@Description: TODO
*@Version: 1.0
*/
@Data
public class ProductParamDTO implements Serializable {
/**
* 商品主键
*/
private Integer pkId;
/**
* 产品编号
*/
private String productCode;
/**
* 产品名称
*/
private String productName;
/**
* 翻译key
*/
private Integer transactionKey;
/**
* 规格分类
*/
private Integer pkClassify;
/**
* 单位 来源于枚举单位
*/
private Integer unit;
/**
* 重量 以千克作为单位
*/
private BigDecimal weight;
/**
* 以厘米作为单位
*/
private BigDecimal length;
/**
* 以厘米作为单位
*/
private BigDecimal width;
/**
* 以厘米作为单位
*/
private BigDecimal height;
/**
* 邮费重量 以千克作为单位
*/
private BigDecimal postageWeight;
/**
* 建议零售价
*/
private BigDecimal retailPrice;
/**
* 启用状态 来源于枚举是否默认是
*/
private Integer enableState;
/**
* 封面图
*/
private String cover;
/**
* 保质期
*/
private Integer shelfLife;
/**
* 是否冷链
*/
private Integer isFresh;
/**
* 是否提货 来源于枚举是否默认否
*/
private Integer isPickUp;
/**
* 是否抽奖奖品 来源于枚举是否默认否
*/
private Integer isPrize;
/**
* 是否条码管理 来源于枚举是否默认否
*/
private Integer isBarCode;
/**
* 能否合并发货 来源于枚举是否默认是
*/
private Integer isMerge;
/**
* 来源于枚举是否默认是
*/
private Integer isGift;
/**
* 库存预警数量
*/
// private Long warningQuantity;
/**
* 是否陆运
*/
private Integer isLandTrans;
/**
* 是否空运
*/
private Integer isAirTrans;
/**
* 是否海运
*/
private Integer isOceanTrans;
/**
* 产品属性 枚举商品属性,1=实物商品2=虚拟商品
*/
private Integer productAttr;
/**
* 产品规格类型列表
*/
private List<Integer> pkSpecsType;
/**
* 排序值
*/
private Integer sort;
/**
* 发货渠道 1 总仓发货 2 一件代发
*/
private Integer shippingChannel;
/**
* 产品主键id列表
*/
List<Integer> productIds;
/**
* 海陆空运输方式筛选
*/
private Integer shippingType;
/**
* 开始创建时间
*/
private Date startCreateDate;
/**
* 结束创建时间
*/
private Date endCreateDate;
/**
* 产品编号
*/
List<String> productCodes;
private Integer pkCountry;
/**
* 复购类型
*/
private Integer repurchaseType;
/**
* 是否存在规格
*/
private Integer isExistSpecs;
/**
* 查询产品信息
*/
private String queryInfo;
/**
* 产品基础档案主键
*/
private Integer pkProductBas;
/**
* 数量
*/
private Integer quantity;
/**
* 创建时间
*/
private Date creationTime;
/**
* 创建人
*/
private Long pkCreator;
/**
* 供应商
*/
private Integer pkSupplier;
/**
* 供应商主键
*/
private Integer pkCubasdoc;
}

View File

@ -5,7 +5,11 @@ import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* 统一的销售服务回调审批成功入口
* @Description: 统一的销售服务回调审批成功入口
* @Author: sui q
* @Time: 2022/10/25 13:45
* @Classname: ISaleApprovalServiceApi
* @PackageName: com.hzs.sale.pub
*/
public interface ISaleApprovalServiceApi {
@ -13,9 +17,13 @@ public interface ISaleApprovalServiceApi {
* 提供销售模块统一的审核回调方法
*
* @param approvalBusinessResultDTO
* @return: void
* @Author: sui q
* @Date: 2022/10/22 14:48
*/
R<Boolean> approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* 销售模块签呈查询
*
@ -26,4 +34,5 @@ public interface ISaleApprovalServiceApi {
*/
R queryApprovalData(EApprovalBusiness eApprovalBusiness, String businessCode, String toLanguageTag);
}

View File

@ -0,0 +1,25 @@
package com.hzs.sale.refund;
import com.hzs.common.core.domain.R;
/**
* @Description: 订单退款对外服务api
* @Author: jiang chao
* @Time: 2023/8/26 14:44
* @Classname: ISaRefundServiceApi
* @PackageName: com.hzs.sale.order
*/
public interface ISaRefundServiceApi {
/**
* 直销订单退款回调
*
* @param orderCode 订单编号
* @param refundCode 退款编号
* @param refundStatus 退款状态
* @param refundMsg 退款信息
* @return
*/
R<String> onlinePayRefundCallback(String orderCode, String refundCode, Integer refundStatus, String refundMsg);
}

View File

@ -5,7 +5,11 @@ import com.hzs.common.core.domain.R;
import java.math.BigDecimal;
/**
* 购票对外dubbo服务
* @Description: 购票对外dubbo服务
* @Author: jiang chao
* @Time: 2025/1/14 15:44
* @Classname: ITicketServiceApi
* @PackageName: com.hzs.sale.ticket
*/
public interface ITicketServiceApi {

View File

@ -5,7 +5,11 @@ import com.hzs.common.core.domain.R;
import java.util.Date;
/**
* 商品对外提供接口
* @Description: 商品对外提供接口
* @Author: sui q
* @Time: 2022/9/15 15:04
* @Classname: IWaresServiceApi
* @PackageName: com.hzs.sale.wares
*/
public interface IWaresServiceApi {
@ -25,7 +29,11 @@ public interface IWaresServiceApi {
void updateByAutoStartAndAutoStart(Date currentTime);
/**
* 修改商品预售状态
* @description: 修改商品预售状态
* @author: zhang jing
* @date: 2024/10/24 16:09
* @param: []
* @return: void
**/
void waresPreSale();

View File

@ -5,8 +5,14 @@ import com.hzs.system.base.dto.ApprovalPushInfoDTO;
import java.util.List;
/**
* @Description:
* @Author: ljc
* @Time: 2023/4/5 21:29
* @Classname: IApprovalPushInfo
* @Package_name: com.hzs.system.base
*/
public interface IApprovalPushInfo {
/**
* 审批推送站内信信息
*
@ -14,5 +20,4 @@ public interface IApprovalPushInfo {
* @return R
*/
R approvalPushInfo(List<ApprovalPushInfoDTO> approvalPushInfoDTOList);
}

View File

@ -2,6 +2,8 @@ package com.hzs.system.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.base.BdArea;
import com.hzs.common.domain.system.base.BdProductStorehouse;
import com.hzs.common.domain.system.base.ext.BdProductStorehouseExt;
import com.hzs.system.base.dto.AreaDTO;
import java.util.List;
@ -44,4 +46,9 @@ public interface IAreaServiceApi {
*/
R<?> updateArea(List<AreaDTO> provinceDTOList);
/*
* 查询省绑定的产品仓库
**/
R<List<BdProductStorehouseExt>> queryBdProductStorehouseByCondition(List<Integer> productId, Integer province);
}

View File

@ -6,7 +6,11 @@ import com.hzs.system.base.dto.BarCodeDTO;
import java.util.List;
/**
* 条码服务接口
* @Description: 条码服务接口
* @Author: jiang chao
* @Time: 2022/11/2 11:46
* @Classname: IBarCodeServiceApi
* @PackageName: com.hzs.system.base
*/
public interface IBarCodeServiceApi {

View File

@ -1,7 +1,10 @@
package com.hzs.system.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.base.BdCubasdoc;
import com.hzs.common.domain.system.base.BdStorehouse;
import com.hzs.common.domain.system.base.ext.BdCubasdocExt;
import com.hzs.common.domain.system.sys.SysCorp;
import com.hzs.system.base.dto.CurrencyDTO;
import java.util.Collection;
@ -43,6 +46,11 @@ public interface ICurrencyServiceApi {
*/
R<BdStorehouse> queryBdStorehouseByProvince(Integer province, Integer... type);
/**
* 根据省查询对应的发货仓库
*/
R<BdStorehouse> queryBdStorehouseById(Integer pkId);
/**
* 根据省查询对应的发货仓库
*
@ -63,4 +71,23 @@ public interface ICurrencyServiceApi {
*/
R<List<CurrencyDTO>> findAll();
/**
* 提供查询供应商的dubbo调用
*/
R<BdCubasdocExt> queryBdCubasdocById(Integer pkId, Integer pkCountry);
/**
* 提供查询供应商的dubbo调用
*/
R<BdCubasdocExt> queryBdCustomerById(Integer pkId, Integer pkCountry);
/**
* 提供查询采购组织的dubbo调用
*/
R<SysCorp> querySysCorp(Integer pkId, Integer pkCountry);
/**
* 根据仓库主键查询仓库
*/
R<List<BdStorehouse>> queryStorehouseByIds(Set<Integer> storehouseIdSet, Integer pkCountry, Integer pkCorp);
}

View File

@ -3,8 +3,13 @@ package com.hzs.system.base;
import com.hzs.common.core.domain.R;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* 公告站内信审批
* @Description: 公告站内信审批
* @Author: ljc
* @Time: 2022/9/24 13:48
* @Classname: IMemberAccountAuditServiceApi
* @Package_name: com.hzs.member.account
*/
public interface INoticeAuditServiceApi {

View File

@ -18,6 +18,18 @@ public interface ISystemConfigServiceApi {
*/
R<String> getBonusSystemConfig(Integer pkCountry, String key);
/**
* 批量查询系统参数
*
* @param pkCountry 国家
*/
R<Map<String, String>> getBonusSystemConfig(Integer pkCountry);
/**
* 批量查询所有国家的系统参数
*/
R<Map<String, String>> getBonusSystemConfig();
/**
* 批量查询所有国家的订单参数
*/

View File

@ -3,6 +3,7 @@ package com.hzs.system.base;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.ETransactionKey;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.system.base.dto.TransactionDTO;
import java.util.Collection;
import java.util.List;
@ -14,6 +15,27 @@ import java.util.Set;
*/
public interface ITransactionServiceApi {
/**
* 根据key读取数据库翻译
*
* @param fromCountry 来源国家数据结算国
* @param content 翻译内容
* @param toLocal 返回语言
* @return
*/
R<String> readTransactionByDataBase(Integer fromCountry, String content, String toLocal);
/**
* 根据key列表读取数据库翻译
*
* @param fromCountry 来源国家数据结算国
* @param contentList 翻译内容列表
* @param toLocal 返回语言
* @return
*/
R<Map<String, String>> readTransactionListByDataBase(Integer fromCountry, Set<String> contentList, String toLocal);
/**
* 根据key读取缓存翻译
*
@ -50,6 +72,7 @@ public interface ITransactionServiceApi {
*/
R<Map<Integer, String>> readTransactionListDataBase(Collection<Integer> pkIdList, String toLocal);
/**
* 数据库+缓存同时查询
*
@ -60,6 +83,17 @@ public interface ITransactionServiceApi {
*/
R<Map<String, String>> readTransactionAll(Integer fromCountry, Set<String> contentList, Set<String> keyList, String toLocal);
/**
* 创建国际化翻译只写入缓存
*
* @param pkCountry 结算国
* @param key 翻译key规则
* @param content 翻译内容
* @return
*/
R<Integer> createTransactionCacheOnly(Integer pkCountry, ETransactionKey key, String content);
/**
* 创建国际化翻译写入缓存上传OSS
*
@ -82,6 +116,7 @@ public interface ITransactionServiceApi {
*/
R<Integer> createTransaction(Integer pkCountry, ETransactionKey key, String content, EYesNo cacheFlag, EYesNo uploadFlag);
/**
* 移除国际化翻译根据ID
*
@ -90,6 +125,15 @@ public interface ITransactionServiceApi {
*/
R<Boolean> removeTransactionByPkId(List<Long> pkIdList);
/**
* 移除国际化翻译根据KEY
*
* @param keyList 翻译key列表
* @return
*/
R<Boolean> removeTransactionByKey(List<String> keyList);
/**
* 更新国际化翻译
*
@ -101,4 +145,13 @@ public interface ITransactionServiceApi {
*/
R<Boolean> updateTransaction(Integer pkCountry, String content, Integer pkId, Boolean updateOther);
/**
* 更新国际化翻译异步翻译回调更新
*
* @param transactionDTO 更新实体
* @return
*/
R<Boolean> updateTransactionSync(TransactionDTO transactionDTO);
}

View File

@ -0,0 +1,151 @@
package com.hzs.system.base.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* Description: 翻译操作DTO
* Author: jiang chao
* Time: 2022/9/13 9:33
* Classname: TransactionDTO
* PackageName: com.hzs.system.base.dto
*/
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class TransactionDTO implements Serializable {
private static final long serialVersionUID = -8568364427570993930L;
/**
* 主键
*/
private Integer pkId;
/**
* 中文
*/
private String chinese;
/**
* 中文繁体
*/
private String traditional;
/**
* 英文
*/
private String english;
/**
* 俄文
*/
private String russian;
/**
* 哈萨克斯坦文
*/
private String kazakh;
/**
* 印度尼西亚文
*/
private String indonesia;
/**
* 法文
*/
private String french;
/**
* 葡萄牙文
*/
private String portuguese;
/**
* 西班牙文
*/
private String spanish;
/**
* 阿拉伯文
*/
private String arabic;
/**
* 自定义1
*/
private String custom1;
/**
* 自定义2
*/
private String custom2;
/**
* 自定义3
*/
private String custom3;
/**
* 自定义4
*/
private String custom4;
/**
* 自定义5
*/
private String custom5;
/**
* 自定义6
*/
private String custom6;
/**
* 自定义7
*/
private String custom7;
/**
* 自定义8
*/
private String custom8;
/**
* 自定义9
*/
private String custom9;
/**
* 自定义10
*/
private String custom10;
/**
* 创建人
*/
private Long pkCreator;
/**
* 创建时间
*/
private Date creationTime;
/**
* 修改人
*/
private Long pkModified;
/**
* 修改时间
*/
private Date modifiedTime;
}

View File

@ -7,7 +7,11 @@ import java.util.List;
import java.util.Set;
/**
* 专区币种配置提供的公共api
* @Description: 专区币种配置提供的公共api
* @Author: sui q
* @Time: 2022/9/6 10:13
* @Classname: IAreaCurrency
* @PackageName: com.hzs.system.config
*/
public interface IAreaCurrencyServiceApi {
@ -15,6 +19,9 @@ public interface IAreaCurrencyServiceApi {
* 根据条件查询国家的所有币种
*
* @param pkCountry 国家
* @return: R<List < AreaCurrencyDTO>>
* @Author: sui q
* @Date: 2022/9/6 10:37
*/
R<List<AreaCurrencyDTO>> queryAreaCurrencyByPkCountry(Integer pkCountry);
@ -23,6 +30,9 @@ public interface IAreaCurrencyServiceApi {
*
* @param specialArea 所属专区
* @param pkCountry 国家
* @return: R<List < AreaCurrencyDTO>>
* @Author: sui q
* @Date: 2022/9/6 10:37
*/
R<List<AreaCurrencyDTO>> queryAreaCurrencyByCondition(Integer specialArea, Integer pkCountry);
@ -36,7 +46,10 @@ public interface IAreaCurrencyServiceApi {
R<List<AreaCurrencyDTO>> queryMemberCurrency(Integer specialArea, Long userId);
/*
* 根据条件查找对应的币种配置
* @description: 根据条件查找对应的币种配置
* @author: sui q
* @date: 2023/7/19 14:18
* @param: null null
**/
R<List<AreaCurrencyDTO>> queryAreaCurrencyByCondition(Integer pkSpecialAccount);

View File

@ -4,7 +4,11 @@ import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdAreaFreePostage;
/**
* 专区免邮服务
* @Description: 专区免邮服务
* @Author: jiang chao
* @Time: 2023/12/1 11:23
* @Classname: AreaFreePostageServiceApi
* @PackageName: com.hzs.system.config
*/
public interface IAreaFreePostageServiceApi {

View File

@ -25,4 +25,12 @@ public interface IAwardsServiceApi {
* 根据国家获取该国家的奖衔
*/
R<Map<String, BdAwards>> getAwards();
/**
* 根据所属国家查询奖衔
*
* @param pkCountry
* @return
*/
R<List<BdAwards>> queryByPkCountryAwards(Integer pkCountry);
}

View File

@ -0,0 +1,29 @@
package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdAwards;
import com.hzs.common.domain.system.config.ext.BdAwardsExt;
import java.util.List;
import java.util.Map;
/**
* @description: 根据国家查询奖衔配置列表api
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param:
* @return:
**/
public interface IBdBarCodeServiceApi {
/**
* @description: 定时初始化条形码配置
* @author: zhang jing
* @date: 2024/5/8 11:19
* @param: []
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> updatWarehouseLog();
}

View File

@ -33,6 +33,13 @@ public interface IGradeServiceApi {
*/
R<List<GradeDTO>> queryGradeConfigByCondition(Integer pkCountry);
/**
* 根据国家查询等级配置列表
*
* @param pkCountry 国家
*/
R<List<GradeDTO>> queryHaiFunGradeConfigByCondition(Integer pkCountry);
/*
* 查询不同国家的等级参数
**/
@ -61,6 +68,13 @@ public interface IGradeServiceApi {
*/
R<List<GradeDTO>> selectGradeAll(Integer dataCountry);
/**
* 根据国家查询等级配置列表
*
* @param pkCountry 国家
*/
R<List<BdGrade>> queryGrowUpFootmarkGrade(Integer pkCountry);
/**
* 查询全部的等级
*

View File

@ -3,11 +3,18 @@ package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.system.config.dto.LabelConfigDTO;
import java.util.List;
/**
* 标签配置接口
*
* @Description:
* @Author: ljc
* @Time: 2023/2/1 19:02
* @Classname: ILabelServiceApi
* @Package_name: com.hzs.system.config
*/
public interface ILabelServiceApi {
/**
* 根据ID查询标签信息
*
@ -16,4 +23,12 @@ public interface ILabelServiceApi {
*/
R<LabelConfigDTO> getByPkId(Integer labelId);
/**
* 根据类型查询标签信息
*
* @param labelType 标签类型
* @param pkCountry 国家
* @return R<List < LabelConfigDTO>>
*/
R<List<LabelConfigDTO>> getLabelByType(Integer labelType, Integer pkCountry);
}

View File

@ -1,6 +1,7 @@
package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.common.domain.system.config.ext.BdRangeExt;
import com.hzs.system.config.dto.RangeDTO;
@ -8,21 +9,41 @@ import java.util.List;
import java.util.Map;
/**
* 根据国家查询极差配置列表api
* @description: 根据国家查询极差配置列表api
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param:
* @return:
**/
public interface IRangeServiceApi {
/**
* 根据国家查询极差配置列表
* @description: 根据国家查询极差配置列表
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdAwards>>
**/
R<List<BdRangeExt>> queryRange(Integer pkCountry);
/**
* 查询各个国家极差的配置 键为 国家+极差类型+等级主键
*
* @return: Map<String, RangeDTO>
* @Author: sui q
* @Date: 2023/1/3 14:00
*/
R<Map<String, RangeDTO>> queryRangeDto();
/**
* 查询各个国家极差的配置 键为 国家+极差类型+等级主键
*
* @param pkCountry 国家
* @param rangeType 极差类型
* @param pkLevel 等级
* @return: Map<String, RangeDTO>
* @Author: sui q
* @Date: 2023/1/3 14:00
*/
R<RangeDTO> queryRangeDtoByCondition(Integer pkCountry, Integer rangeType, Integer pkLevel);
}

View File

@ -0,0 +1,12 @@
package com.hzs.system.config;
/**
* @Description: 新零售极差dubbo服务接口
* @Author: jiang chao
* @Time: 2025/2/17 9:46
* @Classname: IRetailRangeServiceApi
* @PackageName: com.hzs.system.config
*/
public interface IRetailRangeServiceApi {
}

View File

@ -0,0 +1,26 @@
package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdAccount;
import com.hzs.common.domain.system.config.BdShare;
import java.util.List;
/**
* @Description: 币种公共的api
* @Author: sui q
* @Time: 2022/9/9 14:07
* @Classname: IGradeServiceApi
* @PackageName: com.hzs.system.config
*/
public interface IShareServiceApi {
/**
* @description: 根据分红pkid查询分配配置
* @author: zhang jing
* @date: 2022/9/22 10:03
* @param: [accountProperty, pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdAccount>>
**/
R<BdShare> getBdShareById(Integer id);
}

View File

@ -0,0 +1,27 @@
package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.common.domain.system.config.ext.BdShopExt;
import java.util.List;
/**
* @description: 根据国家查询奖项配置列表api
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param:
* @return:
**/
public interface IShopServiceApi {
/**
* @description: 根据国家查询奖项配置列表
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdAwards>>
**/
R<List<BdShopExt>> queryShop(Integer pkCountry);
}

View File

@ -34,4 +34,12 @@ public interface ITradeConfigServiceApi {
*/
R<List<Integer>> selectTransferWhiteByPkMember(Long pkMember, Integer pkCountry);
/**
* 查询配置伞下白名单的会员
*
* @param tradeConfigDTO 入参
* @return List<Long>
*/
R<List<Long>> selectTradeWhiteConfigByUnderBlood(TradeConfigDTO tradeConfigDTO);
}

View File

@ -2,15 +2,25 @@ package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdTransfer;
import com.hzs.common.domain.system.config.BdWithdrawal;
import java.util.List;
/**
* 根据国家查询提现配置明细列表api
* @description: 根据国家查询提现配置明细列表api
* @author: zhang jing
* @date: 2022/9/27 15:14
* @param:
* @return:
**/
public interface ITransferServiceApi {
/**
* 根据国家查询转账配置列表
* @description: 根据国家查询转账配置列表
* @author: zhang jing
* @date: 2022/9/28 10:32
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdTransfer>>
**/
R<BdTransfer> queryTransfer(Integer pkCountry);
}

View File

@ -5,6 +5,13 @@ import com.hzs.system.config.dto.VertexDTO;
import java.util.List;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/11/16 15:55
* @Classname: IVertexServiceApi
* @PackageName: com.hzs.sale.vertex
*/
public interface IVertexServiceApi {
/**

View File

@ -0,0 +1,25 @@
package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdWithdrawalAuto;
import java.util.List;
/**
* @description: 根据国家查询自动提现明细api
* @author: zhang jing
* @date: 2022/9/27 15:15
* @param:
* @return:
**/
public interface IWithdrawalAutoServiceApi {
/**
* @description:根据国家查询自动提现明细列表
* @author: zhang jing
* @date: 2022/9/27 15:20
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdWithdrawalAuto>>
**/
R<List<BdWithdrawalAuto>> queryWithdrawalAuto(Integer pkCountry);
}

View File

@ -3,13 +3,23 @@ package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdWithdrawalProcess;
/**
* 根据国家查询提现手续费配置列表api
* @description: 根据国家查询提现手续费配置列表api
* @author: zhang jing
* @date: 2022/9/27 15:14
* @param:
* @return:
**/
public interface IWithdrawalProcessServiceApi {
/**
* 根据国家查询提现手续费配置列表
* @description: 根据国家查询提现手续费配置列表
* @author: zhang jing
* @date: 2022/9/27 15:14
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdWithdrawal>>
**/
R<BdWithdrawalProcess> queryBdWithdrawalProcess(Integer pkCountry);

View File

@ -3,14 +3,32 @@ package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdWithdrawal;
import java.util.List;
/**
* 根据国家查询提现配置明细列表api
* @description: 根据国家查询提现配置明细列表api
* @author: zhang jing
* @date: 2022/9/27 15:14
* @param:
* @return:
**/
public interface IWithdrawalServiceApi {
/**
* 根据国家查询提现配置明细列表
* @description: 根据国家查询提现配置明细列表
* @author: zhang jing
* @date: 2022/9/27 15:14
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdWithdrawal>>
**/
R<BdWithdrawal> queryWithdrawal(Integer pkCountry, Integer pkAccount);
R<BdWithdrawal> queryWithdrawal(Integer pkCountry,Integer pkAccount);
/**
* @description: 查询所有自动提现的配置
* @author: zhang jing
* @date: 2022/11/1 19:44
* @param: []
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.common.domain.system.config.BdWithdrawal>>
**/
R<List<BdWithdrawal>> queryWithdrawalByIsAuto();
}

View File

@ -0,0 +1,34 @@
package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdWithdrawalSpecial;
import java.util.List;
/**
* @description: 提现设置特殊配置api
* @author: zhang jing
* @date: 2022/9/27 15:14
* @param:
* @return:
**/
public interface IWithdrawalSpecialServiceApi {
/**
* @description: 根据国家查询提现设置特殊配置列表
* @author: zhang jing
* @date: 2022/9/27 16:24
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdWithdrawalSpecial>>
**/
R<List<BdWithdrawalSpecial>> queryWithdrawalSpecial(Integer pkCountry);
/**
* @description: 根据国家会员编号查询提现设置特殊配置
* @author: zhang jing
* @date: 2022/9/27 16:27
* @param: [pkCountry, memberCode]
* @return: com.hzs.common.core.domain.R<com.hzs.common.domain.system.config.BdWithdrawalSpecial>
**/
R<BdWithdrawalSpecial> getWithdrawalSpecial(Integer pkCountry,String memberCode);
}

View File

@ -1,15 +1,27 @@
package com.hzs.system.config;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.config.BdWithdrawalTax;
import com.hzs.common.domain.system.config.ext.BdWithdrawalTaxExt;
import java.util.List;
/**
* 个税明细api
* @description: 个税明细api
* @author: zhang jing
* @date: 2022/9/27 15:14
* @param:
* @return:
**/
public interface IWithdrawalTaxServiceApi {
/**
* 根据国家查询个税明细
**/
R<BdWithdrawalTaxExt> queryWithdrawalTax(Integer pkCountry);
/**
* @description: 根据国家查询个税明细
* @author: zhang jing
* @date: 2022/9/27 16:13
* @param: [pkCountry]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.common.domain.system.config.BdWithdrawalTax>>
**/
R<BdWithdrawalTaxExt> queryWithdrawalTax(Integer pkCountry);
}

View File

@ -1,6 +1,7 @@
package com.hzs.system.config.dto;
import com.hzs.common.domain.bonus.BdBonusDeduct;
import com.hzs.common.domain.bonus.BdBonusService;
import com.hzs.common.domain.system.config.*;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.system.sys.dto.BdCurrencyDTO;
@ -26,14 +27,51 @@ public class BonusConfigDTO implements Serializable {
*/
private Map<String, BdBonusItemsExt> bonusItemsExtMap;
/**
* 循环配置 key 第一个键国家主键 +等级第二个键 循环类型 EBonusType
*/
private Map<String, BonusDirectLoopDTO> bonusDirectLoopDtoMap;
/**
* 直推奖励配置 key 第一个键国家主键 第二个键 range_type+pk_level
*/
private Map<String, BonusDirectDTO> bonusDirectDtoMap;
/**
* 奖衔列表
* 一次性补差 key 国家作为主键只有一条
*/
private Map<Integer, BonusDifferenceDTO> bonusDifferenceDtoMap;
/**
* 复购推荐奖励配置 key第一个键国家主键第二个键 代数
*/
private Map<Integer, Map<Integer, BonusRepurchasePushDTO>> bonusRepurchasePushMap;
/**
* 拓展奖配置 国家+等级
*/
private Map<String, BdGrade> gradeMap;
/**
* 新零售团队等级
*/
private List<BdGrade> retaiGradeList;
/**
* 主任每个国家值对应的配置 需要主键 memberSettleExt.getPkSettleCountry().toString() + 奖衔值 为了解决服务中心算主任
*/
private Map<String, BdAwards> directorAwardsMap;
/**
* 辅导奖配置 需要主键 memberSettleExt.getPkSettleCountry().toString() + memberSettleExt.getPkAwards()
*/
private Map<String, BdAwards> awardsMap;
/**
* 辅导奖配置 需要主键 memberSettleExt.getPkSettleCountry().toString() + memberSettleExt.getAwardsValue()
*/
private Map<String, BdAwards> awardsValueMap;
private List<BdAwards> awardsList;
/**
@ -41,4 +79,9 @@ public class BonusConfigDTO implements Serializable {
*/
private Map<Integer, BdBonusDeduct> bonusDeductsMap;
/**
* 报单服务费 需要主键 memberSettleExt.getPkSettleCountry().toString() + memberSettleExt.getservicetype()
*/
private Map<String, BdBonusService> bonusServiceMap;
}

View File

@ -5,6 +5,13 @@ import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description:
* @Author: sui q
* @Time: 2022/11/14 16:38
* @Classname: BonusDifferenceDTO
* @PackageName: com.hzs.system.config.dto
*/
@Data
public class BonusDifferenceDTO implements Serializable {

View File

@ -6,7 +6,11 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
* 循环配置
* @Description: 循环配置
* @Author: sui q
* @Time: 2022/11/14 16:26
* @Classname: BonusDirectLoopDTO
* @PackageName: com.hzs.system.config.dto
*/
@Data
public class BonusDirectLoopDTO implements Serializable {

View File

@ -6,7 +6,12 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
* 复购直推dto
* @description: 复购直推dto
* @author: sui q
* @time: 2023/6/29 15:17
* @classname: BonusRepurchasePushDTO
* @package_name: com.hzs.system.config.dto
* version 1.0.0
*/
@Data
public class BonusRepurchasePushDTO implements Serializable {

View File

@ -11,7 +11,11 @@ import java.math.BigDecimal;
import java.util.List;
/**
* 等级的dto
* @Description: 等级的dto
* @Author: sui q
* @Time: 2022/9/24 15:06
* @Classname: GradeDTO
* @PackageName: com.hzs.system.config.dto
*/
@Data
@Builder

View File

@ -6,7 +6,11 @@ import com.hzs.system.sys.dto.BusinessLogDTO;
import java.util.List;
/**
* 业务操作明细接口
* @Description: 业务操作明细接口
* @Author: jiang chao
* @Time: 2023/8/3 18:14
* @Classname: IBusinessLogApi
* @PackageName: com.hzs.system.sys
*/
public interface IBusinessLogApi {

View File

@ -3,11 +3,17 @@ package com.hzs.system.sys;
import com.hzs.common.core.domain.R;
import com.hzs.system.sys.dto.CubasdocDTO;
/**
* @Description:
* @Author: yuhui
* @Time: 2024/5/8 16:05
* @Classname: ICubasdocApi
* @PackageName: com.hzs.system.sys
*/
public interface ICubasdocApi {
/**
* 根据id 查询
*
* @return
*/
R<CubasdocDTO> getCubasdoc(Integer pkCubasdoc);

View File

@ -6,7 +6,11 @@ import java.util.List;
import java.util.Map;
/**
* 菜单列服务
* @Description: 菜单列服务
* @Author: jiang chao
* @Time: 2023/6/8 11:21
* @Classname: IMenuColumnServiceApi
* @PackageName: com.hzs.system.sys
*/
public interface IMenuColumnServiceApi {

View File

@ -4,7 +4,11 @@ import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.sys.SysOperationLog;
/**
* 后台操作日志服务接口
* Description: 后台操作日志服务接口
* Author: jiang chao
* Time: 2022/9/14 15:48
* Classname: IOperationLogService
* PackageName: com.hzs.system.sys
*/
public interface IOperationLogServiceApi {

View File

@ -0,0 +1,46 @@
package com.hzs.system.sys.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Description: 能量仓套餐DTO
* @Author: jiang chao
* @Time: 2023/8/10 17:53
* @Classname: ThaliConfigDTO
* @PackageName: com.hzs.system.sys.dto
*/
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class ThaliConfigDTO implements Serializable {
private static final long serialVersionUID = 3316294777261662729L;
/**
* 套餐ID
*/
private Integer pkId;
/**
* 三方套餐ID
*/
private Long packageId;
/**
* 套餐时长
*/
private Integer time;
/**
* 套餐价格
*/
private BigDecimal price;
}

View File

@ -5,15 +5,20 @@ import com.hzs.third.bankcard.dto.BankCardParam;
/**
* 银行卡四要素认证
*
* @Description:
* @Author: ljc
* @Time: 2023/2/9 14:04
* @Classname: BankCardService
* @Package_name: com.hzs.third.bankCard
*/
public interface IBankCardServiceApi {
/**
* 银行卡四要素验证
*
* @param bankCardParam 银行卡入参
* @return R
*/
R<?> verifyBankCard(BankCardParam bankCardParam);
R verifyBankCard(BankCardParam bankCardParam);
}

View File

@ -9,6 +9,12 @@ import java.io.Serializable;
/**
* 银行卡校验参数
*
* @Description:
* @Author: ljc
* @Time: 2022/11/24 18:19
* @Classname: BankCardVO
* @Package_name: com.hz.bankCard.vo
*/
@Data
@Builder
@ -22,10 +28,12 @@ public class BankCardParam implements Serializable {
* 姓名
*/
private String name;
/**
* 身份证号
*/
private String idCard;
/**
* 手机号
*/

View File

@ -3,7 +3,11 @@ package com.hzs.third.delivery;
import com.hzs.third.delivery.dto.DeliveryDTO;
/**
* 新零售地址识别dubbo接口
* @Description: 新零售地址识别dubbo接口
* @Author: jiang chao
* @Time: 2024/12/26 16:57
* @Classname: IDeliveryServiceApi
* @PackageName: com.hzs.third.delivery
*/
public interface IDeliveryServiceApi {

View File

@ -3,12 +3,21 @@ package com.hzs.third.mq;
import com.hzs.common.core.domain.R;
import com.hzs.third.mq.dto.DelayedMessageDTO;
/**
* @Description:
* @Author: sui q
* @Time: 2023/3/9 15:21
* @Classname: IDelayedMessage
* @PackageName: com.hzs.third.mq
*/
public interface IDelayedMessageApi {
/**
* 发送延时队列消息
*
* @param delayedMessageDTO 内容
* @return: void
* @Author: sui q
* @Date: 2023/3/9 15:18
*/
R<Boolean> sendDelayedMessage(DelayedMessageDTO delayedMessageDTO);
}

View File

@ -10,7 +10,11 @@ import java.util.Date;
import java.util.List;
/**
* 用于延时队列删除redis缓存
* @Description: 用于延时队列删除redis缓存
* @Author: sui q
* @Time: 2023/3/9 15:49
* @Classname: DelayedMessageDTO
* @PackageName: com.hzs.third.mq.dto
*/
@Data
@Builder

View File

@ -4,7 +4,11 @@ import com.hzs.common.core.domain.R;
import com.hzs.third.pay.dto.RefundDTO;
/**
* 退款dubbo服务
* @Description: 退款dubbo服务
* @Author: jiang chao
* @Time: 2023/8/17 18:57
* @Classname: IRefundServiceApi
* @PackageName: com.hzs.third.pay
*/
public interface IRefundServiceApi {

View File

@ -4,7 +4,11 @@ import com.hzs.common.core.domain.R;
import com.hzs.third.share.dto.ShareServiceDTO;
/**
* 分享码服务
* @Description: 分享码服务
* @Author: jiang chao
* @Time: 2023/3/15 11:31
* @Classname: IShareServiceApi
* @PackageName: com.hzs.third.share
*/
public interface IShareServiceApi {

View File

@ -18,16 +18,4 @@ public interface ISmsServiceApi {
*/
R<String> sendAliSms(String phone, String code, EAliSmsTemplate aliSmsTemplate);
/**
* 发送会员注册短信
*
* @param phone
* @param aliSmsTemplate
* @param memberCode
* @param loginPwd
* @param payPwd
* @return
*/
R<String> sendMemberRegister(String phone, EAliSmsTemplate aliSmsTemplate, String memberCode, String loginPwd, String payPwd);
}

View File

@ -39,17 +39,11 @@
<groupId>com.bd</groupId>
<artifactId>bd-common-aop</artifactId>
</dependency>
<dependency>
<groupId>com.bd</groupId>
<artifactId>bd-api-bonus</artifactId>
</dependency>
<dependency>
<groupId>com.bd</groupId>
<artifactId>bd-api-report</artifactId>
</dependency>
<!-- rabbit mq -->
<dependency>
<groupId>org.springframework.amqp</groupId>

View File

@ -15,6 +15,7 @@ import com.hzs.common.core.enums.EOperationBusiness;
import com.hzs.common.core.enums.EOperationMethod;
import com.hzs.common.core.enums.EOperationModule;
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.core.web.page.TableDataInfo;
@ -36,6 +37,8 @@ public class CuMemberSettleController extends BaseController {
@Autowired
private ICuMemberBonusService iCuMemberBonusService;
@Autowired
private IBonusSettleService iBonusSettleService;
@Autowired
private ICuMemberTreeService iCuMemberTreeService;
@Autowired
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
@ -45,6 +48,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 初始化奖金结算表
*
* @return AjaxResult
*/
@GetMapping("/init-table")
public AjaxResult initTable(String settleDate) {
@ -54,6 +59,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 初始化奖金结算表
*
* @return AjaxResult
*/
@GetMapping("/init-period")
public AjaxResult initPeriod(String settleDate) {
@ -63,6 +70,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 奖金计算 - 重新结算
*
* @return AjaxResult
*/
@GetMapping("/settle-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.INSERT)
@ -77,6 +86,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 公布奖金
*
* @return AjaxResult
*/
@GetMapping("/publish-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.PUBLISH)
@ -91,6 +102,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 不公布奖金
*
* @return AjaxResult
*/
@GetMapping("/no-publish-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.NO_PUBLISH)
@ -105,6 +118,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 发放奖金
*
* @return AjaxResult
*/
@GetMapping("/grant-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.GRANT)
@ -119,6 +134,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 发放奖金
*
* @return AjaxResult
*/
@GetMapping("/grant-temp-bonus")
public AjaxResult grantTempBonus(Integer pkCountry, String settleDate) {
@ -128,6 +145,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 发放奖金
*
* @return AjaxResult
*/
@GetMapping("/grant-bonus_all")
public AjaxResult grantBonusAll() {
@ -137,6 +156,8 @@ public class CuMemberSettleController extends BaseController {
/**
* 奖金提现
*
* @return AjaxResult
*/
@GetMapping("/withdrawal-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.WITHDRAWAL)
@ -149,6 +170,20 @@ public class CuMemberSettleController extends BaseController {
return AjaxResult.success();
}
/**
* 秒接结算业绩仅用于测试
*
* @return AjaxResult
*/
@GetMapping("/settle-second-bonus")
public AjaxResult settleSecondBonus(String orderCode) {
if (StringUtils.isEmpty(orderCode)) {
return AjaxResult.error();
}
iBonusSettleService.calculateCuMemberRetailRangeBonusBySaOrder(orderCode);
return AjaxResult.success();
}
/*
* 查询奖金计算期数列表
**/

View File

@ -1,22 +0,0 @@
package com.hzs.bonus.achieve.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 日结算阶段表 Mapper 接口
*/
public interface CuMemberRetailDetailMapper extends BaseMapper<CuMemberRetailDetail> {
/**
* 查询明细数据指定阶段指定状态
*/
List<CuMemberRetailDetail> listMemberRetailDetail(@Param("retailDetailTableName") String retailDetailTableName,
@Param("tmpIdList") List<?> tmpIdList,
@Param("stage") Integer stage,
@Param("stageStatus") Integer stageStatus);
}

View File

@ -3,12 +3,10 @@ package com.hzs.bonus.achieve.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
@ -29,10 +27,41 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
@Param("isSameMonth") Integer isSameMonth);
/**
* 将昨天的结算明细迁移到今天
* 更新区域
*/
void mergeMemberRetailRangeDetailByYesterday(@Param("detailTableName") String detailTableName,
@Param("yesterdayDetailTableName") String yesterdayDetailTableName);
void mergeMemberRetailRegion(@Param("rangeTableName") String rangeTableName, @Param("settleDate") Date settleDate);
/**
* 根据订单查询出网体中记录的会员数据推荐人安置人
*
* @param rangeTableName 结算表
* @param memberPkList 需要查询的会员列表
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByMemberPk(@Param("rangeTableName") String rangeTableName,
@Param("memberPkList") List<?> memberPkList);
/**
* 查询出有奖衔的会员
*
* @param rangeTableName 结算表
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByAwards(@Param("rangeTableName") String rangeTableName);
/**
* 查询伞下会员用于计算小区
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByParent(@Param("rangeTableName") String rangeTableName,
@Param("memberRetailRangeExtList") List<CuMemberRetailRangeExt> memberRetailRangeExtList);
/**
* 查询有区域的会员
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByCounty(@Param("rangeTableName") String rangeTableName);
/**
* 查询有区域的会员
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailSecondRangeByCounty(@Param("rangeTableName") String rangeTableName, @Param("secondRangeTableName") String secondRangeTableName, @Param("county") Integer county);
/**
* 当前网体更新极差秒结表
@ -57,16 +86,16 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
*/
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeParent(@Param("tableName") String tableName, @Param("saOrderExtList") List<?> saOrderExtList);
/**
* 根据会员ID查询会员数据
*/
List<CuMemberRetailRangeExt> listCuMemberRetailRange(@Param("tableName") String tableName, @Param("pkMemberList") List<Long> pkMemberList);
/**
* 推荐推荐人查询推荐人下的所有部门, 该订单日期之前的算他的网体
*/
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeExtByParent(@Param("tableName") String tableName, @Param("pkParent") Long pkParent);
/**
* 查询推荐人伞下满足
*/
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeEnoughAchieve(@Param("tableName") String tableName, @Param("pkParent") Long pkParent, @Param("achievePv") BigDecimal achievePv);
/**
* 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表
*/
@ -85,77 +114,22 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
void mergeCuMemberSecondRange(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
/**
* 更新会员日结数据
* 批量更新网体
*/
void mergeCuMemberRetailRangeExt(@Param("rangeTableName") String rangeTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
/**
* 批量会员日结明细数据
*/
void mergeCuMemberRetailDetail(@Param("rangeDetailTableName") String rangeDetailTableName, @Param("cuMemberDetailList") List<?> cuMemberDetailList);
/**
* 向上查找所有parentID
* 更新会员树的累计业绩
*
* @param pkMember
* @return
* @param settleTableName 结算日期
* @param period
*/
List<CuMemberExt> findParentMemberList(@Param("pkMember") Long pkMember);
void mergeCuMemberRetailRangeBySpecial(@Param("rangeTableName") String settleTableName, @Param("period") Integer period);
/**
* 更新自己秒结
* 之前有过注水回退
*/
void updateMemberRetailSecondRangeSelf(@Param("tableName") String tableName, @Param("orderExt") SaOrderExt orderExt, @Param("cuMember") CuMember cuMember, @Param("updateType") Integer updateType, @Param("symbol") String symbol);
/**
* 更新上级秒结
*/
void updateMemberRetailSecondRangeParent(@Param("tableName") String tableName, @Param("orderExt") SaOrderExt orderExt, @Param("memberList") List<CuMemberExt> memberList, @Param("updateType") Integer updateType, @Param("symbol") String symbol);
void initMemberRetailSecondRange(@Param("tableName") String tableName, @Param("member") CuMemberExt memberList);
/**
* 查询直推会员数据
*/
List<CuMemberRetailRangeExt> listChildRetail(@Param("rangeTableName") String rangeTableName,
@Param("pkParentList") List<Long> pkParentList);
/**
* 更新会员血缘上累计数据
*/
Boolean updateMemberParentDate(@Param("rangeTableName") String rangeTableName,
@Param("achieveList") List<?> achieveList);
/**
* 查询符合奖衔业绩条件会员
*/
List<CuMemberRetailRangeExt> queryEnoughAwardMember(@Param("rangeTableName") String rangeTableName,
@Param("totalCheck") BigDecimal totalCheck,
@Param("awardsValue") Integer awardsValue);
/**
* 查询符合奖衔业绩安置条件会员
*/
List<CuMemberRetailRangeExt> queryEnoughAwardPlaceMember(@Param("rangeTableName") String rangeTableName,
@Param("awardsValue") Integer awardsValue,
@Param("totalCheck") BigDecimal totalCheck,
@Param("placeDeptNum") Integer placeDeptNum,
@Param("checkAwardsValue") Integer checkAwardsValue);
/**
* 查询会员血缘下达标奖衔会员
*/
List<Integer> listChildAwards(@Param("rangeTableName") String rangeTableName,
@Param("pkAwards") Integer pkAwards,
@Param("childMemberList") List<?> childMemberList);
/**
* 更新会员奖衔
*/
int updateCuMemberAwardsByPeriod(@Param("rangeTableName") String rangeTableName,
@Param("period") Integer period,
@Param("awardType") Integer awardType);
void mergeCuMemberRetailBackBoxBySpecial(@Param("rangeTableName") String rangeTableName,
@Param("beforeTableName") String beforeTableName,
@Param("period") Integer period);
}

View File

@ -21,26 +21,12 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
void createCuMemberTreeTable(String tableName);
/**
* 创建会员结算记录表按照日记录每天一条
* 创建会员网体结算记录表按照日记录每天一条记录30天的
*
* @param tableName 日期
*/
void createCuMemberSettleTable(String tableName);
/**
* 创建结算明细表
*
* @param tableName
*/
void createCuMemberRetailDetail(String tableName);
/**
* 创建结算明细表会员索引
*
* @param tableName
*/
void createCuMemberRetailDetailMemberIndex(String tableName);
/*
* 创建会员网体复购极差结算表
**/
@ -94,11 +80,6 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
*/
void truncateCuMemberTreeTable(@Param("tableName") String tableName);
/**
* 清除表数据
*/
void clearTable(@Param("tableName") String tableName);
/**
* 将会员表数据插入结算日表中
*
@ -118,15 +99,27 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
*/
Integer queryExistOrderTableCount(String tableName);
/**
* 回退会员奖衔
*/
void updateBackCuMemberRetailRangeAward(@Param("rangeTableName") String rangeTableName, @Param("period") Integer period);
/*
* 回退会员奖衔
**/
void updateBackCuMemberRetailRangeAward(@Param("rangeTableName") String rangeTableName, @Param("period") Integer period,
@Param("awardType") Integer awardType);
/*
* 回退会员奖衔
**/
void updateCuMemberRetailRangeAwardByDate(@Param("rangeTableName") String rangeTableName, @Param("settleDate") Date settleDate,
@Param("awardType") Integer awardType);
/**
* 回退会员奖衔
* 初始化期间奖衔
*/
void updateCuMemberRetailRangeAwardByDate(@Param("rangeTableName") String rangeTableName, @Param("settleDate") Date settleDate);
void updateCuMemberRetailRangeInitAward(@Param("rangeTableName") String rangeTableName);
/**
* 初始化期间V5奖衔
*/
void updateCuMemberRetailRangeInitV5Award(@Param("rangeTableName") String rangeTableName);
/**
* 根据订单查询出网体中记录的会员数据推荐人安置人

View File

@ -1,35 +0,0 @@
package com.hzs.bonus.achieve.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.core.enums.EBonusStage;
import com.hzs.common.core.enums.EBonusStageStatus;
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import java.util.List;
import java.util.Map;
/**
* 日结算阶段表 服务类
*/
public interface ICuMemberRetailDetailService extends IService<CuMemberRetailDetail> {
/**
* 根据结算会员获取对应的点位数据
*/
void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List<Long> stageMemberList);
/**
* 指定会员获取对应的点位数据
*/
void listMemberRetailDetailByQuery(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
List<Long> queryMemberList, EBonusStage eBonusStage);
/**
* 会员直推对应的点位数据
*/
void listChildRetailDetail(String rangeTableName, String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
CuMemberRetailRangeExt sourceMember, EBonusStage eBonusStage);
}

View File

@ -1,16 +1,15 @@
package com.hzs.bonus.achieve.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.bonus.achieve.param.MemberAchieveParam;
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 服务类
@ -20,12 +19,7 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
/**
* 将昨天的业绩信息迁移到今天
*/
void mergeMemberRetailRangeByYesterday(String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth);
/**
* 将昨天的结算明细迁移到今天
*/
void mergeMemberRetailRangeDetailByYesterday(String detailTableName, String yesterdayDetailTableName);
void mergeMemberRetailRangeByYesterday(Date settleEndDate, String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth);
/**
* 根据会员查询会员上的所有网体, 按照pkParent作为key
@ -37,6 +31,11 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
*/
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeExtByParent(String tableName, Long pkParent);
/**
* 查询推荐人伞下满足
*/
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeEnoughAchieve(String tableName, Long pkParent, BigDecimal achievePv);
/**
* 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表
*/
@ -48,14 +47,55 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
List<CuMemberRetailRangeExt> queryCuMemberSecondRangeExtByParent(String rangeTableName, String secondTableName, Long pkMember);
/**
* 更新会员日结数据
* 更新会员树的累计业绩
*
* @param settleTableName 结算日期
* @param cuMemberTreeMap
*/
void updateCuMemberRetailRange(String settleTableName, Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap);
/**
* 更新会员日结明细数据
* 更新会员树的累计业绩
*
* @param settleTableName 结算日期
* @param period
*/
void updateCuMemberRetailDetail(String rangeDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap);
void mergeCuMemberRetailRangeBySpecial(String settleTableName, Integer period);
/**
* 之前有过注水回退
*/
void mergeCuMemberRetailBackBoxBySpecial(String rangeTableName, String beforeTableName, Integer period);
/**
* 根据订单查询出网体中记录的会员数据推荐人安置人
*
* @param settleTableName 结算表
* @param serviceMemberSet 会员编号
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByMemberPk(String settleTableName, Set<Long> serviceMemberSet);
/**
* 查询出有奖衔的会员
*
* @param settleTableName 结算表
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByAwards(String settleTableName);
/**
* 查询伞下会员用于计算小区
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByParent(String rangeTableName, List<CuMemberRetailRangeExt> memberRetailRangeExtList);
/**
* 查询有区域的会员
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByCounty(String rangeTableName);
/**
* 查询有区域的会员
*/
List<CuMemberRetailRangeExt> batchQueryMemberRetailSecondRangeByCounty(String rangeTableName, String secondRangeTableName, Integer county);
/**
* 更新极差秒接表用昨天的结算表
@ -74,40 +114,4 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
* @param cuMemberTreeMap
*/
void updateCuMemberSecondRange(String secondTableName, Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap);
List<CuMemberExt> findParentMemberList(Long pkMember);
void updateMemberRetailSecondRangeSelf(String settleTableName, SaOrderExt orderExt, CuMember pkMember, Integer updateType, String symbol);
void updateMemberRetailSecondRangeParent(String settleTableName, SaOrderExt orderExt, List<CuMemberExt> pkMemberList, Integer updateType, String symbol);
void initMemberRetailSecondRange(String tableName, CuMemberExt member);
/**
* 更新会员血缘上累计数据
*/
void updateMemberParentDate(String rangeTableName, Map<Long, MemberAchieveParam> memberAchieveHashMap);
/**
* 查询符合奖衔业绩条件会员
*/
List<CuMemberRetailRangeExt> queryEnoughAwardMember(String rangeTableName, BigDecimal totalCheck, Integer awardsValue);
/**
* 查询符合奖衔业绩安置条件会员
*/
List<CuMemberRetailRangeExt> queryEnoughAwardPlaceMember(String rangeTableName, Integer awardsValue, BigDecimal totalCheck, Integer placeDeptNum,
Integer checkAwardsValue);
/**
* 查询会员血缘下达标奖衔会员
*/
List<Integer> listChildAwards(String rangeTableName, Integer pkAwards, List<Long> childMemberList);
/**
* 更新会员奖衔
*/
void updateCuMemberAwardsByPeriod(String rangeTableName, Integer period);
}

View File

@ -49,6 +49,11 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
**/
void updateCuMemberRetailRangeAwardByDate(String rangeTableName, Date settleDate);
/**
* 初始化期间奖衔
*/
void updateCuMemberRetailRangeInitAward(String rangeTableName);
/**
* 删除日表数据
*
@ -56,11 +61,6 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
*/
void truncateCuMemberTreeTable(String tableName);
/**
* 清除表数据
*/
void clearTable(String tableName);
/**
* 创建会员网体推荐人索引
*
@ -82,5 +82,4 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
*/
void createCuMemberTreePlaceIndex(String tableName);
}

View File

@ -10,6 +10,7 @@ import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.domain.member.achieve.CuMemberAchieve;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.service.ITransactionCommonService;
import com.hzs.bonus.achieve.mapper.CuMemberAchieveMapper;
import com.hzs.bonus.achieve.param.MemberAchieveParam;
import lombok.extern.slf4j.Slf4j;
@ -17,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.temporal.ChronoUnit;
import java.util.*;
/**
@ -26,11 +28,22 @@ import java.util.*;
@Service
public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMapper, CuMemberAchieve> implements ICuMemberAchieveService {
@Autowired
private ICuMemberTreeService cuMemberTreeService;
@Autowired
private ICuMemberSettlePeriodService cuMemberSettlePeriodService;
@Autowired
public void setCuMemberSettlePeriodService(ICuMemberSettlePeriodService cuMemberSettlePeriodService) {
this.cuMemberSettlePeriodService = cuMemberSettlePeriodService;
}
@Autowired
public void setCuMemberTreeService(ICuMemberTreeService cuMemberTreeService) {
this.cuMemberTreeService = cuMemberTreeService;
}
@Autowired
ITransactionCommonService iTransactionCommonService;
@Override
public String createCuMemberAchieve(String date) {
@ -79,6 +92,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
.newRealPv(BigDecimal.ZERO)
.build();
if (Objects.equals(EOrderType.REGISTER_ORDER.getValue(), saOrder.getOrderType()) ||
Objects.equals(EOrderType.UPGRADE_ORDER.getValue(), saOrder.getOrderType()) ||
Objects.equals(EOrderType.FICTITIOUS_ORDER.getValue(), saOrder.getOrderType())) {
cuMemberAchieve.setNewAmount(saOrder.getOrderAmount());
cuMemberAchieve.setNewPv(saOrder.getOrderAchieve());
@ -86,15 +100,15 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
cuMemberAchieve.setRepNewAmount(saOrder.getOrderAmount());
cuMemberAchieve.setRepNewPv(saOrder.getOrderAchieve());
}
// String payTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrder.getPayTime());
// int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(payTime).getPkId();
// String sourceTable = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(payTime);
// for (int i = 7; i > 0; i--) {
// String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(i, ChronoUnit.DAYS));
// int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
// String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod;
// baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve);
// }
String payTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrder.getPayTime());
int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(payTime).getPkId();
String sourceTable = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(payTime);
for (int i = 7; i > 0; i--) {
String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(i, ChronoUnit.DAYS));
int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod;
baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve);
}
return Boolean.TRUE;
}

View File

@ -3,7 +3,10 @@ package com.hzs.bonus.achieve.service.impl;
import com.hzs.common.core.constant.MagicNumberConstants;
import org.springframework.stereotype.Component;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
/**
* 奖金计算工具类
@ -36,11 +39,4 @@ public class CuMemberBonusSettle {
List<?> oriList = Arrays.asList(baseEntityList.toArray());
return handleCutList(oriList, batchNum);
}
public List<List<?>> handleCutList(Collection<?> baseEntityList, Integer... batchNum) {
List<?> oriList = Arrays.asList(baseEntityList.toArray());
return handleCutList(oriList, batchNum);
}
}

View File

@ -1,127 +0,0 @@
package com.hzs.bonus.achieve.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.hzs.bonus.achieve.mapper.CuMemberRetailDetailMapper;
import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper;
import com.hzs.bonus.achieve.service.ICuMemberRetailDetailService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.enums.EBonusStage;
import com.hzs.common.core.enums.EBonusStageStatus;
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
/**
* 日结算阶段表 服务实现类
*/
@Service
public class CuMemberRetailDetailServiceImpl extends ServiceImpl<CuMemberRetailDetailMapper, CuMemberRetailDetail> implements ICuMemberRetailDetailService {
@Resource
private CuMemberRetailRangeMapper cuMemberRetailRangeMapper;
@Autowired
private CuMemberBonusSettle cuMemberBonusSettle;
@Override
public void listMemberRetailDetail(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
EBonusStage eBonusStage, EBonusStageStatus eBonusStageStatus, List<Long> stageMemberList) {
List<List<?>> pkMemberList;
if (CollectionUtil.isNotEmpty(stageMemberList)) {
pkMemberList = cuMemberBonusSettle.handleCutList(stageMemberList, MagicNumberConstants.BATCH_QUERY_NUM);
} else {
pkMemberList = cuMemberBonusSettle.handleCutList(memberRangeExtMap.keySet(), MagicNumberConstants.BATCH_QUERY_NUM);
}
pkMemberList.forEach(tmpIdList -> {
// 查询明细数据指定阶段未完成的
List<CuMemberRetailDetail> tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue(), null != eBonusStageStatus ? eBonusStageStatus.getValue() : null);
packageThreeDetailMap(memberRangeExtMap, eBonusStage, tmpList);
});
}
@Override
public void listMemberRetailDetailByQuery(String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
List<Long> queryMemberList, EBonusStage eBonusStage) {
// 查询明细数据指定阶段未完成的
List<CuMemberRetailDetail> tmpDetailList = baseMapper.listMemberRetailDetail(retailDetailTableName, queryMemberList, eBonusStage.getValue(), EBonusStageStatus.NO.getValue());
packageThreeDetailMap(memberRangeExtMap, eBonusStage, tmpDetailList);
}
/**
* 封装三个明细map
*/
private void packageThreeDetailMap(Map<Long, CuMemberRetailRangeExt> memberRangeExtMap, EBonusStage eBonusStage, List<CuMemberRetailDetail> tmpDetailList) {
if (CollectionUtil.isNotEmpty(tmpDetailList)) {
// 明细数据放到对应的会员数据中
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailList) {
CuMemberRetailRangeExt cuMemberRetailRangeExt = memberRangeExtMap.get(cuMemberRetailDetail.getPkMember());
// 阶段一点位列表使用有序map为了后续业务处理方便
if (null == cuMemberRetailRangeExt.getOneDetailMap()) {
cuMemberRetailRangeExt.setOneDetailMap(new LinkedHashMap<>());
}
if (null == cuMemberRetailRangeExt.getTwoDetailMap()) {
cuMemberRetailRangeExt.setTwoDetailMap(new LinkedHashMap<>());
}
if (null == cuMemberRetailRangeExt.getThreeDetailMap()) {
cuMemberRetailRangeExt.setThreeDetailMap(new LinkedHashMap<>());
}
// 使用有序map为了后续业务处理方便
if (EBonusStage.ONE.getValue() == eBonusStage.getValue()) {
// 阶段一点位列表
cuMemberRetailRangeExt.getOneDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
} else if (EBonusStage.TWO.getValue() == eBonusStage.getValue()) {
// 阶段二点位列表
cuMemberRetailRangeExt.getTwoDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
} else if (EBonusStage.THREE.getValue() == eBonusStage.getValue()) {
// 阶段三点位列表
cuMemberRetailRangeExt.getThreeDetailMap().put(cuMemberRetailDetail.getChildNode(), cuMemberRetailDetail);
}
}
}
}
@Override
public void listChildRetailDetail(String rangeTableName, String retailDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap,
CuMemberRetailRangeExt sourceMember, EBonusStage eBonusStage) {
if (null != sourceMember.getChildRetailMap()) {
// 直推会员列表存在则直接结束
return;
}
sourceMember.setChildRetailMap(new LinkedHashMap<>());
// 会员直推数据
List<CuMemberRetailRangeExt> retailRangeList = cuMemberRetailRangeMapper.listChildRetail(rangeTableName, Collections.singletonList(sourceMember.getPkMember()));
if (CollectionUtil.isNotEmpty(retailRangeList)) {
// 直推数据列表
LinkedHashMap<Date, CuMemberRetailRangeExt> childRetailMap = sourceMember.getChildRetailMap();
List<Long> queryMemberList = new ArrayList<>();
for (CuMemberRetailRangeExt cuMemberRetailRangeExt : retailRangeList) {
CuMemberRetailRangeExt tmpMemberRetailRange = memberRangeExtMap.get(cuMemberRetailRangeExt.getPkMember());
if (null != tmpMemberRetailRange) {
// 直推会员已经存在
childRetailMap.put(tmpMemberRetailRange.getPayTime(), tmpMemberRetailRange);
} else {
// 直推会员不存在
childRetailMap.put(cuMemberRetailRangeExt.getPayTime(), cuMemberRetailRangeExt);
memberRangeExtMap.put(cuMemberRetailRangeExt.getPkMember(), cuMemberRetailRangeExt);
queryMemberList.add(cuMemberRetailRangeExt.getPkMember());
}
}
if (queryMemberList.size() > 0) {
List<List<?>> pkMemberList = cuMemberBonusSettle.handleCutList(queryMemberList, MagicNumberConstants.BATCH_QUERY_NUM);
pkMemberList.forEach(tmpIdList -> {
// 查询明细数据指定阶段未完成的
List<CuMemberRetailDetail> tmpList = baseMapper.listMemberRetailDetail(retailDetailTableName, tmpIdList, eBonusStage.getValue(), EBonusStageStatus.NO.getValue());
packageThreeDetailMap(memberRangeExtMap, eBonusStage, tmpList);
});
}
}
}
}

View File

@ -1,18 +1,12 @@
package com.hzs.bonus.achieve.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper;
import com.hzs.bonus.achieve.param.MemberAchieveParam;
import com.hzs.bonus.achieve.service.ICuMemberRetailRangeService;
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
import com.hzs.bonus.base.service.ICuMemberService;
import com.hzs.common.core.constant.MagicNumberConstants;
import com.hzs.common.core.enums.EAwardsType;
import com.hzs.common.domain.member.achieve.CuMemberRetailDetail;
import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -28,11 +22,9 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
@Autowired
private CuMemberBonusSettle cuMemberBonusSettle;
@Autowired
private ICuMemberTreeService iCuMemberTreeService;
@Override
public void mergeMemberRetailRangeByYesterday(String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) {
public void mergeMemberRetailRangeByYesterday(Date settleEndDate, String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) {
// 当天数据全部更新为0
baseMapper.mergeMemberRetailRangeInit(rangeTableName);
if (isSameMonth) {
@ -41,14 +33,8 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
} else {
baseMapper.mergeMemberRetailRangeByYesterday(rangeTableName, yesterdayRangeTableName, 1);
}
}
@Override
public void mergeMemberRetailRangeDetailByYesterday(String detailTableName, String yesterdayDetailTableName) {
// 清空当前明细表
iCuMemberTreeService.clearTable(detailTableName);
// 用昨天的数据初始化当前明细表
baseMapper.mergeMemberRetailRangeDetailByYesterday(detailTableName, yesterdayDetailTableName);
// 更新区域
baseMapper.mergeMemberRetailRegion(rangeTableName, settleEndDate);
}
@Override
@ -73,6 +59,11 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
return baseMapper.queryCuMemberRetailRangeExtByParent(tableName, pkParent);
}
@Override
public List<CuMemberRetailRangeExt> queryCuMemberRetailRangeEnoughAchieve(String tableName, Long pkParent, BigDecimal achievePv) {
return baseMapper.queryCuMemberRetailRangeEnoughAchieve(tableName, pkParent, achievePv);
}
@Override
public List<CuMemberRetailRangeExt> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember) {
// 查询伞上
@ -91,43 +82,47 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
}
@Override
public void updateCuMemberRetailDetail(String rangeDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap) {
Collection<CuMemberRetailDetail> retailDetailColl = new ArrayList<>();
memberRangeExtMap.forEach((key, value) -> {
if (null != value.getOneDetailMap() && value.getOneDetailMap().size() > 0) {
Collection<CuMemberRetailDetail> tmpDetailColl = value.getOneDetailMap().values();
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailColl) {
// 只有需要更新的才进行入库操作
if (null != cuMemberRetailDetail.getUpdateBool()) {
retailDetailColl.add(cuMemberRetailDetail);
}
}
}
if (null != value.getTwoDetailMap() && value.getTwoDetailMap().size() > 0) {
Collection<CuMemberRetailDetail> tmpDetailColl = value.getTwoDetailMap().values();
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailColl) {
// 只有需要更新的才进行入库操作
if (null != cuMemberRetailDetail.getUpdateBool()) {
retailDetailColl.add(cuMemberRetailDetail);
}
}
}
if (null != value.getThreeDetailMap() && value.getThreeDetailMap().size() > 0) {
Collection<CuMemberRetailDetail> tmpDetailColl = value.getThreeDetailMap().values();
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailColl) {
// 只有需要更新的才进行入库操作
if (null != cuMemberRetailDetail.getUpdateBool()) {
retailDetailColl.add(cuMemberRetailDetail);
}
}
}
});
List<List<?>> list = cuMemberBonusSettle.handleCutList(retailDetailColl);
list.forEach(tmpList -> {
if (CollectionUtil.isNotEmpty(tmpList)) {
baseMapper.mergeCuMemberRetailDetail(rangeDetailTableName, tmpList);
}
});
public void mergeCuMemberRetailRangeBySpecial(String settleTableName, Integer period) {
baseMapper.mergeCuMemberRetailRangeBySpecial(settleTableName, period);
}
@Override
public void mergeCuMemberRetailBackBoxBySpecial(String rangeTableName, String beforeTableName, Integer period) {
baseMapper.mergeCuMemberRetailBackBoxBySpecial(rangeTableName, beforeTableName, period);
}
@Override
public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByMemberPk(String settleTableName, Set<Long> serviceMemberSet) {
List<CuMemberRetailRangeExt> cuMemberSettleExtList = new ArrayList<>();
if (serviceMemberSet.size() > 0) {
// 做一下排序
List<Long> memberPkList = Arrays.asList(serviceMemberSet.toArray(new Long[]{}));
Collections.sort(memberPkList);
List<List<?>> listList = cuMemberBonusSettle.handleCutList(memberPkList, MagicNumberConstants.BATCH_QUERY_NUM);
listList.forEach(list ->
cuMemberSettleExtList.addAll(baseMapper.batchQueryMemberRetailRangeByMemberPk(settleTableName, list)));
}
return cuMemberSettleExtList;
}
@Override
public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByAwards(String rangeTableName) {
return baseMapper.batchQueryMemberRetailRangeByAwards(rangeTableName);
}
@Override
public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByParent(String rangeTableName, List<CuMemberRetailRangeExt> memberRetailRangeExtList) {
return baseMapper.batchQueryMemberRetailRangeByParent(rangeTableName, memberRetailRangeExtList);
}
@Override
public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByCounty(String rangeTableName) {
return baseMapper.batchQueryMemberRetailRangeByCounty(rangeTableName);
}
@Override
public List<CuMemberRetailRangeExt> batchQueryMemberRetailSecondRangeByCounty(String rangeTableName, String secondRangeTableName, Integer county) {
return baseMapper.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, county);
}
@Override
@ -149,70 +144,9 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
treeList.forEach(list -> baseMapper.mergeCuMemberSecondRange(secondTableName, list));
}
@Override
public List<CuMemberExt> findParentMemberList(Long pkMember) {
return baseMapper.findParentMemberList(pkMember);
}
@Override
public void updateMemberRetailSecondRangeSelf(String settleTableName, SaOrderExt orderExt, CuMember cuMember, Integer updateType, String symbol) {
baseMapper.updateMemberRetailSecondRangeSelf(settleTableName, orderExt, cuMember, updateType, symbol);
}
@Override
public void updateMemberRetailSecondRangeParent(String settleTableName, SaOrderExt orderExt, List<CuMemberExt> pkMemberList, Integer updateType, String symbol) {
baseMapper.updateMemberRetailSecondRangeParent(settleTableName, orderExt, pkMemberList, updateType, symbol);
}
@Override
public void initMemberRetailSecondRange(String tableName, CuMemberExt member) {
baseMapper.initMemberRetailSecondRange(tableName, member);
}
private List<List<?>> setUpdCuMemberTreeLists(Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap) {
List<CuMemberRetailRangeExt> cuMemberTreeList = new ArrayList<>();
cuMemberTreeMap.forEach((key, value) -> cuMemberTreeList.add(value));
return cuMemberBonusSettle.handleCutList(cuMemberTreeList);
}
@Override
public void updateMemberParentDate(String rangeTableName, Map<Long, MemberAchieveParam> memberAchieveHashMap) {
if (memberAchieveHashMap.size() == 0) {
return;
}
List<List<?>> listList = cuMemberBonusSettle.handleCutList(memberAchieveHashMap.values(), MagicNumberConstants.BATCH_UPDATE_NUM);
listList.forEach(list -> {
baseMapper.updateMemberParentDate(rangeTableName, list);
});
}
@Override
public List<CuMemberRetailRangeExt> queryEnoughAwardMember(String rangeTableName, BigDecimal totalCheck, Integer awardsValue) {
return baseMapper.queryEnoughAwardMember(rangeTableName, totalCheck, awardsValue);
}
@Override
public List<CuMemberRetailRangeExt> queryEnoughAwardPlaceMember(String rangeTableName, Integer awardsValue, BigDecimal totalCheck, Integer placeDeptNum,
Integer checkAwardsValue) {
return baseMapper.queryEnoughAwardPlaceMember(rangeTableName, awardsValue, totalCheck, placeDeptNum, checkAwardsValue);
}
@Override
public List<Integer> listChildAwards(String rangeTableName, Integer pkAwards, List<Long> childMemberList) {
List<Integer> checkList = new ArrayList<>();
List<List<?>> queryList = cuMemberBonusSettle.handleCutList(childMemberList, MagicNumberConstants.BATCH_QUERY_NUM);
queryList.forEach(tmpList -> {
List<Integer> tmpCheckList = baseMapper.listChildAwards(rangeTableName, pkAwards, tmpList);
if (tmpCheckList.size() > 0) {
checkList.addAll(tmpCheckList);
}
});
return checkList;
}
@Override
public void updateCuMemberAwardsByPeriod(String rangeTableName, Integer period) {
baseMapper.updateCuMemberAwardsByPeriod(rangeTableName, period, EAwardsType.RANGE_TYPE.getValue());
}
}

View File

@ -7,9 +7,11 @@ import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodDetailService;
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.common.core.constant.*;
import com.hzs.common.core.enums.EExpandCapMethod;
import com.hzs.common.core.enums.ESystemConfig;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.service.RedisService;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail;
import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt;
@ -17,6 +19,7 @@ import com.hzs.common.domain.system.base.BdCountry;
import com.hzs.bonus.achieve.mapper.CuMemberSettlePeriodMapper;
import com.hzs.bonus.achieve.param.MemberPeriodParam;
import com.hzs.system.base.ICountryServiceApi;
import com.hzs.system.base.ISystemConfigServiceApi;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -38,6 +41,8 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettleP
@DubboReference
ICountryServiceApi iCountryServiceApi;
@DubboReference
ISystemConfigServiceApi iSystemConfigServiceApi;
@Override
public void initCuMemberPeriod(String settleDate) {
@ -183,7 +188,15 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettleP
private void packageSettleCountry(List<Integer> weekSettleCountry, List<Integer> daySettleCountry) {
Map<Integer, BdCountry> allCountryMap = iCountryServiceApi.getAllCountryMap().getData();
daySettleCountry.addAll(allCountryMap.keySet());
for (Integer pkCountry : allCountryMap.keySet()) {
String value = iSystemConfigServiceApi.getBonusSystemConfig(pkCountry, ESystemConfig.EXPAND_CAP_METHOD.getKey()).getData();
// 周结
if (StringUtils.isNotEmpty(value) && Objects.equals(Integer.toString(EExpandCapMethod.WEEK_SETTLE.getValue()), value)) {
weekSettleCountry.add(pkCountry);
} else {
daySettleCountry.add(pkCountry);
}
}
}
@Override

View File

@ -5,6 +5,7 @@ import com.hzs.bonus.achieve.service.ICuMemberAchieveService;
import com.hzs.bonus.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.bonus.achieve.service.ICuMemberTreeService;
import com.hzs.common.core.constant.TableNameConstants;
import com.hzs.common.core.enums.EAwardsType;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.domain.member.achieve.CuMemberTree;
import com.hzs.bonus.achieve.mapper.CuMemberTreeMapper;
@ -37,11 +38,11 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
Integer number = baseMapper.queryExistOracleTable(settleTableName);
if (number == null || number <= 0) {
baseMapper.createCuMemberSettleTable(settleTableName);
// baseMapper.createCuMemberTreeDayOnlyIndex(settleTableName);
// baseMapper.createCuMemberTreeParentIndex(settleTableName);
// baseMapper.createCuMemberTreePlaceIndex(settleTableName);
baseMapper.createCuMemberTreeDayOnlyIndex(settleTableName);
baseMapper.createCuMemberTreeParentIndex(settleTableName);
baseMapper.createCuMemberTreePlaceIndex(settleTableName);
}
// 创建结算记录表
// 创建新零售级差结算记录表
String retailRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
number = baseMapper.queryExistOracleTable(retailRangeTableName);
if (number == null || number <= 0) {
@ -53,14 +54,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
if (number == null || number <= 0) {
baseMapper.insertCuMemberRetailRangeByMember(retailRangeTableName);
}
// 创建结算明细表
String retailRangeTableDetailName = TableNameConstants.CU_MEMBER_RETAIL_RANGE_DETAIL + period;
;
number = baseMapper.queryExistOracleTable(retailRangeTableDetailName);
if (number == null || number <= 0) {
baseMapper.createCuMemberRetailDetail(retailRangeTableDetailName);
baseMapper.createCuMemberRetailDetailMemberIndex(retailRangeTableDetailName);
}
// 创建月表记录表
createMonthTreeTableName(date);
@ -111,12 +104,20 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
@Override
public void updateBackCuMemberRetailRangeAward(String rangeTableName, Integer period) {
baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period);
baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.RANGE_TYPE.getValue());
baseMapper.updateBackCuMemberRetailRangeAward(rangeTableName, period, EAwardsType.SHARE_TYPE.getValue());
}
@Override
public void updateCuMemberRetailRangeAwardByDate(String rangeTableName, Date settleDate) {
baseMapper.updateCuMemberRetailRangeAwardByDate(rangeTableName, settleDate);
baseMapper.updateCuMemberRetailRangeAwardByDate(rangeTableName, settleDate, EAwardsType.RANGE_TYPE.getValue());
baseMapper.updateCuMemberRetailRangeAwardByDate(rangeTableName, settleDate, EAwardsType.SHARE_TYPE.getValue());
}
@Override
public void updateCuMemberRetailRangeInitAward(String rangeTableName) {
baseMapper.updateCuMemberRetailRangeInitAward(rangeTableName);
baseMapper.updateCuMemberRetailRangeInitV5Award(rangeTableName);
}
@Override
@ -124,11 +125,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
baseMapper.truncateCuMemberTreeTable(tableName);
}
@Override
public void clearTable(String tableName) {
baseMapper.clearTable(tableName);
}
@Override
public void createCuMemberTreeDayOnlyIndex(String tableName) {
baseMapper.createCuMemberTreeDayOnlyIndex(tableName);
@ -144,5 +140,4 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
baseMapper.createCuMemberTreePlaceIndex(tableName);
}
}

View File

@ -3,9 +3,11 @@ package com.hzs.bonus.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.detail.CuMemberAwards;
import com.hzs.common.domain.member.detail.CuMemberGrade;
import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.vertex.BdVertexBonus;
import org.apache.ibatis.annotations.Param;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@ -14,12 +16,28 @@ import java.util.List;
*/
public interface CuMemberMapper extends BaseMapper<CuMember> {
CuMember getByPkId(@Param("pkId") Serializable id);
/**
* 查询登录会员以及状态
*
* @param memberCode 会员编号
* @param pkMember 会员主键
* @return
*/
CuMemberExt queryLoginMember(@Param("memberCode") String memberCode, @Param("pkMember") Long pkMember);
/**
* 更新会员奖衔
* 更新会员奖衔根据临时表
*/
int updateCuMemberAwardsByPeriod(@Param("period") Integer period, @Param("awardType") Integer awardType);
int updateCuMemberRetailAwardsByPeriod(@Param("period") Integer period, @Param("awardType") Integer awardType);
/**
* 更新会员最高奖衔
*
* @param period
* @param awardType
* @return
*/
int updateCuMemberMaxAwardsByPeriod(@Param("period") Integer period, @Param("awardType") Integer awardType);
/**
* 更新会员奖衔根据临时表
@ -32,12 +50,57 @@ public interface CuMemberMapper extends BaseMapper<CuMember> {
/**
* 更新会员奖衔根据临时表
*
* @param cuMemberGradeList 修改奖衔的会员
*/
void updateBackCuMemberRetailRangeAward(@Param("period") Integer period);
int updateCuMemberMinGradeByList(@Param("cuMemberGradeList") List<CuMemberGrade> cuMemberGradeList, @Param("period") Integer period);
/**
* 更新会员的等级
*/
Integer updateCuMemberGrade(@Param("period") Integer period);
/**
* 查询会员等级
*/
void updateCuMemberLevel(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
/**
* 更新会员的等级会员表
*/
Integer updateCuMemberGradeByList(@Param("cuMemberGradeList") List<CuMemberGrade> cuMemberGradeList, @Param("period") Integer period);
/**
* 更新会员奖衔根据临时表
*/
void updateCuMemberRetailRangeAwardByDate(@Param("settleDate") Date settleDate);
void updateBackCuMemberRetailRangeAward(@Param("period") Integer period, @Param("awardType") Integer awardType);
/**
* 更新会员奖衔根据临时表
*/
void updateCuMemberRetailRangeAwardByDate(@Param("settleDate") Date settleDate, @Param("awardType") Integer awardType);
/**
* 初始化会员奖衔
*/
void updateCuMemberRetailRangeInitAward();
/**
* 初始化会员V5奖衔
*/
void updateCuMemberRetailRangeInitV5Award();
/**
* 查询可以分享的会员人数
*/
List<CuMember> queryCuMemberShareTotal(Integer pkCountry);
/**
* 查询体系奖项列表
*
* @param pkMember
* @return
*/
List<BdVertexBonus> listVertexBonus(@Param("pkMember") Long pkMember);
}

Some files were not shown because too many files have changed in this diff Show More