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; import java.util.List;
/** /**
* 业务办理扣费 * 业务办理扣费
* @Description:
* @Author: ljc
* @Time: 2023/1/7 15:38
* @Classname: IBusinessCommission
* @Package_name: com.hzs.member.account
*/ */
public interface IBusinessCommission { public interface IBusinessCommission {

View File

@ -1,21 +1,31 @@
package com.hzs.member.account; package com.hzs.member.account;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EApproveStatus;
import com.hzs.member.account.dto.BusinessCommissionDTO; import com.hzs.member.account.dto.BusinessCommissionDTO;
/** /**
* 会员交易明细API * @description: 会员交易明细API
* @author: zhang jing
* @date: 2023/7/28 14:37
* @param:
* @return:
**/ **/
public interface ICuMemberTradeServiceApi { 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); 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); 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.common.core.domain.R;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO; 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 { public interface IMemberAccountAuditServiceApi {

View File

@ -9,7 +9,11 @@ import java.math.BigDecimal;
import java.util.List; 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 { public interface IMemberAccountServiceApi {
@ -17,6 +21,9 @@ public interface IMemberAccountServiceApi {
* 查询会员账户状态账户信息 * 查询会员账户状态账户信息
* *
* @param cuMemberAccount 会员账户条件信息 * @param cuMemberAccount 会员账户条件信息
* @return: List<CuMemberAccountExt>
* @Author: sui q
* @Date: 2022/9/5 11:57
*/ */
R<List<CuMemberAccountExt>> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount); R<List<CuMemberAccountExt>> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount);
@ -24,9 +31,21 @@ public interface IMemberAccountServiceApi {
* 根据会员id 列表查询账户信息 * 根据会员id 列表查询账户信息
* *
* @param pkMemberList 列表 * @param pkMemberList 列表
* @return: List<CuMemberAccount>
* @Author: sui q
* @Date: 2023/3/25 16:28
*/ */
R<List<CuMemberAccount>> queryCuMemberAccountByPkMembers(List<Long> pkMemberList); 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); 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); 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; 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 { public interface IMemberBankServiceApi {
/** /**
* 添加银行卡信息 * 添加银行卡信息
* *
@ -15,5 +18,4 @@ public interface IMemberBankServiceApi {
* @return R * @return R
*/ */
R addBankInfo(CuMemberBankParam cuMemberBankParam); R addBankInfo(CuMemberBankParam cuMemberBankParam);
} }

View File

@ -1,12 +1,20 @@
package com.hzs.member.account; package com.hzs.member.account;
import com.hzs.common.core.domain.R; 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 { public interface IMemberJobServiceApi {
/** /**
* 定时插入账户详情数据 * 定时插入账户详情数据
* *
@ -14,14 +22,30 @@ public interface IMemberJobServiceApi {
*/ */
R insertAccountDetail(); R insertAccountDetail();
/**
* 自动提现
*
* @return
*/
R automaticWithdrawal();
/**
* 查询充值金额总和
*
* @param startDate 开始时暗
* @param endDate 结速时间
* @return R<CuMemberRecharge>
*/
R<CuMemberRecharge> selectRechargeTotalAmount(Date startDate, Date endDate);
/** /**
* 自动清理垃圾数据 * 自动清理垃圾数据
* CU_MEMBER_AWARDS * CU_MEMBER_AWARDS
* CU_MEMBER_LEVEL * CU_MEMBER_LEVEL
* CU_MEMBER_GRADE * CU_MEMBER_GRADE
*
* @return * @return
*/ */
R autoDeleteGarbageData(); 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.core.enums.EApproveOperation;
import com.hzs.common.domain.member.account.CuMemberRecharge; import com.hzs.common.domain.member.account.CuMemberRecharge;
import com.hzs.common.domain.member.account.CuMemberTrade; 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.BusinessCommissionDTO;
import com.hzs.member.account.dto.MemberBalanceDTO; 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 { public interface IMemberTradeServiceApi {
/**
* 会员端在线支付 回调插入交易流水更新余额
*
* @param rechargeCode 充值单号
* @return R
*/
R saveMemberOnlineTradeAndAccount(String rechargeCode);
/** /**
* 会员端在线支付更新审批状态 * 会员端在线支付更新审批状态
@ -32,7 +47,6 @@ public interface IMemberTradeServiceApi {
* @return R * @return R
*/ */
R<CuMemberRecharge> selectMemberRechargeByCodeAndPkMember(String rechargeCode, Long pkMember); R<CuMemberRecharge> selectMemberRechargeByCodeAndPkMember(String rechargeCode, Long pkMember);
/** /**
* 查询余额不足的用户信息 * 查询余额不足的用户信息
* *
@ -49,4 +63,14 @@ public interface IMemberTradeServiceApi {
*/ */
R<Boolean> businessCommissionSubmit(BusinessCommissionDTO businessCommissionDTO); 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 @Data
@Builder @Builder

View File

@ -1,5 +1,6 @@
package com.hzs.member.account.dto; package com.hzs.member.account.dto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -7,7 +8,12 @@ import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
/** /**
* <p>
* 会员信息-银行卡信息 * 会员信息-银行卡信息
* </p>
*
* @author hzs
* @since 2022-08-31
*/ */
@Data @Data
@AllArgsConstructor @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 @Data
@AllArgsConstructor @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 @Data
@AllArgsConstructor @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; package com.hzs.member.base;
import com.hzs.common.core.domain.R; 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.base.dto.CuMemberAchieveLogDTO;
import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam; import com.hzs.member.handlebusiness.dto.AnalysisBusinessAppealParam;
import java.util.List; import java.util.List;
/** /**
* 特殊业务-注水业绩 * @description: 特殊业务-注水业绩
* @author: zhang jing
* @date: 2023/3/28 16:41
* @param:
* @return:
**/ **/
public interface ICuMemberAchieveLogServiceApi { 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.core.domain.R;
import com.hzs.common.domain.member.base.CuMember; 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.CuMemberAccountExt;
import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.member.ext.CuMemberExt;
import com.hzs.common.domain.sale.ext.SaOrderExt; import com.hzs.common.domain.sale.ext.SaOrderExt;
@ -29,14 +30,6 @@ public interface IMemberServiceApi {
*/ */
R<LoginMember> getMemberInfo(String memberCode); R<LoginMember> getMemberInfo(String memberCode);
/**
* 通过会员编码查询分享会员信息
*
* @param memberCode 会员编号
* @return
*/
R<LoginMember> getShareMemberInfo(String memberCode);
/** /**
* 根据会员ID获取会员信息查库 * 根据会员ID获取会员信息查库
* *
@ -95,6 +88,28 @@ public interface IMemberServiceApi {
* 撤销会员账户余额 * 撤销会员账户余额
**/ **/
R<Boolean> cancelMemberAccount(Long pkMember, SaOrder saOrder); 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); 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<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); 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); 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); R<Boolean> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
/**
* 校验是否血缘关系返回true则有血缘关系
*
* @param topCode 顶点编号
* @param userId 当前会员
* @return
*/
R<Boolean> checkParent(String topCode, Long userId);
/** /**
* 获取奖衔的翻译KEY值 * 获取奖衔的翻译KEY值
**/ **/
@ -356,12 +407,4 @@ public interface IMemberServiceApi {
*/ */
R<String> checkRegisterRelation(String phone, String parentCode); 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<Boolean> checkVertex(Integer pkVertex);
/*
* 根据主键获得所属团队
**/
R<CuMemberTeamExt> getCuMemberTeamById(Long pkMember);
/** /**
* 查询体系团队map * 查询体系团队map
* *

View File

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

View File

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

View File

@ -1,7 +1,6 @@
package com.hzs.member.base.dto; package com.hzs.member.base.dto;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.domain.member.base.CuMemberShare;
import com.hzs.common.domain.member.ext.CuMemberExt; import com.hzs.common.domain.member.ext.CuMemberExt;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
@ -64,11 +63,6 @@ public class LoginMember implements Serializable {
*/ */
private CuMemberExt cuMember; 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.core.domain.R;
import com.hzs.common.domain.member.detail.CuMemberServiceLog; 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; import java.util.List;
public interface ICuMemberServiceLogServiceApi { public interface ICuMemberServiceLogServiceApi {
@ -47,4 +50,43 @@ public interface ICuMemberServiceLogServiceApi {
*/ */
R<Boolean> updateByBusinessNo(CuMemberServiceLog memberLog); 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); 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.activity.dto.AcRecommendUpgradeDTO;
import com.hzs.common.core.domain.R; 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 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<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; import java.util.List;
/** /**
* 销售订单-明细表 * @Description: 销售订单-明细表
* @Author: zhangjing
* @Time: 2023/11/16 20:06
* @Classname: ISaOrderItemsServiceApi
* @PackageName: com.hzs.sale.order.dto
*/ */
public interface ISaOrderItemsServiceApi { 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); 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); 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.core.domain.R;
import com.hzs.common.domain.member.ext.CuMemberAccountExt; 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.SaOrderExt;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.common.domain.sale.order.SaOrderItems; import com.hzs.common.domain.sale.order.SaOrderItems;
import com.hzs.sale.order.dto.*; import com.hzs.sale.order.dto.*;
@ -17,6 +19,33 @@ import java.util.List;
*/ */
public interface ISaOrderServiceApi { 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(); void closeOrder();
/*
* 查询订单某段时间累计金额累计业绩
**/
R<SaOrder> queryOrderTotalAchieveByTime(Date startDate, Date endDate);
/** /**
* 查询指定数量会员SEQ * 查询指定数量会员SEQ
* *

View File

@ -7,7 +7,11 @@ import java.math.BigDecimal;
import java.util.List; 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 { public interface IPostageServiceApi {

View File

@ -1,8 +1,26 @@
package com.hzs.sale.product; package com.hzs.sale.product;
import com.hzs.common.core.domain.R; 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.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 { public interface IProductServiceApi {
/** /**
@ -13,6 +31,14 @@ public interface IProductServiceApi {
*/ */
R<ProductDTO> getProduct(Integer productId); 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 * @return
*/ */
R<ProductDTO> getProduct(String productCode); 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.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/11/15 17:53
* @Classname: ProductDTO
* @PackageName: com.hzs.sale.product.dto
*/
@Data @Data
public class ProductDTO implements Serializable { 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; 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 { public interface ISaleApprovalServiceApi {
@ -13,9 +17,13 @@ public interface ISaleApprovalServiceApi {
* 提供销售模块统一的审核回调方法 * 提供销售模块统一的审核回调方法
* *
* @param approvalBusinessResultDTO * @param approvalBusinessResultDTO
* @return: void
* @Author: sui q
* @Date: 2022/10/22 14:48
*/ */
R<Boolean> approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO); R<Boolean> approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/** /**
* 销售模块签呈查询 * 销售模块签呈查询
* *
@ -26,4 +34,5 @@ public interface ISaleApprovalServiceApi {
*/ */
R queryApprovalData(EApprovalBusiness eApprovalBusiness, String businessCode, String toLanguageTag); 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; 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 { public interface ITicketServiceApi {

View File

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

View File

@ -5,8 +5,14 @@ import com.hzs.system.base.dto.ApprovalPushInfoDTO;
import java.util.List; import java.util.List;
/**
* @Description:
* @Author: ljc
* @Time: 2023/4/5 21:29
* @Classname: IApprovalPushInfo
* @Package_name: com.hzs.system.base
*/
public interface IApprovalPushInfo { public interface IApprovalPushInfo {
/** /**
* 审批推送站内信信息 * 审批推送站内信信息
* *
@ -14,5 +20,4 @@ public interface IApprovalPushInfo {
* @return R * @return R
*/ */
R approvalPushInfo(List<ApprovalPushInfoDTO> approvalPushInfoDTOList); 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.core.domain.R;
import com.hzs.common.domain.system.base.BdArea; 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 com.hzs.system.base.dto.AreaDTO;
import java.util.List; import java.util.List;
@ -44,4 +46,9 @@ public interface IAreaServiceApi {
*/ */
R<?> updateArea(List<AreaDTO> provinceDTOList); 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; import java.util.List;
/** /**
* 条码服务接口 * @Description: 条码服务接口
* @Author: jiang chao
* @Time: 2022/11/2 11:46
* @Classname: IBarCodeServiceApi
* @PackageName: com.hzs.system.base
*/ */
public interface IBarCodeServiceApi { public interface IBarCodeServiceApi {

View File

@ -1,7 +1,10 @@
package com.hzs.system.base; package com.hzs.system.base;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.base.BdCubasdoc;
import com.hzs.common.domain.system.base.BdStorehouse; 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 com.hzs.system.base.dto.CurrencyDTO;
import java.util.Collection; import java.util.Collection;
@ -43,6 +46,11 @@ public interface ICurrencyServiceApi {
*/ */
R<BdStorehouse> queryBdStorehouseByProvince(Integer province, Integer... type); R<BdStorehouse> queryBdStorehouseByProvince(Integer province, Integer... type);
/**
* 根据省查询对应的发货仓库
*/
R<BdStorehouse> queryBdStorehouseById(Integer pkId);
/** /**
* 根据省查询对应的发货仓库 * 根据省查询对应的发货仓库
* *
@ -63,4 +71,23 @@ public interface ICurrencyServiceApi {
*/ */
R<List<CurrencyDTO>> findAll(); 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.common.core.domain.R;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO; 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 { public interface INoticeAuditServiceApi {

View File

@ -18,6 +18,18 @@ public interface ISystemConfigServiceApi {
*/ */
R<String> getBonusSystemConfig(Integer pkCountry, String key); 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.domain.R;
import com.hzs.common.core.enums.ETransactionKey; import com.hzs.common.core.enums.ETransactionKey;
import com.hzs.common.core.enums.EYesNo; import com.hzs.common.core.enums.EYesNo;
import com.hzs.system.base.dto.TransactionDTO;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -14,6 +15,27 @@ import java.util.Set;
*/ */
public interface ITransactionServiceApi { 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读取缓存翻译 * 根据key读取缓存翻译
* *
@ -50,6 +72,7 @@ public interface ITransactionServiceApi {
*/ */
R<Map<Integer, String>> readTransactionListDataBase(Collection<Integer> pkIdList, String toLocal); 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); 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 * 创建国际化翻译写入缓存上传OSS
* *
@ -82,6 +116,7 @@ public interface ITransactionServiceApi {
*/ */
R<Integer> createTransaction(Integer pkCountry, ETransactionKey key, String content, EYesNo cacheFlag, EYesNo uploadFlag); R<Integer> createTransaction(Integer pkCountry, ETransactionKey key, String content, EYesNo cacheFlag, EYesNo uploadFlag);
/** /**
* 移除国际化翻译根据ID * 移除国际化翻译根据ID
* *
@ -90,6 +125,15 @@ public interface ITransactionServiceApi {
*/ */
R<Boolean> removeTransactionByPkId(List<Long> pkIdList); 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); 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; 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 { public interface IAreaCurrencyServiceApi {
@ -15,6 +19,9 @@ public interface IAreaCurrencyServiceApi {
* 根据条件查询国家的所有币种 * 根据条件查询国家的所有币种
* *
* @param pkCountry 国家 * @param pkCountry 国家
* @return: R<List < AreaCurrencyDTO>>
* @Author: sui q
* @Date: 2022/9/6 10:37
*/ */
R<List<AreaCurrencyDTO>> queryAreaCurrencyByPkCountry(Integer pkCountry); R<List<AreaCurrencyDTO>> queryAreaCurrencyByPkCountry(Integer pkCountry);
@ -23,6 +30,9 @@ public interface IAreaCurrencyServiceApi {
* *
* @param specialArea 所属专区 * @param specialArea 所属专区
* @param pkCountry 国家 * @param pkCountry 国家
* @return: R<List < AreaCurrencyDTO>>
* @Author: sui q
* @Date: 2022/9/6 10:37
*/ */
R<List<AreaCurrencyDTO>> queryAreaCurrencyByCondition(Integer specialArea, Integer pkCountry); R<List<AreaCurrencyDTO>> queryAreaCurrencyByCondition(Integer specialArea, Integer pkCountry);
@ -36,7 +46,10 @@ public interface IAreaCurrencyServiceApi {
R<List<AreaCurrencyDTO>> queryMemberCurrency(Integer specialArea, Long userId); 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); 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; 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 { public interface IAreaFreePostageServiceApi {

View File

@ -25,4 +25,12 @@ public interface IAwardsServiceApi {
* 根据国家获取该国家的奖衔 * 根据国家获取该国家的奖衔
*/ */
R<Map<String, BdAwards>> getAwards(); 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); 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); 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.common.core.domain.R;
import com.hzs.system.config.dto.LabelConfigDTO; 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 { public interface ILabelServiceApi {
/** /**
* 根据ID查询标签信息 * 根据ID查询标签信息
* *
@ -16,4 +23,12 @@ public interface ILabelServiceApi {
*/ */
R<LabelConfigDTO> getByPkId(Integer labelId); 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; package com.hzs.system.config;
import com.hzs.common.core.domain.R; 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.common.domain.system.config.ext.BdRangeExt;
import com.hzs.system.config.dto.RangeDTO; import com.hzs.system.config.dto.RangeDTO;
@ -8,21 +9,41 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* 根据国家查询极差配置列表api * @description: 根据国家查询极差配置列表api
* @author: zhang jing
* @date: 2022/9/29 15:31
* @param:
* @return:
**/ **/
public interface IRangeServiceApi { 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); 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 pkCountry 国家
* @param rangeType 极差类型 * @param rangeType 极差类型
* @param pkLevel 等级 * @param pkLevel 等级
* @return: Map<String, RangeDTO>
* @Author: sui q
* @Date: 2023/1/3 14:00
*/ */
R<RangeDTO> queryRangeDtoByCondition(Integer pkCountry, Integer rangeType, Integer pkLevel); 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); 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.core.domain.R;
import com.hzs.common.domain.system.config.BdTransfer; 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 { 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); R<BdTransfer> queryTransfer(Integer pkCountry);
} }

View File

@ -5,6 +5,13 @@ import com.hzs.system.config.dto.VertexDTO;
import java.util.List; import java.util.List;
/**
* @Description:
* @Author: yuhui
* @Time: 2022/11/16 15:55
* @Classname: IVertexServiceApi
* @PackageName: com.hzs.sale.vertex
*/
public interface IVertexServiceApi { 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.core.domain.R;
import com.hzs.common.domain.system.config.BdWithdrawalProcess; 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 { 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); 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.core.domain.R;
import com.hzs.common.domain.system.config.BdWithdrawal; 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 { 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; package com.hzs.system.config;
import com.hzs.common.core.domain.R; 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 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 { public interface IWithdrawalTaxServiceApi {
/** /**
* 根据国家查询个税明细 * @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); R<BdWithdrawalTaxExt> queryWithdrawalTax(Integer pkCountry);
} }

View File

@ -1,6 +1,7 @@
package com.hzs.system.config.dto; package com.hzs.system.config.dto;
import com.hzs.common.domain.bonus.BdBonusDeduct; 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.*;
import com.hzs.common.domain.system.config.ext.BdBonusItemsExt; import com.hzs.common.domain.system.config.ext.BdBonusItemsExt;
import com.hzs.system.sys.dto.BdCurrencyDTO; import com.hzs.system.sys.dto.BdCurrencyDTO;
@ -26,14 +27,51 @@ public class BonusConfigDTO implements Serializable {
*/ */
private Map<String, BdBonusItemsExt> bonusItemsExtMap; private Map<String, BdBonusItemsExt> bonusItemsExtMap;
/**
* 循环配置 key 第一个键国家主键 +等级第二个键 循环类型 EBonusType
*/
private Map<String, BonusDirectLoopDTO> bonusDirectLoopDtoMap;
/** /**
* 直推奖励配置 key 第一个键国家主键 第二个键 range_type+pk_level * 直推奖励配置 key 第一个键国家主键 第二个键 range_type+pk_level
*/ */
private Map<String, BonusDirectDTO> bonusDirectDtoMap; 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; private List<BdAwards> awardsList;
/** /**
@ -41,4 +79,9 @@ public class BonusConfigDTO implements Serializable {
*/ */
private Map<Integer, BdBonusDeduct> bonusDeductsMap; 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.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
* @Description:
* @Author: sui q
* @Time: 2022/11/14 16:38
* @Classname: BonusDifferenceDTO
* @PackageName: com.hzs.system.config.dto
*/
@Data @Data
public class BonusDifferenceDTO implements Serializable { public class BonusDifferenceDTO implements Serializable {

View File

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

View File

@ -6,7 +6,12 @@ import java.io.Serializable;
import java.math.BigDecimal; 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 @Data
public class BonusRepurchasePushDTO implements Serializable { public class BonusRepurchasePushDTO implements Serializable {

View File

@ -11,7 +11,11 @@ import java.math.BigDecimal;
import java.util.List; 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 @Data
@Builder @Builder

View File

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

View File

@ -3,11 +3,17 @@ package com.hzs.system.sys;
import com.hzs.common.core.domain.R; import com.hzs.common.core.domain.R;
import com.hzs.system.sys.dto.CubasdocDTO; 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 { public interface ICubasdocApi {
/** /**
* 根据id 查询 * 根据id 查询
*
* @return * @return
*/ */
R<CubasdocDTO> getCubasdoc(Integer pkCubasdoc); R<CubasdocDTO> getCubasdoc(Integer pkCubasdoc);

View File

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

View File

@ -4,7 +4,11 @@ import com.hzs.common.core.domain.R;
import com.hzs.common.domain.system.sys.SysOperationLog; 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 { 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 { public interface IBankCardServiceApi {
/** /**
* 银行卡四要素验证 * 银行卡四要素验证
* *
* @param bankCardParam 银行卡入参 * @param bankCardParam 银行卡入参
* @return R * @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 @Data
@Builder @Builder
@ -22,10 +28,12 @@ public class BankCardParam implements Serializable {
* 姓名 * 姓名
*/ */
private String name; private String name;
/** /**
* 身份证号 * 身份证号
*/ */
private String idCard; private String idCard;
/** /**
* 手机号 * 手机号
*/ */

View File

@ -3,7 +3,11 @@ package com.hzs.third.delivery;
import com.hzs.third.delivery.dto.DeliveryDTO; 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 { public interface IDeliveryServiceApi {

View File

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

View File

@ -10,7 +10,11 @@ import java.util.Date;
import java.util.List; 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 @Data
@Builder @Builder

View File

@ -4,7 +4,11 @@ import com.hzs.common.core.domain.R;
import com.hzs.third.pay.dto.RefundDTO; 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 { public interface IRefundServiceApi {

View File

@ -4,7 +4,11 @@ import com.hzs.common.core.domain.R;
import com.hzs.third.share.dto.ShareServiceDTO; 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 { public interface IShareServiceApi {

View File

@ -18,16 +18,4 @@ public interface ISmsServiceApi {
*/ */
R<String> sendAliSms(String phone, String code, EAliSmsTemplate aliSmsTemplate); 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> <groupId>com.bd</groupId>
<artifactId>bd-common-aop</artifactId> <artifactId>bd-common-aop</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.bd</groupId> <groupId>com.bd</groupId>
<artifactId>bd-api-bonus</artifactId> <artifactId>bd-api-bonus</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.bd</groupId>
<artifactId>bd-api-report</artifactId>
</dependency>
<!-- rabbit mq --> <!-- rabbit mq -->
<dependency> <dependency>
<groupId>org.springframework.amqp</groupId> <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.EOperationMethod;
import com.hzs.common.core.enums.EOperationModule; import com.hzs.common.core.enums.EOperationModule;
import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.controller.BaseController;
import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.domain.AjaxResult;
import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.core.web.page.TableDataInfo;
@ -36,6 +37,8 @@ public class CuMemberSettleController extends BaseController {
@Autowired @Autowired
private ICuMemberBonusService iCuMemberBonusService; private ICuMemberBonusService iCuMemberBonusService;
@Autowired @Autowired
private IBonusSettleService iBonusSettleService;
@Autowired
private ICuMemberTreeService iCuMemberTreeService; private ICuMemberTreeService iCuMemberTreeService;
@Autowired @Autowired
private ICuMemberSettlePeriodService iCuMemberSettlePeriodService; private ICuMemberSettlePeriodService iCuMemberSettlePeriodService;
@ -45,6 +48,8 @@ public class CuMemberSettleController extends BaseController {
/** /**
* 初始化奖金结算表 * 初始化奖金结算表
*
* @return AjaxResult
*/ */
@GetMapping("/init-table") @GetMapping("/init-table")
public AjaxResult initTable(String settleDate) { public AjaxResult initTable(String settleDate) {
@ -54,6 +59,8 @@ public class CuMemberSettleController extends BaseController {
/** /**
* 初始化奖金结算表 * 初始化奖金结算表
*
* @return AjaxResult
*/ */
@GetMapping("/init-period") @GetMapping("/init-period")
public AjaxResult initPeriod(String settleDate) { public AjaxResult initPeriod(String settleDate) {
@ -63,6 +70,8 @@ public class CuMemberSettleController extends BaseController {
/** /**
* 奖金计算 - 重新结算 * 奖金计算 - 重新结算
*
* @return AjaxResult
*/ */
@GetMapping("/settle-bonus") @GetMapping("/settle-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.INSERT) @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") @GetMapping("/publish-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.PUBLISH) @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") @GetMapping("/no-publish-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.NO_PUBLISH) @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") @GetMapping("/grant-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.GRANT) @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") @GetMapping("/grant-temp-bonus")
public AjaxResult grantTempBonus(Integer pkCountry, String settleDate) { public AjaxResult grantTempBonus(Integer pkCountry, String settleDate) {
@ -128,6 +145,8 @@ public class CuMemberSettleController extends BaseController {
/** /**
* 发放奖金 * 发放奖金
*
* @return AjaxResult
*/ */
@GetMapping("/grant-bonus_all") @GetMapping("/grant-bonus_all")
public AjaxResult grantBonusAll() { public AjaxResult grantBonusAll() {
@ -137,6 +156,8 @@ public class CuMemberSettleController extends BaseController {
/** /**
* 奖金提现 * 奖金提现
*
* @return AjaxResult
*/ */
@GetMapping("/withdrawal-bonus") @GetMapping("/withdrawal-bonus")
@Log(module = EOperationModule.BONUS_SETTLE, business = EOperationBusiness.BONUS_SETTLE, method = EOperationMethod.WITHDRAWAL) @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.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.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.achieve.CuMemberRetailRange; import com.hzs.common.domain.member.achieve.CuMemberRetailRange;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; 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 org.apache.ibatis.annotations.Param;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -29,10 +27,41 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
@Param("isSameMonth") Integer isSameMonth); @Param("isSameMonth") Integer isSameMonth);
/** /**
* 将昨天的结算明细迁移到今天 * 更新区域
*/ */
void mergeMemberRetailRangeDetailByYesterday(@Param("detailTableName") String detailTableName, void mergeMemberRetailRegion(@Param("rangeTableName") String rangeTableName, @Param("settleDate") Date settleDate);
@Param("yesterdayDetailTableName") String yesterdayDetailTableName);
/**
* 根据订单查询出网体中记录的会员数据推荐人安置人
*
* @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); 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> 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,查询极差秒接表 * 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表
*/ */
@ -85,77 +114,22 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
void mergeCuMemberSecondRange(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList); void mergeCuMemberSecondRange(@Param("secondTableName") String secondTableName, @Param("cuMemberRangeExtList") List<?> cuMemberRangeExtList);
/** /**
* 更新会员日结数据 * 批量更新网体
*/ */
void mergeCuMemberRetailRangeExt(@Param("rangeTableName") String rangeTableName, @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 * @param settleTableName 结算日期
* @return * @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 mergeCuMemberRetailBackBoxBySpecial(@Param("rangeTableName") String rangeTableName,
@Param("beforeTableName") String beforeTableName,
/** @Param("period") Integer period);
* 更新上级秒结
*/
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);
} }

View File

@ -21,26 +21,12 @@ public interface CuMemberTreeMapper extends BaseMapper<CuMemberTree> {
void createCuMemberTreeTable(String tableName); void createCuMemberTreeTable(String tableName);
/** /**
* 创建会员结算记录表按照日记录每天一条 * 创建会员网体结算记录表按照日记录每天一条记录30天的
* *
* @param tableName 日期 * @param tableName 日期
*/ */
void createCuMemberSettleTable(String 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 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); 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; package com.hzs.bonus.achieve.service;
import com.baomidou.mybatisplus.extension.service.IService; 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.CuMemberRetailRange;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; 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 com.hzs.common.domain.sale.ext.SaOrderExt;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; 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 mergeMemberRetailRangeByYesterday(Date settleEndDate, String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth);
/**
* 将昨天的结算明细迁移到今天
*/
void mergeMemberRetailRangeDetailByYesterday(String detailTableName, String yesterdayDetailTableName);
/** /**
* 根据会员查询会员上的所有网体, 按照pkParent作为key * 根据会员查询会员上的所有网体, 按照pkParent作为key
@ -37,6 +31,11 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
*/ */
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeExtByParent(String tableName, Long pkParent); List<CuMemberRetailRangeExt> queryCuMemberRetailRangeExtByParent(String tableName, Long pkParent);
/**
* 查询推荐人伞下满足
*/
List<CuMemberRetailRangeExt> queryCuMemberRetailRangeEnoughAchieve(String tableName, Long pkParent, BigDecimal achievePv);
/** /**
* 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表 * 根据会员查询会员上的所有网体, 按照pkParent作为key,查询极差秒接表
*/ */
@ -48,14 +47,55 @@ public interface ICuMemberRetailRangeService extends IService<CuMemberRetailRang
List<CuMemberRetailRangeExt> queryCuMemberSecondRangeExtByParent(String rangeTableName, String secondTableName, Long pkMember); List<CuMemberRetailRangeExt> queryCuMemberSecondRangeExtByParent(String rangeTableName, String secondTableName, Long pkMember);
/** /**
* 更新会员日结数据 * 更新会员树的累计业绩
*
* @param settleTableName 结算日期
* @param cuMemberTreeMap
*/ */
void updateCuMemberRetailRange(String settleTableName, Map<Long, CuMemberRetailRangeExt> 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 * @param cuMemberTreeMap
*/ */
void updateCuMemberSecondRange(String secondTableName, Map<Long, CuMemberRetailRangeExt> 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 updateCuMemberRetailRangeAwardByDate(String rangeTableName, Date settleDate);
/**
* 初始化期间奖衔
*/
void updateCuMemberRetailRangeInitAward(String rangeTableName);
/** /**
* 删除日表数据 * 删除日表数据
* *
@ -56,11 +61,6 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
*/ */
void truncateCuMemberTreeTable(String tableName); void truncateCuMemberTreeTable(String tableName);
/**
* 清除表数据
*/
void clearTable(String tableName);
/** /**
* 创建会员网体推荐人索引 * 创建会员网体推荐人索引
* *
@ -82,5 +82,4 @@ public interface ICuMemberTreeService extends IService<CuMemberTree> {
*/ */
void createCuMemberTreePlaceIndex(String tableName); 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.CuMemberAchieve;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
import com.hzs.common.domain.sale.order.SaOrder; 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.mapper.CuMemberAchieveMapper;
import com.hzs.bonus.achieve.param.MemberAchieveParam; import com.hzs.bonus.achieve.param.MemberAchieveParam;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -17,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.*;
/** /**
@ -26,11 +28,22 @@ import java.util.*;
@Service @Service
public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMapper, CuMemberAchieve> implements ICuMemberAchieveService { public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMapper, CuMemberAchieve> implements ICuMemberAchieveService {
@Autowired
private ICuMemberTreeService cuMemberTreeService; private ICuMemberTreeService cuMemberTreeService;
@Autowired
private ICuMemberSettlePeriodService cuMemberSettlePeriodService; 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 @Override
public String createCuMemberAchieve(String date) { public String createCuMemberAchieve(String date) {
@ -79,6 +92,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
.newRealPv(BigDecimal.ZERO) .newRealPv(BigDecimal.ZERO)
.build(); .build();
if (Objects.equals(EOrderType.REGISTER_ORDER.getValue(), saOrder.getOrderType()) || 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())) { Objects.equals(EOrderType.FICTITIOUS_ORDER.getValue(), saOrder.getOrderType())) {
cuMemberAchieve.setNewAmount(saOrder.getOrderAmount()); cuMemberAchieve.setNewAmount(saOrder.getOrderAmount());
cuMemberAchieve.setNewPv(saOrder.getOrderAchieve()); cuMemberAchieve.setNewPv(saOrder.getOrderAchieve());
@ -86,15 +100,15 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
cuMemberAchieve.setRepNewAmount(saOrder.getOrderAmount()); cuMemberAchieve.setRepNewAmount(saOrder.getOrderAmount());
cuMemberAchieve.setRepNewPv(saOrder.getOrderAchieve()); cuMemberAchieve.setRepNewPv(saOrder.getOrderAchieve());
} }
// String payTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrder.getPayTime()); String payTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, saOrder.getPayTime());
// int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(payTime).getPkId(); int period = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(payTime).getPkId();
// String sourceTable = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(payTime); String sourceTable = TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(payTime);
// for (int i = 7; i > 0; i--) { for (int i = 7; i > 0; i--) {
// String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(i, ChronoUnit.DAYS)); String settleDate = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(i, ChronoUnit.DAYS));
// int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId(); int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
// String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod; String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod;
// baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve); baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve);
// } }
return Boolean.TRUE; return Boolean.TRUE;
} }

View File

@ -3,7 +3,10 @@ package com.hzs.bonus.achieve.service.impl;
import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.MagicNumberConstants;
import org.springframework.stereotype.Component; 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()); List<?> oriList = Arrays.asList(baseEntityList.toArray());
return handleCutList(oriList, batchNum); 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; package com.hzs.bonus.achieve.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.bonus.achieve.mapper.CuMemberRetailRangeMapper; 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.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.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.CuMemberRetailRange;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt; 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 com.hzs.common.domain.sale.ext.SaOrderExt;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,11 +22,9 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
@Autowired @Autowired
private CuMemberBonusSettle cuMemberBonusSettle; private CuMemberBonusSettle cuMemberBonusSettle;
@Autowired
private ICuMemberTreeService iCuMemberTreeService;
@Override @Override
public void mergeMemberRetailRangeByYesterday(String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) { public void mergeMemberRetailRangeByYesterday(Date settleEndDate, String rangeTableName, String yesterdayRangeTableName, Boolean isSameMonth) {
// 当天数据全部更新为0 // 当天数据全部更新为0
baseMapper.mergeMemberRetailRangeInit(rangeTableName); baseMapper.mergeMemberRetailRangeInit(rangeTableName);
if (isSameMonth) { if (isSameMonth) {
@ -41,14 +33,8 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
} else { } else {
baseMapper.mergeMemberRetailRangeByYesterday(rangeTableName, yesterdayRangeTableName, 1); baseMapper.mergeMemberRetailRangeByYesterday(rangeTableName, yesterdayRangeTableName, 1);
} }
} // 更新区域
baseMapper.mergeMemberRetailRegion(rangeTableName, settleEndDate);
@Override
public void mergeMemberRetailRangeDetailByYesterday(String detailTableName, String yesterdayDetailTableName) {
// 清空当前明细表
iCuMemberTreeService.clearTable(detailTableName);
// 用昨天的数据初始化当前明细表
baseMapper.mergeMemberRetailRangeDetailByYesterday(detailTableName, yesterdayDetailTableName);
} }
@Override @Override
@ -73,6 +59,11 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
return baseMapper.queryCuMemberRetailRangeExtByParent(tableName, pkParent); return baseMapper.queryCuMemberRetailRangeExtByParent(tableName, pkParent);
} }
@Override
public List<CuMemberRetailRangeExt> queryCuMemberRetailRangeEnoughAchieve(String tableName, Long pkParent, BigDecimal achievePv) {
return baseMapper.queryCuMemberRetailRangeEnoughAchieve(tableName, pkParent, achievePv);
}
@Override @Override
public List<CuMemberRetailRangeExt> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember) { public List<CuMemberRetailRangeExt> queryCuMemberSecondRangeParent(String rangeTableName, String secondTableName, Long pkMember) {
// 查询伞上 // 查询伞上
@ -91,43 +82,47 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
} }
@Override @Override
public void updateCuMemberRetailDetail(String rangeDetailTableName, Map<Long, CuMemberRetailRangeExt> memberRangeExtMap) { public void mergeCuMemberRetailRangeBySpecial(String settleTableName, Integer period) {
Collection<CuMemberRetailDetail> retailDetailColl = new ArrayList<>(); baseMapper.mergeCuMemberRetailRangeBySpecial(settleTableName, period);
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);
} }
@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)));
} }
if (null != value.getTwoDetailMap() && value.getTwoDetailMap().size() > 0) { return cuMemberSettleExtList;
Collection<CuMemberRetailDetail> tmpDetailColl = value.getTwoDetailMap().values();
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailColl) {
// 只有需要更新的才进行入库操作
if (null != cuMemberRetailDetail.getUpdateBool()) {
retailDetailColl.add(cuMemberRetailDetail);
} }
@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);
} }
if (null != value.getThreeDetailMap() && value.getThreeDetailMap().size() > 0) {
Collection<CuMemberRetailDetail> tmpDetailColl = value.getThreeDetailMap().values(); @Override
for (CuMemberRetailDetail cuMemberRetailDetail : tmpDetailColl) { public List<CuMemberRetailRangeExt> batchQueryMemberRetailRangeByCounty(String rangeTableName) {
// 只有需要更新的才进行入库操作 return baseMapper.batchQueryMemberRetailRangeByCounty(rangeTableName);
if (null != cuMemberRetailDetail.getUpdateBool()) {
retailDetailColl.add(cuMemberRetailDetail);
} }
}
} @Override
}); public List<CuMemberRetailRangeExt> batchQueryMemberRetailSecondRangeByCounty(String rangeTableName, String secondRangeTableName, Integer county) {
List<List<?>> list = cuMemberBonusSettle.handleCutList(retailDetailColl); return baseMapper.batchQueryMemberRetailSecondRangeByCounty(rangeTableName, secondRangeTableName, county);
list.forEach(tmpList -> {
if (CollectionUtil.isNotEmpty(tmpList)) {
baseMapper.mergeCuMemberRetailDetail(rangeDetailTableName, tmpList);
}
});
} }
@Override @Override
@ -149,70 +144,9 @@ public class CuMemberRetailRangeServiceImpl extends ServiceImpl<CuMemberRetailRa
treeList.forEach(list -> baseMapper.mergeCuMemberSecondRange(secondTableName, list)); 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) { private List<List<?>> setUpdCuMemberTreeLists(Map<Long, CuMemberRetailRangeExt> cuMemberTreeMap) {
List<CuMemberRetailRangeExt> cuMemberTreeList = new ArrayList<>(); List<CuMemberRetailRangeExt> cuMemberTreeList = new ArrayList<>();
cuMemberTreeMap.forEach((key, value) -> cuMemberTreeList.add(value)); cuMemberTreeMap.forEach((key, value) -> cuMemberTreeList.add(value));
return cuMemberBonusSettle.handleCutList(cuMemberTreeList); 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.bonus.achieve.service.ICuMemberSettlePeriodService;
import com.hzs.common.core.constant.*; import com.hzs.common.core.constant.*;
import com.hzs.common.core.enums.EExpandCapMethod; 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.enums.EYesNo;
import com.hzs.common.core.service.RedisService; import com.hzs.common.core.service.RedisService;
import com.hzs.common.core.utils.DateUtils; import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriod;
import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail; import com.hzs.common.domain.member.achieve.CuMemberSettlePeriodDetail;
import com.hzs.common.domain.member.achieve.ext.CuMemberSettlePeriodExt; 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.mapper.CuMemberSettlePeriodMapper;
import com.hzs.bonus.achieve.param.MemberPeriodParam; import com.hzs.bonus.achieve.param.MemberPeriodParam;
import com.hzs.system.base.ICountryServiceApi; import com.hzs.system.base.ICountryServiceApi;
import com.hzs.system.base.ISystemConfigServiceApi;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -38,6 +41,8 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettleP
@DubboReference @DubboReference
ICountryServiceApi iCountryServiceApi; ICountryServiceApi iCountryServiceApi;
@DubboReference
ISystemConfigServiceApi iSystemConfigServiceApi;
@Override @Override
public void initCuMemberPeriod(String settleDate) { public void initCuMemberPeriod(String settleDate) {
@ -183,7 +188,15 @@ public class CuMemberSettlePeriodServiceImpl extends ServiceImpl<CuMemberSettleP
private void packageSettleCountry(List<Integer> weekSettleCountry, List<Integer> daySettleCountry) { private void packageSettleCountry(List<Integer> weekSettleCountry, List<Integer> daySettleCountry) {
Map<Integer, BdCountry> allCountryMap = iCountryServiceApi.getAllCountryMap().getData(); 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 @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.ICuMemberSettlePeriodService;
import com.hzs.bonus.achieve.service.ICuMemberTreeService; import com.hzs.bonus.achieve.service.ICuMemberTreeService;
import com.hzs.common.core.constant.TableNameConstants; 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.core.utils.DateUtils;
import com.hzs.common.domain.member.achieve.CuMemberTree; import com.hzs.common.domain.member.achieve.CuMemberTree;
import com.hzs.bonus.achieve.mapper.CuMemberTreeMapper; import com.hzs.bonus.achieve.mapper.CuMemberTreeMapper;
@ -37,11 +38,11 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
Integer number = baseMapper.queryExistOracleTable(settleTableName); Integer number = baseMapper.queryExistOracleTable(settleTableName);
if (number == null || number <= 0) { if (number == null || number <= 0) {
baseMapper.createCuMemberSettleTable(settleTableName); baseMapper.createCuMemberSettleTable(settleTableName);
// baseMapper.createCuMemberTreeDayOnlyIndex(settleTableName); baseMapper.createCuMemberTreeDayOnlyIndex(settleTableName);
// baseMapper.createCuMemberTreeParentIndex(settleTableName); baseMapper.createCuMemberTreeParentIndex(settleTableName);
// baseMapper.createCuMemberTreePlaceIndex(settleTableName); baseMapper.createCuMemberTreePlaceIndex(settleTableName);
} }
// 创建结算记录表 // 创建新零售级差结算记录表
String retailRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period; String retailRangeTableName = TableNameConstants.CU_MEMBER_RETAIL_RANGE + period;
number = baseMapper.queryExistOracleTable(retailRangeTableName); number = baseMapper.queryExistOracleTable(retailRangeTableName);
if (number == null || number <= 0) { if (number == null || number <= 0) {
@ -53,14 +54,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
if (number == null || number <= 0) { if (number == null || number <= 0) {
baseMapper.insertCuMemberRetailRangeByMember(retailRangeTableName); 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); createMonthTreeTableName(date);
@ -111,12 +104,20 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
@Override @Override
public void updateBackCuMemberRetailRangeAward(String rangeTableName, Integer period) { 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 @Override
public void updateCuMemberRetailRangeAwardByDate(String rangeTableName, Date settleDate) { 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 @Override
@ -124,11 +125,6 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
baseMapper.truncateCuMemberTreeTable(tableName); baseMapper.truncateCuMemberTreeTable(tableName);
} }
@Override
public void clearTable(String tableName) {
baseMapper.clearTable(tableName);
}
@Override @Override
public void createCuMemberTreeDayOnlyIndex(String tableName) { public void createCuMemberTreeDayOnlyIndex(String tableName) {
baseMapper.createCuMemberTreeDayOnlyIndex(tableName); baseMapper.createCuMemberTreeDayOnlyIndex(tableName);
@ -144,5 +140,4 @@ public class CuMemberTreeServiceImpl extends ServiceImpl<CuMemberTreeMapper, CuM
baseMapper.createCuMemberTreePlaceIndex(tableName); baseMapper.createCuMemberTreePlaceIndex(tableName);
} }
} }

View File

@ -3,9 +3,11 @@ package com.hzs.bonus.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.detail.CuMemberAwards; 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 org.apache.ibatis.annotations.Param;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -14,12 +16,28 @@ import java.util.List;
*/ */
public interface CuMemberMapper extends BaseMapper<CuMember> { 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