## 活动合并到销售服务;

This commit is contained in:
cabbage 2025-08-09 10:06:34 +08:00
parent 613c4d703e
commit 58e6fbdc20
58 changed files with 152 additions and 1566 deletions

View File

@ -21,6 +21,7 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 会员服务接口
*/
@ -245,11 +246,6 @@ public interface IMemberServiceApi {
**/
R<Boolean> updateCuMemberAccountByDraw(CuMemberAccountExt cuMemberAccountExt, BigDecimal payMoney);
/*
* 会员抽奖购买抽奖次数支付金额
**/
R<Boolean> updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
/**
* 查询会员memberCode是否存在于安置第一层
*

View File

@ -5,11 +5,7 @@ import com.hzs.common.core.enums.EApprovalBusiness;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* @Description: 活动审批相关服务入口
* @Author: jiang chao
* @Time: 2023/4/24 16:25
* @Classname: IActivityApprovalServiceApi
* @PackageName: com.hzs.activity
* 活动审批相关服务入口
*/
public interface IActivityApprovalServiceApi {

View File

@ -1,74 +1,31 @@
package com.hzs.activity.base;
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrderItems;
import java.util.List;
/**
* @description: 所有活动的生效获得赠品入口
* @author: sui q
* @time: 2023/4/25 17:54
* @classname: IActivityGiftServiceApi
* @package_name: com.hzs.activity.base
* version 1.0.0
* 所有活动的生效获得赠品入口
*/
public interface IActivityServiceApi {
/*
* @description: 活动赠送商品买赠订单业绩买赠
* @author: sui q
* @date: 2023/4/25 18:06
* @param: null null
* 活动赠送商品买赠订单业绩买赠
**/
R<List<BdWaresDetailExt>> generateActivityGiftWaresAchieve(Integer specialArea, Integer pkCountry, List<BdWaresDetailExt> bdWaresDetailExtList);
/**
* 注册赠送处理
*
* @param saOrderExt
* @param specialArea
* @param pkGrade
* @param pkCountry
* @return
*/
R<List<SaOrderItems>> handleRegistGift(SaOrderExt saOrderExt, Integer specialArea, Integer pkGrade, Integer pkCountry);
/*
* @description: 处理活动
* @author: sui q
* @date: 2023/5/29 15:20
* @param: null null
* 处理活动
**/
R<Boolean> handleActivity(SaOrderExt saOrderExt);
/*
* @description: 赠送抽奖次数
* @author: sui q
* @date: 2023/4/28 13:43
* @param: null null
**/
R<Boolean> giveMemberDrawNum(SaOrderExt saOrderExt);
/*
* @description: 撤单时回退抽奖次数
* @author: sui q
* @date: 2023/5/9 9:46
* @param: null null
* 撤单时回退抽奖次数
**/
R<Boolean> backGiveMemberDrawNum(SaOrderExt saOrderExt);
/**
* 调用调用直推升级接口
*
* @param recommendUpgradeDTO 入参
* @return Boolean
*/
R<Boolean> invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO);
/**
* 撤单退回政策币
*

View File

@ -6,12 +6,7 @@ import java.io.Serializable;
import java.math.BigDecimal;
/**
* <p>
* 新人礼包活动礼包产品信息DOT
* </p>
*
* @author hzs
* @since 2023-04-26
*/
@Data
public class AcPeopleGiftProductDTO implements Serializable {

View File

@ -1,6 +1,5 @@
package com.hzs.activity.dto;
import com.hzs.common.core.enums.EOrderOperateStatus;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import lombok.AllArgsConstructor;
@ -12,12 +11,6 @@ import java.io.Serializable;
/**
* 直推-升级DTO
*
* @Description:
* @Author: ljc
* @Time: 2023/4/26 10:27
* @Classname: AcRepurchaseCouponsDTO
* @Package_name: com.hzs.activity.recommend.dto
*/
@Data
@Builder

View File

@ -3,11 +3,7 @@ package com.hzs.activity.other;
import com.hzs.common.core.domain.R;
/**
* @Description: 其它活动dubbo接口
* @Author: jiang chao
* @Time: 2024/1/18 11:37
* @Classname: IAcOtherServiceApi
* @PackageName: com.hzs.activity.other
* 其它活动dubbo接口
*/
public interface IAcOtherServiceApi {
@ -16,6 +12,6 @@ public interface IAcOtherServiceApi {
*
* @return
*/
R acOtherPriceHandle();
R<?> acOtherPriceHandle();
}

View File

@ -7,39 +7,12 @@ import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.List;
/**
* @description: 新人礼包活动-保存业务数据
* @author: zhang jing
* @date: 2023/5/8 9:53
* @param:
* @return:
* 新人礼包活动-保存业务数据
**/
public interface IAcPeopleServiceServiceApi {
/**
* @description: 新人礼包活动匹配活动规则保存业务数据
* @author: zhang jing
* @date: 2023/5/8 9:55
* @param: [saOrderExt]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> mateRule(SaOrderExt saOrderExt);
/**
* @description: 新人礼包领取礼包
* @author: zhang jing
* @date: 2023/5/10 15:06
* @param: pkBaseId 活动主键
* pkMember 会员id
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
R<Boolean> peoplePick(Long pkBaseId, Long pkMember);
/**
* @description: 根据活动规则查询礼包产品信息
* @author: zhang jing
* @date: 2023/5/10 15:16
* @param: [新人礼包规则id pkNewPeople]
* @return: com.hzs.common.core.domain.R<java.util.List < com.hzs.activity.dto.AcPeopleGiftProductDTO>>
* 根据活动规则查询礼包产品信息
**/
R<List<AcPeopleGiftProductDTO>> getGiftPackProductList(Long pkNewPeople);

View File

@ -1,19 +1,12 @@
package com.hzs.activity.pick;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.activity.pick.AcPick;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.List;
/**
* @Description: 提货相关dubbo服务入口
* @Author: jiang chao
* @Time: 2023/5/15 11:20
* @Classname: IAcPickServiceApi
* @PackageName: com.hzs.activity.base
* 提货相关dubbo服务入口
*/
public interface IAcPickServiceApi {
@ -24,15 +17,7 @@ public interface IAcPickServiceApi {
* @param orderCode 订单编号
* @return
*/
R handlePickOrder(Long pkMember, String orderCode);
/*
* @description: 更新提货单
* @author: sui q
* @date: 2023/5/30 19:49
* @param: null null
**/
R<Boolean> updatePickUse(List<AcPickExt> acPickExtList, Integer signSource, List<AcPickMemberLog> acPickMemberLogList);
R<?> handlePickOrder(Long pkMember, String orderCode);
/**
* 查询提货列表
@ -44,20 +29,4 @@ public interface IAcPickServiceApi {
*/
R<List<AcPickExt>> queryList(Long pkMember, Integer pickType, Integer pkCountry);
/*
* @description: 查询会员提货使用记录
* @author: sui q
* @date: 2023/6/3 10:51
* @param: null null
**/
R<List<AcPickMemberLog>> queryPickMemberLog(List<SaOrderExt> saOrderExtList);
/**
* 添加提货
*
* @param acPick
* @return
*/
R<Boolean> createAndUpdatePick(AcPick acPick);
}

View File

@ -14,9 +14,6 @@ import java.util.List;
/**
* 会员账户信息 服务类
*
* @author hzs
* @since 2022-08-11
*/
public interface ICuMemberAccountService extends IService<CuMemberAccount> {
@ -24,9 +21,6 @@ public interface ICuMemberAccountService extends IService<CuMemberAccount> {
* 查询会员账户状态账户信息
*
* @param cuMemberAccount 会员账户条件信息
* @return: List<CuMemberAccountExt>
* @Author: sui q
* @Date: 2022/9/5 11:57
*/
List<CuMemberAccountExt> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount);
@ -62,9 +56,6 @@ public interface ICuMemberAccountService extends IService<CuMemberAccount> {
*
* @param cuMemberAccount 会员账户表
* @param pkModified 修改人
* @return: Boolean
* @Author: sui q
* @Date: 2022/9/21 21:42
*/
Boolean updateMemberAccount(CuMemberAccount cuMemberAccount, Long pkModified);
@ -80,9 +71,6 @@ public interface ICuMemberAccountService extends IService<CuMemberAccount> {
* 根据会员id 列表查询账户信息
*
* @param pkMemberList 列表
* @return: List<CuMemberAccount>
* @Author: sui q
* @Date: 2023/3/25 16:28
*/
List<CuMemberAccount> queryCuMemberAccountByPkMembers(List<Long> pkMemberList);
@ -157,7 +145,7 @@ public interface ICuMemberAccountService extends IService<CuMemberAccount> {
* @param memberCodes 用户编号
* @return List<CuMemberAccountVO>
*/
List<CuMemberWalletDetailVO> queryMemberAccountAllByMemberCodes(List<String> memberCodes,Integer pkCountry);
List<CuMemberWalletDetailVO> queryMemberAccountAllByMemberCodes(List<String> memberCodes, Integer pkCountry);
/**
@ -263,9 +251,6 @@ public interface ICuMemberAccountService extends IService<CuMemberAccount> {
* 奖金发放根据期间发放奖金更新奖金余额
*
* @param startPeriod 期间
* @return: void
* @Author: sui q
* @Date: 2023/3/21 14:12
*/
void updateMemberAccountGrantByPeriod(Integer pkCountry, Integer startPeriod, Integer endPeriod);
@ -273,9 +258,6 @@ public interface ICuMemberAccountService extends IService<CuMemberAccount> {
* 奖金可提现根据期间更新可提现金额减少可消费金额
*
* @param startPeriod 期间
* @return: void
* @Author: sui q
* @Date: 2023/3/21 14:12
*/
void updateMemberAccountWithdrawalByPeriod(Integer startPeriod, Integer endPeriod, Integer pkCountry);
@ -314,9 +296,6 @@ public interface ICuMemberAccountService extends IService<CuMemberAccount> {
* @param pkMember 会员账户
* @param pkApprove 审核人
* @param currentDateTime 当前时间
* @return: void
* @Author: sui q
* @Date: 2023/3/21 14:12
*/
void deleteCuMemberAccountByPkMember(Long pkMember, Long pkApprove, Date currentDateTime);

View File

@ -251,15 +251,6 @@ public class MemberServiceProvider implements IMemberServiceApi {
}
}
@Override
public R<Boolean> updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt) {
try {
return R.ok(iCuMemberBusinessService.updateCuMemberAccountByDraw(payNum, acDrawRewardNumExt));
} catch (Exception e) {
return R.fail();
}
}
@Override
public R<Boolean> getMemberPlaceParent(Integer pkPlaceParent, String memberCode) {
return R.ok(iCuMemberService.getMemberPlaceParent(pkPlaceParent, memberCode));

View File

@ -14,11 +14,7 @@ import java.util.List;
import java.util.Map;
/**
* @Description: 会员服务需要保存不同的表
* @Author: sui q
* @Time: 2022/9/13 9:19
* @Classname: ICuMemberBusinessService
* @PackageName: com.hzs.member.base.service
* 会员服务需要保存不同的表
*/
public interface ICuMemberBusinessService {
@ -26,9 +22,6 @@ public interface ICuMemberBusinessService {
* 更新用户信息信息
*
* @param cuMember 会员
* @return: void
* @Author: sui q
* @Date: 2022/9/26 11:33
*/
void updateCuMember(CuMember cuMember);
@ -38,9 +31,6 @@ public interface ICuMemberBusinessService {
* @param cuMember 会员信息
* @param saOrder 订单信息
* @param cuMemberAccountExt 会员账户信息
* @return: Boolean
* @Author: sui q
* @Date: 2022/9/26 11:35
*/
Boolean saveMember(CuMember cuMember, SaOrderExt saOrder, CuMemberAccountExt cuMemberAccountExt);
@ -51,17 +41,11 @@ public interface ICuMemberBusinessService {
* @param saOrder 订单信息
* @param isPay 是否支付
* @param cuMemberAccountExt 支付账号
* @return: R<Integer>
* @Author: sui q
* @Date: 2022/9/9 9:39
*/
Boolean saveMember(CuMember cuMember, SaOrderExt saOrder, Boolean isPay, CuMemberAccountExt cuMemberAccountExt);
/*
* @description: 保存分享会员直接上树生成账户
* @author: sui q
* @date: 2023/8/15 15:07
* @param: null null
* 保存分享会员直接上树生成账户
**/
Boolean saveShareMember(CuMember cuMember);
@ -70,17 +54,11 @@ public interface ICuMemberBusinessService {
*
* @param cuMember 会员信息
* @param saOrder 订单信息
* @return: R<Integer>
* @Author: sui q
* @Date: 2022/9/9 9:39
*/
Boolean saveMember(CuMember cuMember, SaOrder saOrder);
/*
* @description: 在线支付修改记录
* @author: sui q
* @date: 2023/5/16 10:47
* @param: null null
* 在线支付修改记录
**/
Boolean saveMemberOnLineTrade(CuMember cuMember, SaOrder saOrder, CuMemberAccountExt cuMemberAccountExt);
@ -88,9 +66,6 @@ public interface ICuMemberBusinessService {
* 插入充值记录
*
* @param saOrderExt 订单
* @return: CuMemberAccountExt
* @Author: sui q
* @Date: 2023/3/23 16:00
*/
CuMemberAccountExt insertMemberRecharge(SaOrder saOrderExt);
@ -107,9 +82,6 @@ public interface ICuMemberBusinessService {
*
* @param pkApprove 审核人
* @param saOrder 销售订单
* @return: Boolean
* @Author: sui q
* @Date: 2022/10/22 16:43
*/
Boolean singleRevokeMemberByRegisterOrder(Long pkApprove, SaOrderExt saOrder, BusinessCommissionDTO businessCommissionDTO);
@ -119,9 +91,6 @@ public interface ICuMemberBusinessService {
* @param pkApprove 审核人
* @param memberList 会员lieb
* @param saOrderMap 销售订单
* @return: Boolean
* @Author: sui q
* @Date: 2022/10/22 16:43
*/
Boolean mergeRevokeMemberByRegisterOrder(Long pkApprove, List<Long> memberList, Map<Long, SaOrderExt> saOrderMap, BusinessCommissionDTO businessCommissionDTO);
@ -131,9 +100,6 @@ public interface ICuMemberBusinessService {
* @param pkApprove 审核人
* @param saOrder 订单
* @param cuMember 升级订单
* @return: R<Boolean>
* @Author: sui q
* @Date: 2023/3/25 14:13
*/
Boolean normalRevokeOrder(Long pkApprove, SaOrderExt saOrder, CuMember cuMember, List<Long> pkOrderItemList, BusinessCommissionDTO businessCommissionDTO);
@ -142,9 +108,6 @@ public interface ICuMemberBusinessService {
*
* @param pkApprove 发起人
* @param saOrder 订单 backOrderAmount 需要填写回退的金额
* @return: void
* @Author: sui q
* @Date: 2023/3/30 15:40
*/
void cancelPartOrderBackAmount(Long pkApprove, SaOrderExt saOrder);
@ -167,30 +130,16 @@ public interface ICuMemberBusinessService {
void orderReturnMember(List<Long> pkMemberList, Long userId);
/*
* @description: 会员编号账户类型抽奖金额
* @author: sui q
* @date: 2023/4/25 16:31
* @param: null null
* 会员编号账户类型抽奖金额
**/
Boolean updateCuMemberAccountByDraw(Long pkMember, Integer pkCountry, Integer accountValue, BigDecimal rewardMoney);
/*
* @description: 会员抽奖购买抽奖次数支付金额
* @author: sui q
* @date: 2023/4/27 15:54
* @param: null null
* 会员抽奖购买抽奖次数支付金额
**/
Boolean updateCuMemberAccountByDraw(CuMemberAccountExt cuMemberAccountExt, BigDecimal payMoney);
/*
* @description: 会员抽奖购买抽奖次数支付金额
* @author: sui q
* @date: 2023/4/27 15:54
* @param: null null
**/
Boolean updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
/**
* 更新用户等级
*
@ -212,10 +161,7 @@ public interface ICuMemberBusinessService {
Boolean updateMemberLevel(CuMember cuMember, Integer pkOldLevel, EUpgradeType eUpgradeType, String remark);
/*
* @description: 查询会员的安置位置
* @author: sui q
* @date: 2023/8/15 13:58
* @param: null null
* 查询会员的安置位置
**/
CuMember queryCuMemberPlaceDept(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve);

View File

@ -17,7 +17,6 @@ import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.core.utils.TransactionUtils;
import com.hzs.common.core.utils.reflect.ReflectUtils;
import com.hzs.common.domain.activity.draw.ext.AcDrawRewardNumExt;
import com.hzs.common.domain.member.account.CuMemberAccount;
import com.hzs.common.domain.member.account.CuMemberTrade;
import com.hzs.common.domain.member.account.CuMemberTradeBonus;
@ -63,11 +62,7 @@ import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 会员服务需要保存不同的表, 用于处理服务内的事务
* @Author: sui q
* @Time: 2022/9/13 9:26
* @Classname: CuMemberBusinessServiceImpl
* @PackageName: com.hzs.member.base.service.impl
* 会员服务需要保存不同的表, 用于处理服务内的事务
*/
@Slf4j
@Service
@ -199,9 +194,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
* @param cuMember 会员信息
* @param saOrder 订单信息
* @param cuMemberAccountExt 会员账户信息
* @return: Boolean
* @Author: sui q
* @Date: 2022/9/26 11:35
*/
@Override
@Transactional(rollbackFor = Exception.class)
@ -255,14 +247,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
}
/**
* 保存奖衔
*
* @param cuMember 会员
* @param levelType 升级类型
* @param saOrder 订单
* @param pkOldLevel 原等级
* @Description: 保存奖衔
* @return: void
* @Author: sui q
* @Date: 2023/3/25 17:20
*/
private Boolean saveLevelUpgrade(CuMember cuMember, Integer levelType, SaOrder saOrder, Integer pkOldLevel) {
// 记录升级历史
@ -280,14 +270,12 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
}
/**
* 保存奖衔, 升级送奖项默认免考
*
* @param cuMember 会员
* @param levelType 升级类型
* @param saOrder 订单
* @param pkOldAwards 会员
* @Description: 保存奖衔, 升级送奖项默认免考
* @return: void
* @Author: sui q
* @Date: 2023/3/25 17:20
*/
private void saveAwardsUpgrade(CuMember cuMember, Integer levelType, SaOrder saOrder, Integer pkOldAwards) {
// 记录奖衔升级历史
@ -373,11 +361,9 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
}
/**
* 保存会员账户信息
*
* @param cuMember 会员
* @Description: 保存会员账户信息
* @return: void
* @Author: sui q
* @Date: 2023/3/15 18:36
*/
private void saveMemberAccount(CuMember cuMember) {
// 新会员生成账户保存账户
@ -475,12 +461,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
}
/**
* 插入充值记录trade
*
* @param saOrder 订单编号
* @param bdAccount 账户
* @Description: 插入充值记录trade
* @return: CuMemberAccountExt
* @Author: sui q
* @Date: 2023/3/23 16:08
*/
private CuMemberAccountExt insertRechargeTrade(SaOrder saOrder, BdAccount bdAccount) {
// 扣款 扣款信息
@ -511,12 +495,10 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
}
/**
* 插入会员的交易明细
*
* @param saOrder 订单
* @param cuMemberAccount 账户
* @Description: 插入会员的交易明细
* @return: void
* @Author: sui q
* @Date: 2022/9/13 15:12
*/
@Transactional(rollbackFor = Exception.class)
@Override
@ -648,9 +630,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
*
* @param updateMemberAccount 账户
* @throws RuntimeException 抛出异常
* @return: void
* @Author: sui q
* @Date: 2023/3/16 14:16
*/
private void updateCuMemberAccount(CuMemberAccount updateMemberAccount) {
Long pkMember = updateMemberAccount.getPkMember();
@ -792,26 +771,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
return Boolean.TRUE;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt) {
CuMemberAccount cuMemberAccount = CuMemberAccount.builder().pkMember(acDrawRewardNumExt.getPkMember()).build();
cuMemberAccount.setPkCountry(acDrawRewardNumExt.getPkCountry());
List<CuMemberAccountExt> cuMemberAccountExtList = cuMemberAccountService.queryMemberAccountByCondition(cuMemberAccount);
if (cuMemberAccountExtList.size() == 0) {
throw new RuntimeException("没有找到会员账户");
}
BigDecimal payMoney = ComputeUtil.computeMultiply(acDrawRewardNumExt.getPayMoney(), payNum);
CuMemberAccountExt cuMemberAccountExt = cuMemberAccountExtList.get(0);
// 在线支付
// packageActivityTrade(cuMemberAccountExt.getPkMember(), cuMemberAccountExt.getPkCountry(), EAccount.CASH.getValue(),
// payMoney, cuMemberAccountExt.getAccount2(), ETradeType.RECHARGE_DRAW_PAY_NUMBER, ETradeClassify.RECHARGE.getValue());
cuMemberAccountExt.setAccount2(ComputeUtil.computeAdd(cuMemberAccount.getAccount2(), payMoney));
// packageActivityTrade(cuMemberAccountExt.getPkMember(), cuMemberAccountExt.getPkCountry(), EAccount.CASH.getValue(),
// payMoney.negate(), cuMemberAccountExt.getAccount2(), ETradeType.DRAW_PAY_NUMBER, ETradeClassify.CONSUME.getValue());
return Boolean.TRUE;
}
/**
* 插销订单回退给创建人金额
*
@ -875,10 +834,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
}
/**
* @Description: 撤销订单回退奖金账户金额
* @return: void
* @Author: sui q
* @Date: 2023/3/30 15:32
* 撤销订单回退奖金账户金额
*/
private void revokeBonusAccount(Long pkApprove, SaOrder saOrder, CuMemberAccount payMemberAccount,
List<CuMemberTradeBonus> newCuMemberTradeBonusList, List<CuMemberTradeDetail> cuMemberTradeDetailList,

View File

@ -1,7 +1,6 @@
package com.hzs.activity.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.activity.people.vo.AcBaseConfigVO;
import com.hzs.common.domain.activity.base.AcBaseConfig;
import com.hzs.common.domain.activity.base.ext.AcBaseConfigExt;
import org.apache.ibatis.annotations.Param;
@ -10,25 +9,11 @@ import java.util.List;
/**
* 活动基本配置表 Mapper 接口
*
* @author hzs
* @since 2023-04-20
*/
public interface AcBaseConfigMapper extends BaseMapper<AcBaseConfig> {
/**
* 根据活动类型查询基本配置
*
* @param baseConfigVO 基本活动配置
* @return List<AcBaseConfig>
*/
List<AcBaseConfig> selectBaseConfigByType(AcBaseConfigVO baseConfigVO);
/**
* @description: 会员前端查询活动列表
* @author: sui q
* @date: 2023/4/27 9:20
* @param: null null
* 会员前端查询活动列表
*/
List<AcBaseConfigExt> queryBaseConfigList(@Param("pkCountry") Integer pkCountry, @Param("pkMember") Long pkMember);

View File

@ -34,11 +34,7 @@ import java.util.ArrayList;
import java.util.List;
/**
* @Description: 活动审批相关服务
* @Author: jiang chao
* @Time: 2023/4/24 16:27
* @Classname: ActivityApprovalServiceProvider
* @PackageName: com.hzs.activity.base.provider
* 活动审批相关服务
*/
@DubboService
public class ActivityApprovalProvider implements IActivityApprovalServiceApi {
@ -62,15 +58,16 @@ public class ActivityApprovalProvider implements IActivityApprovalServiceApi {
private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
@Autowired
private IAcOtherPriceConfigService otherPriceConfigService;
@DubboReference
private IMemberServiceApi iMemberServiceApi;
@DubboReference
private IProductServiceApi iProductServiceApi;
@Autowired
private IAcWaresRuleConfigService waresRuleConfigService;
@Autowired
private IAcConsumeRuleConfigService consumeRuleConfigService;
@DubboReference
IMemberServiceApi iMemberServiceApi;
@DubboReference
IProductServiceApi iProductServiceApi;
@Override
public R<Boolean> approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
try {
@ -226,10 +223,10 @@ public class ActivityApprovalProvider implements IActivityApprovalServiceApi {
// 政策币活动
case POLICY_GIVE:
return R.ok(getRecommendApprovalData(acApprovalLogList.get(0)));
// 旅游奖
// 旅游奖
case TOURISM_AWARD:
return R.ok(getRecommendApprovalData(acApprovalLogList.get(0)));
// 车奖
// 车奖
case CAR_AWARD:
return R.ok(getRecommendApprovalData(acApprovalLogList.get(0)));
case CONSUME_GIFT_ADD:

View File

@ -1,6 +1,5 @@
package com.hzs.activity.base.provider;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.hzs.activity.base.IActivityServiceApi;
import com.hzs.activity.base.param.GiftConfigParam;
@ -8,27 +7,21 @@ import com.hzs.activity.base.param.GiftConfigParamDetail;
import com.hzs.activity.base.service.IActivityService;
import com.hzs.activity.consume.service.IAcConsumeRuleConfigService;
import com.hzs.activity.draw.service.IAcDrawRewardNumService;
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
import com.hzs.activity.enums.ERegisterGiftType;
import com.hzs.activity.policy.service.IAcPolicyConfigService;
import com.hzs.activity.recoilGive.service.IAcRecoilGiveConfigService;
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService;
import com.hzs.activity.register.service.IAcRegisterGiftService;
import com.hzs.activity.wares.service.IAcWaresRuleConfigService;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EActType;
import com.hzs.common.core.enums.ESpecialArea;
import com.hzs.common.core.enums.EYesNo;
import com.hzs.common.core.utils.ComputeUtil;
import com.hzs.common.core.utils.DateUtils;
import com.hzs.common.domain.activity.base.ext.AcGiftConfigExt;
import com.hzs.common.domain.activity.consume.ext.AcConsumeRuleConfigExt;
import com.hzs.common.domain.activity.register.AcRegisterGift;
import com.hzs.common.domain.activity.wares.ext.AcWaresRuleConfigExt;
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrderItems;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
@ -39,12 +32,7 @@ import java.util.Date;
import java.util.List;
/**
* @description: 所有活动的生效获得赠品入口
* @author: sui q
* @time: 2023/4/25 18:02
* @classname: ActivityGiftServiceProvider
* @package_name: com.hzs.activity.base.provider
* version 1.0.0
* 所有活动的生效获得赠品入口
*/
@Slf4j
@DubboService
@ -57,15 +45,11 @@ public class ActivityServiceProvider implements IActivityServiceApi {
@Autowired
private IAcDrawRewardNumService acDrawRewardNumService;
@Autowired
private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
@Autowired
private IActivityService activityService;
@Autowired
private IAcPolicyConfigService iAcPolicyConfigService;
@Autowired
private IAcRecoilGiveConfigService iAcRecoilGiveConfigService;
@Autowired
private IAcRegisterGiftService iAcRegisterGiftService;
@Override
public R<List<BdWaresDetailExt>> generateActivityGiftWaresAchieve(Integer specialArea, Integer pkCountry, List<BdWaresDetailExt> bdWaresDetailExtList) {
@ -155,53 +139,8 @@ public class ActivityServiceProvider implements IActivityServiceApi {
return R.ok(returnBdWaresDetailList);
}
@Override
public R<List<SaOrderItems>> handleRegistGift(SaOrderExt saOrderExt, Integer specialArea, Integer pkGrade, Integer pkCountry) {
List<SaOrderItems> resultList = new ArrayList<>();
// 注册赠送有等级的时候才进行处理
if (ESpecialArea.REGISTER_AREA_FORM.getValue() == specialArea
|| ESpecialArea.REGISTER_AREA_CONSUMPTION.getValue() == specialArea) {
// 注册的两个专区需要进行处理
// TODO cabbage 同一时间多个活动赠送的产品数量一样如何处理
List<AcRegisterGift> registerGiftList = iAcRegisterGiftService.listRegisterGift(pkGrade, new Date(), pkCountry);
if (CollectionUtil.isNotEmpty(registerGiftList)) {
SaOrderItems saOrderItems = saOrderExt.getOrderItemsList().get(0);
for (AcRegisterGift acRegisterGift : registerGiftList) {
if (ERegisterGiftType.CONSUMPTION_GIFT.getValue() == acRegisterGift.getType()) {
// 购买人直接在订单明细追加
SaOrderItems tmpSaOrderItems = SaOrderItems.builder()
.pkProduct(acRegisterGift.getPkProduct())
.pkWares(0)
.price(BigDecimal.ZERO)
.pkRate(saOrderItems.getPkRate())
.achievement(BigDecimal.ZERO)
.assAchievement(BigDecimal.ZERO)
.quantity(acRegisterGift.getProductQuantity())
.pkGrade(saOrderItems.getPkGrade())
.pkAwards(saOrderItems.getPkAwards())
.isGift(EYesNo.YES.getIntValue())
.specsName(acRegisterGift.getSpecsName())
.specsNameId(acRegisterGift.getSpecsNameId())
.waresQuantity(1)
.build();
tmpSaOrderItems.setPkCountry(saOrderItems.getPkCountry());
tmpSaOrderItems.setPkCreator(saOrderItems.getPkCreator());
resultList.add(tmpSaOrderItems);
}
}
}
}
return R.ok(resultList);
}
/*
* @description: 封装赠品明细
* @author: sui q
* @date: 2023/4/26 13:56
* @param: null null
* 封装赠品明细
**/
private void packageWaresDetail(BdWaresDetailExt bdWaresDetailExt, AcGiftConfigExt acGiftConfigExt) {
bdWaresDetailExt.setPkProduct(acGiftConfigExt.getPkProduct());
@ -230,16 +169,6 @@ public class ActivityServiceProvider implements IActivityServiceApi {
}
}
@Override
public R<Boolean> giveMemberDrawNum(SaOrderExt saOrderExt) {
try {
return R.ok(acDrawRewardNumService.giveMemberDrawNum(saOrderExt));
} catch (Exception e) {
log.error("{}", e.getMessage(), e);
return R.fail();
}
}
@Override
public R<Boolean> backGiveMemberDrawNum(SaOrderExt saOrderExt) {
try {
@ -250,16 +179,6 @@ public class ActivityServiceProvider implements IActivityServiceApi {
}
}
@Override
public R<Boolean> invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO) {
try {
return R.ok(acRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class)));
} catch (Exception e) {
log.error("{}", e.getMessage(), e);
return R.fail();
}
}
@Override
public R<Boolean> backGiveOrderPolicy(SaOrderExt saOrderExt) {
try {

View File

@ -1,7 +1,6 @@
package com.hzs.activity.base.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.people.vo.AcBaseConfigVO;
import com.hzs.common.domain.activity.base.AcBaseConfig;
import com.hzs.common.domain.activity.base.ext.AcBaseConfigExt;
@ -9,41 +8,21 @@ import java.util.List;
/**
* 活动基本配置表 服务类
*
* @author hzs
* @since 2023-04-20
*/
public interface IAcBaseConfigService extends IService<AcBaseConfig> {
/**
* 根据活动类型查询基本配置
*
* @param baseConfigVO 基本活动配置
* @return List<AcBaseConfig>
*/
List<AcBaseConfig> selectBaseConfigByType(AcBaseConfigVO baseConfigVO);
/**
* @description: 会员前端查询活动列表
* @author: sui q
* @date: 2023/4/27 9:20
* @param: null null
* 会员前端查询活动列表
**/
List<AcBaseConfigExt> queryBaseConfigList(Integer pkCountry, Long pkMember);
/*
* @description: 查询订单详情
* @author: sui q
* @date: 2023/6/21 10:41
* @param: null null
* 查询订单详情
**/
AcBaseConfigExt queryBaseConfigDetail(Long pkId, Integer pkCountry);
/**
* @description: 根据主键查询活动配置
* @author: sui q
* @date: 2023/4/27 14:05
* @param: null null
* 根据主键查询活动配置
**/
AcBaseConfig queryBaseConfigById(Long pkBaseId);

View File

@ -18,18 +18,10 @@ import java.util.List;
/**
* 活动基本配置表 服务实现类
*
* @author hzs
* @since 2023-04-20
*/
@Service
public class AcBaseConfigServiceImpl extends ServiceImpl<AcBaseConfigMapper, AcBaseConfig> implements IAcBaseConfigService {
@Override
public List<AcBaseConfig> selectBaseConfigByType(AcBaseConfigVO baseConfigVO) {
return baseMapper.selectBaseConfigByType(baseConfigVO);
}
@Override
public List<AcBaseConfigExt> queryBaseConfigList(Integer pkCountry, Long pkMember) {
return baseMapper.queryBaseConfigList(pkCountry, pkMember);

View File

@ -8,28 +8,17 @@ import com.hzs.common.domain.activity.draw.ext.AcDrawRewardNumExt;
import java.util.List;
/**
* <p>
* 会员可抽奖次数记录 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-04-21
*/
public interface AcDrawRewardNumMapper extends BaseMapper<AcDrawRewardNum> {
/*
* @description: 查询
* @author: sui q
* @date: 2023/4/27 15:14
* @param: null null
* 查询
**/
AcDrawRewardNumExt queryDrawRewardNumByCondition(AcDrawRewardNumParam acDrawRewardNumParam);
/*
* @description: 会员后台查询抽奖次数
* @author: sui q
* @date: 2023/6/1 10:36
* @param: null null
* 会员后台查询抽奖次数
**/
List<AcDrawRewardNumExt> queryDrawRewardExtNumByCondition(AcDrawRewardNumParam acDrawRewardNumParam);
}

View File

@ -12,33 +12,21 @@ import java.util.List;
/**
* 会员可抽奖次数记录 服务类
*
* @author hzs
* @since 2023-04-21
*/
public interface IAcDrawRewardNumService extends IService<AcDrawRewardNum> {
/*
* @description: 查询会员抽奖活动,查询会员的抽奖次数
* @author: sui q
* @date: 2023/4/22 10:11
* @param: null null
* 查询会员抽奖活动,查询会员的抽奖次数
**/
AcDrawRewardNum queryAcDrawRewardNum(AcDrawRewardNumParam acDrawRewardNumParam);
/*
* @description: 会员后台查询抽奖次数
* @author: sui q
* @date: 2023/6/1 10:36
* @param: null null
* 会员后台查询抽奖次数
**/
List<AcDrawRewardNumExt> queryDrawRewardExtNumByCondition(AcDrawRewardNumParam acDrawRewardNumParam);
/*
* @description: 更新会员抽奖次数
* @author: sui q
* @date: 2023/4/22 10:43
* @param: null null
* 更新会员抽奖次数
**/
Boolean updateAcDrawRewardNum(AcDrawRewardNum acDrawRewardNum);
@ -46,57 +34,31 @@ public interface IAcDrawRewardNumService extends IService<AcDrawRewardNum> {
* 查询会员账户状态账户信息
*
* @param cuMemberAccount 会员账户条件信息
* @return: List<CuMemberAccountExt>
* @Author: sui q
* @Date: 2022/9/5 11:57
*/
List<CuMemberAccountExt> queryMemberAccountByCondition(CuMemberAccount cuMemberAccount);
/*
* @description: 查询
* @author: sui q
* @date: 2023/4/27 15:14
* @param: null null
* 查询
**/
AcDrawRewardNumExt queryDrawRewardNumByCondition(AcDrawRewardNumParam acDrawRewardNumParam);
/*
* @description: 支付抽奖次数
* @author: sui q
* @date: 2023/4/27 15:34
* @param: null null
* 支付抽奖次数
**/
void payDrawRewardNum(CuMemberAccountExt cuMemberAccountExt, Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt);
/*
* @description: 在线支付确认生成待支付订单
* @author: sui q
* @date: 2023/4/27 17:54
* @param: null null
* 在线支付确认生成待支付订单
**/
String confirmDrawRewardPayNum(AcDrawRewardNumParam acDrawRewardNumParam, AcDrawRewardNumExt acDrawRewardNum);
/*
* @description: 抽奖在线支付购买次数
* @author: sui q
* @date: 2023/4/27 18:00
* @param: null null
**/
Boolean callBackOnlinePay(Long pkMember, String orderCode);
/*
* @description: 赠送抽奖次数
* @author: sui q
* @date: 2023/4/28 11:27
* @param: null null
* 赠送抽奖次数
**/
Boolean giveMemberDrawNum(SaOrderExt saOrderExt);
/*
* @description: 撤单时回退抽奖次数
* @author: sui q
* @date: 2023/5/9 9:46
* @param: null null
* 撤单时回退抽奖次数
**/
Boolean backGiveMemberDrawNum(SaOrderExt saOrderExt);

View File

@ -38,18 +38,14 @@ import java.util.concurrent.TimeUnit;
/**
* 会员可抽奖次数记录 服务实现类
*
* @author hzs
* @since 2023-04-21
*/
@Service
public class AcDrawRewardNumServiceImpl extends ServiceImpl<AcDrawRewardNumMapper, AcDrawRewardNum> implements IAcDrawRewardNumService {
@DubboReference
private IMemberAccountServiceApi memberAccountServiceApi;
IMemberAccountServiceApi memberAccountServiceApi;
@DubboReference
private IMemberServiceApi memberServiceApi;
IMemberServiceApi memberServiceApi;
private IAcDrawRuleConfigService acDrawRuleConfigService;
@ -147,22 +143,6 @@ public class AcDrawRewardNumServiceImpl extends ServiceImpl<AcDrawRewardNumMappe
return orderCode;
}
@Override
public Boolean callBackOnlinePay(Long pkMember, String orderCode) {
AcDrawRewardNumParam acDrawRewardNumParam = redisService.getCacheObject(CacheConstants.TEMP_ORDER + pkMember + orderCode);
if (acDrawRewardNumParam == null) {
return Boolean.FALSE;
}
// 支付
// 更新次数可用总次数 + 次数 剩余可抽奖总次数 +次数 已用用次数-次数 可用总次数-次数
updateDrawRewardNum(acDrawRewardNumParam.getPayNum(), acDrawRewardNumParam.getAcDrawRewardNum());
// 更新会员账户交易流水
if (!memberServiceApi.updateCuMemberAccountByDraw(acDrawRewardNumParam.getPayNum(), acDrawRewardNumParam.getAcDrawRewardNum()).getData()) {
throw new RuntimeException();
}
return null;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean giveMemberDrawNum(SaOrderExt saOrderExt) {

View File

@ -8,11 +8,7 @@ import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 其它活动dubbo接口
* @Author: jiang chao
* @Time: 2024/1/18 11:38
* @Classname: AcOtherServiceApi
* @PackageName: com.hzs.activity.other.provider
* 其它活动dubbo接口
*/
@Slf4j
@DubboService
@ -22,7 +18,7 @@ public class AcOtherServiceApi implements IAcOtherServiceApi {
private IAcOtherPriceService iAcOtherPriceService;
@Override
public R acOtherPriceHandle() {
public R<?> acOtherPriceHandle() {
try {
String str = iAcOtherPriceService.acOtherPriceHandle();
if (null == str) {

View File

@ -1,6 +1,5 @@
package com.hzs.activity.people.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.activity.people.vo.AcPeopleGiftPackVO;
import com.hzs.activity.people.vo.AcPeopleGiftProductVO;
@ -11,39 +10,22 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 新人礼包活动业务表 Mapper 接口
* </p>
*
* @author hzs
* @since 2023-04-26
*/
public interface AcPeopleServiceMapper extends BaseMapper<AcPeopleService> {
/**
* @description: 查询当前新人礼包活动
* @author: zhang jing
* @date: 2023/4/26 18:14
* @param: [acPeopleServiceVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleServiceVO>
* 查询当前新人礼包活动
**/
List<AcPeopleServiceVO> peopleActivityList(AcPeopleServiceVO acPeopleServiceVO);
/**
* @description: 查询新人礼包活动方案
* @author: zhang jing
* @date: 2023/5/9 20:52
* @param: [giftPackVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleGiftPackVO>
* 查询新人礼包活动方案
**/
List<AcPeopleGiftPackVO>getGiftPackList(AcPeopleGiftPackVO giftPackVO);
List<AcPeopleGiftPackVO> getGiftPackList(AcPeopleGiftPackVO giftPackVO);
/**
* @description: 礼包查询信息
* @author: zhang jing
* @date: 2023/5/10 9:40
* @param: [acPeopleGiftProductVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleGiftProductVO>
* 礼包查询信息
**/
List<AcPeopleGiftProductVO> getGiftPackProductList(@Param("pkNewPeople") Long pkNewPeople);
}

View File

@ -7,18 +7,14 @@ import com.hzs.activity.people.IAcPeopleServiceServiceApi;
import com.hzs.activity.people.service.IAcPeopleServiceService;
import com.hzs.activity.people.vo.AcPeopleGiftProductVO;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
import java.util.List;
/**
* 会员涉及dubbo服务
*
* @author jiangchao
*/
@DubboService
public class AcPeopleServiceServiceProvider implements IAcPeopleServiceServiceApi {
@ -26,48 +22,11 @@ public class AcPeopleServiceServiceProvider implements IAcPeopleServiceServiceAp
@Autowired
private IAcPeopleServiceService iAcPeopleServiceService;
/**
* @description: 匹配活动规则保存业务数据
* @author: zhang jing
* @date: 2023/5/8 9:58
* @param: [saOrderExt]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
@Override
public R<Boolean> mateRule(SaOrderExt saOrderExt) {
return R.ok(iAcPeopleServiceService.mateRule(saOrderExt));
}
/**
* @description: 新人礼包领取礼包
* @author: zhang jing
* @date: 2023/5/10 15:07
* @param: [pkBaseId, pkMember]
* @return: com.hzs.common.core.domain.R<java.lang.Boolean>
**/
@Override
public R<Boolean> peoplePick(Long pkBaseId, Long pkMember) {
try {
return R.ok(iAcPeopleServiceService.peoplePick(pkBaseId, pkMember));
}catch (Exception e){
e.printStackTrace();
return R.fail();
}
}
/**
* @description: 根据活动查询礼包产品信息
* @author: zhang jing
* @date: 2023/5/10 15:16
* @param: [pkNewPeople]
* @return: com.hzs.common.core.domain.R<java.util.List<com.hzs.activity.dto.AcPeopleGiftProductDTO>>
**/
@Override
public R<List<AcPeopleGiftProductDTO>> getGiftPackProductList(Long pkNewPeople) {
List<AcPeopleGiftProductVO> pgplist=iAcPeopleServiceService.getGiftPackProductList(pkNewPeople);
List<AcPeopleGiftProductDTO> list=new ArrayList<>();
if(CollectionUtil.isNotEmpty(pgplist)){
List<AcPeopleGiftProductVO> pgplist = iAcPeopleServiceService.getGiftPackProductList(pkNewPeople);
List<AcPeopleGiftProductDTO> list = new ArrayList<>();
if (CollectionUtil.isNotEmpty(pgplist)) {
pgplist.forEach(item -> list.add(BeanUtil.copyProperties(item, AcPeopleGiftProductDTO.class)));
}
return R.ok(list);

View File

@ -1,72 +1,32 @@
package com.hzs.activity.people.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.people.vo.AcPeopleGiftPackVO;
import com.hzs.activity.people.vo.AcPeopleGiftProductVO;
import com.hzs.activity.people.vo.AcPeopleServiceVO;
import com.hzs.common.domain.activity.people.AcPeopleService;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.List;
/**
* <p>
* 新人礼包活动业务表 服务类
* </p>
*
* @author hzs
* @since 2023-04-26
*/
public interface IAcPeopleServiceService extends IService<AcPeopleService> {
/**
* @description: 匹配活动规则保存业务数据
* @author: zhang jing
* @date: 2023/4/26 19:25
* @param: [aplsVO]
* pkMember 会员id
* payTime 支付时间
* orderType 订单类型
* @return: boolean
**/
Boolean mateRule(SaOrderExt saOrderExt);
/**
* @description: 查询当前新人礼包活动
* @author: zhang jing
* @date: 2023/4/26 18:15
* @param: [acPeopleServiceVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleServiceVO>
* 查询当前新人礼包活动
**/
List<AcPeopleServiceVO> peopleActivityList(AcPeopleServiceVO acPeopleServiceVO);
/**
* @description: 新人礼包领取礼包
* @author: zhang jing
* @date: 2023/5/10 15:05
* @param: [pkBaseId, pkMember]
* @return: boolean
* 查询新人礼包活动方案
**/
Boolean peoplePick(Long pkBaseId,Long pkMember);
/**
* @description: 查询新人礼包活动方案
* @author: zhang jing
* @date: 2023/5/9 20:53
* @param: [giftPackVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleGiftPackVO>
**/
List<AcPeopleGiftPackVO>getGiftPackList(AcPeopleGiftPackVO giftPackVO);
List<AcPeopleGiftPackVO> getGiftPackList(AcPeopleGiftPackVO giftPackVO);
/**
* @description: 礼包查询信息
* @author: zhang jing
* @date: 2023/5/10 9:41
* @param: [acPeopleGiftProductVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleGiftProductVO>
* 礼包查询信息
**/
List<AcPeopleGiftProductVO>getGiftPackProductList(Long pkNewPeople);
List<AcPeopleGiftProductVO> getGiftPackProductList(Long pkNewPeople);
}

View File

@ -1,134 +1,32 @@
package com.hzs.activity.people.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.activity.people.mapper.AcPeopleServiceMapper;
import com.hzs.activity.people.service.IAcPeopleServiceService;
import com.hzs.activity.people.vo.AcPeopleGiftPackVO;
import com.hzs.activity.people.vo.AcPeopleGiftProductVO;
import com.hzs.activity.people.vo.AcPeopleServiceVO;
import com.hzs.activity.pick.service.IAcPickService;
import com.hzs.common.core.domain.R;
import com.hzs.common.core.enums.EPlanState;
import com.hzs.common.core.utils.StringUtils;
import com.hzs.common.domain.activity.people.AcPeopleService;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.member.base.IMemberServiceApi;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
* <p>
* 新人礼包活动业务表 服务实现类
* </p>
*
* @author hzs
* @since 2023-04-26
*/
@Service
public class AcPeopleServiceServiceImpl extends ServiceImpl<AcPeopleServiceMapper, AcPeopleService> implements IAcPeopleServiceService {
@Autowired
private IAcPickService iAcPickService;
@DubboReference
private IMemberServiceApi iMemberServiceApi;
/**
* @description: 匹配活动规则
* @author: zhang jing
* @date: 2023/4/26 19:25
* @param: [aplsVO]
* pkMember 会员id
* payTime 支付时间
* orderType 订单类型
* @return: boolean
**/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean mateRule(SaOrderExt saOrderExt) {
Date date = new Date();
R<CuMember> member = iMemberServiceApi.getMember(saOrderExt.getPkMember());
AcPeopleServiceVO apl = new AcPeopleServiceVO();
if (StringUtils.isNotNull(member.getData())) {
apl.setPayTime(saOrderExt.getPayTime());
apl.setPkCountry(member.getData().getPkCountry());
apl.setPkRegisterGrade(member.getData().getPkSettleGrade());
//校验规则
List<AcPeopleServiceVO> peopleActivityList = peopleActivityList(apl);
if (CollectionUtil.isNotEmpty(peopleActivityList)) {
for (AcPeopleServiceVO aplo : peopleActivityList) {
AcPeopleService aps = BeanUtil.copyProperties(aplo, AcPeopleService.class);
aps.setPkMember(saOrderExt.getPkMember());
aps.setCreationTime(date);
aps.setPkCountry(saOrderExt.getPkCountry());
aps.setPlanState(EPlanState.NOT_SELECTED.getValue());
aps.setPkCreator(saOrderExt.getPkMember());
baseMapper.insert(aps);
}
}
}
return true;
}
/**
* @description: 查询当前新人礼包活动
* @author: zhang jing
* @date: 2023/4/26 18:15
* @param: [acPeopleServiceVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleServiceVO>
**/
@Override
public List<AcPeopleServiceVO> peopleActivityList(AcPeopleServiceVO acPeopleServiceVO) {
return baseMapper.peopleActivityList(acPeopleServiceVO);
}
/**
* @description: 新人礼包领取礼包
* @author: zhang jing
* @date: 2023/4/26 20:58
* @param: [aplsVO]
* @return: boolean
**/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean peoplePick(Long pkBaseId, Long pkMember) {
UpdateWrapper<AcPeopleService> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("PK_BASE_ID", pkBaseId);
updateWrapper.eq("PK_MEMBER", pkMember);
updateWrapper.eq("PLAN_STATE", EPlanState.NOT_SELECTED.getValue());
updateWrapper.set("MODIFIED_TIME", new Date());
updateWrapper.set("PK_MODIFIED", pkMember);
updateWrapper.set("PLAN_STATE", EPlanState.SELECTED.getValue());
return baseMapper.update(null, updateWrapper) > 0;
}
/**
* @description: 查询新人礼包活动方案
* @author: zhang jing
* @date: 2023/5/9 20:53
* @param: [giftPackVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleGiftPackVO>
**/
@Override
public List<AcPeopleGiftPackVO> getGiftPackList(AcPeopleGiftPackVO giftPackVO) {
return baseMapper.getGiftPackList(giftPackVO);
}
/**
* @description: 礼包查询信息
* @author: zhang jing
* @date: 2023/5/10 9:40
* @param: [acPeopleGiftProductVO]
* @return: java.util.List<com.hzs.activity.people.vo.AcPeopleGiftProductVO>
**/
@Override
public List<AcPeopleGiftProductVO> getGiftPackProductList(Long pkNewPeople) {
return baseMapper.getGiftPackProductList(pkNewPeople);

View File

@ -9,10 +9,7 @@ import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.web.domain.BaseApprovalEntity;
import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
import com.hzs.system.sys.dto.LoginUser;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.*;
import java.io.Serializable;
import java.math.BigDecimal;
@ -20,13 +17,9 @@ import java.util.Date;
import java.util.List;
/**
* <p>
* 新人礼包活动基础VO
* </p>
*
* @author hzs
* @since 2023-04-24
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@ -165,7 +158,7 @@ public class AcBaseConfigVO extends BaseApprovalEntity implements Serializable {
/**
* 目标群体配置列表
*/
private List<AcGoalMemberConfig> goalMemberConfigList;
private List<AcGoalMemberConfig> goalMemberConfigList;
/**
* 操作类型1=新增,2=修改,3=删除EcontrolType
*/
@ -179,7 +172,7 @@ public class AcBaseConfigVO extends BaseApprovalEntity implements Serializable {
/**
* 创建时间
*/
@Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;

View File

@ -13,9 +13,6 @@ import java.util.List;
/**
* 提货基础表 Mapper 接口
*
* @author hzs
* @since 2023-04-21
*/
public interface AcPickMapper extends BaseMapper<AcPick> {
@ -59,43 +56,6 @@ public interface AcPickMapper extends BaseMapper<AcPick> {
@Param("quantity") Integer quantity,
@Param("pkModified") Long pkModified);
/**
* 根据提货ID更新使用数量
*
* @param pkId 提货ID
* @param quantity 使用数量
* @param pkModified 操作人
* @return
*/
int updatePickUseById(@Param("pkId") Long pkId,
@Param("quantity") Integer quantity,
@Param("pkModified") Long pkModified);
/**
* 批量更新使用数量
*
* @param acPickExtList 批量更新数据
* @param quantity 更新数量
* @return
*/
int updatePickUseBatch(@Param("list") List<AcPickExt> acPickExtList,
@Param("quantity") Integer quantity);
/**
* 批量更新使用数量
*
* @return
*/
int updateBackPickUseBatch(@Param("list") List<AcPickMemberLog> acPickMemberLogList);
/**
* 根据主键更新提货数量
*
* @param acPick
* @return
*/
int updatePickQuantityByPkId(@Param("acPick") AcPick acPick);
/**
* 根据主键更新提货数据
*

View File

@ -10,9 +10,6 @@ import java.util.List;
/**
* 会员提货记录 Mapper 接口
*
* @author hzs
* @since 2023-05-15
*/
public interface AcPickMemberLogMapper extends BaseMapper<AcPickMemberLog> {
@ -37,10 +34,7 @@ public interface AcPickMemberLogMapper extends BaseMapper<AcPickMemberLog> {
@Param("source") Integer source);
/*
* @description: 批量删除使用记录数据
* @author: sui q
* @date: 2023/6/3 13:52
* @param: null null
* 批量删除使用记录数据
**/
int deleteBatch(@Param("acPickMemberLogList") List<AcPickMemberLog> acPickMemberLogList);
}

View File

@ -2,13 +2,9 @@ package com.hzs.activity.pick.provider;
import com.hzs.activity.pick.IAcPickServiceApi;
import com.hzs.activity.pick.param.AcPickQueryParam;
import com.hzs.activity.pick.service.IAcPickMemberLogService;
import com.hzs.activity.pick.service.IAcPickService;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.activity.pick.AcPick;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.factory.annotation.Autowired;
@ -16,11 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
/**
* @Description: 提货相关dubbo服务入口
* @Author: jiang chao
* @Time: 2023/5/15 11:21
* @Classname: AcPickProviderApi
* @PackageName: com.hzs.activity.pick.provider
* 提货相关dubbo服务入口
*/
@Slf4j
@DubboService
@ -28,11 +20,9 @@ public class AcPickProviderApi implements IAcPickServiceApi {
@Autowired
private IAcPickService iAcPickService;
@Autowired
private IAcPickMemberLogService acPickMemberLogService;
@Override
public R handlePickOrder(Long pkMember, String orderCode) {
public R<?> handlePickOrder(Long pkMember, String orderCode) {
try {
if (iAcPickService.callbackPickOrder(pkMember, orderCode)) {
return R.ok();
@ -43,29 +33,9 @@ public class AcPickProviderApi implements IAcPickServiceApi {
return R.fail();
}
@Override
public R<Boolean> updatePickUse(List<AcPickExt> acPickExtList, Integer signSource, List<AcPickMemberLog> acPickMemberLogList) {
try {
return R.ok(iAcPickService.updatePickUse(acPickExtList, signSource, acPickMemberLogList));
} catch (Exception e) {
log.error("更新提货单失败", e);
}
return R.fail();
}
@Override
public R<List<AcPickExt>> queryList(Long pkMember, Integer pickType, Integer pkCountry) {
return R.ok(iAcPickService.queryList(AcPickQueryParam.builder().pkMember(pkMember).pickType(pickType).build(), pkCountry));
}
@Override
public R<List<AcPickMemberLog>> queryPickMemberLog(List<SaOrderExt> saOrderExtList) {
return R.ok(acPickMemberLogService.queryPickMemberLog(saOrderExtList));
}
@Override
public R<Boolean> createAndUpdatePick(AcPick acPick) {
return R.ok(iAcPickService.addPickByActivity(acPick));
}
}

View File

@ -4,15 +4,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.pick.vo.AcPickMemberLogVO;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import java.util.List;
/**
* 会员提货记录 服务类
*
* @author hzs
* @since 2023-05-15
*/
public interface IAcPickMemberLogService extends IService<AcPickMemberLog> {
@ -35,18 +31,8 @@ public interface IAcPickMemberLogService extends IService<AcPickMemberLog> {
int insertBatch(List<AcPickExt> acPickExtList, Integer quantity, Integer source);
/*
* @description: 批量删除使用记录数据
* @author: sui q
* @date: 2023/6/3 13:52
* @param: null null
* 批量删除使用记录数据
**/
int deleteBatch(List<AcPickMemberLog> acPickMemberLogList);
/*
* @description: 查询会员提货使用记录
* @author: sui q
* @date: 2023/6/3 10:51
* @param: null null
**/
List<AcPickMemberLog> queryPickMemberLog(List<SaOrderExt> saOrderExtList);
}

View File

@ -15,9 +15,6 @@ import java.util.List;
/**
* 提货基础表 服务类
*
* @author hzs
* @since 2023-04-21
*/
public interface IAcPickService extends IService<AcPick> {
@ -41,14 +38,6 @@ public interface IAcPickService extends IService<AcPick> {
Integer usableQuantity, String pickCover, Date receiveTime, Integer pkPostage,
Long pkCreator, Integer pkCountry, Long pkBaseId);
/**
* 添加提货数量
*
* @param acPick 提货实体封装
* @return
*/
boolean addPickByActivity(AcPick acPick);
/**
* 更新提货使用数量
*
@ -62,25 +51,6 @@ public interface IAcPickService extends IService<AcPick> {
*/
boolean updatePickUse(Integer pickType, Long pkBaseConfig, Long pkDataId, Long pkMember, Integer quantity, Long pkModified);
/**
* 根据提货ID更新使用数量
*
* @param pkId 提货ID
* @param quantity 使用数量
* @param pkModified 操作人
* @return
*/
int updatePickUseById(Long pkId, Integer quantity, Long pkModified);
/*
* @description: 更新提货单
* @author: sui q
* @date: 2023/5/30 19:49
* @param: null null
**/
boolean updatePickUse(List<AcPickExt> acPickExtList, Integer signSource, List<AcPickMemberLog> acPickMemberLogList);
/**
* 查询提货列表
*

View File

@ -1,23 +1,17 @@
package com.hzs.activity.pick.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.hzs.activity.pick.mapper.AcPickMemberLogMapper;
import com.hzs.activity.pick.service.IAcPickMemberLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hzs.activity.pick.vo.AcPickMemberLogVO;
import com.hzs.common.domain.activity.pick.AcPickMemberLog;
import com.hzs.common.domain.activity.pick.ext.AcPickExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
* 会员提货记录 服务实现类
*
* @author hzs
* @since 2023-05-15
*/
@Service
public class AcPickMemberLogServiceImpl extends ServiceImpl<AcPickMemberLogMapper, AcPickMemberLog> implements IAcPickMemberLogService {
@ -37,20 +31,4 @@ public class AcPickMemberLogServiceImpl extends ServiceImpl<AcPickMemberLogMappe
return baseMapper.deleteBatch(acPickMemberLogList);
}
@Override
public List<AcPickMemberLog> queryPickMemberLog(List<SaOrderExt> saOrderExtList) {
QueryWrapper<AcPickMemberLog> queryWrapper = new QueryWrapper<>();
Set<String> orderCodeSet = saOrderExtList.stream().distinct().map(SaOrderExt::getOrderCode).collect(Collectors.toSet());
queryWrapper.in("PICK_ORDER", orderCodeSet);
Set<String> orderKey = new HashSet<>();
saOrderExtList.forEach(saOrderExt -> orderKey.add(saOrderExt.getOrderCode() + saOrderExt.getPkMember()));
List<AcPickMemberLog> retPickMemberLogList = new ArrayList<>();
List<AcPickMemberLog> acPickMemberLogList = baseMapper.selectList(queryWrapper);
for (AcPickMemberLog acPickMemberLog : acPickMemberLogList) {
if(!orderKey.contains(acPickMemberLog.getPickOrder() + acPickMemberLog.getPkMember())){
retPickMemberLogList.add(acPickMemberLog);
}
}
return retPickMemberLogList;
}
}

View File

@ -45,9 +45,6 @@ import java.util.List;
/**
* 提货基础表 服务实现类
*
* @author hzs
* @since 2023-04-21
*/
@Service
public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> implements IAcPickService {
@ -60,9 +57,9 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
private IAcPickMemberLogService iAcPickMemberLogService;
@DubboReference
private IApprovalServiceApi iApprovalServiceApi;
IApprovalServiceApi iApprovalServiceApi;
@DubboReference
private IMemberServiceApi iMemberServiceApi;
IMemberServiceApi iMemberServiceApi;
@Override
public boolean addPickByActivity(Long pkMember, Integer pickType, Long pkBaseConfig, Long pkDataId,
@ -98,41 +95,11 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
return true;
}
@Override
public boolean addPickByActivity(AcPick acPick) {
if (baseMapper.addQuantityByActivity(acPick.getPickType(), acPick.getPkBaseConfig(), acPick.getPkDataId(),
acPick.getPkMember(), acPick.getUsableQuantity(), acPick.getPkPostage(), acPick.getReceiveTime(), acPick.getPkCreator()) == 0) {
return baseMapper.insert(acPick) > 0;
}
return true;
}
@Override
public boolean updatePickUse(Integer pickType, Long pkBaseConfig, Long pkDataId, Long pkMember, Integer quantity, Long pkModified) {
return baseMapper.updatePickUse(pickType, pkBaseConfig, pkDataId, pkMember, quantity, pkModified) > 0;
}
@Override
public int updatePickUseById(Long pkId, Integer quantity, Long pkModified) {
return baseMapper.updatePickUseById(pkId, quantity, pkModified);
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updatePickUse(List<AcPickExt> acPickExtList, Integer signSource, List<AcPickMemberLog> acPickMemberLogList) {
if(ESignSource.BONUS.getValue() == signSource && CollectionUtil.isNotEmpty(acPickMemberLogList)){
// 回退数量
baseMapper.updateBackPickUseBatch(acPickMemberLogList);
iAcPickMemberLogService.deleteBatch(acPickMemberLogList);
}
// 批量更新提货使用数量
baseMapper.updatePickUseBatch(acPickExtList, acPickExtList.size());
// 批量插入提货日志
iAcPickMemberLogService.insertBatch(acPickExtList, 1, signSource);
return Boolean.TRUE;
}
@Override
public List<AcPickExt> queryList(AcPickQueryParam param, Integer pkCountry) {
return baseMapper.queryList(param, pkCountry);

View File

@ -1,6 +1,5 @@
package com.hzs.activity.recommend.dto;
import com.hzs.common.core.enums.EOrderOperateStatus;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import lombok.AllArgsConstructor;
@ -12,12 +11,6 @@ import java.io.Serializable;
/**
* 直推-升级DTO
*
* @Description:
* @Author: ljc
* @Time: 2023/4/26 10:27
* @Classname: AcRepurchaseCouponsDTO
* @Package_name: com.hzs.activity.recommend.dto
*/
@Data
@Builder

View File

@ -3,22 +3,8 @@ package com.hzs.activity.recommend.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
import java.util.Date;
import java.util.List;
/**
* 直推-复购券规则配置 Mapper 接口
*
* @author hzs
* @since 2023-04-22
*/
public interface AcRepurCouponsRuleConfigMapper extends BaseMapper<AcRepurCouponsRuleConfig> {
/*
* @description: 查询目前所有启用的复购券规则
* @author: sui q
* @date: 2023/4/28 15:47
* @param: null null
**/
List<AcRepurCouponsRuleConfig> queryAcRepurchaseCouponsRule(Date settleDate);
}

View File

@ -1,7 +1,6 @@
package com.hzs.activity.recommend.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
import com.hzs.activity.recommend.param.AcRecommendParam;
import com.hzs.activity.recommend.vo.AcRecommendVO;
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
@ -9,9 +8,6 @@ import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
/**
* 直推-复购券规则配置 服务类
*
* @author hzs
* @since 2023-04-22
*/
public interface IAcRepurCouponsRuleConfigService extends IService<AcRepurCouponsRuleConfig> {
@ -59,13 +55,6 @@ public interface IAcRepurCouponsRuleConfigService extends IService<AcRepurCoupon
*/
String ApprovalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
/**
* 调用直推升级对外提供接口
*
* @param acRepurchaseCouponsDTO 直推升级信息
*/
Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRepurchaseCouponsDTO);
/**
* 根据活动配置主键删除复购券规则配置
*

View File

@ -13,9 +13,7 @@ import com.hzs.activity.base.service.IAcBaseConfigService;
import com.hzs.activity.base.service.IAcGoalMemberConfigService;
import com.hzs.activity.base.vo.AcGiftConfigVO;
import com.hzs.activity.base.vo.BaseConfigVo;
import com.hzs.activity.people.vo.AcBaseConfigVO;
import com.hzs.activity.pick.service.IAcPickService;
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
import com.hzs.activity.recommend.mapper.AcRepurCouponsRuleConfigMapper;
import com.hzs.activity.recommend.param.AcRecommendParam;
import com.hzs.activity.recommend.service.*;
@ -33,10 +31,6 @@ import com.hzs.common.domain.activity.base.AcGiftConfig;
import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
import com.hzs.common.domain.activity.recommend.*;
import com.hzs.common.domain.activity.base.ext.AcGiftConfigExt;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.sale.ext.SaOrderExt;
import com.hzs.common.domain.sale.order.SaOrder;
import com.hzs.member.base.IMemberServiceApi;
import com.hzs.sale.product.IProductServiceApi;
import com.hzs.system.sys.IApprovalServiceApi;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
@ -56,9 +50,6 @@ import java.util.stream.Collectors;
/**
* 直推配置 服务实现类
*
* @author hzs
* @since 2023-04-22
*/
@Slf4j
@Service
@ -97,9 +88,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
@DubboReference
IApprovalServiceApi approvalServiceApi;
@DubboReference
IMemberServiceApi memberServiceApi;
@DubboReference
IProductServiceApi productServiceApi;
@ -548,7 +536,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
return baseMapper.selectList(queryWrapper);
}
@Override
public Boolean deleteRecommendConfig(Long activityId) {
return null;
@ -559,155 +546,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
return null;
}
@Transactional(rollbackFor = Exception.class)
@Override
public Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRepurchaseCouponsDTO) {
SaOrderExt saOrderExt = acRepurchaseCouponsDTO.getSaOrderExt();
AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder().actType(EActType.DIRECT_PUSH_GIFT.getValue())
.pkCountry(saOrderExt.getPkCountry())
.atcModule(EActModule.DIRECT_PUSH_UPGRADE.getValue()).build();
//查询活动
List<AcBaseConfig> acBaseConfigs = baseConfigService.selectBaseConfigByType(baseConfigVO);
if (CollUtil.isNotEmpty(acBaseConfigs)) {
EOrderOperateStatus orderOperateStatus = acRepurchaseCouponsDTO.getOrderOperateStatus();
for (AcBaseConfig baseConfig : acBaseConfigs) {
if (orderOperateStatus.equals(EOrderOperateStatus.NORMAL)) {
return handleBusiness(acRepurchaseCouponsDTO, baseConfig);
} else {
return cancelOrder(acRepurchaseCouponsDTO, baseConfig);
}
}
}
return true;
}
/**
* 处理业务(正常报单)
*
* @param acRecommendUpgrade 升级参数
* @param baseConfig 基本配置
*/
private Boolean handleBusiness(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
//活动ID
Long pkBaseId = baseConfig.getPkId();
//推荐人
Long pkMember = saOrderExt.getPkReference();
log.info("推荐人编号:" + pkMember);
//推荐人等级ID
Integer pkSettleGrade = memberServiceApi.queryMember(pkMember).getData().getPkSettleGrade();
//被推荐人等级ID
Integer pkRecommendGrade = memberServiceApi.queryMember(saOrderExt.getPkMember()).getData().getPkSettleGrade();
log.info("被推荐人编号:" + saOrderExt.getPkMember());
//国家
Integer pkCountry = saOrderExt.getPkCountry();
AcRecommendUpgradeVO recommendUpgradeVO = AcRecommendUpgradeVO.builder().pkCountry(pkCountry)
.pkBaseId(pkBaseId).memberType(1).pkSettleGrade(pkSettleGrade)
.pkRecommendGrade(pkRecommendGrade).build();
//查询规则
List<AcRecomUpgradeRuleConfig> recomUpgradeRuleConfigList = recomUpgradeRuleConfigService.selectRuleConfig(recommendUpgradeVO);
if (CollUtil.isNotEmpty(recomUpgradeRuleConfigList)) {
log.info("===插入业务表");
AcRecomUpgradeRuleConfig recomUpgradeRuleConfig = recomUpgradeRuleConfigList.get(0);
//正常报单
Long pkRuleId = recomUpgradeRuleConfig.getPkId();
//插入业务表
AcRecomUpgradeRecord recomUpgradeRecord = AcRecomUpgradeRecord.builder().pkBaseId(pkBaseId)
.pkRuleId(pkRuleId).pkMember(pkMember)
.pkSettleGrade(pkSettleGrade).pkRecommendGrade(pkRecommendGrade)
.pkOrderId(saOrderExt.getPkId()).build();
recomUpgradeRecord.setPkCountry(pkCountry);
recomUpgradeRecord.setPkCreator(pkMember);
acRecomUpgradeRecordService.save(recomUpgradeRecord);
//满足规则时 直推升级
AcRecomUpgradeRecordExt upgradeRecord = new AcRecomUpgradeRecordExt();
upgradeRecord.setPkMember(pkMember);
upgradeRecord.setPkBaseId(pkBaseId);
upgradeRecord.setPkRuleId(pkRuleId);
upgradeRecord.setPkSettleGrade(recomUpgradeRuleConfig.getPkSettleGrade());
upgradeRecord.setPkRecommendGrade(recomUpgradeRuleConfig.getPkRecommendGrade());
upgradeRecord.setStartDate(baseConfig.getActStartDate());
upgradeRecord.setEndDate(baseConfig.getActEndDate());
upgradeRecord.setPkCountry(pkCountry);
//查询推荐人数ID(没有升级过记录)
List<Long> recommendNumber = acRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord);
//配置中的人数
Integer configNumber = recomUpgradeRuleConfig.getRecommendNumber();
if (CollUtil.isNotEmpty(recommendNumber) && configNumber.equals(recommendNumber.size())) {
//更新为已升级过的推荐状态
acRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkMember);
//升级等级
Integer pkUpgradeGrade = recomUpgradeRuleConfig.getPkUpgradeGrade();
CuMember data = memberServiceApi.getMember(pkMember).getData();
//用户信息
CuMember cuMember = CuMember.builder().pkId(pkMember).pkSettleGrade(pkUpgradeGrade).memberCode(data.getMemberCode())
.pkSettleCountry(data.getPkSettleCountry()).build();
cuMember.setPkModified(pkMember);
cuMember.setModifiedTime(new Date());
SaOrder saOrder = SaOrder.builder().payTime(new Date()).build();
//调用升级接口
memberServiceApi.updateMemberLevel(cuMember, saOrder, pkSettleGrade);
//调用提货接口
return acPickService.addPickByActivity(pkMember, EActType.DIRECT_PUSH_GIFT.getValue(),
baseConfig.getPkId(), pkRuleId, 1, baseConfig.getActCover(), null,
null, pkMember, pkCountry, baseConfig.getPkId());
}
}
return true;
}
/**
* 撤单
*/
private Boolean cancelOrder(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
Long pkOrderId = saOrderExt.getPkId();
//修改人
Long pkModified = saOrderExt.getPkReference();
//撤单更新状态
acRecomUpgradeRecordService.cancelOrder(pkOrderId, pkModified);
AcRecomUpgradeRecordExt upgradeRecordOrder = new AcRecomUpgradeRecordExt();
upgradeRecordOrder.setPkOrderId(pkOrderId);
upgradeRecordOrder.setStartDate(baseConfig.getActStartDate());
upgradeRecordOrder.setEndDate(baseConfig.getActEndDate());
//根据orderId查询
AcRecomUpgradeRecord recomUpgradeRecord = acRecomUpgradeRecordService.selectUpgradeRecordByOrderId(upgradeRecordOrder);
if (null != recomUpgradeRecord) {
Long pkRuleId = recomUpgradeRecord.getPkRuleId();
//查询规则
AcRecomUpgradeRuleConfig UpgradeRuleConfig = recomUpgradeRuleConfigService.getById(pkRuleId);
AcRecomUpgradeRecordExt upgradeRecord = (AcRecomUpgradeRecordExt) recomUpgradeRecord;
upgradeRecord.setPkSettleGrade(UpgradeRuleConfig.getPkSettleGrade());
upgradeRecord.setPkRecommendGrade(UpgradeRuleConfig.getPkRecommendGrade());
upgradeRecord.setStartDate(baseConfig.getActStartDate());
upgradeRecord.setEndDate(baseConfig.getActEndDate());
//推荐人数
List<Long> recommendNumber = acRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord);
//配置的推荐人数
Integer recommendConfigNumber = UpgradeRuleConfig.getRecommendNumber();
if (CollUtil.isNotEmpty(recommendNumber) && recommendNumber.size() < recommendConfigNumber) {
Long pkMember = recomUpgradeRecord.getPkMember();
//调用降级处理
Integer pkUpgradeGrade = UpgradeRuleConfig.getPkUpgradeGrade();
CuMember data = memberServiceApi.getMember(pkMember).getData();
//用户信息
CuMember cuMember = CuMember.builder().pkId(pkMember).pkSettleGrade(UpgradeRuleConfig.getPkSettleGrade()).memberCode(data.getMemberCode())
.pkSettleCountry(data.getPkSettleCountry()).build();
cuMember.setPkModified(pkMember);
cuMember.setModifiedTime(new Date());
SaOrder saOrder = SaOrder.builder().payTime(new Date()).build();
//调用降级处理
memberServiceApi.updateMemberLevel(cuMember, saOrder, pkUpgradeGrade);
//调用提货接口
return acPickService.addPickByActivity(pkMember, EActType.DIRECT_PUSH_GIFT.getValue(),
baseConfig.getPkId(), pkRuleId, -1, baseConfig.getActCover(), null,
null, pkModified, saOrderExt.getPkCountry(), baseConfig.getPkId());
}
}
return true;
}
@Override
public Boolean deleteCouponsRuleConfigByBaseId(Long pkBaseId, Long pkModifyId) {
UpdateWrapper<AcRepurCouponsRuleConfig> updateWrapper = new UpdateWrapper<>();

View File

@ -1,6 +1,5 @@
package com.hzs.activity.register.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.activity.register.AcRegisterGift;
import org.apache.ibatis.annotations.Param;
@ -9,23 +8,8 @@ import java.util.Date;
import java.util.List;
/**
* <p>
* 注册赠送 Mapper 接口
* </p>
*
* @author hzs
* @since 2024-10-09
*/
public interface AcRegisterGiftMapper extends BaseMapper<AcRegisterGift> {
/**
* 查询注册赠送活动数据
*
* @param pkGrade 奖衔
* @param nowDate 当前时间
* @param pkCountry 所属国家
* @return
*/
List<AcRegisterGift> listRegisterGift(@Param("pkGrade") Integer pkGrade, @Param("nowDate") Date nowDate, @Param("pkCountry") Integer pkCountry);
}

View File

@ -4,14 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.base.param.ActivityParam;
import com.hzs.common.domain.activity.register.AcRegisterGift;
import java.util.Date;
import java.util.List;
/**
* 注册赠送 服务类
*
* @author hzs
* @since 2024-10-09
*/
public interface IAcRegisterGiftService extends IService<AcRegisterGift> {
@ -24,15 +19,5 @@ public interface IAcRegisterGiftService extends IService<AcRegisterGift> {
void updateRegisterGift(ActivityParam activityParam);
/**
* 查询注册赠送活动数据
*
* @param pkGrade 奖衔
* @param nowDate 当前时间
* @param pkCountry 所属国家
* @return
*/
List<AcRegisterGift> listRegisterGift(Integer pkGrade, Date nowDate, Integer pkCountry);
}

View File

@ -1,6 +1,5 @@
package com.hzs.activity.register.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -16,27 +15,19 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <p>
* 注册赠送 服务实现类
* </p>
*
* @author hzs
* @since 2024-10-09
*/
@Service
public class AcRegisterGiftServiceImpl extends ServiceImpl<AcRegisterGiftMapper, AcRegisterGift> implements IAcRegisterGiftService {
@Autowired
private IAcRegisterGiftService registerGiftService;
@Autowired
private IActivityService activityService;
/**
* 新增
* @param activityParam
*/
@Override
public void createRegisterGift(ActivityParam activityParam) {
Long pkId = activityService.saveActivity(activityParam);
@ -55,7 +46,7 @@ public class AcRegisterGiftServiceImpl extends ServiceImpl<AcRegisterGiftMapper,
public void updateRegisterGift(ActivityParam activityParam) {
AcBaseConfig baseConfig = activityService.updateBaseConfig(activityParam);
List<AcRegisterGift> list = new ArrayList<>();
registerGiftService.remove(new QueryWrapper<AcRegisterGift>().eq("PK_BASE_ID",baseConfig.getPkId()));
registerGiftService.remove(new QueryWrapper<AcRegisterGift>().eq("PK_BASE_ID", baseConfig.getPkId()));
for (RegisterGiftParam registerGiftParam : activityParam.getRegisterGiftParamList()) {
AcRegisterGift registerGift = BeanUtil.copyProperties(registerGiftParam, AcRegisterGift.class);
registerGift.setModifiedTime(DateUtils.currentDateTime());
@ -68,10 +59,5 @@ public class AcRegisterGiftServiceImpl extends ServiceImpl<AcRegisterGiftMapper,
registerGiftService.saveBatch(list);
}
@Override
public List<AcRegisterGift> listRegisterGift(Integer pkGrade, Date nowDate, Integer pkCountry) {
return baseMapper.listRegisterGift(pkGrade, nowDate, pkCountry);
}
}

View File

@ -1,184 +0,0 @@
package com.hzs.sale.order.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 查询商品订单VO
* @Author: jiang chao
* @Time: 2023/5/29 17:48
* @Classname: SaTOrderQueryVO
* @PackageName: com.hzs.sale.order.vo
*/
@Data
public class SaTOrderQueryVO {
/**
* 订单ID
*/
private Long pkOrder;
/**
* 订单明细ID
*/
private Long pkOrderItems;
/**
* 产品名称
*/
@Excel(name = "产品名称")
private String productName;
/**
* 产品规格
*/
@Excel(name = "产品规格")
private String specsName;
/**
* 产品单价
*/
@Excel(name = "产品单价(¥)")
private BigDecimal price;
/**
* 产品业绩
*/
@Excel(name = "产品业绩($)")
private BigDecimal achievement;
/**
* 订单状态 (0=待付款,1=已付款,2=已合单,3=待收货,4=已撤单,5=已收货)
*/
@Transaction(transactionKey = EnumsPrefixConstants.ORDER_STATUS)
private Integer orderStatus;
/**
* 订单状态显示
*/
@Excel(name = "发货状态")
private String orderStatusVal;
/**
* 物流单号
*/
@Excel(name = "物流单号")
private String logisticsCode;
/**
* 物流公司
*/
@Excel(name = "物流公司")
private String logisticsCompany;
/**
* 产品数量
*/
@Excel(name = "产品数量")
private Integer quantity;
/**
* 订单编号
*/
@Excel(name = "订单编号")
private String orderCode;
/**
* 会员编号
*/
@Excel(name = "会员编号")
private String memberCode;
/**
* 会员名称
*/
@Excel(name = "会员姓名")
private String memberName;
/**
* 收货人
*/
@Excel(name = "收货人")
private String recName;
/**
* 收货电话
*/
@Excel(name = "联系方式")
private String recPhone;
/**
*
*/
private Integer recProvince;
/**
* 省显示
*/
@Excel(name = "")
private String recProvinceVal;
/**
*
*/
private Integer recCity;
/**
* 市显示
*/
@Excel(name = "")
private String recCityVal;
/**
*
*/
private Integer recCounty;
/**
* 县显示
*/
@Excel(name = "区/县")
private String recCountyVal;
/**
* 收货地址
*/
@Excel(name = "详细地址")
private String recAddress;
/**
* 订单金额
*/
@Excel(name = "订单金额(¥)")
private BigDecimal orderAmount;
/**
* 订单业绩
*/
@Excel(name = "订单业绩($)")
private BigDecimal orderAchieve;
/**
* 邮费
*/
@Excel(name = "邮费(¥)")
private BigDecimal postage;
/**
* 备注
*/
@Excel(name = "备注")
private String remark;
/**
* 创建时间
*/
@Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
/**
* 支付时间
*/
@Excel(name = "支付时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date payTime;
}

View File

@ -92,20 +92,6 @@
order by ACT_STATUS, ac.act_type
</select>
<select id="selectBaseConfigByType" resultMap="BaseResultMap">
select *
from AC_BASE_CONFIG b
where b.del_flag = 0
and b.pk_country = #{pkCountry}
<if test="actType != null">
and b.act_type = #{actType}
</if>
<if test="atcModule != null">
and b.atc_module =#{atcModule}
</if>
and trunc(sysdate) between b.act_start_date and b.act_end_date
</select>
<!-- 查询活动基础配置 + 配置要求 -->
<select id="queryBaseAndOther" resultMap="BaseResultExtMap">
select abc.*,

View File

@ -4,66 +4,79 @@
<!-- 通用查询映射结果 -->
<resultMap id="AcDrawRewardNumExt" type="com.hzs.common.domain.activity.draw.ext.AcDrawRewardNumExt">
<id column="PK_ID" property="pkId" />
<result column="DEL_FLAG" property="delFlag" />
<result column="CREATION_TIME" property="creationTime" />
<result column="PK_CREATOR" property="pkCreator" />
<result column="MODIFIED_TIME" property="modifiedTime" />
<result column="PK_MODIFIED" property="pkModified" />
<result column="PK_COUNTRY" property="pkCountry" />
<result column="PK_BASE_ID" property="pkBaseId" />
<result column="PK_MEMBER" property="pkMember" />
<result column="TOTAL_NUM" property="totalNum" />
<result column="TOTAL_USED_NUM" property="totalUsedNum" />
<result column="TOTAL_SURPLUS_NUM" property="totalSurplusNum" />
<result column="AVAILABLE_NUM" property="availableNum" />
<result column="AVAILABLE_USED_NUM" property="availableUsedNum" />
<result column="AVAILABLE_SURPLUS_NUM" property="availableSurplusNum" />
<result column="PAY_MONEY" property="payMoney" />
<id column="PK_ID" property="pkId"/>
<result column="DEL_FLAG" property="delFlag"/>
<result column="CREATION_TIME" property="creationTime"/>
<result column="PK_CREATOR" property="pkCreator"/>
<result column="MODIFIED_TIME" property="modifiedTime"/>
<result column="PK_MODIFIED" property="pkModified"/>
<result column="PK_COUNTRY" property="pkCountry"/>
<result column="PK_BASE_ID" property="pkBaseId"/>
<result column="PK_MEMBER" property="pkMember"/>
<result column="TOTAL_NUM" property="totalNum"/>
<result column="TOTAL_USED_NUM" property="totalUsedNum"/>
<result column="TOTAL_SURPLUS_NUM" property="totalSurplusNum"/>
<result column="AVAILABLE_NUM" property="availableNum"/>
<result column="AVAILABLE_USED_NUM" property="availableUsedNum"/>
<result column="AVAILABLE_SURPLUS_NUM" property="availableSurplusNum"/>
<result column="PAY_MONEY" property="payMoney"/>
<result column="MEMBER_CODE" property="memberCode"/>
<result column="MEMBER_NAME" property="memberName"/>
<result column="AWARDS_NAME" property="awardsName" />
<result column="GRADE_NAME" property="gradeName" />
<result column="ACT_NAME" property="actName" />
<result column="AWARDS_NAME" property="awardsName"/>
<result column="GRADE_NAME" property="gradeName"/>
<result column="ACT_NAME" property="actName"/>
<result column="REC_MEMBER_CODE" property="recMemberCode"/>
<result column="REC_MEMBER_NAME" property="recMemberName"/>
<result column="ORDER_CODE" property="orderCode" />
<result column="ORDER_CODE" property="orderCode"/>
<result column="SOURCE_MEMBER_CODE" property="sourceMemberCode"/>
<result column="SOURCE_MEMBER_NAME" property="sourceMemberName"/>
</resultMap>
<select id="queryDrawRewardNumByCondition" resultMap="AcDrawRewardNumExt">
select ac.PAY_MONEY,ar.pk_id,ar.pk_base_id,ar.pk_member,ar.total_num,ar.total_used_num,ar.total_surplus_num,
ar.available_num,ar.available_surplus_num,ar.available_used_num,ar.pk_country from ac_base_config ac
inner join AC_DRAW_REWARD_NUM ar
on ac.pk_id = ar.pk_base_id
where ar.del_flag = 0 and ac.del_flag = 0
select ac.PAY_MONEY,
ar.pk_id,
ar.pk_base_id,
ar.pk_member,
ar.total_num,
ar.total_used_num,
ar.total_surplus_num,
ar.available_num,
ar.available_surplus_num,
ar.available_used_num,
ar.pk_country
from ac_base_config ac
inner join AC_DRAW_REWARD_NUM ar
on ac.pk_id = ar.pk_base_id
where ar.del_flag = 0
and ac.del_flag = 0
and ar.pk_country = #{pkCountry}
and ar.pk_base_id = #{pkBaseId}
and ar.pk_member = #{pkMember}
</select>
<select id="queryDrawRewardExtNumByCondition" resultMap="AcDrawRewardNumExt">
select cm.member_code,cm.member_name,bg.grade_name,ba.awards_name,ar.total_num,
ar.total_used_num,ar.total_surplus_num,ar.available_num,ar.available_used_num,
ar.available_surplus_num,cmb.member_code rec_member_code,cmb.member_name rec_member_name,so.order_code,
cmc.member_code source_member_code,cmc.member_name source_member_name,ab.act_name from ac_draw_reward_num ar
inner join ac_draw_reward_num_detail ad
on ar.pk_id = ad.pk_draw_reward_num
inner join cu_member cm
on ar.pk_member= cm.pk_id
inner join sa_order so
on so.pk_id = ad.pk_order
inner join ac_base_config ab
on ab.pk_id = ar.pk_base_id
left join bd_grade bg
on bg.pk_id = cm.pk_settle_grade
left join bd_awards ba
on ba.pk_id=cm.pk_awards
left join cu_member cmb
on cmb.pk_id = so.pk_reference
left join cu_member cmc
on cmc.pk_id = so.pk_member
ar.total_used_num,ar.total_surplus_num,ar.available_num,ar.available_used_num,
ar.available_surplus_num,cmb.member_code rec_member_code,cmb.member_name rec_member_name,so.order_code,
cmc.member_code source_member_code,cmc.member_name source_member_name,ab.act_name from ac_draw_reward_num ar
inner join ac_draw_reward_num_detail ad
on ar.pk_id = ad.pk_draw_reward_num
inner join cu_member cm
on ar.pk_member= cm.pk_id
inner join sa_order so
on so.pk_id = ad.pk_order
inner join ac_base_config ab
on ab.pk_id = ar.pk_base_id
left join bd_grade bg
on bg.pk_id = cm.pk_settle_grade
left join bd_awards ba
on ba.pk_id=cm.pk_awards
left join cu_member cmb
on cmb.pk_id = so.pk_reference
left join cu_member cmc
on cmc.pk_id = so.pk_member
where ar.del_flag=0 and cm.del_flag=0 and so.del_flag=0
and ab.del_flag=0
and ab.del_flag=0
and ar.pk_country= #{pkCountry}
<if test="memberCode != null and memberCode != ''">
and cm.member_code = #{memberCode}

View File

@ -72,54 +72,6 @@
and ap.USABLE_QUANTITY - #{quantity} >= 0
</update>
<!-- 批量更新使用数量 -->
<update id="updatePickUseBatch">
merge into ac_pick ap
using (
<foreach collection="list" item="item" separator=" union ">
select
#{item.pkId} PK_ID,
#{item.pkMember} PK_MEMBER
from dual
</foreach>
) tmp
on (tmp.PK_ID = ap.PK_ID)
WHEN MATCHED THEN
update
set ap.USABLE_QUANTITY = USABLE_QUANTITY - #{quantity},
ap.USED_QUANTITY = USED_QUANTITY + #{quantity},
ap.pk_modified = tmp.pk_member,
ap.modified_time = sysdate
</update>
<!-- 根据提货ID更新使用数量 -->
<update id="updatePickUseById">
update AC_PICK ap
set ap.USABLE_QUANTITY = ap.USABLE_QUANTITY - #{quantity},
ap.USED_QUANTITY = ap.USED_QUANTITY + #{quantity},
ap.pk_modified = #{pkModified},
ap.modified_time = sysdate
where ap.del_flag = 0
and ap.pk_id = #{pkId}
and ap.USABLE_QUANTITY - #{quantity} >= 0
</update>
<!-- 根据主键更新提货数量 -->
<update id="updatePickQuantityByPkId">
update AC_PICK ap
set ap.USABLE_QUANTITY = ap.USABLE_QUANTITY + #{acPick.usableQuantity},
ap.pk_modified = #{acPick.pkModified},
ap.modified_time = sysdate
where ap.del_flag = 0
and ap.PK_ID = #{acPick.pkId}
and ap.RECEIVE_TIME = #{acPick.receiveTime}
<if test="acPick.isFreeMail != null">
and ap.IS_FREE_MAIL = #{acPick.isFreeMail}
</if>
and ap.PK_POSTAGE = #{acPick.pkPostage}
and ap.USABLE_QUANTITY + #{acPick.usableQuantity} > 0
</update>
<!-- 根据主键更新提货数据 -->
<update id="updatePickByPkId">
update AC_PICK ap
@ -148,27 +100,6 @@
where ap.del_flag = 0
and ap.PK_ID = #{acPick.pkId}
</update>
<update id="updateBackPickUseBatch">
merge into ac_pick ap
using (
select pk_member,pk_pick,sum(PICK_QUANTITY) PICK_QUANTITY from(
<foreach collection="list" item="item" separator=" union all">
select
#{item.pkMember} PK_MEMBER,
#{item.pkPick} PK_PICK,
#{item.pickQuantity} PICK_QUANTITY
from dual
</foreach>)
group by pk_member,pk_pick
) tmp
on (tmp.PK_PICK = ap.PK_ID)
WHEN MATCHED THEN
update
set ap.USABLE_QUANTITY = USABLE_QUANTITY + tmp.PICK_QUANTITY,
ap.USED_QUANTITY = USED_QUANTITY -tmp.PICK_QUANTITY,
ap.pk_modified = tmp.pk_member,
ap.modified_time = sysdate
</update>
<!-- 查询提货列表 -->
<select id="queryList" resultType="com.hzs.common.domain.activity.pick.ext.AcPickExt">

View File

@ -19,22 +19,4 @@
<result column="RATIO_VALUE" property="ratioValue"/>
</resultMap>
<select id="queryAcRepurchaseCouponsRule" resultMap="AcRepurCouponsRuleConfig">
select dr.pk_base_id,
dr.order_type,
dr.order_amount,
dr.order_achieve,
dr.ratio_type,
dr.ratio_value,
ba.pk_country
from ac_base_config ba
inner join AC_REPUR_COUPONS_RULE_CONFIG dr
on dr.pk_base_id = ba.pk_id
where ba.del_flag = 0
and dr.del_flag = 0
and ba.act_start_date &lt;= #{settleDate, jdbcType=DATE}
and ba.act_end_date >= #{settleDate, jdbcType=DATE}
order by dr.pk_base_id, dr.ORDER_ACHIEVE desc
</select>
</mapper>

View File

@ -19,20 +19,4 @@
<result column="SPECS_NAME_ID" property="specsNameId"/>
</resultMap>
<!-- 查询注册赠送活动数据 -->
<select id="listRegisterGift" resultType="com.hzs.common.domain.activity.register.AcRegisterGift">
select arg.*
from ac_base_config abc
inner join AC_REGISTER_GIFT arg
on arg.pk_base_id = abc.pk_id
and arg.del_flag = 0
where abc.del_flag = 0
and abc.act_type = 21
and abc.pk_country = #{pkCountry}
and arg.pk_grade = #{pkGrade}
and #{nowDate} >= abc.act_start_date
and abc.act_end_date >= #{nowDate}
order by abc.act_start_date desc, arg.type
</select>
</mapper>

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -16,12 +17,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 活动基本配置表
* </p>
*
* @author hzs
* @since 2023-04-20
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -9,12 +9,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员可抽奖次数记录
* </p>
*
* @author hzs
* @since 2023-04-21
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -9,12 +9,7 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
/**
* @description: 扩展类
* @author: sui q
* @time: 2023/4/27 15:07
* @classname: AcDrawRewardNumExt
* @package_name: com.hzs.common.domain.activity.draw.ext
* version 1.0.0
* 扩展类
*/
@EqualsAndHashCode(callSuper = true)
@Data

View File

@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 新人礼包活动业务表
* </p>
*
* @author hzs
* @since 2023-04-26
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ -56,5 +51,4 @@ public class AcPeopleService extends BaseEntity {
private Integer planState;
}

View File

@ -2,7 +2,9 @@ package com.hzs.common.domain.activity.pick;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
@ -12,9 +14,6 @@ import lombok.experimental.Accessors;
/**
* 提货基础表
*
* @author hzs
* @since 2023-04-21
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -16,9 +16,6 @@ import lombok.experimental.Accessors;
/**
* 会员提货记录
*
* @author hzs
* @since 2023-05-15
*/
@Data
@EqualsAndHashCode(callSuper = false)

View File

@ -13,12 +13,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 直推-复购券规则配置
* </p>
*
* @author hzs
* @since 2023-04-22
*/
@Data
@Builder

View File

@ -11,9 +11,6 @@ import lombok.experimental.Accessors;
/**
* 注册赠送
*
* @author hzs
* @since 2024-10-09
*/
@Data
@EqualsAndHashCode(callSuper = true)

View File

@ -12,12 +12,7 @@ import lombok.*;
import lombok.experimental.Accessors;
/**
* <p>
* 会员账户信息
* </p>
*
* @author hzs
* @since 2022-08-11
*/
@Data
@Builder
@ -249,7 +244,7 @@ public class CuMemberAccount extends BaseEntity {
private BigDecimal lockTransferAccount8;
/**
*复购券账户备注
* 复购券账户备注
*/
@TableField("ACCOUNT8_REMARKS")
private String account8Remarks;

View File

@ -12,11 +12,7 @@ import java.math.BigDecimal;
import java.util.List;
/**
* @Description: 订单扩展表
* @Author: sui q
* @Time: 2022/9/8 11:01
* @Classname: SaOrderExt
* @PackageName: com.hzs.common.domain.sale.ext
* 订单扩展表
*/
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)

View File

@ -14,9 +14,6 @@ import lombok.experimental.Accessors;
/**
* 销售订单-主表
*
* @author hzs
* @since 2022-08-31
*/
@Data
@ToString(callSuper = true)
@ -154,7 +151,8 @@ public class SaOrder extends BaseEntity {
@TableField("TRAN_TYPE")
private Integer tranType;
/** EDelivery
/**
* EDelivery
* 发货方式 (1=快递,2=公司自提,3=店铺自提,4=店铺配送)
*/
@TableField("DELIVERY_WAY")

View File

@ -8,20 +8,13 @@ import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
/**
* @Description:
* @Author: jiang chao
* @Time: 2024/1/18 11:36
* @Classname: ActivityJob
* @PackageName: com.hzs.third.job
*/
@Component
@Slf4j
@ConditionalOnProperty(name = "xxl-job.start", havingValue = "true")
public class ActivityJob {
@DubboReference
private IAcOtherServiceApi iAcOtherServiceApi;
IAcOtherServiceApi iAcOtherServiceApi;
/**
* 车奖旅游奖等定时任务
@ -29,7 +22,7 @@ public class ActivityJob {
@XxlJob("acOtherPrice")
public void acOtherPrice() {
log.info("车奖、旅游奖等业绩处理");
R resultR = iAcOtherServiceApi.acOtherPriceHandle();
R<?> resultR = iAcOtherServiceApi.acOtherPriceHandle();
if (resultR.isSuccess()) {
log.info("车奖、旅游奖等业绩处理完成");
} else {