Compare commits
No commits in common. "867a39cc72a4561f34c851fbbc384b756bc555b2" and "3ecfddd66c6cef3149a7f13580b6d847c2e843f2" have entirely different histories.
867a39cc72
...
3ecfddd66c
|
|
@ -154,6 +154,19 @@ public interface IMemberServiceApi {
|
|||
*/
|
||||
R<CuMember> getMember(Long pkMember);
|
||||
|
||||
/**
|
||||
* 获取会员缓存
|
||||
*
|
||||
* @param memberCode 会员编号
|
||||
* @return CuMember
|
||||
*/
|
||||
R<CuMember> queryMember(String memberCode);
|
||||
|
||||
/**
|
||||
* 查询会员
|
||||
*/
|
||||
R<CuMember> queryMember(Long pkMember);
|
||||
|
||||
/**
|
||||
* 保存新会员信息,待支付订单
|
||||
*
|
||||
|
|
@ -289,8 +302,9 @@ public interface IMemberServiceApi {
|
|||
* @param cuMember 用户信息
|
||||
* @param saOrder 订单信息
|
||||
* @param pkOldLevel 原等级
|
||||
* @return R<Boolean>
|
||||
*/
|
||||
R<?> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
||||
R<Boolean> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
||||
|
||||
/**
|
||||
* 校验是否血缘关系(返回true则有血缘关系)
|
||||
|
|
@ -308,6 +322,11 @@ public interface IMemberServiceApi {
|
|||
*/
|
||||
R<CuMemberExt> checkMemberByParentList(List<String> topCodeList, Long userId);
|
||||
|
||||
/**
|
||||
* 获取奖衔的翻译KEY值
|
||||
**/
|
||||
Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId);
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
*
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package com.hzs.activity.base;
|
||||
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.EApprovalBusiness;
|
||||
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
||||
|
||||
/**
|
||||
* 活动审批相关服务入口
|
||||
*/
|
||||
public interface IActivityApprovalServiceApi {
|
||||
|
||||
/**
|
||||
* 活动服务信息处理回调
|
||||
*
|
||||
* @param approvalBusinessResultDTO
|
||||
* @return
|
||||
*/
|
||||
R<Boolean> approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
|
||||
|
||||
/**
|
||||
* 活动服务信息签呈查询
|
||||
*
|
||||
* @param eApprovalBusiness 业务类型
|
||||
* @param businessCode 业务单号
|
||||
* @param pkCountry 所属国家
|
||||
* @return
|
||||
*/
|
||||
R<?> queryApprovalData(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry);
|
||||
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.hzs.activity.base;
|
|||
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
|
||||
import com.hzs.common.domain.activity.recommend.ext.AcRepurSharRuleConfigExt;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -10,7 +11,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 所有活动的生效
|
||||
* 所有活动的生效,获得赠品入口
|
||||
*/
|
||||
public interface IActivityServiceApi {
|
||||
|
||||
|
|
@ -53,6 +54,15 @@ public interface IActivityServiceApi {
|
|||
*/
|
||||
R<List<AcRepurCouponsRuleConfig>> queryAcRepurchaseCouponsRule(Date settleDate);
|
||||
|
||||
/**
|
||||
* 查询复购券均分收益
|
||||
*
|
||||
* @param startDate
|
||||
* @param endDate
|
||||
* @return
|
||||
*/
|
||||
R<List<AcRepurSharRuleConfigExt>> queryRepurSharRuleConfig(Date startDate, Date endDate);
|
||||
|
||||
/**
|
||||
* 调用调用直推升级接口
|
||||
*
|
||||
|
|
|
|||
|
|
@ -208,6 +208,16 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
return R.ok(iCuMemberService.getMember(pkMember));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<CuMember> queryMember(String memberCode) {
|
||||
return R.ok(iCuMemberService.queryMember(memberCode));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<CuMember> queryMember(Long pkMember) {
|
||||
return R.ok(iCuMemberService.queryMember(pkMember));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> saveMember(CuMember cuMember) {
|
||||
try {
|
||||
|
|
@ -342,13 +352,8 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
public R<?> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
|
||||
try {
|
||||
iCuMemberBusinessService.updateMemberLevel(cuMember, saOrder, pkOldLevel);
|
||||
return R.ok();
|
||||
} catch (Exception e) {
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
public R<Boolean> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
|
||||
return R.ok(iCuMemberBusinessService.updateMemberLevel(cuMember, saOrder, pkOldLevel));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -361,6 +366,11 @@ public class MemberServiceProvider implements IMemberServiceApi {
|
|||
return R.ok(iCuMemberService.checkMemberByParentList(topCodeList, userId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId) {
|
||||
return iCuMemberService.getAwardsTranslateValue(pkCountry, pkId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<CuMemberExt>> findAll() {
|
||||
return R.ok(iCuMemberService.findAll());
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ public interface ICuMemberBusinessService {
|
|||
* @param saOrder 订单信息
|
||||
* @param pkOldLevel 原等级
|
||||
*/
|
||||
void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
||||
Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
|
||||
|
||||
/**
|
||||
* 查询会员的安置位置
|
||||
|
|
|
|||
|
|
@ -195,7 +195,19 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
* @param saOrder 订单
|
||||
* @param pkOldLevel 原等级
|
||||
*/
|
||||
private void saveLevelUpgrade(CuMember cuMember, Integer levelType, SaOrder saOrder, Integer pkOldLevel) {
|
||||
private Boolean saveLevelUpgrade(CuMember cuMember, Integer levelType, SaOrder saOrder, Integer pkOldLevel) {
|
||||
// V3可以买一单升V4,这个位置需要添加校验,如果是购买升级 并且 原等级大于新等级,不添加升级记录
|
||||
if (EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrder.getOrderType()
|
||||
&& EUpgradeType.BUY_UPGRADE.getValue() == levelType) {
|
||||
// 购买升级
|
||||
GradeDTO oldGrade = iGradeServiceApi.getGrade(pkOldLevel).getData();
|
||||
GradeDTO newGrade = iGradeServiceApi.getGrade(cuMember.getPkSettleGrade()).getData();
|
||||
if (oldGrade.getGradeValue() >= newGrade.getGradeValue()) {
|
||||
// 旧等级大于等于新等级,则不需要添加升级记录
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// 记录升级历史
|
||||
CuMemberLevel cuMemberLevel = CuMemberLevel.builder()
|
||||
.pkMember(cuMember.getPkId())
|
||||
|
|
@ -207,7 +219,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
.build();
|
||||
cuMemberLevel.setPkCountry(cuMember.getPkSettleCountry());
|
||||
cuMemberLevel.setPkCreator(cuMember.getPkId());
|
||||
iCuMemberLevelService.save(cuMemberLevel);
|
||||
return iCuMemberLevelService.save(cuMemberLevel);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1203,9 +1215,9 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
|
|||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
|
||||
public Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
|
||||
updateCuMember(cuMember);
|
||||
saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel);
|
||||
return saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -334,29 +334,6 @@ public class ApiMemberStructureController extends BaseController {
|
|||
result.get(0).putExtra("rightFirstSurplus", bdBonusExpand.getExpandBig().toString());
|
||||
}
|
||||
}
|
||||
|
||||
result.get(0).putExtra("parentId", null);
|
||||
result.get(0).putExtra("parentMemberCode", null);
|
||||
result.get(0).putExtra("placeDept", null);
|
||||
result.get(0).putExtra("countryName", null);
|
||||
result.get(0).putExtra("countryUrl", null);
|
||||
result.get(0).putExtra("countryUrl2", null);
|
||||
result.get(0).putExtra("settleCountryName", null);
|
||||
result.get(0).putExtra("settleCountryUrl", null);
|
||||
result.get(0).putExtra("settleCountryUrl2", null);
|
||||
result.get(0).putExtra("leftRealTotal", null);
|
||||
result.get(0).putExtra("leftFirstTotal", null);
|
||||
result.get(0).putExtra("leftRealNewPv", null);
|
||||
result.get(0).putExtra("rightRealNewPv", null);
|
||||
result.get(0).putExtra("leftFirstPurchaseAdd", null);
|
||||
result.get(0).putExtra("rightFirstPurchaseAdd", null);
|
||||
result.get(0).putExtra("leftRepeatPurchaseAdd", null);
|
||||
result.get(0).putExtra("rightRepeatPurchaseAdd", null);
|
||||
result.get(0).putExtra("rightRealTotal", null);
|
||||
result.get(0).putExtra("rightFirstTotal", null);
|
||||
result.get(0).putExtra("leftRepeatPurchaseTotal", null);
|
||||
result.get(0).putExtra("rightRepeatPurchaseTotal", null);
|
||||
|
||||
JSONObject data = new JSONObject();
|
||||
data.put("tree", result);
|
||||
return AjaxResult.success(data);
|
||||
|
|
|
|||
|
|
@ -25,12 +25,19 @@ import javax.servlet.http.HttpServletResponse;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @BelongsProject: hzs_cloud
|
||||
* @BelongsPackage: com.hzs.activity.controller.manage
|
||||
* @Author: yh
|
||||
* @CreateTime: 2023-04-20 13:51
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/manage/activity")
|
||||
public class ActivityController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private IAcBaseConfigService iAcBaseConfigService;
|
||||
private IAcBaseConfigService baseConfigService;
|
||||
@Autowired
|
||||
private IActivityService iActivityService;
|
||||
|
||||
|
|
@ -88,7 +95,7 @@ public class ActivityController extends BaseController {
|
|||
// 创建时间倒叙
|
||||
queryWrapper.orderByDesc(AcBaseConfig::getCreationTime);
|
||||
List<BaseConfigVo> resultList = new ArrayList<>();
|
||||
List<AcBaseConfig> list = iAcBaseConfigService.list(queryWrapper);
|
||||
List<AcBaseConfig> list = baseConfigService.list(queryWrapper);
|
||||
for (AcBaseConfig acBaseConfig : list) {
|
||||
BaseConfigVo baseConfigVo = BeanUtil.copyProperties(acBaseConfig, BaseConfigVo.class);
|
||||
// 判断活动状态
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@ import com.hzs.common.domain.activity.base.AcApprovalLog;
|
|||
|
||||
/**
|
||||
* 活动审批日志 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-22
|
||||
*/
|
||||
public interface AcApprovalLogMapper extends BaseMapper<AcApprovalLog> {
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ public interface AcBaseConfigMapper extends BaseMapper<AcBaseConfig> {
|
|||
* 根据活动类型查询基本配置
|
||||
*
|
||||
* @param baseConfigVO 基本活动配置
|
||||
* @return List<AcBaseConfig>
|
||||
*/
|
||||
List<AcBaseConfig> selectBaseConfigByType(AcBaseConfigVO baseConfigVO);
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,14 @@ import lombok.Data;
|
|||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @BelongsProject: hzs_cloud
|
||||
* @BelongsPackage: com.hzs.activity.controller.param
|
||||
* @Author: yh
|
||||
* @CreateTime: 2023-04-20 17:02
|
||||
* @Description: TODO
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@Data
|
||||
public class ConsumeRuleConfigParam implements Serializable {
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,240 @@
|
|||
package com.hzs.activity.base.provider;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.hzs.activity.base.IActivityApprovalServiceApi;
|
||||
import com.hzs.activity.base.service.IAcApprovalLogService;
|
||||
import com.hzs.activity.base.service.IActivityService;
|
||||
import com.hzs.activity.consume.service.IAcConsumeRuleConfigService;
|
||||
import com.hzs.activity.consume.service.IAcMemberConsumeRuleService;
|
||||
import com.hzs.activity.draw.param.PurchasedTimesParam;
|
||||
import com.hzs.activity.draw.service.IAcDrawGiftRuleConfigService;
|
||||
import com.hzs.activity.draw.service.IAcDrawRewardNumService;
|
||||
import com.hzs.activity.pick.param.AcPickSaveDetailParam;
|
||||
import com.hzs.activity.pick.service.IAcPickService;
|
||||
import com.hzs.activity.recommend.param.AcRecommendParam;
|
||||
import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService;
|
||||
import com.hzs.activity.wares.service.IAcWaresRuleConfigService;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.exception.base.BaseException;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
import com.hzs.common.domain.activity.base.AcApprovalLog;
|
||||
import com.hzs.member.base.IMemberServiceApi;
|
||||
import com.hzs.sale.product.IProductServiceApi;
|
||||
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 活动审批相关服务
|
||||
*/
|
||||
@DubboService
|
||||
public class ActivityApprovalProvider implements IActivityApprovalServiceApi {
|
||||
|
||||
@Autowired
|
||||
private IAcDrawRewardNumService drawRewardNumService;
|
||||
@Autowired
|
||||
private IAcConsumeRuleConfigService consumeRuleConfigService;
|
||||
@Autowired
|
||||
private IActivityService activityService;
|
||||
@Autowired
|
||||
private IAcWaresRuleConfigService waresRuleConfigService;
|
||||
@Autowired
|
||||
private IAcDrawGiftRuleConfigService drawGiftConfigService;
|
||||
@Autowired
|
||||
private IAcPickService iAcPickService;
|
||||
@Autowired
|
||||
private IAcApprovalLogService iAcApprovalLogService;
|
||||
@Autowired
|
||||
private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
|
||||
@Autowired
|
||||
private IAcMemberConsumeRuleService iAcMemberConsumeRuleService;
|
||||
|
||||
@DubboReference
|
||||
IMemberServiceApi iMemberServiceApi;
|
||||
@DubboReference
|
||||
IProductServiceApi iProductServiceApi;
|
||||
|
||||
|
||||
@Override
|
||||
public R<Boolean> approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
|
||||
try {
|
||||
// 返回内容
|
||||
String str = null;
|
||||
if (EApproveStatus.FINISH.getValue() == approvalBusinessResultDTO.getEApproveStatus().getValue()) {
|
||||
// 通过处理
|
||||
switch (approvalBusinessResultDTO.getEApprovalBusiness()) {
|
||||
case PICK_ADD:
|
||||
// 提货充值
|
||||
str = iAcPickService.pickApprovalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
case PICK_ADD_DEL:
|
||||
// 提货充值删除
|
||||
str = iAcPickService.delpickApprovalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
// 直推赠送
|
||||
case DIRECT_PUSH_GIFT:
|
||||
str = acRepurCouponsRuleConfigService.approvalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
case LOTTERY_DRAW:
|
||||
str = drawGiftConfigService.approvalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
case TOURISM_SAVE:
|
||||
case TOURISM_UPDATE:
|
||||
case TOURISM_DELETE:
|
||||
str = activityService.approvalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
case PRODUCT_GIFT_ADD:
|
||||
case PRODUCT_GIFT_UPDATE:
|
||||
case PRODUCT_GIFT_REMOVE:
|
||||
// 商品赠送添加/修改/删除
|
||||
str = waresRuleConfigService.approvalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
case CONSUME_GIFT_ADD:
|
||||
case CONSUME_GIFT_UPDATE:
|
||||
case CONSUME_GIFT_REMOVE:
|
||||
// 消费赠送添加/修改/删除
|
||||
consumeRuleConfigService.approvalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
case MEMBER_CONSUME_GIFT_ADD:
|
||||
case MEMBER_CONSUME_GIFT_UPDATE:
|
||||
case MEMBER_CONSUME_GIFT_REMOVE:
|
||||
// 会员消费赠送添加/修改/删除
|
||||
iAcMemberConsumeRuleService.approvalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
case LOTTERY_DRAW_ADD:
|
||||
case LOTTERY_DRAW_UPDATE:
|
||||
case LOTTERY_DRAW_REMOVE:
|
||||
// 抽奖配置添加/修改/删除
|
||||
drawGiftConfigService.approvalAgree(approvalBusinessResultDTO);
|
||||
break;
|
||||
case PUR_CHASED_TIMES:
|
||||
// 充值已购买次数
|
||||
drawRewardNumService.rechargePurchasedTimes(approvalBusinessResultDTO);
|
||||
break;
|
||||
case UN_PUR_CHASED_TIMES:
|
||||
// 充值未购买次数
|
||||
drawRewardNumService.unRechargePurchasedTimes(approvalBusinessResultDTO);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
} else {
|
||||
// 驳回处理
|
||||
switch (approvalBusinessResultDTO.getEApprovalBusiness()) {
|
||||
case PICK_ADD:
|
||||
// 提货充值
|
||||
str = iAcPickService.pickApprovalReject(approvalBusinessResultDTO);
|
||||
break;
|
||||
// 直推赠送
|
||||
case DIRECT_PUSH_GIFT:
|
||||
str = acRepurCouponsRuleConfigService.approvalReject(approvalBusinessResultDTO);
|
||||
break;
|
||||
case LOTTERY_DRAW:
|
||||
str = acRepurCouponsRuleConfigService.approvalReject(approvalBusinessResultDTO);
|
||||
break;
|
||||
case PRODUCT_GIFT_ADD:
|
||||
case PRODUCT_GIFT_UPDATE:
|
||||
case PRODUCT_GIFT_REMOVE:
|
||||
// 商品赠送添加
|
||||
str = waresRuleConfigService.approvalReject(approvalBusinessResultDTO);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotEmpty(str)) {
|
||||
// 返回有信息,说明有问题,抛出异常
|
||||
throw new BaseException(str);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 活动类审批诉求查询
|
||||
* @author:
|
||||
* @date: 2023/4/25 16:55
|
||||
* @param: [eApprovalBusiness, businessCode, pkCountry]
|
||||
* @return: com.hzs.common.core.domain.R
|
||||
**/
|
||||
@Override
|
||||
public R<?> queryApprovalData(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry) {
|
||||
try {
|
||||
List<AcApprovalLog> acApprovalLogList = iAcApprovalLogService.queryApprovalLogList(eApprovalBusiness, businessCode, pkCountry);
|
||||
switch (eApprovalBusiness) {
|
||||
case PICK_ADD:
|
||||
case PICK_ADD_DEL:
|
||||
// 提货充值
|
||||
List<AcPickSaveDetailParam> list = new ArrayList<>();
|
||||
for (AcApprovalLog approvalLog : acApprovalLogList) {
|
||||
AcPickSaveDetailParam afterData = JSONUtil.toBean(approvalLog.getAfterData(), AcPickSaveDetailParam.class);
|
||||
afterData.setMemberName(iMemberServiceApi.getMember(afterData.getMemberCode()).getData().getMemberName());
|
||||
if (afterData.getPkProduct() != null) {
|
||||
afterData.setProductName(iProductServiceApi.getProduct(afterData.getPkProduct()).getData().getProductName() + "(" + afterData.getSpecsName() + ")");
|
||||
}
|
||||
list.add(afterData);
|
||||
}
|
||||
return R.ok(list);
|
||||
// 直推赠送
|
||||
case DIRECT_PUSH_GIFT:
|
||||
case TOURISM_UPDATE:
|
||||
case TOURISM_DELETE:
|
||||
case TOURISM_SAVE:
|
||||
case LOTTERY_DRAW:
|
||||
// 抽奖
|
||||
return R.ok(getRecommendApprovalData(acApprovalLogList.get(0)));
|
||||
case PUR_CHASED_TIMES:
|
||||
case UN_PUR_CHASED_TIMES:
|
||||
// 充值已购买次数
|
||||
return R.ok(getRecommendApprovalDataInfo(acApprovalLogList.get(0)));
|
||||
case CONSUME_GIFT_ADD:
|
||||
case CONSUME_GIFT_UPDATE:
|
||||
case CONSUME_GIFT_REMOVE:
|
||||
case PRODUCT_GIFT_ADD:
|
||||
case PRODUCT_GIFT_UPDATE:
|
||||
case PRODUCT_GIFT_REMOVE:
|
||||
case LOTTERY_DRAW_ADD:
|
||||
case LOTTERY_DRAW_UPDATE:
|
||||
case LOTTERY_DRAW_REMOVE:
|
||||
case MEMBER_CONSUME_GIFT_ADD:
|
||||
case MEMBER_CONSUME_GIFT_UPDATE:
|
||||
case MEMBER_CONSUME_GIFT_REMOVE:
|
||||
return R.ok(getRecommendApprovalData(acApprovalLogList.get(0)));
|
||||
default:
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
private AcRecommendParam getRecommendApprovalData(AcApprovalLog acApprovalLog) {
|
||||
String data = acApprovalLog.getAfterData();
|
||||
return JSONUtil.toBean(data, AcRecommendParam.class);
|
||||
|
||||
}
|
||||
|
||||
private PurchasedTimesParam getRecommendApprovalDataInfo(AcApprovalLog acApprovalLog) {
|
||||
String data = acApprovalLog.getAfterData();
|
||||
if (StringUtils.isNotBlank(data)) {
|
||||
JSONObject js = new JSONObject(data);
|
||||
String memberCode = js.getStr("memberCode");
|
||||
String memberName = js.getStr("memberName");
|
||||
Integer num = js.getInt("num");
|
||||
PurchasedTimesParam purchasedTimesParam = new PurchasedTimesParam();
|
||||
purchasedTimesParam.setMemberCode(memberCode);
|
||||
purchasedTimesParam.setMemberName(memberName);
|
||||
purchasedTimesParam.setNum(num);
|
||||
return purchasedTimesParam;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -7,8 +7,10 @@ import com.hzs.activity.draw.service.IAcDrawRewardNumService;
|
|||
import com.hzs.activity.dto.AcRecommendUpgradeDTO;
|
||||
import com.hzs.activity.recommend.dto.AcRecommendUpgrade;
|
||||
import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService;
|
||||
import com.hzs.activity.recommend.service.IAcRepurSharRuleConfigService;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
|
|
@ -19,22 +21,24 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 所有活动的生效
|
||||
* 所有活动的生效,获得赠品入口
|
||||
*/
|
||||
@Slf4j
|
||||
@DubboService
|
||||
public class ActivityServiceProvider implements IActivityServiceApi {
|
||||
|
||||
@Autowired
|
||||
private IAcDrawRewardNumService iAcDrawRewardNumService;
|
||||
private IAcDrawRewardNumService acDrawRewardNumService;
|
||||
@Autowired
|
||||
private IAcRepurCouponsRuleConfigService iAcRepurCouponsRuleConfigService;
|
||||
private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
|
||||
@Autowired
|
||||
private IAcRepurSharRuleConfigService acRepurSharRuleConfigService;
|
||||
@Autowired
|
||||
private IActivityService iActivityService;
|
||||
|
||||
@Override
|
||||
public R<BigDecimal> queryDrawRewardPayNumMoney(Long pkMember, String orderCode) {
|
||||
BigDecimal payMoney = iAcDrawRewardNumService.queryDrawRewardPayNumMoney(pkMember, orderCode);
|
||||
BigDecimal payMoney = acDrawRewardNumService.queryDrawRewardPayNumMoney(pkMember, orderCode);
|
||||
if (payMoney == null) {
|
||||
return R.fail();
|
||||
}
|
||||
|
|
@ -53,7 +57,7 @@ public class ActivityServiceProvider implements IActivityServiceApi {
|
|||
@Override
|
||||
public R<Boolean> callBackOnlinePay(Long pkMember, String orderCode) {
|
||||
try {
|
||||
return R.ok(iAcDrawRewardNumService.callBackOnlinePay(pkMember, orderCode));
|
||||
return R.ok(acDrawRewardNumService.callBackOnlinePay(pkMember, orderCode));
|
||||
} catch (Exception e) {
|
||||
return R.fail();
|
||||
}
|
||||
|
|
@ -62,7 +66,7 @@ public class ActivityServiceProvider implements IActivityServiceApi {
|
|||
@Override
|
||||
public R<Boolean> backGiveMemberDrawNum(SaOrderExt saOrderExt) {
|
||||
try {
|
||||
return R.ok(iAcDrawRewardNumService.backGiveMemberDrawNum(saOrderExt));
|
||||
return R.ok(acDrawRewardNumService.backGiveMemberDrawNum(saOrderExt));
|
||||
} catch (Exception e) {
|
||||
return R.fail();
|
||||
}
|
||||
|
|
@ -70,7 +74,7 @@ public class ActivityServiceProvider implements IActivityServiceApi {
|
|||
|
||||
@Override
|
||||
public R<List<AcRepurCouponsRuleConfig>> queryAcRepurchaseCouponsRule(Date settleDate) {
|
||||
List<AcRepurCouponsRuleConfig> acRepurCouponsRuleConfigList = iAcRepurCouponsRuleConfigService.queryAcRepurchaseCouponsRule(settleDate);
|
||||
List<AcRepurCouponsRuleConfig> acRepurCouponsRuleConfigList = acRepurCouponsRuleConfigService.queryAcRepurchaseCouponsRule(settleDate);
|
||||
if (acRepurCouponsRuleConfigList != null && acRepurCouponsRuleConfigList.size() > 0) {
|
||||
return R.ok(acRepurCouponsRuleConfigList);
|
||||
} else {
|
||||
|
|
@ -78,10 +82,15 @@ public class ActivityServiceProvider implements IActivityServiceApi {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<List<AcRepurSharRuleConfigExt>> queryRepurSharRuleConfig(Date startDate, Date endDate) {
|
||||
return R.ok(acRepurSharRuleConfigService.queryRepurSharRuleConfig(startDate, endDate));
|
||||
}
|
||||
|
||||
@Override
|
||||
public R<Boolean> invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO) {
|
||||
try {
|
||||
return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class)));
|
||||
return R.ok(acRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class)));
|
||||
} catch (Exception e) {
|
||||
return R.fail();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 活动审批日志 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-22
|
||||
*/
|
||||
public interface IAcApprovalLogService extends IService<AcApprovalLog> {
|
||||
|
||||
|
|
@ -22,6 +25,16 @@ public interface IAcApprovalLogService extends IService<AcApprovalLog> {
|
|||
*/
|
||||
AcApprovalLog queryApprovalLog(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry);
|
||||
|
||||
/**
|
||||
* 查询审批记录列表
|
||||
*
|
||||
* @param eApprovalBusiness 业务类型
|
||||
* @param businessCode 业务单号
|
||||
* @param pkCountry 所属国家
|
||||
* @return
|
||||
*/
|
||||
List<AcApprovalLog> queryApprovalLogList(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry);
|
||||
|
||||
/**
|
||||
* 更新审核修改记录
|
||||
*
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 活动基本配置表 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
public interface IAcBaseConfigService extends IService<AcBaseConfig> {
|
||||
|
||||
|
|
@ -16,21 +19,31 @@ 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);
|
||||
|
||||
|
|
|
|||
|
|
@ -11,9 +11,13 @@ import com.hzs.common.domain.activity.base.AcApprovalLog;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 活动审批日志 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-22
|
||||
*/
|
||||
@Service
|
||||
public class AcApprovalLogServiceImpl extends ServiceImpl<AcApprovalLogMapper, AcApprovalLog> implements IAcApprovalLogService {
|
||||
|
|
@ -28,6 +32,16 @@ public class AcApprovalLogServiceImpl extends ServiceImpl<AcApprovalLogMapper, A
|
|||
return this.getOne(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AcApprovalLog> queryApprovalLogList(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry) {
|
||||
// 查询修改记录
|
||||
LambdaQueryWrapper<AcApprovalLog> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(AcApprovalLog::getBusinessCode, businessCode);
|
||||
queryWrapper.eq(AcApprovalLog::getApprovalType, eApprovalBusiness.getValue());
|
||||
queryWrapper.eq(AcApprovalLog::getPkCountry, pkCountry);
|
||||
return this.list(queryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updateApprovalLog(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry, Long userId,
|
||||
EApproveRechargeStatus approveStatus, String remark) {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 活动基本配置表 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
@Service
|
||||
public class AcBaseConfigServiceImpl extends ServiceImpl<AcBaseConfigMapper, AcBaseConfig> implements IAcBaseConfigService {
|
||||
|
|
|
|||
|
|
@ -105,9 +105,9 @@ public class ActivityServiceImpl implements IActivityService {
|
|||
@Autowired
|
||||
private IAcMemberConsumeRuleService iAcMemberConsumeRuleService;
|
||||
@Autowired
|
||||
private IAcDrawRewardNumService iAcDrawRewardNumService;
|
||||
private IAcDrawRewardNumService acDrawRewardNumService;
|
||||
@Autowired
|
||||
private IAcRepurCouponsRuleConfigService iAcRepurCouponsRuleConfigService;
|
||||
private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
|
||||
@Autowired
|
||||
private IAcPickUpConfigService pickUpConfigService;
|
||||
@Autowired
|
||||
|
|
@ -118,13 +118,13 @@ public class ActivityServiceImpl implements IActivityService {
|
|||
private IBdWaresService waresService;
|
||||
|
||||
@DubboReference
|
||||
IGradeServiceApi iGradeServiceApi;
|
||||
IGradeServiceApi gradeServiceApi;
|
||||
@DubboReference
|
||||
IAwardsServiceApi iAwardsServiceApi;
|
||||
IAwardsServiceApi awardsServiceApi;
|
||||
@DubboReference
|
||||
IMemberServiceApi iMemberServiceApi;
|
||||
@DubboReference
|
||||
IApprovalServiceApi iApprovalServiceApi;
|
||||
IApprovalServiceApi approvalServiceApi;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -400,7 +400,7 @@ public class ActivityServiceImpl implements IActivityService {
|
|||
for (Map.Entry<Integer, List<AcGoalMemberConfig>> item : memberConfigList.entrySet()) {
|
||||
if (item.getKey().equals(1)) {
|
||||
// 等级
|
||||
R<List<GradeDTO>> gradeDTO = iGradeServiceApi.selectGradeAll(activityParam.getPkCountry());
|
||||
R<List<GradeDTO>> gradeDTO = gradeServiceApi.selectGradeAll(activityParam.getPkCountry());
|
||||
List<GradeDTO> gradeList = gradeDTO.getData();
|
||||
str.append("注册等级:");
|
||||
for (AcGoalMemberConfig acGoalMemberConfig : item.getValue()) {
|
||||
|
|
@ -414,7 +414,7 @@ public class ActivityServiceImpl implements IActivityService {
|
|||
str.append(";\t\t");
|
||||
} else if (item.getKey().equals(2)) {
|
||||
// 奖衔
|
||||
R<List<BdAwards>> awardsDTO = iAwardsServiceApi.queryAwards(activityParam.getPkCountry());
|
||||
R<List<BdAwards>> awardsDTO = awardsServiceApi.queryAwards(activityParam.getPkCountry());
|
||||
List<BdAwards> awardsList = awardsDTO.getData();
|
||||
str.append("真实奖衔:");
|
||||
for (AcGoalMemberConfig acGoalMemberConfig : item.getValue()) {
|
||||
|
|
@ -632,7 +632,7 @@ public class ActivityServiceImpl implements IActivityService {
|
|||
*/
|
||||
@Override
|
||||
public String onLinePetition(AcRecommendParam recommendParam) {
|
||||
log.info("旅游活动新增参数{}", JSONUtil.toJsonStr(recommendParam));
|
||||
log.info("旅游活动新增参数{}",JSONUtil.toJsonStr(recommendParam));
|
||||
//业务单号
|
||||
String code = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE.getValue());
|
||||
EApprovalBusiness approvalBusiness = null;
|
||||
|
|
@ -763,7 +763,7 @@ public class ActivityServiceImpl implements IActivityService {
|
|||
.signType(ESignType.getEnumByValue(recommendParam.getSignType())).userIdList(recommendParam.getUserIdList())
|
||||
.fileList(recommendParam.getFileList())
|
||||
.sendIdList(recommendParam.getSendIdList()).remark(recommendParam.getRemark()).build();
|
||||
R<String> submit = iApprovalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser());
|
||||
R<String> submit = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser());
|
||||
if (!submit.isSuccess()) {
|
||||
throw new RuntimeException("旅游活动参数提交审批失败!");
|
||||
}
|
||||
|
|
@ -804,21 +804,21 @@ public class ActivityServiceImpl implements IActivityService {
|
|||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean handleActivity(SaOrderExt saOrderExt) {
|
||||
if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// // 抽奖
|
||||
// iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt);
|
||||
if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// 抽奖
|
||||
acDrawRewardNumService.giveMemberDrawNum(saOrderExt);
|
||||
}
|
||||
// 直推升级
|
||||
iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder()
|
||||
.saOrderExt(saOrderExt)
|
||||
.orderOperateStatus(EOrderOperateStatus.NORMAL)
|
||||
.build());
|
||||
acRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.NORMAL).build());
|
||||
} else if (EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// // 抽奖
|
||||
// iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt);
|
||||
// 抽奖
|
||||
acDrawRewardNumService.giveMemberDrawNum(saOrderExt);
|
||||
// 直推升级
|
||||
iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder()
|
||||
.saOrderExt(saOrderExt)
|
||||
.orderOperateStatus(EOrderOperateStatus.NORMAL)
|
||||
.build());
|
||||
acRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.NORMAL).build());
|
||||
} else if (EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrderExt.getOrderType()
|
||||
|| EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
|
||||
// 直推升级
|
||||
acRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.NORMAL).build());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1050,7 +1050,7 @@ public class ActivityServiceImpl implements IActivityService {
|
|||
&& StringUtils.isNotEmpty(cuMember.getMemberName())
|
||||
&& StringUtils.isNotEmpty(cuMember.getPhone())) {
|
||||
// 根据订单业绩匹配对应等级
|
||||
BdGrade bdGrade = iGradeServiceApi.getLastGrade(giftConfigParam.getOrderAchieve(), pkCountry).getData();
|
||||
BdGrade bdGrade = gradeServiceApi.getLastGrade(giftConfigParam.getOrderAchieve(), pkCountry).getData();
|
||||
if (null != bdGrade) {
|
||||
// 查询会员该等级点位数量(因为当前订单的数据还没有更新入库,此处计算数量时,需要加 1 )
|
||||
Integer memberPoint = iMemberServiceApi.countGradeMemberPoint(cuMember.getMemberName(), cuMember.getPhone(), bdGrade.getPkId(), pkCountry).getData() + 1;
|
||||
|
|
|
|||
|
|
@ -7,6 +7,14 @@ import lombok.EqualsAndHashCode;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @BelongsProject: hzs_cloud
|
||||
* @BelongsPackage: com.hzs.activity.base.vo
|
||||
* @Author: yh
|
||||
* @CreateTime: 2023-04-21 18:56
|
||||
* @Description: TODO
|
||||
* @Version: 1.0
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class ConsumeRuleConfigVo extends AcConsumeRuleConfig {
|
||||
|
|
|
|||
|
|
@ -9,11 +9,17 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 消费买赠规则配置表 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
public interface AcConsumeRuleConfigMapper extends BaseMapper<AcConsumeRuleConfig> {
|
||||
|
||||
/*
|
||||
* 查询买赠活动赠品配置根据条件
|
||||
* @description: 查询买赠活动赠品配置根据条件
|
||||
* @author: sui q
|
||||
* @date: 2023/4/25 19:26
|
||||
* @param: null null
|
||||
**/
|
||||
List<AcConsumeRuleConfigExt> queryConsumeGiftConfigByCondition(GiftConfigParam giftConfigParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,11 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 会员消费赠送活动规则配置
|
||||
* @description: 会员消费赠送活动规则配置
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/28 11:30
|
||||
* @param:
|
||||
* @return:
|
||||
**/
|
||||
public interface AcMemberConsumeRuleMapper extends BaseMapper<AcMemberConsumeRule> {
|
||||
|
||||
|
|
|
|||
|
|
@ -11,11 +11,17 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 消费买赠规则配置表 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
public interface IAcConsumeRuleConfigService extends IService<AcConsumeRuleConfig> {
|
||||
|
||||
/*
|
||||
* 查询业绩赠送活动赠品配置根据条件
|
||||
* @description: 查询业绩赠送活动赠品配置根据条件
|
||||
* @author: sui q
|
||||
* @date: 2023/4/25 19:26
|
||||
* @param: null null
|
||||
**/
|
||||
List<AcConsumeRuleConfigExt> queryConsumeGiftConfigByCondition(GiftConfigParam giftConfigParam);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
package com.hzs.activity.consume.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.activity.base.vo.AcMemberConsumeRuleVo;
|
||||
import com.hzs.activity.recommend.param.AcRecommendParam;
|
||||
import com.hzs.common.domain.activity.consume.AcMemberConsumeRule;
|
||||
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
||||
import com.hzs.common.domain.activity.consume.ext.AcMemberConsumeRuleExt;
|
||||
|
|
@ -10,20 +12,32 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 会员消费赠送活动规则配置
|
||||
* @description: 会员消费赠送活动规则配置
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/28 11:30
|
||||
* @param:
|
||||
* @return:
|
||||
**/
|
||||
public interface IAcMemberConsumeRuleService extends IService<AcMemberConsumeRule> {
|
||||
|
||||
|
||||
/**
|
||||
* 会员消费赠送发起签呈
|
||||
* @description:会员消费赠送发起签呈
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/29 9:42
|
||||
* @param: [memberConsumeRuleVo]
|
||||
* @return: java.lang.Boolean
|
||||
**/
|
||||
String onLinePetition(AcMemberConsumeRuleVo memberConsumeRuleVo);
|
||||
|
||||
/**
|
||||
* 会员消费赠审批
|
||||
* @description: 会员消费赠审批
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/29 16:32
|
||||
* @param: [approvalBusinessResultDTO]
|
||||
* @return: java.lang.String
|
||||
**/
|
||||
String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
|
||||
/**
|
||||
* 规则列表以及商品信息
|
||||
*
|
||||
|
|
@ -37,17 +51,27 @@ public interface IAcMemberConsumeRuleService extends IService<AcMemberConsumeRul
|
|||
List<AcMemberConsumeRuleExt> listRuleAndProduct(Date startDate, Date endDate, Integer pkGrade, Integer memberPoint, Integer pkCountry);
|
||||
|
||||
/**
|
||||
* 新增会员消费活动
|
||||
* @description: 新增会员消费活动
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/2 17:15
|
||||
* @param: [mcrVo]
|
||||
* @return: java.lang.Long
|
||||
**/
|
||||
Long saveMemberConsumeRule(AcMemberConsumeRuleVo mcrVo);
|
||||
|
||||
/**
|
||||
* 修改会员消费活动规则表
|
||||
* @description: 修改会员消费活动规则表
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/2 17:14
|
||||
* @param: [mcrVo]
|
||||
* @return: void
|
||||
**/
|
||||
void updateConsumptionGift(AcMemberConsumeRuleVo mcrVo);
|
||||
|
||||
/**
|
||||
* 删除会员消费活动
|
||||
* @description: 删除会员消费活动
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/2 17:14
|
||||
* @param: [pkId]
|
||||
* @return: void
|
||||
**/
|
||||
void removeActivity(Integer pkId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,6 +43,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 消费买赠规则配置表 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
|
|
|
|||
|
|
@ -3,17 +3,22 @@ package com.hzs.activity.consume.service.impl;
|
|||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.activity.base.param.ActivityParam;
|
||||
import com.hzs.activity.base.param.ConsumeRuleConfigParam;
|
||||
import com.hzs.activity.base.service.IAcApprovalLogService;
|
||||
import com.hzs.activity.base.service.IAcBaseConfigService;
|
||||
import com.hzs.activity.base.service.IAcGoalMemberConfigService;
|
||||
import com.hzs.activity.base.service.IActivityService;
|
||||
import com.hzs.activity.base.vo.AcMemberConsumeRuleVo;
|
||||
import com.hzs.activity.base.vo.ConsumeRuleConfigVo;
|
||||
import com.hzs.activity.consume.mapper.AcMemberConsumeRuleMapper;
|
||||
import com.hzs.activity.consume.service.IAcMemberConsumeRuleService;
|
||||
import com.hzs.activity.recommend.param.AcRecommendParam;
|
||||
import com.hzs.activity.wares.service.IAcGiftConfigService;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.utils.CommonUtil;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
|
|
@ -22,12 +27,18 @@ import com.hzs.common.domain.activity.base.AcBaseConfig;
|
|||
import com.hzs.common.domain.activity.base.AcGiftConfig;
|
||||
import com.hzs.common.domain.activity.base.AcGoalMemberConfig;
|
||||
import com.hzs.common.domain.activity.base.ext.AcGiftConfigExt;
|
||||
import com.hzs.common.domain.activity.consume.AcConsumeRuleConfig;
|
||||
import com.hzs.common.domain.activity.consume.AcConsumeShieldConfig;
|
||||
import com.hzs.common.domain.activity.consume.AcMemberConsumeRule;
|
||||
import com.hzs.common.domain.activity.consume.ext.AcMemberConsumeRuleExt;
|
||||
import com.hzs.common.domain.activity.wares.AcWaresRuleConfig;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.system.sys.IApprovalServiceApi;
|
||||
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
||||
import com.hzs.system.sys.dto.ApprovalSubmitDTO;
|
||||
import com.hzs.system.sys.dto.LoginUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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;
|
||||
|
|
@ -36,9 +47,14 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 会员消费赠送活动规则配置
|
||||
* @description: 会员消费赠送活动规则配置
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/28 11:30
|
||||
* @param:
|
||||
* @return:
|
||||
**/
|
||||
@Service
|
||||
@Slf4j
|
||||
|
|
@ -48,6 +64,8 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
private IAcApprovalLogService acApprovalLogService;
|
||||
@Autowired
|
||||
private IActivityService iActivityService;
|
||||
@DubboReference
|
||||
IApprovalServiceApi approvalServiceApi;
|
||||
@Autowired
|
||||
private IAcBaseConfigService baseConfigService;
|
||||
@Autowired
|
||||
|
|
@ -55,10 +73,18 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
@Autowired
|
||||
private IAcGoalMemberConfigService iAcGoalMemberConfigService;
|
||||
|
||||
|
||||
/**
|
||||
* @description: 会员消费赠送发起签呈
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/29 9:42
|
||||
* @param: [memberConsumeRuleVo]
|
||||
* @return: java.lang.Boolean
|
||||
**/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String onLinePetition(AcMemberConsumeRuleVo memberConsumeRuleVo) {
|
||||
log.info("商品赠送入参{}", JSONUtil.toJsonStr(memberConsumeRuleVo));
|
||||
log.info("商品赠送入参{}",JSONUtil.toJsonStr(memberConsumeRuleVo));
|
||||
EApprovalBusiness approvalBusiness = null;
|
||||
if (memberConsumeRuleVo.getControlType() == EControlType.SAVE.getValue()) {
|
||||
approvalBusiness = EApprovalBusiness.MEMBER_CONSUME_GIFT_ADD;
|
||||
|
|
@ -87,7 +113,7 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
activityParam.setActType(EActType.MEMBER_CONSUMPTION.getValue());
|
||||
memberConsumeRuleVo.setActivityParam(activityParam);
|
||||
updateConsumptionGift(memberConsumeRuleVo);
|
||||
} else if (memberConsumeRuleVo.getControlType().equals(EControlType.DELETE.getValue())) {
|
||||
}else if (memberConsumeRuleVo.getControlType().equals(EControlType.DELETE.getValue())) {
|
||||
ActivityParam activityParam = memberConsumeRuleVo.getActivityParam();
|
||||
Long pkId = activityParam.getPkId();
|
||||
removeActivity(pkId.intValue());
|
||||
|
|
@ -103,7 +129,34 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
}
|
||||
|
||||
/**
|
||||
* 保存审批日志
|
||||
* @description: 发起签呈
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/29 9:44
|
||||
* @param: [memberConsumeRuleVo, approvalBusiness]
|
||||
* @return: java.lang.Boolean
|
||||
**/
|
||||
public Boolean submitApproval(AcMemberConsumeRuleVo memberConsumeRuleVo, EApprovalBusiness approvalBusiness) {
|
||||
//保存审批日志
|
||||
AcApprovalLog approvalLog = saveApprovalLog(memberConsumeRuleVo, approvalBusiness);
|
||||
ApprovalSubmitDTO approvalSubmitDTO = ApprovalSubmitDTO.builder().eApprovalBusiness(approvalBusiness)
|
||||
.businessCode(approvalLog.getBusinessCode())
|
||||
.businessData(JSONObject.toJSONString(memberConsumeRuleVo.getActivityParam()))
|
||||
.signType(ESignType.getEnumByValue(memberConsumeRuleVo.getSignType())).userIdList(memberConsumeRuleVo.getUserIdList())
|
||||
.sendIdList(memberConsumeRuleVo.getSendIdList()).remark(memberConsumeRuleVo.getRemark()).fileList(memberConsumeRuleVo.getFileList())
|
||||
.build();
|
||||
R<String> submit = approvalServiceApi.submit(approvalSubmitDTO, memberConsumeRuleVo.getLoginUser());
|
||||
if (!submit.isSuccess()) {
|
||||
throw new RuntimeException("旅游活动参数提交审批失败!");
|
||||
}
|
||||
return submit.isSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 保存审批日志
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/29 9:44
|
||||
* @param: [memberConsumeRuleVo, approvalBusiness]
|
||||
* @return: com.hzs.common.domain.activity.base.AcApprovalLog
|
||||
**/
|
||||
public AcApprovalLog saveApprovalLog(AcMemberConsumeRuleVo memberConsumeRuleVo, EApprovalBusiness approvalBusiness) {
|
||||
Integer controlType = memberConsumeRuleVo.getControlType();
|
||||
|
|
@ -123,8 +176,14 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
return approvalLog;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 会员消费赠送审批
|
||||
* @description: 会员消费赠送审批
|
||||
* @author: zhang jing
|
||||
* @date: 2024/11/29 16:33
|
||||
* @param: [businessResult]
|
||||
* @return: java.lang.String
|
||||
**/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
|
@ -159,7 +218,7 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
updateConsumptionGift(memberConsumeRuleVo);
|
||||
// IActivityService.createBaseConfigLog(activityParam, new StringBuffer(), activityParam.getPkBaseId(), EApprovalBusiness.CONSUME_GIFT_UPDATE.getValue(), true);
|
||||
return null;
|
||||
} else if (controlType.equals(EControlType.DELETE.getValue())) {
|
||||
}else if (controlType.equals(EControlType.DELETE.getValue())) {
|
||||
ActivityParam activityParam = memberConsumeRuleVo.getActivityParam();
|
||||
Long pkBaseId = activityParam.getPkBaseId();
|
||||
AcBaseConfig baseConfig = baseConfigService.getById(pkBaseId);
|
||||
|
|
@ -170,6 +229,13 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新增消费赠送规格
|
||||
*
|
||||
* @param mcrVo
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Long saveMemberConsumeRule(AcMemberConsumeRuleVo mcrVo) {
|
||||
|
|
@ -182,6 +248,13 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
return baseConfig.getPkId();
|
||||
}
|
||||
|
||||
/**
|
||||
* @description:修改会员消费赠送规则
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/2 16:17
|
||||
* @param: [mcrVo]
|
||||
* @return: void
|
||||
**/
|
||||
@Override
|
||||
public void updateConsumptionGift(AcMemberConsumeRuleVo mcrVo) {
|
||||
Long pkId = mcrVo.getActivityParam().getPkId();
|
||||
|
|
@ -189,8 +262,8 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
AcBaseConfig baseConfig = BeanUtil.copyProperties(mcrVo.getActivityParam(), AcBaseConfig.class);
|
||||
baseConfigService.updateById(baseConfig);
|
||||
//删除会员消费活动赠品配置表
|
||||
if (CollectionUtil.isNotEmpty(mcrVo.getMcrList())) {
|
||||
for (AcMemberConsumeRuleExt mcrex : mcrVo.getMcrList()) {
|
||||
if(CollectionUtil.isNotEmpty(mcrVo.getMcrList())){
|
||||
for(AcMemberConsumeRuleExt mcrex:mcrVo.getMcrList()){
|
||||
// 消费赠送规格配置
|
||||
LambdaQueryWrapper<AcGiftConfig> delGif = new LambdaQueryWrapper<>();
|
||||
delGif.eq(AcGiftConfig::getPkRuleId, mcrex.getPkId());
|
||||
|
|
@ -212,7 +285,11 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
}
|
||||
|
||||
/**
|
||||
* 新增会员消费活动规则和活动赠品
|
||||
* @description: 新增会员消费活动规则和活动赠品
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/2 16:43
|
||||
* @param: [mcrVo, baseConfig]
|
||||
* @return: void
|
||||
**/
|
||||
public void saveConsumeRuleConfigService(AcMemberConsumeRuleVo mcrVo, AcBaseConfig baseConfig) {
|
||||
List<AcMemberConsumeRuleExt> mcrList = mcrVo.getMcrList();
|
||||
|
|
@ -220,32 +297,36 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
|
|||
/**
|
||||
* 新增会员消费规则配置
|
||||
*/
|
||||
Date date = new Date();
|
||||
Date date=new Date();
|
||||
mcr.setPkBaseId(baseConfig.getPkId());
|
||||
mcr.setCreationTime(date);
|
||||
mcr.setPkCreator(mcrVo.getLoginUser().getUserId());
|
||||
mcr.setPkCountry(mcrVo.getLoginUser().getDataCountry());
|
||||
baseMapper.insert(mcr);
|
||||
/**
|
||||
* 活动赠品配置
|
||||
*/
|
||||
List<AcGiftConfigExt> giftConfigExList = mcr.getWgcList();
|
||||
List<AcGiftConfig> giftConfigList = new ArrayList<>();
|
||||
for (AcGiftConfigExt giftConfigExt : giftConfigExList) {
|
||||
giftConfigExt.setPkRuleId(mcr.getPkId());
|
||||
giftConfigExt.setActType(baseConfig.getActType());
|
||||
giftConfigExt.setPkCreator(baseConfig.getPkCreator());
|
||||
giftConfigExt.setPkCountry(baseConfig.getPkCountry());
|
||||
AcGiftConfig acGiftConfig = BeanUtil.copyProperties(giftConfigExt, AcGiftConfig.class);
|
||||
giftConfigList.add(acGiftConfig);
|
||||
}
|
||||
waresGiftConfigService.saveBatch(giftConfigList);
|
||||
/**
|
||||
* 活动赠品配置
|
||||
*/
|
||||
List<AcGiftConfigExt> giftConfigExList = mcr.getWgcList();
|
||||
List<AcGiftConfig> giftConfigList = new ArrayList<>();
|
||||
for (AcGiftConfigExt giftConfigExt : giftConfigExList) {
|
||||
giftConfigExt.setPkRuleId(mcr.getPkId());
|
||||
giftConfigExt.setActType(baseConfig.getActType());
|
||||
giftConfigExt.setPkCreator(baseConfig.getPkCreator());
|
||||
giftConfigExt.setPkCountry(baseConfig.getPkCountry());
|
||||
AcGiftConfig acGiftConfig = BeanUtil.copyProperties(giftConfigExt, AcGiftConfig.class);
|
||||
giftConfigList.add(acGiftConfig);
|
||||
}
|
||||
waresGiftConfigService.saveBatch(giftConfigList);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除会员消费活动
|
||||
* @description: 删除会员消费活动
|
||||
* @author: zhang jing
|
||||
* @date: 2024/12/2 17:08
|
||||
* @param: [pkId]
|
||||
* @return: void
|
||||
**/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
|
|
|||
|
|
@ -9,11 +9,17 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 活动赠品配置 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-21
|
||||
*/
|
||||
public interface AcDrawGiftRuleConfigMapper extends BaseMapper<AcDrawGiftRuleConfig> {
|
||||
|
||||
/*
|
||||
* 查询活动的赠品配置
|
||||
* @description: 查询活动的赠品配置
|
||||
* @author: sui q
|
||||
* @date: 2023/4/21 19:53
|
||||
* @param: null null
|
||||
**/
|
||||
List<AcDrawGiftRuleConfigExt> queryAcDrawGiftConfig(DrawGiftConfigParam drawGiftConfigParam);
|
||||
|
||||
|
|
|
|||
|
|
@ -10,16 +10,25 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 会员可抽奖次数记录 Mapper 接口
|
||||
*
|
||||
* @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);
|
||||
|
||||
|
|
|
|||
|
|
@ -12,11 +12,17 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 活动赠品配置 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-21
|
||||
*/
|
||||
public interface IAcDrawGiftRuleConfigService extends IService<AcDrawGiftRuleConfig> {
|
||||
|
||||
/*
|
||||
* 查询活动的赠品配置
|
||||
* @description: 查询活动的赠品配置
|
||||
* @author: sui q
|
||||
* @date: 2023/4/21 19:53
|
||||
* @param: null null
|
||||
**/
|
||||
List<AcDrawGiftRuleConfigExt> queryAcDrawGiftConfig(DrawGiftConfigParam drawGiftConfigParam);
|
||||
|
||||
|
|
|
|||
|
|
@ -15,21 +15,33 @@ 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);
|
||||
|
||||
|
|
@ -37,41 +49,65 @@ 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 17:57
|
||||
* @param: null null
|
||||
**/
|
||||
BigDecimal queryDrawRewardPayNumMoney(Long pkMember, String orderCode);
|
||||
|
||||
/*
|
||||
* 抽奖在线支付购买次数
|
||||
* @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);
|
||||
|
||||
|
|
@ -99,6 +135,14 @@ public interface IAcDrawRewardNumService extends IService<AcDrawRewardNum> {
|
|||
*/
|
||||
String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
|
||||
/**
|
||||
* 修改已购买次数 审批驳回
|
||||
*
|
||||
* @param approvalBusinessResultDTO
|
||||
* @return
|
||||
*/
|
||||
String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
|
||||
/**
|
||||
* 充值未购买次数 (审批发起)
|
||||
*
|
||||
|
|
@ -107,4 +151,17 @@ public interface IAcDrawRewardNumService extends IService<AcDrawRewardNum> {
|
|||
*/
|
||||
void unpurchasedTimes(PurchasedTimesParam purchasedTimesParam);
|
||||
|
||||
/**
|
||||
* 充值已购买次数
|
||||
*
|
||||
* @param approvalBusinessResultDTO
|
||||
*/
|
||||
void rechargePurchasedTimes(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
|
||||
/**
|
||||
* 充值未购买次数
|
||||
*
|
||||
* @param approvalBusinessResultDTO
|
||||
*/
|
||||
void unRechargePurchasedTimes(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 活动赠品配置 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-21
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
|
|
@ -183,7 +186,7 @@ public class AcDrawGiftRuleConfigServiceImpl extends ServiceImpl<AcDrawGiftRuleC
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String onLinePetition(AcRecommendParam recommendParam) {
|
||||
log.info("抽奖配置入参{}", JSONUtil.toJsonStr(recommendParam));
|
||||
log.info("抽奖配置入参{}",JSONUtil.toJsonStr(recommendParam));
|
||||
EApprovalBusiness approvalBusiness = null;
|
||||
if (recommendParam.getControlType().equals(EControlType.SAVE.getValue())) {
|
||||
approvalBusiness = EApprovalBusiness.LOTTERY_DRAW_ADD;
|
||||
|
|
@ -219,6 +222,51 @@ public class AcDrawGiftRuleConfigServiceImpl extends ServiceImpl<AcDrawGiftRuleC
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交审批
|
||||
*
|
||||
* @param recommendParam 抽奖参数
|
||||
*/
|
||||
public Boolean submitApproval(AcRecommendParam recommendParam, EApprovalBusiness approvalBusiness) {
|
||||
//保存审批日志
|
||||
AcApprovalLog approvalLog = saveApprovalLog(recommendParam, approvalBusiness);
|
||||
ApprovalSubmitDTO approvalSubmitDTO = ApprovalSubmitDTO.builder().eApprovalBusiness(approvalBusiness)
|
||||
.businessCode(approvalLog.getBusinessCode())
|
||||
.businessData(JSONObject.toJSONString(recommendParam)).fileList(recommendParam.getFileList())
|
||||
.signType(ESignType.getEnumByValue(recommendParam.getSignType())).userIdList(recommendParam.getUserIdList())
|
||||
.sendIdList(recommendParam.getSendIdList()).remark(recommendParam.getRemark()).build();
|
||||
R<String> submit = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser());
|
||||
if (!submit.isSuccess()) {
|
||||
throw new RuntimeException("抽奖参数提交审批失败!");
|
||||
}
|
||||
|
||||
//添加操作日志
|
||||
StringBuffer str = new StringBuffer();
|
||||
Integer value = null;
|
||||
if (recommendParam.getControlType() == EControlType.SAVE.getValue()) {
|
||||
str.append(EControlType.SAVE.getLabel());
|
||||
value = EApprovalBusiness.LOTTERY_DRAW_ADD.getValue();
|
||||
}
|
||||
if (recommendParam.getControlType() == EControlType.MODIFY.getValue()) {
|
||||
str.append(EControlType.MODIFY.getLabel());
|
||||
value = EApprovalBusiness.LOTTERY_DRAW_UPDATE.getValue();
|
||||
}
|
||||
if (recommendParam.getControlType() == EControlType.DELETE.getValue()) {
|
||||
AcBaseConfig baseConfig = BeanUtil.copyProperties(recommendParam.getActivityParam(), AcBaseConfig.class);
|
||||
baseConfig.setPkCreator(approvalLog.getPkCreator());
|
||||
baseConfig.setPkCountry(recommendParam.getPkCountry());
|
||||
baseConfig.setBusinessCode(approvalLog.getBusinessCode());
|
||||
iActivityService.removeBaseConfigLog(baseConfig, str, null, EApprovalBusiness.LOTTERY_DRAW_REMOVE.getValue(), false);
|
||||
} else {
|
||||
ActivityParam activityParam = BeanUtil.copyProperties(recommendParam.getActivityParam(), ActivityParam.class);
|
||||
activityParam.setPkCreator(approvalLog.getPkCreator());
|
||||
activityParam.setPkCountry(recommendParam.getPkCountry());
|
||||
activityParam.setBusinessCode(approvalLog.getBusinessCode());
|
||||
iActivityService.createBaseConfigLog(activityParam, str, null, value, false);
|
||||
}
|
||||
return submit.isSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存活动审批日志信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -51,6 +51,9 @@ import java.util.concurrent.TimeUnit;
|
|||
|
||||
/**
|
||||
* 会员可抽奖次数记录 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-21
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
|
|
@ -238,7 +241,7 @@ public class AcDrawRewardNumServiceImpl extends ServiceImpl<AcDrawRewardNumMappe
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void purchasedTimes(PurchasedTimesParam purchasedTimesParam) {
|
||||
log.info("修改已购买次数入参{}", JSONUtil.toJsonStr(purchasedTimesParam));
|
||||
log.info("修改已购买次数入参{}",JSONUtil.toJsonStr(purchasedTimesParam));
|
||||
String memberCode = purchasedTimesParam.getMemberCode();
|
||||
Integer num = purchasedTimesParam.getNum();
|
||||
Long pkBaseId = purchasedTimesParam.getPkBaseId();
|
||||
|
|
@ -356,6 +359,27 @@ public class AcDrawRewardNumServiceImpl extends ServiceImpl<AcDrawRewardNumMappe
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改已购买次数 审批驳回
|
||||
*
|
||||
* @param approvalBusinessResultDTO
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
|
||||
R<CuMemberServiceLog> cuMemberServiceLogR = memberServiceLogServiceApi.selectByBusinessNo(approvalBusinessResultDTO.getBusinessCode());
|
||||
|
||||
if (null == cuMemberServiceLogR) {
|
||||
log.error("修改已购买次数失败: 签呈不存在!");
|
||||
return TransactionUtils.getContent(CommonMsgConstants.APPROVAL_NOT_EXIST);
|
||||
}
|
||||
// 更新 日志
|
||||
CuMemberServiceLog memberServiceLog = cuMemberServiceLogR.getData();
|
||||
memberServiceLog.setApproveStatus(EApproveStatus.REJECTED.getValue());
|
||||
memberServiceLogServiceApi.updateByBusinessNo(memberServiceLog);
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改未购买次数 (审批发起)
|
||||
*
|
||||
|
|
@ -364,7 +388,7 @@ public class AcDrawRewardNumServiceImpl extends ServiceImpl<AcDrawRewardNumMappe
|
|||
*/
|
||||
@Override
|
||||
public void unpurchasedTimes(PurchasedTimesParam purchasedTimesParam) {
|
||||
log.info("修改未购买次数入参{}", JSONUtil.toJsonStr(purchasedTimesParam));
|
||||
log.info("修改未购买次数入参{}",JSONUtil.toJsonStr(purchasedTimesParam));
|
||||
String memberCode = purchasedTimesParam.getMemberCode();
|
||||
Integer num = purchasedTimesParam.getNum();
|
||||
Long pkBaseId = purchasedTimesParam.getPkBaseId();
|
||||
|
|
@ -390,6 +414,76 @@ public class AcDrawRewardNumServiceImpl extends ServiceImpl<AcDrawRewardNumMappe
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 充值已购买次数
|
||||
*
|
||||
* @param approvalBusinessResultDTO
|
||||
*/
|
||||
@Override
|
||||
public void rechargePurchasedTimes(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
|
||||
String businessData = approvalBusinessResultDTO.getBusinessData();
|
||||
JSONObject js = JSONObject.parseObject(businessData);
|
||||
String memberCode = js.getString("memberCode");
|
||||
Integer num = js.getInteger("num");
|
||||
Long pkBaseId = js.getLong("pkBaseId");
|
||||
R<CuMember> memberDto = memberServiceApi.getMember(memberCode);
|
||||
Long pkMember = memberDto.getData().getPkId();
|
||||
|
||||
LambdaQueryWrapper<AcDrawRewardNum> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(AcDrawRewardNum::getPkBaseId, pkBaseId);
|
||||
queryWrapper.eq(AcDrawRewardNum::getPkMember, pkMember);
|
||||
AcDrawRewardNum drawRewardNum = this.getOne(queryWrapper);
|
||||
if (drawRewardNum != null) {
|
||||
baseMapper.updatePurchasedTimesByBaseId(pkMember, num, pkBaseId);
|
||||
} else {
|
||||
drawRewardNum = new AcDrawRewardNum();
|
||||
drawRewardNum.setPkBaseId(pkBaseId);
|
||||
drawRewardNum.setPkMember(pkMember);
|
||||
drawRewardNum.setTotalUsedNum(num);
|
||||
drawRewardNum.setAvailableNum(num);
|
||||
drawRewardNum.setTotalNum(num);
|
||||
drawRewardNum.setAvailableSurplusNum(num);
|
||||
drawRewardNum.setCreationTime(DateUtils.currentDateTime());
|
||||
drawRewardNum.setPkCreator(memberDto.getData().getPkCreator());
|
||||
drawRewardNum.setPkCountry(memberDto.getData().getPkCountry());
|
||||
this.save(drawRewardNum);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 充值未购买次数
|
||||
*
|
||||
* @param approvalBusinessResultDTO
|
||||
*/
|
||||
@Override
|
||||
public void unRechargePurchasedTimes(ApprovalBusinessResultDTO approvalBusinessResultDTO) {
|
||||
String businessData = approvalBusinessResultDTO.getBusinessData();
|
||||
JSONObject js = JSONObject.parseObject(businessData);
|
||||
String memberCode = js.getString("memberCode");
|
||||
Integer num = js.getInteger("num");
|
||||
Long pkBaseId = js.getLong("pkBaseId");
|
||||
R<CuMember> memberDto = memberServiceApi.getMember(memberCode);
|
||||
Long pkMember = memberDto.getData().getPkId();
|
||||
|
||||
LambdaQueryWrapper<AcDrawRewardNum> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(AcDrawRewardNum::getPkBaseId, pkBaseId);
|
||||
queryWrapper.eq(AcDrawRewardNum::getPkMember, pkMember);
|
||||
AcDrawRewardNum drawRewardNum = this.getOne(queryWrapper);
|
||||
if (drawRewardNum != null) {
|
||||
baseMapper.updateUnpurchasedTimesByPkbaseId(pkMember, num, pkBaseId);
|
||||
} else {
|
||||
drawRewardNum = new AcDrawRewardNum();
|
||||
drawRewardNum.setPkBaseId(pkBaseId);
|
||||
drawRewardNum.setPkMember(pkMember);
|
||||
drawRewardNum.setTotalNum(num);
|
||||
drawRewardNum.setTotalSurplusNum(num);
|
||||
drawRewardNum.setCreationTime(DateUtils.currentDateTime());
|
||||
drawRewardNum.setPkCreator(memberDto.getData().getPkCreator());
|
||||
drawRewardNum.setPkCountry(memberDto.getData().getPkCountry());
|
||||
this.save(drawRewardNum);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改已购买总次数 (已购买次数)
|
||||
*
|
||||
|
|
|
|||
|
|
@ -44,7 +44,11 @@ import java.util.List;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/**
|
||||
* 会员端提货处理控制器
|
||||
* @Description: 会员端提货处理控制器
|
||||
* @Author: jiang chao
|
||||
* @Time: 2023/4/24 13:55
|
||||
* @Classname: ApiPickController
|
||||
* @PackageName: com.hzs.activity.pick.controller.api
|
||||
*/
|
||||
@RequestMapping("/api/pick")
|
||||
@RestController
|
||||
|
|
|
|||
|
|
@ -95,7 +95,11 @@ public interface AcPickMapper extends BaseMapper<AcPick> {
|
|||
int updatePickByPkId(@Param("acPick") AcPick acPick);
|
||||
|
||||
/**
|
||||
* 删除充值提货卡
|
||||
* @description: 删除充值提货卡
|
||||
* @author: zhang jing
|
||||
* @date: 2023/10/26 13:45
|
||||
* @param: [acPick]
|
||||
* @return: boolean
|
||||
**/
|
||||
boolean removePickByPkId(@Param("acPick") AcPick acPick);
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.hzs.activity.pick.vo.ApiPickListVO;
|
|||
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.system.sys.dto.ApprovalBusinessResultDTO;
|
||||
import com.hzs.system.sys.dto.LoginUser;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -91,6 +92,27 @@ public interface IAcPickService extends IService<AcPick> {
|
|||
**/
|
||||
boolean delPick(AcPickSaveParam anpParam);
|
||||
|
||||
/**
|
||||
* 提货变动审批通过
|
||||
*
|
||||
* @param resultDTO
|
||||
* @return
|
||||
*/
|
||||
String pickApprovalAgree(ApprovalBusinessResultDTO resultDTO);
|
||||
|
||||
/**
|
||||
* @description: 审核删除充值提货卡
|
||||
**/
|
||||
String delpickApprovalAgree(ApprovalBusinessResultDTO resultDTO);
|
||||
|
||||
/**
|
||||
* 提货变动审批驳回
|
||||
*
|
||||
* @param resultDTO
|
||||
* @return
|
||||
*/
|
||||
String pickApprovalReject(ApprovalBusinessResultDTO resultDTO);
|
||||
|
||||
/**
|
||||
* 会员提货列表
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.hzs.activity.pick.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.hzs.activity.base.service.IAcApprovalLogService;
|
||||
|
|
@ -14,12 +15,14 @@ import com.hzs.activity.pick.vo.ApiPickListVO;
|
|||
import com.hzs.activity.wares.service.IAcGiftConfigService;
|
||||
import com.hzs.common.core.constant.RabbitMqConstants;
|
||||
import com.hzs.common.core.constant.SystemFieldConstants;
|
||||
import com.hzs.common.core.constant.msg.ActivityMsgConstants;
|
||||
import com.hzs.common.core.constant.msg.DocumentMsgConstants;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.exception.ServiceException;
|
||||
import com.hzs.common.core.utils.CommonUtil;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.domain.activity.base.AcApprovalLog;
|
||||
import com.hzs.common.domain.activity.base.AcPickUpConfig;
|
||||
import com.hzs.common.domain.activity.base.ext.AcGiftConfigExt;
|
||||
import com.hzs.common.domain.activity.pick.AcPick;
|
||||
|
|
@ -33,6 +36,7 @@ import com.hzs.member.base.IMemberServiceApi;
|
|||
import com.hzs.sale.postage.IPostageServiceApi;
|
||||
import com.hzs.sale.postage.dto.PostageProductDTO;
|
||||
import com.hzs.sale.product.service.IBdProductService;
|
||||
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
||||
import com.hzs.system.sys.dto.BusinessLogDTO;
|
||||
import com.hzs.system.sys.dto.LoginUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -53,6 +57,8 @@ import java.util.stream.Collectors;
|
|||
@Service
|
||||
public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> implements IAcPickService {
|
||||
|
||||
@Autowired
|
||||
private IAcApprovalLogService iAcApprovalLogService;
|
||||
@Autowired
|
||||
private IAcPickLogService iAcPickLogService;
|
||||
@Autowired
|
||||
|
|
@ -183,7 +189,7 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
|
|||
// approvalLogList.add(acApprovalLog);
|
||||
|
||||
// 会员信息
|
||||
CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData();
|
||||
CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData();
|
||||
// 提货ID
|
||||
Long pickId = null;
|
||||
// 提货类型
|
||||
|
|
@ -357,7 +363,7 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
|
|||
// approvalLogList.add(acApprovalLog);
|
||||
|
||||
// 被操作会员
|
||||
CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData();
|
||||
CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData();
|
||||
// 提货ID
|
||||
Long pickId = null;
|
||||
if (null == detailParam.getPkId()) {
|
||||
|
|
@ -468,6 +474,227 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
|
|||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public String pickApprovalAgree(ApprovalBusinessResultDTO resultDTO) {
|
||||
// 用户ID
|
||||
Long userId = resultDTO.getLoginUser().getUserId();
|
||||
// 所属国家
|
||||
Integer pkCountry = resultDTO.getLoginUser().getDataCountry();
|
||||
|
||||
List<AcApprovalLog> approvalLogList = iAcApprovalLogService.queryApprovalLogList(resultDTO.getEApprovalBusiness(), resultDTO.getBusinessCode(), pkCountry);
|
||||
// 一批审批可能有多个
|
||||
AcApprovalLog approvalLog = approvalLogList.get(0);
|
||||
if (null == approvalLog) {
|
||||
log.error("提货充值同意处理失败: 签呈不存在!");
|
||||
return TransactionUtils.getContent(ActivityMsgConstants.PICK_NOT_EXIST);
|
||||
}
|
||||
if (EAgentApprovalStatus.UNAPPROVED.getValue() != approvalLog.getApprovalStatus()) {
|
||||
log.error("提货充值同意处理失败: 签呈已处理");
|
||||
return TransactionUtils.getContent(ActivityMsgConstants.PICK_PROCESSED);
|
||||
}
|
||||
|
||||
// 新増提货列表
|
||||
List<AcPick> createList = new ArrayList<>();
|
||||
// 修改提货列表
|
||||
List<AcPick> updateList = new ArrayList<>();
|
||||
|
||||
for (AcApprovalLog acApprovalLog : approvalLogList) {
|
||||
// 存在业务ID,则为修改
|
||||
AcPickSaveDetailParam detailParam = JSONUtil.toBean(acApprovalLog.getAfterData(), AcPickSaveDetailParam.class);
|
||||
// 当前会员
|
||||
CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData();
|
||||
// 提货ID
|
||||
Long pickId = null;
|
||||
// 提货类型
|
||||
Integer pickType = null != detailParam.getPickType() ? detailParam.getPickType() : EPickType.PICK_PRODUCT.getValue();
|
||||
|
||||
if (null == detailParam.getPkId()) {
|
||||
LambdaQueryWrapper<AcPick> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(AcPick::getPickType, pickType);
|
||||
queryWrapper.eq(AcPick::getPkBaseConfig, 0);
|
||||
queryWrapper.eq(AcPick::getPkDataId, detailParam.getPkProduct());
|
||||
queryWrapper.eq(AcPick::getSpecsNameId, detailParam.getSpecsNameId());
|
||||
queryWrapper.eq(AcPick::getPkMember, cuMember.getPkId());
|
||||
AcPick acPick = this.getOne(queryWrapper);
|
||||
if (null != acPick) {
|
||||
pickId = acPick.getPkId();
|
||||
}
|
||||
} else {
|
||||
pickId = detailParam.getPkId();
|
||||
}
|
||||
|
||||
AcPick acPick = new AcPick();
|
||||
if (null == pickId) {
|
||||
// 新增提货数据
|
||||
acPick.setPkMember(cuMember.getPkId());
|
||||
acPick.setPickType(pickType);
|
||||
acPick.setPkDataId(detailParam.getPkProduct().longValue());
|
||||
acPick.setSpecsName(detailParam.getSpecsName());
|
||||
acPick.setSpecsNameId(detailParam.getSpecsNameId());
|
||||
acPick.setUsableQuantity(detailParam.getQuantity());
|
||||
acPick.setBaseQuantity(detailParam.getBaseQuantity());
|
||||
acPick.setReceiveTime(detailParam.getReceiveTime());
|
||||
acPick.setIsFreeMail(detailParam.getIsFreeMail());
|
||||
acPick.setPkPostage(detailParam.getPkPostage());
|
||||
acPick.setPkCreator(userId);
|
||||
acPick.setPkCountry(pkCountry);
|
||||
createList.add(acPick);
|
||||
} else {
|
||||
// 修改提货数据
|
||||
acPick.setPkId(pickId);
|
||||
acPick.setUsableQuantity(detailParam.getQuantity());
|
||||
acPick.setBaseQuantity(detailParam.getBaseQuantity());
|
||||
acPick.setReceiveTime(detailParam.getReceiveTime());
|
||||
acPick.setIsFreeMail(detailParam.getIsFreeMail());
|
||||
acPick.setPkPostage(detailParam.getPkPostage());
|
||||
acPick.setPkModified(userId);
|
||||
acPick.setModifiedTime(new Date());
|
||||
updateList.add(acPick);
|
||||
}
|
||||
}
|
||||
|
||||
if (iAcApprovalLogService.updateApprovalLog(resultDTO.getEApprovalBusiness(), resultDTO.getBusinessCode(), pkCountry, userId, EApproveRechargeStatus.AGREE, resultDTO.getApproveRemark())) {
|
||||
// 更新修改记录
|
||||
|
||||
// 提货操作日志
|
||||
List<AcPickLog> logList = new ArrayList<>();
|
||||
|
||||
// 插入提货数据
|
||||
if (CollectionUtil.isNotEmpty(createList)) {
|
||||
for (AcPick acPick : createList) {
|
||||
this.baseMapper.insert(acPick);
|
||||
|
||||
AcPickLog acPickLog = new AcPickLog();
|
||||
acPickLog.setPkPick(acPick.getPkId());
|
||||
acPickLog.setQuantity(acPick.getUsableQuantity());
|
||||
acPickLog.setPkUser(userId);
|
||||
acPickLog.setPkCountry(pkCountry);
|
||||
logList.add(acPickLog);
|
||||
}
|
||||
}
|
||||
// 更新提货数据
|
||||
if (CollectionUtil.isNotEmpty(updateList)) {
|
||||
for (AcPick acPick : updateList) {
|
||||
this.baseMapper.updatePickByPkId(acPick);
|
||||
|
||||
AcPickLog acPickLog = new AcPickLog();
|
||||
acPickLog.setPkPick(acPick.getPkId());
|
||||
acPickLog.setQuantity(acPick.getUsableQuantity());
|
||||
acPickLog.setPkUser(userId);
|
||||
acPickLog.setPkCountry(pkCountry);
|
||||
logList.add(acPickLog);
|
||||
}
|
||||
}
|
||||
// 插入提货操作日志
|
||||
iAcPickLogService.insertBatch(logList);
|
||||
|
||||
return null;
|
||||
}
|
||||
log.error("提货充值同意处理失败: 更新数据失败");
|
||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_ERROR);
|
||||
}
|
||||
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public String delpickApprovalAgree(ApprovalBusinessResultDTO resultDTO) {
|
||||
// 用户ID
|
||||
Long userId = resultDTO.getLoginUser().getUserId();
|
||||
// 所属国家
|
||||
Integer pkCountry = resultDTO.getLoginUser().getDataCountry();
|
||||
|
||||
List<AcApprovalLog> approvalLogList = iAcApprovalLogService.queryApprovalLogList(resultDTO.getEApprovalBusiness(), resultDTO.getBusinessCode(), pkCountry);
|
||||
// 一批审批可能有多个
|
||||
AcApprovalLog approvalLog = approvalLogList.get(0);
|
||||
if (null == approvalLog) {
|
||||
log.error("提货充值同意处理失败: 签呈不存在!");
|
||||
return TransactionUtils.getContent(ActivityMsgConstants.PICK_NOT_EXIST);
|
||||
}
|
||||
if (EAgentApprovalStatus.UNAPPROVED.getValue() != approvalLog.getApprovalStatus()) {
|
||||
log.error("提货充值同意处理失败: 签呈已处理");
|
||||
return TransactionUtils.getContent(ActivityMsgConstants.PICK_PROCESSED);
|
||||
}
|
||||
|
||||
// 删除提货列表
|
||||
List<AcPick> updateList = new ArrayList<>();
|
||||
|
||||
for (AcApprovalLog acApprovalLog : approvalLogList) {
|
||||
// 存在业务ID,则为修改
|
||||
AcPickSaveDetailParam detailParam = JSONUtil.toBean(acApprovalLog.getAfterData(), AcPickSaveDetailParam.class);
|
||||
// 当前会员
|
||||
CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData();
|
||||
// 提货ID
|
||||
Long pickId = null;
|
||||
if (null == detailParam.getPkId()) {
|
||||
LambdaQueryWrapper<AcPick> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(AcPick::getPickType, EPickType.PICK_PRODUCT.getValue());
|
||||
queryWrapper.eq(AcPick::getPkBaseConfig, 0);
|
||||
queryWrapper.eq(AcPick::getPkDataId, detailParam.getPkProduct());
|
||||
queryWrapper.eq(AcPick::getPkMember, cuMember.getPkId());
|
||||
AcPick acPick = this.getOne(queryWrapper);
|
||||
if (null != acPick) {
|
||||
pickId = acPick.getPkId();
|
||||
}
|
||||
} else {
|
||||
pickId = detailParam.getPkId();
|
||||
}
|
||||
|
||||
AcPick acPick = new AcPick();
|
||||
if (null != pickId) {
|
||||
// 删除提货数据
|
||||
acPick.setPkId(pickId);
|
||||
acPick.setPkModified(userId);
|
||||
acPick.setModifiedTime(new Date());
|
||||
updateList.add(acPick);
|
||||
} else {
|
||||
log.error("提货充值同意处理失败: 更新数据失败");
|
||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
if (iAcApprovalLogService.updateApprovalLog(resultDTO.getEApprovalBusiness(), resultDTO.getBusinessCode(), pkCountry, userId, EApproveRechargeStatus.AGREE, resultDTO.getApproveRemark())) {
|
||||
// 更新修改记录
|
||||
|
||||
// 更新提货数据
|
||||
if (CollectionUtil.isNotEmpty(updateList)) {
|
||||
for (AcPick acPick : updateList) {
|
||||
this.baseMapper.removePickByPkId(acPick);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
log.error("提货充值同意处理失败: 更新数据失败");
|
||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String pickApprovalReject(ApprovalBusinessResultDTO resultDTO) {
|
||||
// 用户ID
|
||||
Long userId = resultDTO.getLoginUser().getUserId();
|
||||
// 所属国家
|
||||
Integer pkCountry = resultDTO.getLoginUser().getDataCountry();
|
||||
|
||||
List<AcApprovalLog> approvalLogList = iAcApprovalLogService.queryApprovalLogList(resultDTO.getEApprovalBusiness(), resultDTO.getBusinessCode(), pkCountry);
|
||||
// 一批审批可能有多个
|
||||
AcApprovalLog approvalLog = approvalLogList.get(0);
|
||||
if (null == approvalLog) {
|
||||
log.error("提货充值驳回处理失败: 签呈不存在!");
|
||||
return TransactionUtils.getContent(ActivityMsgConstants.PICK_NOT_EXIST);
|
||||
}
|
||||
if (EAgentApprovalStatus.UNAPPROVED.getValue() != approvalLog.getApprovalStatus()) {
|
||||
log.error("提货充值驳回处理失败: 签呈已处理");
|
||||
return TransactionUtils.getContent(ActivityMsgConstants.PICK_PROCESSED);
|
||||
}
|
||||
|
||||
if (iAcApprovalLogService.updateApprovalLog(resultDTO.getEApprovalBusiness(), resultDTO.getBusinessCode(), pkCountry, userId, EApproveRechargeStatus.REJECT, resultDTO.getApproveRemark())) {
|
||||
return null;
|
||||
}
|
||||
log.error("提货充值驳回处理失败: 更新数据失败");
|
||||
return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_ERROR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ApiPickListVO> pickList(Long pkMember, Integer pkCountry) {
|
||||
return baseMapper.pickList(pkMember, pkCountry);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.activity.recommend.dto;
|
||||
|
||||
|
||||
import com.hzs.common.core.enums.EOrderOperateStatus;
|
||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -11,6 +12,12 @@ 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
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ package com.hzs.activity.recommend.mapper;
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 推荐升级业务表 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-27
|
||||
*/
|
||||
public interface AcRecomUpgradeRecordMapper extends BaseMapper<AcRecomUpgradeRecord> {
|
||||
|
||||
|
|
@ -30,13 +30,4 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper<AcRecomUpgradeRec
|
|||
*/
|
||||
List<Long> selectRecommendNumber(AcRecomUpgradeRecordExt upgradeRecord);
|
||||
|
||||
/**
|
||||
* 判断会员是否达标并且查询对应订单
|
||||
*/
|
||||
SaOrder getRecomOrder(@Param("pkMember") Long pkMember,
|
||||
@Param("pkGrade") Integer pkGrade,
|
||||
@Param("num") Integer num,
|
||||
@Param("startTime") Date startTime,
|
||||
@Param("endTime") Date endTime);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,12 +8,18 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 直推-推荐升级 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-22
|
||||
*/
|
||||
public interface AcRecomUpgradeRuleConfigMapper extends BaseMapper<AcRecomUpgradeRuleConfig> {
|
||||
|
||||
/**
|
||||
* 查询配置规则
|
||||
*
|
||||
* @param recommendUpgradeVO 推荐升级参数
|
||||
* @return List<AcRecomUpgradeRuleConfig>
|
||||
*/
|
||||
List<AcRecomUpgradeRuleConfig> listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO);
|
||||
List<AcRecomUpgradeRuleConfig> selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 复购均分配置 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-05-04
|
||||
*/
|
||||
public interface AcRepurSharRuleConfigMapper extends BaseMapper<AcRepurSharRuleConfig> {
|
||||
|
||||
|
|
@ -24,4 +27,12 @@ public interface AcRepurSharRuleConfigMapper extends BaseMapper<AcRepurSharRuleC
|
|||
Integer deleteSharRuleConfigByActivityId(@Param("orderTypeList") List<Integer> orderTypeList,
|
||||
@Param("activityId") Long activityId, @Param("pkModifyId") Long pkModifyId);
|
||||
|
||||
/*
|
||||
* @description: 查询复购券均分收益
|
||||
* @author: sui q
|
||||
* @date: 2023/5/5 16:29
|
||||
* @param: null null
|
||||
**/
|
||||
List<AcRepurSharRuleConfigExt> queryRepurSharRuleConfig(@Param("startDate") Date startDate, @Param("endDate") Date endDate);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,12 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 直推赠送参数
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2023/4/24 11:14
|
||||
* @Classname: AcRecommendParam
|
||||
* @Package_name: com.hzs.activity.recommend.param
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
|||
|
|
@ -3,13 +3,14 @@ package com.hzs.activity.recommend.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 推荐升级业务表 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-27
|
||||
*/
|
||||
public interface IAcRecomUpgradeRecordService extends IService<AcRecomUpgradeRecord> {
|
||||
|
||||
|
|
@ -30,6 +31,7 @@ public interface IAcRecomUpgradeRecordService extends IService<AcRecomUpgradeRec
|
|||
*/
|
||||
AcRecomUpgradeRecord selectUpgradeRecordByOrderId(AcRecomUpgradeRecordExt upgradeRecord);
|
||||
|
||||
|
||||
/**
|
||||
* 查询推荐的人数
|
||||
*
|
||||
|
|
@ -47,9 +49,4 @@ public interface IAcRecomUpgradeRecordService extends IService<AcRecomUpgradeRec
|
|||
*/
|
||||
Boolean updateUpgradeStatusById(List<Long> pkIds, Long pkModified, Integer upGradeStatus);
|
||||
|
||||
/**
|
||||
* 判断会员是否达标并且查询对应订单
|
||||
*/
|
||||
SaOrder getRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,9 +8,11 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 直推-推荐升级 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-22
|
||||
*/
|
||||
public interface IAcRecomUpgradeRuleConfigService extends IService<AcRecomUpgradeRuleConfig> {
|
||||
|
||||
/**
|
||||
* 根据活动ID查询直推升级
|
||||
*
|
||||
|
|
@ -21,8 +23,11 @@ public interface IAcRecomUpgradeRuleConfigService extends IService<AcRecomUpgrad
|
|||
|
||||
/**
|
||||
* 查询配置规则
|
||||
*
|
||||
* @param recommendUpgradeVO 推荐升级参数
|
||||
* @return List<AcRecomUpgradeRuleConfig>
|
||||
*/
|
||||
List<AcRecomUpgradeRuleConfig> listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO);
|
||||
List<AcRecomUpgradeRuleConfig> selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO);
|
||||
|
||||
/**
|
||||
* 根据活动配置主键删除推荐升级配置
|
||||
|
|
|
|||
|
|
@ -53,12 +53,18 @@ public interface IAcRepurCouponsRuleConfigService extends IService<AcRepurCoupon
|
|||
*/
|
||||
String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
|
||||
/**
|
||||
* @param approvalBusinessResultDTO 业务审批操作DTO
|
||||
* @return String
|
||||
*/
|
||||
String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
|
||||
/**
|
||||
* 调用直推升级(对外提供接口)
|
||||
*
|
||||
* @param acRecommendUpgrade 直推升级信息
|
||||
* @param acRepurchaseCouponsDTO 直推升级信息
|
||||
*/
|
||||
Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade);
|
||||
Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRepurchaseCouponsDTO);
|
||||
|
||||
/**
|
||||
* 查询目前所有启用的复购券规则
|
||||
|
|
|
|||
|
|
@ -2,9 +2,16 @@ package com.hzs.activity.recommend.service;
|
|||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.hzs.common.domain.activity.recommend.AcRepurSharRuleConfig;
|
||||
import com.hzs.common.domain.activity.recommend.ext.AcRepurSharRuleConfigExt;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 复购均分配置 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-05-04
|
||||
*/
|
||||
public interface IAcRepurSharRuleConfigService extends IService<AcRepurSharRuleConfig> {
|
||||
|
||||
|
|
@ -26,4 +33,12 @@ public interface IAcRepurSharRuleConfigService extends IService<AcRepurSharRuleC
|
|||
*/
|
||||
Boolean deleteSharRuleConfigByActivityId(Long activityId, Long pkModifyId);
|
||||
|
||||
/*
|
||||
* @description: 查询复购券均分收益
|
||||
* @author: sui q
|
||||
* @date: 2023/5/5 16:29
|
||||
* @param: null null
|
||||
**/
|
||||
List<AcRepurSharRuleConfigExt> queryRepurSharRuleConfig(Date startDate, Date endDate);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import com.hzs.activity.recommend.service.IAcRecomUpgradeRecordService;
|
|||
import com.hzs.common.core.enums.EDelFlag;
|
||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord;
|
||||
import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt;
|
||||
import com.hzs.common.domain.sale.order.SaOrder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
|
|
@ -15,6 +14,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 推荐升级业务表 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-27
|
||||
*/
|
||||
@Service
|
||||
public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl<AcRecomUpgradeRecordMapper, AcRecomUpgradeRecord> implements IAcRecomUpgradeRecordService {
|
||||
|
|
@ -48,9 +50,4 @@ public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl<AcRecomUpgradeR
|
|||
return this.update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SaOrder getRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime) {
|
||||
return baseMapper.getRecomOrder(pkMember, pkGrade, num, startTime, endTime);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 直推-推荐升级 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-22
|
||||
*/
|
||||
@Service
|
||||
public class AcRecomUpgradeRuleConfigServiceImpl extends ServiceImpl<AcRecomUpgradeRuleConfigMapper, AcRecomUpgradeRuleConfig> implements IAcRecomUpgradeRuleConfigService {
|
||||
|
|
@ -27,8 +30,8 @@ public class AcRecomUpgradeRuleConfigServiceImpl extends ServiceImpl<AcRecomUpgr
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<AcRecomUpgradeRuleConfig> listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO) {
|
||||
return baseMapper.listRuleConfig(recommendUpgradeVO);
|
||||
public List<AcRecomUpgradeRuleConfig> selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO) {
|
||||
return baseMapper.selectRuleConfig(recommendUpgradeVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ import com.hzs.common.core.constant.EnumsPrefixConstants;
|
|||
import com.hzs.common.core.constant.RabbitMqConstants;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.exception.ServiceException;
|
||||
import com.hzs.common.core.utils.CommonUtil;
|
||||
import com.hzs.common.core.utils.DateUtils;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
|
|
@ -37,7 +36,9 @@ import com.hzs.common.domain.sale.order.SaOrder;
|
|||
import com.hzs.common.service.ITransactionCommonService;
|
||||
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;
|
||||
import com.hzs.system.sys.dto.ApprovalSubmitDTO;
|
||||
import com.hzs.system.sys.dto.BusinessLogDTO;
|
||||
import com.hzs.system.sys.dto.LoginUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
@ -47,7 +48,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.lang.reflect.Member;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -59,33 +59,34 @@ import java.util.stream.Collectors;
|
|||
public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCouponsRuleConfigMapper, AcRepurCouponsRuleConfig> implements IAcRepurCouponsRuleConfigService {
|
||||
|
||||
@Autowired
|
||||
private IActivityService iActivityService;
|
||||
IActivityService iActivityService;
|
||||
@Autowired
|
||||
private IAcBaseConfigService iAcBaseConfigService;
|
||||
IAcRecomUpgradeRuleConfigService recomUpgradeRuleConfigService;
|
||||
@Autowired
|
||||
private IAcRecomUpgradeRuleConfigService iAcRecomUpgradeRuleConfigService;
|
||||
IAcGiftConfigService giftConfigService;
|
||||
@Autowired
|
||||
private IAcRecomUpgradeRecordService iAcRecomUpgradeRecordService;
|
||||
|
||||
IAcBaseConfigService baseConfigService;
|
||||
@Autowired
|
||||
private IAcGiftConfigService giftConfigService;
|
||||
IAcApprovalLogService acApprovalLogService;
|
||||
@Autowired
|
||||
private IAcApprovalLogService acApprovalLogService;
|
||||
IAcRecomUpgradeRecordService acRecomUpgradeRecordService;
|
||||
@Autowired
|
||||
private IAcPickService acPickService;
|
||||
IAcPickService acPickService;
|
||||
@Autowired
|
||||
private IAcGoalMemberConfigService acGoalMemberConfigService;
|
||||
IAcGoalMemberConfigService acGoalMemberConfigService;
|
||||
@Autowired
|
||||
private IAcRepurSharOrderTypeService acRepurSharOrderTypeService;
|
||||
IAcRepurSharOrderTypeService acRepurSharOrderTypeService;
|
||||
@Autowired
|
||||
private IAcRepurSharRuleConfigService acRepurSharRuleConfigService;
|
||||
IAcRepurSharRuleConfigService acRepurSharRuleConfigService;
|
||||
@Autowired
|
||||
private IAcBaseAuthorityService iAcBaseAuthorityService;
|
||||
IAcBaseAuthorityService iAcBaseAuthorityService;
|
||||
|
||||
@DubboReference
|
||||
IMemberServiceApi iMemberServiceApi;
|
||||
IApprovalServiceApi approvalServiceApi;
|
||||
@DubboReference
|
||||
IProductServiceApi iProductServiceApi;
|
||||
IMemberServiceApi memberServiceApi;
|
||||
@DubboReference
|
||||
IProductServiceApi productServiceApi;
|
||||
|
||||
@Autowired
|
||||
private RabbitTemplate rabbitTemplate;
|
||||
|
|
@ -96,7 +97,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String onLinePetition(AcRecommendParam recommendParam) {
|
||||
log.info("直推参数{}", JSONUtil.toJsonStr(recommendParam));
|
||||
log.info("直推参数{}",JSONUtil.toJsonStr(recommendParam));
|
||||
EApprovalBusiness approvalBusiness = EApprovalBusiness.DIRECT_PUSH_GIFT;
|
||||
//根据产品ID查询产品名称
|
||||
List<AcRecommendUpgradeVO> recommendUpgradeList = recommendParam.getRecommendUpgradeList();
|
||||
|
|
@ -107,7 +108,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
for (AcGiftConfigVO giftConfigVO : giftConfigList) {
|
||||
Integer pkProduct = giftConfigVO.getPkProduct();
|
||||
if (null != pkProduct) {
|
||||
giftConfigVO.setProductName(iProductServiceApi.getProduct(pkProduct).getData().getProductName());
|
||||
giftConfigVO.setProductName(productServiceApi.getProduct(pkProduct).getData().getProductName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -203,6 +204,23 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String approvalReject(ApprovalBusinessResultDTO businessResult) {
|
||||
EApprovalBusiness eApprovalBusiness = businessResult.getEApprovalBusiness();
|
||||
String businessCode = businessResult.getBusinessCode();
|
||||
LoginUser loginUser = businessResult.getLoginUser();
|
||||
AcApprovalLog approvalLog = acApprovalLogService.queryApprovalLog(eApprovalBusiness, businessCode, loginUser.getDataCountry());
|
||||
if (null == approvalLog) {
|
||||
return "审批数据不存在!";
|
||||
}
|
||||
//更新审批状态
|
||||
acApprovalLogService.updateApprovalLog(eApprovalBusiness, businessCode, loginUser.getDataCountry(),
|
||||
loginUser.getUserId(), EApproveRechargeStatus.REJECT, businessResult.getApproveRemark());
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存直推赠送数据
|
||||
*
|
||||
|
|
@ -233,7 +251,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
Long pkBaseId = recommendParam.getActivityParam().getPkId();
|
||||
Long pkModifyId = recommendParam.getPkMember();
|
||||
//删除活动基本信息
|
||||
iAcBaseConfigService.deleteBaseConfigById(pkBaseId, pkModifyId);
|
||||
baseConfigService.deleteBaseConfigById(pkBaseId, pkModifyId);
|
||||
// 删除活动权限配置
|
||||
iAcBaseAuthorityService.update(Wrappers.<AcBaseAuthority>lambdaUpdate()
|
||||
.eq(AcBaseAuthority::getPkBaseId, pkBaseId)
|
||||
|
|
@ -249,7 +267,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
//删除直推升级配置信息
|
||||
List<AcRecommendUpgradeVO> recommendUpgradeList = recommendParam.getRecommendUpgradeList();
|
||||
if (CollUtil.isNotEmpty(recommendUpgradeList)) {
|
||||
iAcRecomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId);
|
||||
recomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId);
|
||||
}
|
||||
//删除复购均分
|
||||
AcRecommendSharVO acRecommendSharVO = recommendParam.getAcRecommendSharVO();
|
||||
|
|
@ -407,7 +425,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
recommendUpgradeVO.setPkCountry(recommendParam.getPkCountry());
|
||||
recomUpgradeRuleConfig = BeanUtil.copyProperties(recommendUpgradeVO, AcRecomUpgradeRuleConfig.class);
|
||||
recomUpgradeRuleConfig.setPkBaseId(recommendParam.getPkBaseId());
|
||||
iAcRecomUpgradeRuleConfigService.save(recomUpgradeRuleConfig);
|
||||
recomUpgradeRuleConfigService.save(recomUpgradeRuleConfig);
|
||||
List<AcGiftConfig> giftConfigs = saveRecommendUpgradeGift(recommendUpgradeVO, recomUpgradeRuleConfig.getPkId());
|
||||
giftConfigService.saveBatch(giftConfigs);
|
||||
}
|
||||
|
|
@ -415,6 +433,26 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 提交审批
|
||||
*
|
||||
* @param recommendParam 直推赠送参数
|
||||
*/
|
||||
public Boolean submitApproval(AcRecommendParam recommendParam, EApprovalBusiness approvalBusiness, String businessCode) {
|
||||
//保存审批日志
|
||||
AcApprovalLog approvalLog = saveApprovalLog(recommendParam, approvalBusiness, businessCode);
|
||||
ApprovalSubmitDTO approvalSubmitDTO = ApprovalSubmitDTO.builder().eApprovalBusiness(approvalBusiness)
|
||||
.businessCode(approvalLog.getBusinessCode())
|
||||
.signType(ESignType.getEnumByValue(recommendParam.getSignType())).userIdList(recommendParam.getUserIdList())
|
||||
.sendIdList(recommendParam.getSendIdList()).remark(recommendParam.getRemark()).build();
|
||||
R<String> submit = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser());
|
||||
if (!submit.isSuccess()) {
|
||||
throw new RuntimeException("直推赠送提交审批失败!");
|
||||
}
|
||||
return submit.isSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存活动审批日志信息
|
||||
*
|
||||
|
|
@ -474,7 +512,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
public AcRecommendVO showDetailInfo(Long activityId, Integer pkCountry) {
|
||||
AcRecommendVO recommendVO = new AcRecommendVO();
|
||||
recommendVO.setPkBaseId(activityId);
|
||||
AcBaseConfig baseConfig = iAcBaseConfigService.getById(activityId);
|
||||
AcBaseConfig baseConfig = baseConfigService.getById(activityId);
|
||||
//查询目标用户群体
|
||||
List<AcGoalMemberConfig> acGoalMemberConfigs = acGoalMemberConfigService.selectMemberConfig(activityId);
|
||||
BaseConfigVo baseConfigVo = BeanUtil.copyProperties(baseConfig, BaseConfigVo.class);
|
||||
|
|
@ -489,7 +527,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
List<AcRepurCouponsRuleConfig> repurCouponsRuleConfigList = selectRuleConfigByActivityId(activityId);
|
||||
recommendVO.setRepurchaseCouponsShowList(conversionAcRepurchaseCouponsShowVO(repurCouponsRuleConfigList));
|
||||
//查询直推升级规则
|
||||
List<AcRecomUpgradeRuleConfig> recomUpgradeRuleConfigList = iAcRecomUpgradeRuleConfigService.selectByActivityId(activityId);
|
||||
List<AcRecomUpgradeRuleConfig> recomUpgradeRuleConfigList = recomUpgradeRuleConfigService.selectByActivityId(activityId);
|
||||
recommendVO.setRecommendUpgradeList(conversionRecommendUpgradeVO(recomUpgradeRuleConfigList, pkCountry));
|
||||
//复购券均分
|
||||
AcRepurSharRuleConfig repurSharRuleConfig = acRepurSharRuleConfigService.selectAcRepurSharRuleConfigByBaseId(activityId);
|
||||
|
|
@ -581,189 +619,27 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade) {
|
||||
AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder()
|
||||
.actType(EActType.RECOMMEND_UPGRADE.getValue())
|
||||
.pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry())
|
||||
.build();
|
||||
// 查询订单时内的直推活动
|
||||
List<AcBaseConfig> acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO);
|
||||
public Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRepurchaseCouponsDTO) {
|
||||
boolean result = true;
|
||||
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 = acRecommendUpgrade.getOrderOperateStatus();
|
||||
EOrderOperateStatus orderOperateStatus = acRepurchaseCouponsDTO.getOrderOperateStatus();
|
||||
for (AcBaseConfig baseConfig : acBaseConfigs) {
|
||||
if (orderOperateStatus.equals(EOrderOperateStatus.NORMAL)) {
|
||||
// 正常处理
|
||||
handleRecommendUpgrade(acRecommendUpgrade, baseConfig);
|
||||
result = handleBusiness(acRepurchaseCouponsDTO, baseConfig);
|
||||
} else {
|
||||
// 撤单处理
|
||||
cancelOrder(acRecommendUpgrade, baseConfig);
|
||||
result = cancelOrder(acRepurchaseCouponsDTO, baseConfig);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理业务(正常报单)
|
||||
*/
|
||||
private void handleRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
|
||||
Date nowDate = new Date();
|
||||
// 订单信息
|
||||
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
||||
// 活动ID
|
||||
Long pkBaseId = baseConfig.getPkId();
|
||||
// 推荐人
|
||||
Long pkMember = saOrderExt.getPkReference();
|
||||
// 当前时间年月
|
||||
String upgradeTime = DateUtils.parseDateToFormat(DateUtils.YYYYMM, nowDate);
|
||||
// 校验推荐人本月是否已经触发过
|
||||
if (iAcRecomUpgradeRecordService.count(Wrappers.<AcRecomUpgradeRecord>lambdaQuery()
|
||||
.eq(AcRecomUpgradeRecord::getPkBaseId, pkBaseId)
|
||||
.eq(AcRecomUpgradeRecord::getPkMember, pkMember)
|
||||
.eq(AcRecomUpgradeRecord::getUpgradeTime, upgradeTime)
|
||||
) > 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 推荐人等级ID
|
||||
CuMember referenceMember = iMemberServiceApi.getMember(pkMember).getData();
|
||||
Integer pkSettleGrade = referenceMember.getPkSettleGrade();
|
||||
// 国家
|
||||
Integer pkCountry = saOrderExt.getPkCountry();
|
||||
AcRecommendUpgradeVO recommendUpgradeVO = AcRecommendUpgradeVO.builder()
|
||||
.pkBaseId(pkBaseId)
|
||||
.pkSettleGrade(pkSettleGrade)
|
||||
.pkCountry(pkCountry)
|
||||
.memberType(1)
|
||||
.build();
|
||||
//查询规则
|
||||
List<AcRecomUpgradeRuleConfig> upgradeRuleConfigList = iAcRecomUpgradeRuleConfigService.listRuleConfig(recommendUpgradeVO);
|
||||
if (CollUtil.isNotEmpty(upgradeRuleConfigList)) {
|
||||
// 升级规则
|
||||
AcRecomUpgradeRuleConfig upgradeRuleConfig = upgradeRuleConfigList.get(0);
|
||||
// // 查询活动权限
|
||||
// if (!this.checkAuthority(baseConfig, saOrderExt.getPkReference())) {
|
||||
// return;
|
||||
// }
|
||||
// log.info("直推升级权限校验,pkBaseId: {},orderCode: {}", pkBaseId, saOrderExt.getOrderCode());
|
||||
|
||||
// 查询订单时间范围
|
||||
// 默认活动开始时间
|
||||
Date startTime = baseConfig.getActStartDate();
|
||||
// 默认订单时间
|
||||
Date endTime = saOrderExt.getPayTime();
|
||||
// 当月第一天
|
||||
Date monthFirst = DateUtils.getFirstDayOfMonth(nowDate);
|
||||
if (monthFirst.compareTo(startTime) > 0) {
|
||||
startTime = monthFirst;
|
||||
}
|
||||
// 校验推荐人是否可以升级
|
||||
if (null == iAcRecomUpgradeRecordService.getRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime)) {
|
||||
return;
|
||||
}
|
||||
// 封装规则升级记录
|
||||
AcRecomUpgradeRecord recomUpgradeRecord = AcRecomUpgradeRecord.builder()
|
||||
.pkBaseId(pkBaseId)
|
||||
.pkRuleId(upgradeRuleConfig.getPkId())
|
||||
.pkMember(pkMember)
|
||||
.pkSettleGrade(pkSettleGrade)
|
||||
.pkRecommendGrade(upgradeRuleConfig.getPkUpgradeGrade())
|
||||
.pkOrderId(saOrderExt.getPkId())
|
||||
.upgradeTime(upgradeTime)
|
||||
.build();
|
||||
recomUpgradeRecord.setPkCreator(referenceMember.getPkId());
|
||||
recomUpgradeRecord.setPkCountry(referenceMember.getPkSettleCountry());
|
||||
iAcRecomUpgradeRecordService.save(recomUpgradeRecord);
|
||||
// 更新会员等级
|
||||
referenceMember.setPkSettleGrade(upgradeRuleConfig.getPkUpgradeGrade());
|
||||
|
||||
// 更新用户信息
|
||||
CuMember cuMember = CuMember.builder()
|
||||
.pkId(pkMember)
|
||||
.pkSettleGrade(upgradeRuleConfig.getPkUpgradeGrade())
|
||||
.pkSettleCountry(referenceMember.getPkCountry())
|
||||
.build();
|
||||
cuMember.setPkModified(pkMember);
|
||||
cuMember.setModifiedTime(nowDate);
|
||||
SaOrder saOrder = SaOrder.builder()
|
||||
.pkId(saOrderExt.getPkId())
|
||||
.payTime(nowDate)
|
||||
.build();
|
||||
//调用升级接口
|
||||
R<?> resultBool = iMemberServiceApi.updateMemberLevel(cuMember, saOrder, pkSettleGrade);
|
||||
if (!resultBool.isSuccess()) {
|
||||
log.error("直推活动会员升级升级失败. {}", resultBool.getMsg());
|
||||
throw new ServiceException(resultBool.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 撤单
|
||||
*/
|
||||
private Boolean cancelOrder(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
|
||||
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
||||
Long pkOrderId = saOrderExt.getPkId();
|
||||
//修改人
|
||||
Long pkModified = saOrderExt.getPkReference();
|
||||
AcRecomUpgradeRecordExt upgradeRecordOrder = new AcRecomUpgradeRecordExt();
|
||||
upgradeRecordOrder.setPkOrderId(pkOrderId);
|
||||
upgradeRecordOrder.setStartDate(baseConfig.getActStartDate());
|
||||
upgradeRecordOrder.setEndDate(baseConfig.getActEndDate());
|
||||
//根据orderId查询
|
||||
AcRecomUpgradeRecord recomUpgradeRecord = iAcRecomUpgradeRecordService.selectUpgradeRecordByOrderId(upgradeRecordOrder);
|
||||
if (null != recomUpgradeRecord) {
|
||||
Long pkRuleId = recomUpgradeRecord.getPkRuleId();
|
||||
//查询规则
|
||||
AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(pkRuleId);
|
||||
//结算等级
|
||||
Integer pkSettleGrade = upgradeRuleConfig.getPkSettleGrade();
|
||||
//找茬等级
|
||||
Integer pkRecommendGrade = upgradeRuleConfig.getPkRecommendGrade();
|
||||
if (pkSettleGrade.equals(recomUpgradeRecord.getPkSettleGrade()) && pkRecommendGrade.equals(recomUpgradeRecord.getPkRecommendGrade())) {
|
||||
//撤单更新状态
|
||||
iAcRecomUpgradeRecordService.cancelOrder(pkOrderId, pkModified);
|
||||
AcRecomUpgradeRecordExt upgradeRecord = BeanUtil.copyProperties(recomUpgradeRecord, AcRecomUpgradeRecordExt.class);
|
||||
upgradeRecord.setPkSettleGrade(pkSettleGrade);
|
||||
upgradeRecord.setPkRecommendGrade(pkRecommendGrade);
|
||||
upgradeRecord.setStartDate(baseConfig.getActStartDate());
|
||||
upgradeRecord.setEndDate(baseConfig.getActEndDate());
|
||||
upgradeRecord.setUpgradeStatus(1);
|
||||
//推荐人数
|
||||
List<Long> recommendNumber = iAcRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord);
|
||||
//配置的推荐人数
|
||||
Integer recommendConfigNumber = upgradeRuleConfig.getRecommendNumber();
|
||||
if (CollUtil.isNotEmpty(recommendNumber) && recommendNumber.size() < recommendConfigNumber) {
|
||||
Long pkMember = recomUpgradeRecord.getPkMember();
|
||||
//调用降级处理
|
||||
Integer pkUpgradeGrade = upgradeRuleConfig.getPkUpgradeGrade();
|
||||
CuMember data = iMemberServiceApi.getMember(pkMember).getData();
|
||||
//用户信息
|
||||
CuMember cuMember = CuMember.builder().pkId(pkMember).pkSettleGrade(pkSettleGrade).memberCode(data.getMemberCode())
|
||||
.pkSettleCountry(data.getPkSettleCountry()).build();
|
||||
cuMember.setPkModified(pkMember);
|
||||
cuMember.setModifiedTime(new Date());
|
||||
SaOrder saOrder = SaOrder.builder().payTime(new Date()).build();
|
||||
//修改升级状态
|
||||
iAcRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkModified, EYesNo.YES.getIntValue());
|
||||
//查询是否配置赠品
|
||||
List<AcGiftConfigExt> acGiftConfigList = giftConfigService.queryListByRuleIdList(pkRuleId, saOrderExt.getPkCountry());
|
||||
//调用提货接口
|
||||
if (CollUtil.isNotEmpty(acGiftConfigList)) {
|
||||
AcGiftConfigExt acGiftConfigExt = acGiftConfigList.get(0);
|
||||
acPickService.updatePickUsableByMemberAndActivityType(pkMember, EActType.DIRECT_PUSH_GIFT.getValue(), baseConfig.getPkId(), pkRuleId
|
||||
, acGiftConfigExt.getQuantity(), pkModified);
|
||||
}
|
||||
//调用降级处理
|
||||
iMemberServiceApi.updateMemberLevel(cuMember, saOrder, pkUpgradeGrade);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 校验活动权限(true:进行处理,false:不进行处理)
|
||||
*
|
||||
|
|
@ -829,6 +705,157 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
|
|||
return baseMapper.queryAcRepurchaseCouponsRule(settleDate);
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理业务(正常报单)
|
||||
*
|
||||
* @param acRecommendUpgrade 升级参数
|
||||
* @param baseConfig 基本配置
|
||||
*/
|
||||
private Boolean handleBusiness(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
|
||||
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
||||
//活动ID
|
||||
Long pkBaseId = baseConfig.getPkId();
|
||||
//推荐人
|
||||
Long pkMember = saOrderExt.getPkReference();
|
||||
//推荐人等级ID
|
||||
Integer pkSettleGrade = memberServiceApi.queryMember(pkMember).getData().getPkSettleGrade();
|
||||
//被推荐人等级ID
|
||||
Integer pkRecommendGrade = memberServiceApi.queryMember(saOrderExt.getPkMember()).getData().getPkSettleGrade();
|
||||
//国家
|
||||
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)) {
|
||||
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);
|
||||
|
||||
// 查询活动权限
|
||||
if (!this.checkAuthority(baseConfig, saOrderExt.getPkReference())) {
|
||||
return true;
|
||||
}
|
||||
log.info("直推升级权限校验,pkBaseId: {},orderCode: {}", pkBaseId, saOrderExt.getOrderCode());
|
||||
|
||||
//满足规则时 直推升级
|
||||
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);
|
||||
upgradeRecord.setUpgradeStatus(0);
|
||||
//查询推荐人数ID(没有升级过记录)
|
||||
List<Long> recommendNumber = acRecomUpgradeRecordService.selectRecommendNumber(upgradeRecord);
|
||||
//配置中的人数
|
||||
Integer configNumber = recomUpgradeRuleConfig.getRecommendNumber();
|
||||
if (CollUtil.isNotEmpty(recommendNumber) && configNumber.equals(recommendNumber.size())) {
|
||||
//更新为已升级过的推荐状态
|
||||
acRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkMember, EYesNo.NO.getIntValue());
|
||||
//升级等级
|
||||
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();
|
||||
//查询是否配置赠品
|
||||
List<AcGiftConfigExt> acGiftConfigList = giftConfigService.queryListByRuleIdList(pkRuleId, pkCountry);
|
||||
//调用提货接口
|
||||
if (CollUtil.isNotEmpty(acGiftConfigList)) {
|
||||
AcGiftConfigExt acGiftConfigExt = acGiftConfigList.get(0);
|
||||
acPickService.addPickByActivity(pkMember, EActType.DIRECT_PUSH_GIFT.getValue(),
|
||||
baseConfig.getPkId(), pkRuleId, acGiftConfigExt.getQuantity(), baseConfig.getActCover(), null,
|
||||
null, pkMember, pkCountry, baseConfig.getPkId(), null, null);
|
||||
}
|
||||
//调用升级接口
|
||||
return memberServiceApi.updateMemberLevel(cuMember, saOrder, pkSettleGrade).getData();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 撤单
|
||||
*/
|
||||
private Boolean cancelOrder(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) {
|
||||
SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt();
|
||||
Long pkOrderId = saOrderExt.getPkId();
|
||||
//修改人
|
||||
Long pkModified = saOrderExt.getPkReference();
|
||||
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);
|
||||
//结算等级
|
||||
Integer pkSettleGrade = upgradeRuleConfig.getPkSettleGrade();
|
||||
//找茬等级
|
||||
Integer pkRecommendGrade = upgradeRuleConfig.getPkRecommendGrade();
|
||||
if (pkSettleGrade.equals(recomUpgradeRecord.getPkSettleGrade()) && pkRecommendGrade.equals(recomUpgradeRecord.getPkRecommendGrade())) {
|
||||
//撤单更新状态
|
||||
acRecomUpgradeRecordService.cancelOrder(pkOrderId, pkModified);
|
||||
AcRecomUpgradeRecordExt upgradeRecord = BeanUtil.copyProperties(recomUpgradeRecord, AcRecomUpgradeRecordExt.class);
|
||||
upgradeRecord.setPkSettleGrade(pkSettleGrade);
|
||||
upgradeRecord.setPkRecommendGrade(pkRecommendGrade);
|
||||
upgradeRecord.setStartDate(baseConfig.getActStartDate());
|
||||
upgradeRecord.setEndDate(baseConfig.getActEndDate());
|
||||
upgradeRecord.setUpgradeStatus(1);
|
||||
//推荐人数
|
||||
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(pkSettleGrade).memberCode(data.getMemberCode())
|
||||
.pkSettleCountry(data.getPkSettleCountry()).build();
|
||||
cuMember.setPkModified(pkMember);
|
||||
cuMember.setModifiedTime(new Date());
|
||||
SaOrder saOrder = SaOrder.builder().payTime(new Date()).build();
|
||||
//修改升级状态
|
||||
acRecomUpgradeRecordService.updateUpgradeStatusById(recommendNumber, pkModified, EYesNo.YES.getIntValue());
|
||||
//查询是否配置赠品
|
||||
List<AcGiftConfigExt> acGiftConfigList = giftConfigService.queryListByRuleIdList(pkRuleId, saOrderExt.getPkCountry());
|
||||
//调用提货接口
|
||||
if (CollUtil.isNotEmpty(acGiftConfigList)) {
|
||||
AcGiftConfigExt acGiftConfigExt = acGiftConfigList.get(0);
|
||||
acPickService.updatePickUsableByMemberAndActivityType(pkMember, EActType.DIRECT_PUSH_GIFT.getValue(), baseConfig.getPkId(), pkRuleId
|
||||
, acGiftConfigExt.getQuantity(), pkModified);
|
||||
}
|
||||
//调用降级处理
|
||||
memberServiceApi.updateMemberLevel(cuMember, saOrder, pkUpgradeGrade);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteCouponsRuleConfigByBaseId(Long pkBaseId, Long pkModifyId) {
|
||||
LambdaUpdateWrapper<AcRepurCouponsRuleConfig> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
|
|
|
|||
|
|
@ -7,12 +7,17 @@ import com.hzs.activity.recommend.mapper.AcRepurSharRuleConfigMapper;
|
|||
import com.hzs.activity.recommend.service.IAcRepurSharRuleConfigService;
|
||||
import com.hzs.common.core.enums.EDelFlag;
|
||||
import com.hzs.common.domain.activity.recommend.AcRepurSharRuleConfig;
|
||||
import com.hzs.common.domain.activity.recommend.ext.AcRepurSharRuleConfigExt;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 复购均分配置 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-05-04
|
||||
*/
|
||||
@Service
|
||||
public class AcRepurSharRuleConfigServiceImpl extends ServiceImpl<AcRepurSharRuleConfigMapper, AcRepurSharRuleConfig> implements IAcRepurSharRuleConfigService {
|
||||
|
|
@ -34,4 +39,8 @@ public class AcRepurSharRuleConfigServiceImpl extends ServiceImpl<AcRepurSharRul
|
|||
return update(updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AcRepurSharRuleConfigExt> queryRepurSharRuleConfig(Date startDate, Date endDate) {
|
||||
return baseMapper.queryRepurSharRuleConfig(startDate, endDate);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,12 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 直推赠送模块VO
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2023/4/22 11:01
|
||||
* @Classname: AcRecommendUpgradeVO
|
||||
* @Package_name: com.hzs.activity.recommend.vo
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
|
|
|
|||
|
|
@ -10,11 +10,17 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 商品买赠规则配置表 Mapper 接口
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
public interface AcWaresRuleConfigMapper extends BaseMapper<AcWaresRuleConfig> {
|
||||
|
||||
/*
|
||||
* 查询买赠活动赠品配置根据条件
|
||||
* @description: 查询买赠活动赠品配置根据条件
|
||||
* @author: sui q
|
||||
* @date: 2023/4/25 19:26
|
||||
* @param: null null
|
||||
**/
|
||||
List<AcWaresRuleConfigExt> queryWaresGiftConfigByCondition(@Param("giftConfigParam") GiftConfigParam giftConfigParam);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,17 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 商品买赠规则配置表 服务类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
public interface IAcWaresRuleConfigService extends IService<AcWaresRuleConfig> {
|
||||
|
||||
/*
|
||||
* 查询买赠活动赠品配置根据条件
|
||||
* @description: 查询买赠活动赠品配置根据条件
|
||||
* @author: sui q
|
||||
* @date: 2023/4/25 19:26
|
||||
* @param: null null
|
||||
**/
|
||||
List<AcWaresRuleConfigExt> queryWaresGiftConfigByCondition(GiftConfigParam giftConfigParam);
|
||||
|
||||
|
|
@ -58,4 +64,11 @@ public interface IAcWaresRuleConfigService extends IService<AcWaresRuleConfig> {
|
|||
*/
|
||||
String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
|
||||
/**
|
||||
* 商品赠送 审核规则驳回
|
||||
*
|
||||
* @param approvalBusinessResultDTO
|
||||
* @return
|
||||
*/
|
||||
String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.hzs.activity.wares.service.impl;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.hzs.activity.base.param.ActivityParam;
|
||||
|
|
@ -12,6 +13,7 @@ import com.hzs.activity.base.service.IAcBaseConfigService;
|
|||
import com.hzs.activity.base.service.IAcGoalMemberConfigService;
|
||||
import com.hzs.activity.recommend.param.AcRecommendParam;
|
||||
import com.hzs.activity.wares.service.IAcGiftConfigService;
|
||||
import com.hzs.common.core.domain.R;
|
||||
import com.hzs.common.core.enums.*;
|
||||
import com.hzs.common.core.utils.CommonUtil;
|
||||
import com.hzs.common.core.utils.StringUtils;
|
||||
|
|
@ -24,9 +26,12 @@ import com.hzs.activity.wares.mapper.AcWaresRuleConfigMapper;
|
|||
import com.hzs.activity.wares.service.IAcWaresRuleConfigService;
|
||||
import com.hzs.common.domain.activity.wares.ext.AcWaresRuleConfigExt;
|
||||
import com.hzs.common.security.utils.SecurityUtils;
|
||||
import com.hzs.system.sys.IApprovalServiceApi;
|
||||
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
|
||||
import com.hzs.system.sys.dto.ApprovalSubmitDTO;
|
||||
import com.hzs.system.sys.dto.LoginUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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;
|
||||
|
|
@ -35,6 +40,9 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
* 商品买赠规则配置表 服务实现类
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
|
|
@ -53,6 +61,8 @@ public class AcWaresRuleConfigServiceImpl extends ServiceImpl<AcWaresRuleConfigM
|
|||
@Autowired
|
||||
private IAcWaresRuleConfigService waresRuleConfigService;
|
||||
|
||||
@DubboReference
|
||||
IApprovalServiceApi approvalServiceApi;
|
||||
|
||||
@Override
|
||||
public List<AcWaresRuleConfigExt> queryWaresGiftConfigByCondition(GiftConfigParam giftConfigParam) {
|
||||
|
|
@ -103,7 +113,7 @@ public class AcWaresRuleConfigServiceImpl extends ServiceImpl<AcWaresRuleConfigM
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String onLinePetition(AcRecommendParam recommendParam) {
|
||||
log.info("商品赠送入参{}", recommendParam);
|
||||
log.info("商品赠送入参{}",recommendParam);
|
||||
EApprovalBusiness approvalBusiness = null;
|
||||
if (recommendParam.getControlType() == EControlType.SAVE.getValue()) {
|
||||
approvalBusiness = EApprovalBusiness.PRODUCT_GIFT_ADD;
|
||||
|
|
@ -188,6 +198,48 @@ public class AcWaresRuleConfigServiceImpl extends ServiceImpl<AcWaresRuleConfigM
|
|||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品赠送审核规则
|
||||
*
|
||||
* @param businessResult
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public String approvalReject(ApprovalBusinessResultDTO businessResult) {
|
||||
EApprovalBusiness eApprovalBusiness = businessResult.getEApprovalBusiness();
|
||||
String businessCode = businessResult.getBusinessCode();
|
||||
LoginUser loginUser = businessResult.getLoginUser();
|
||||
AcApprovalLog approvalLog = acApprovalLogService.queryApprovalLog(eApprovalBusiness, businessCode, loginUser.getDataCountry());
|
||||
if (null == approvalLog) {
|
||||
return "审批数据不存在!";
|
||||
}
|
||||
//更新审批状态
|
||||
acApprovalLogService.updateApprovalLog(eApprovalBusiness, businessCode, loginUser.getDataCountry(),
|
||||
loginUser.getUserId(), EApproveRechargeStatus.REJECT, businessResult.getApproveRemark());
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交审批
|
||||
*
|
||||
* @param recommendParam 抽奖参数
|
||||
*/
|
||||
public Boolean submitApproval(AcRecommendParam recommendParam, EApprovalBusiness approvalBusiness) {
|
||||
//保存审批日志
|
||||
AcApprovalLog approvalLog = saveApprovalLog(recommendParam, approvalBusiness);
|
||||
ApprovalSubmitDTO approvalSubmitDTO = ApprovalSubmitDTO.builder().eApprovalBusiness(approvalBusiness)
|
||||
.businessCode(approvalLog.getBusinessCode())
|
||||
.businessData(JSONObject.toJSONString(recommendParam.getActivityParam()))
|
||||
.signType(ESignType.getEnumByValue(recommendParam.getSignType())).userIdList(recommendParam.getUserIdList())
|
||||
.sendIdList(recommendParam.getSendIdList()).remark(recommendParam.getRemark()).fileList(recommendParam.getFileList())
|
||||
.build();
|
||||
R<String> submit = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser());
|
||||
if (!submit.isSuccess()) {
|
||||
throw new RuntimeException("旅游活动参数提交审批失败!");
|
||||
}
|
||||
return submit.isSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存活动审批日志信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -459,7 +459,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
CuMember cuMember;
|
||||
if (!EOrderTypeExtend.REG_REP.getValue().equals(orderParam.getOrderTypeExtend())) {
|
||||
// 非0元需要获取会员编号、会员主键
|
||||
cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.getMember(orderParam.getCenterCodeId()).getData());
|
||||
cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData());
|
||||
// 获取会员编号、会员主键
|
||||
if (isToBePay) {
|
||||
cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData();
|
||||
|
|
@ -469,7 +469,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
cuMember = iMemberServiceApi.createRegisterMemberCode(cuMember).getData();
|
||||
}
|
||||
} else {
|
||||
cuMember = iMemberServiceApi.getMember(orderParam.getCenterCodeId()).getData();
|
||||
cuMember = iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData();
|
||||
}
|
||||
|
||||
SaOrderExt saOrderExt = packageWholeSaOrder(orderParam, cuMember);
|
||||
|
|
@ -542,7 +542,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
orderParam.setPlaceParentId(placeMember.getPkId());
|
||||
}
|
||||
}
|
||||
CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.getMember(orderParam.getCenterCodeId()).getData());
|
||||
CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData());
|
||||
// 获取会员编号、会员主键
|
||||
cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData();
|
||||
return cuMember;
|
||||
|
|
@ -796,7 +796,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 同步全网产品库存
|
||||
this.allProductSync(saOrderExt);
|
||||
|
||||
// 注册订单推送MQ处理活动
|
||||
log.info("生产活动消息,activity.exchange:{}", JSONUtil.toJsonStr(saOrderExt));
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt);
|
||||
// 推送秒结数据处理 -- 注册订单
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt);
|
||||
|
|
@ -868,7 +868,7 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 同步全网产品库存
|
||||
this.allProductSync(saOrderExt);
|
||||
|
||||
// 188注册转复购订单推送MQ处理活动
|
||||
log.info("生产活动消息,activity.exchange:{}", JSONUtil.toJsonStr(saOrderExt));
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt);
|
||||
// 推送秒结数据处理 -- 注册订单
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt);
|
||||
|
|
@ -981,7 +981,6 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
// 同步全网产品库存
|
||||
this.allProductSync(saOrderExt);
|
||||
|
||||
// 升级订单推送MQ处理活动
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt);
|
||||
// 推送秒结数据处理 -- 升级订单
|
||||
rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt);
|
||||
|
|
@ -1930,6 +1929,30 @@ public class SaOrderServiceImpl extends ServiceImpl<SaOrderMapper, SaOrder> impl
|
|||
return baseMapper.queryOrderSelect(param, pkCountry);
|
||||
}
|
||||
|
||||
/**
|
||||
* 封装会员分享会员
|
||||
*
|
||||
* @param orderParam 参数
|
||||
* @param cuMemberShare 会员分享
|
||||
*/
|
||||
private CuMember packageCuMemberShare(OrderParam orderParam, CuMemberShare cuMemberShare) {
|
||||
orderParam.setMemberCode(cuMemberShare.getMemberCode());
|
||||
orderParam.setMemberName(cuMemberShare.getMemberName());
|
||||
orderParam.setPhone(cuMemberShare.getPhone());
|
||||
orderParam.setParentId(cuMemberShare.getPkParent());
|
||||
orderParam.setCenterCodeId(cuMemberShare.getPkParent());
|
||||
CuMember parentMember = iMemberServiceApi.queryMember(cuMemberShare.getPkParent()).getData();
|
||||
if (parentMember == null) {
|
||||
return null;
|
||||
}
|
||||
orderParam.setPkCountry(cuMemberShare.getPkCountry());
|
||||
orderParam.setPkSettleCountry(parentMember.getPkSettleCountry());
|
||||
CuMember newCuMember = saOrderHandle.packageSaveUser(orderParam, parentMember);
|
||||
newCuMember.setPkId(cuMemberShare.getPkId());
|
||||
newCuMember.setPkCreator(cuMemberShare.getPkId());
|
||||
return newCuMember;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean onlinePaymentCallBack(Long pkMember, String orderCode) {
|
||||
|
|
|
|||
|
|
@ -84,14 +84,14 @@
|
|||
|
||||
<select id="selectBaseConfigByType" resultMap="BaseResultMap">
|
||||
select *
|
||||
from ac_base_config b
|
||||
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}
|
||||
and b.atc_module =#{atcModule}
|
||||
</if>
|
||||
and trunc(sysdate) between b.act_start_date and b.act_end_date
|
||||
</select>
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@
|
|||
order by aw.order_amount desc
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -40,24 +40,4 @@
|
|||
and r.upgrade_status = #{upgradeStatus}
|
||||
</select>
|
||||
|
||||
<!-- 判断会员是否达标并且查询对应订单 -->
|
||||
<select id="getRecomOrder" resultType="com.hzs.common.domain.sale.order.SaOrder">
|
||||
select so.pk_reference, max(so.pk_id) pk_id, max(so.pay_time) pay_time
|
||||
from sa_order so
|
||||
left join cu_member_level cml
|
||||
on cml.pk_member = so.pk_member
|
||||
and cml.pk_order = so.pk_id
|
||||
left join bd_grade bg
|
||||
on bg.pk_id = cml.new_level
|
||||
where so.del_flag = 0
|
||||
and so.order_status = 1
|
||||
and (so.order_type in (1, 2) or so.order_type_extend = 1)
|
||||
and so.pay_time >= #{startTime}
|
||||
and #{endTime} >= so.pay_time
|
||||
and so.pk_reference = #{pkMember}
|
||||
and bg.grade_value >= (select grade_value from bd_grade where pk_id = #{pkGrade})
|
||||
group by so.pk_reference
|
||||
having count(so.pk_reference) >= #{num}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -18,16 +18,25 @@
|
|||
<result column="PK_UPGRADE_GRADE" property="pkUpgradeGrade"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="listRuleConfig" resultMap="BaseResultMap">
|
||||
|
||||
<select id="selectRuleConfig" resultMap="BaseResultMap">
|
||||
select *
|
||||
from ac_recom_upgrade_rule_config u
|
||||
from AC_RECOM_UPGRADE_RULE_CONFIG u
|
||||
where u.del_flag = 0
|
||||
and u.pk_country = #{pkCountry}
|
||||
and u.pk_base_id = #{pkBaseId}
|
||||
and u.pk_settle_grade = #{pkSettleGrade}
|
||||
<if test="pkCountry != null">
|
||||
and u.pk_country = #{pkCountry}
|
||||
and u.pk_recommend_grade <= #{pkRecommendGrade}
|
||||
and u.pk_settle_grade in (select m.pk_level
|
||||
from AC_GOAL_MEMBER_CONFIG m
|
||||
where m.del_flag = 0
|
||||
and m.pk_country = #{pkCountry}
|
||||
<if test="memberType != null">
|
||||
and m.member_type = #{memberType}
|
||||
</if>
|
||||
and m.pk_base_id = #{pkBaseId})
|
||||
order by u.creation_time desc
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -34,4 +34,16 @@
|
|||
)
|
||||
</update>
|
||||
|
||||
<select id="queryRepurSharRuleConfig" resultMap="AcRepurSharRuleConfigExt">
|
||||
select ar.order_amount, ar.order_achieve, ar.ratio_value, ao.order_type, ac.pk_country
|
||||
from ac_base_config ac
|
||||
inner join ac_repur_shar_rule_config ar
|
||||
on ac.pk_id = ar.pk_base_id
|
||||
inner join ac_repur_shar_order_type ao
|
||||
on ar.pk_id = ao.pk_rule_id
|
||||
where ar.del_flag = 0
|
||||
and ao.del_flag = 0
|
||||
and ac.ACT_START_DATE <= #{startDate, jdbcType=DATE}
|
||||
and ac.ACT_END_DATE > #{endDate, jdbcType=DATE}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ public class CuMemberTransferWhiteController extends BaseController {
|
|||
@Log(module = EOperationModule.TRADE_CONFIG, business = EOperationBusiness.TRANSFER_ACCOUNT_WHITE, method = EOperationMethod.UPDATE)
|
||||
@PostMapping("/update")
|
||||
public AjaxResult updateTransferConfig(@RequestBody CuMemberTransferWhiteVO transferWhiteVO) {
|
||||
CuMember cumember = iMemberServiceApi.getMember(transferWhiteVO.getMemberCode()).getData();
|
||||
CuMember cumember = iMemberServiceApi.queryMember(transferWhiteVO.getMemberCode()).getData();
|
||||
AjaxResult ajaxResult = parametersVerify(transferWhiteVO, cumember);
|
||||
if ((Integer) ajaxResult.get(AjaxResult.CODE_TAG) == HttpStatus.ERROR) {
|
||||
return ajaxResult;
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@ package com.hzs.system.sys.controller.manage;
|
|||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.json.JSONConfig;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.hzs.activity.base.IActivityApprovalServiceApi;
|
||||
import com.hzs.common.core.annotation.Log;
|
||||
import com.hzs.common.core.annotation.RepeatSubmitSimple;
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
|
|
@ -88,6 +90,8 @@ public class SysApprovalBusinessController extends BaseController {
|
|||
@DubboReference
|
||||
ICuAwardsControlServiceApi controlServiceApi;
|
||||
@DubboReference
|
||||
IActivityApprovalServiceApi iActivityApprovalServiceApi;
|
||||
@DubboReference
|
||||
IUpPolicyCurrencyServiceApi upPolicyCurrencyServiceApi;
|
||||
@DubboReference
|
||||
IUpdateExpireStopServiceApi updateExpireStopServiceApi;
|
||||
|
|
@ -281,6 +285,16 @@ public class SysApprovalBusinessController extends BaseController {
|
|||
approvalBusinessVO.setBusinessData(sysApprovalBusinessData.getBusinessData());
|
||||
}
|
||||
break;
|
||||
case ACTIVITY_BUSINESS:
|
||||
// 活动服务信息处理
|
||||
R<?> activityR = iActivityApprovalServiceApi.queryApprovalData(EApprovalBusiness.getEnumByValue(approvalBusinessExt.getApprovalBusiness()), approvalBusinessExt.getBusinessCode(), SecurityUtils.getPkCountry());
|
||||
if (activityR.isSuccess()) {
|
||||
if (null != activityR.getData()) {
|
||||
JSONConfig jsonConfig = JSONConfig.create().setDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
approvalBusinessVO.setBusinessData(JSONUtil.toJsonStr(activityR.getData(), jsonConfig));
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
return AjaxResult.success(approvalBusinessVO);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.hzs.activity.base.IActivityApprovalServiceApi;
|
||||
import com.hzs.common.core.constant.SystemFieldConstants;
|
||||
import com.hzs.common.core.constant.msg.DocumentMsgConstants;
|
||||
import com.hzs.common.core.domain.R;
|
||||
|
|
@ -78,6 +79,8 @@ public class ApprovalServiceImpl implements IApprovalService {
|
|||
@DubboReference
|
||||
INoticeAuditServiceApi iNoticeAuditServiceApi;
|
||||
@DubboReference
|
||||
IActivityApprovalServiceApi iActivityApprovalServiceApi;
|
||||
@DubboReference
|
||||
IApprovalPushInfo iApprovalPushInfo;
|
||||
@DubboReference
|
||||
IStatisticalLogServiceApi statisticalLogServiceApi;
|
||||
|
|
@ -475,6 +478,10 @@ public class ApprovalServiceImpl implements IApprovalService {
|
|||
// 公告、站内信相关
|
||||
resultR = iNoticeAuditServiceApi.noticeAuditProcess(approvalBusinessResultDTO);
|
||||
break;
|
||||
case ACTIVITY_BUSINESS:
|
||||
// 活动相关处理
|
||||
resultR = iActivityApprovalServiceApi.approvalCallback(approvalBusinessResultDTO);
|
||||
break;
|
||||
case CUSTOM_BUSINESS:
|
||||
// 自定义签呈不需要进行后续业务操作
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
|
@ -13,37 +14,32 @@ public enum EActType {
|
|||
/**
|
||||
* 商品赠品
|
||||
*/
|
||||
PRODUCT_GIFT(11, "商品赠品", 0),
|
||||
PRODUCT_GIFT(11, "商品赠品", 0, EnumsPrefixConstants.ACT_TYPE + "11"),
|
||||
|
||||
/**
|
||||
* 消费赠送
|
||||
*/
|
||||
CONSUMPTION_GIFT(12, "消费赠送", 0),
|
||||
CONSUMPTION_GIFT(12, "消费赠送", 0, EnumsPrefixConstants.ACT_TYPE + "12"),
|
||||
|
||||
/**
|
||||
* 直推赠送
|
||||
*/
|
||||
DIRECT_PUSH_GIFT(13, "直推赠送", 0),
|
||||
DIRECT_PUSH_GIFT(13, "直推赠送", 0, EnumsPrefixConstants.ACT_TYPE + "13"),
|
||||
|
||||
/**
|
||||
* 抽奖
|
||||
*/
|
||||
LOTTERY_DRAW(17, "抽奖", 0),
|
||||
LOTTERY_DRAW(17, "抽奖", 0, EnumsPrefixConstants.ACT_TYPE + "17"),
|
||||
|
||||
/**
|
||||
* 旅游活动
|
||||
*/
|
||||
TOURISM(22, "旅游活动", 0),
|
||||
TOURISM(22, "旅游活动", 0, EnumsPrefixConstants.ACT_TYPE + "22"),
|
||||
|
||||
/**
|
||||
* 会员消费赠送 活动
|
||||
*/
|
||||
MEMBER_CONSUMPTION(25, "会员消费赠送", 0),
|
||||
|
||||
/**
|
||||
* 直推升级
|
||||
*/
|
||||
RECOMMEND_UPGRADE(30, "直推升级", 0),
|
||||
MEMBER_CONSUMPTION(25, "会员消费赠送", 0, EnumsPrefixConstants.ACT_TYPE + "25"),
|
||||
|
||||
;
|
||||
|
||||
|
|
@ -59,5 +55,8 @@ public enum EActType {
|
|||
* 是否启用(0=是,1=否) -- 来源EYesNo
|
||||
*/
|
||||
private final int enable;
|
||||
|
||||
/**
|
||||
* 国际化翻译key值
|
||||
*/
|
||||
private final String key;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,11 @@ public enum EApprovalType {
|
|||
*/
|
||||
NOTICE_BUSINESS(5, "公告站内信"),
|
||||
|
||||
/**
|
||||
* 活动相关处理
|
||||
*/
|
||||
ACTIVITY_BUSINESS(7, "活动相关处理"),
|
||||
|
||||
;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -3,8 +3,15 @@ package com.hzs.common.core.enums;
|
|||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
/**
|
||||
* 订单操作状态
|
||||
*
|
||||
* @Description:
|
||||
* @Author: ljc
|
||||
* @Time: 2023/4/27 11:14
|
||||
* @Classname: EOrderOperateStatus
|
||||
* @Package_name: com.hzs.common.core.enums
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.hzs.common.core.enums;
|
||||
|
||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
|
|
@ -13,27 +14,27 @@ public enum EPickType {
|
|||
/**
|
||||
* 关联 BS_PRODUCT 表
|
||||
*/
|
||||
PICK_PRODUCT(0, "提货产品"),
|
||||
PICK_PRODUCT(0, "提货产品", EnumsPrefixConstants.ACT_TYPE + "0"),
|
||||
|
||||
/**
|
||||
* 关联 BS_PRODUCT 表(一次全部提走)
|
||||
*/
|
||||
PRIZE(1, "抽奖"),
|
||||
PRIZE(1, "抽奖", EnumsPrefixConstants.ACT_TYPE + "1"),
|
||||
|
||||
/**
|
||||
* 关联 AC_GIFT_CONFIG 表
|
||||
*/
|
||||
CONSUMPTION_GIFT(12, "消费赠送"),
|
||||
CONSUMPTION_GIFT(12, "消费赠送", EnumsPrefixConstants.ACT_TYPE + "12"),
|
||||
|
||||
/**
|
||||
* 关联 AC_GIFT_CONFIG 表
|
||||
*/
|
||||
DIRECT_PUSH_GIFT(13, "直推赠送"),
|
||||
DIRECT_PUSH_GIFT(13, "直推赠送", EnumsPrefixConstants.ACT_TYPE + "13"),
|
||||
|
||||
/**
|
||||
* 关联 AC_GIFT_CONFIG 表
|
||||
*/
|
||||
LOTTERY_DRAW(17, "抽奖"),
|
||||
LOTTERY_DRAW(17, "抽奖", EnumsPrefixConstants.ACT_TYPE + "17"),
|
||||
|
||||
;
|
||||
|
||||
|
|
@ -45,6 +46,10 @@ public enum EPickType {
|
|||
* 显示标签
|
||||
*/
|
||||
private final String label;
|
||||
/**
|
||||
* 国际化翻译key值
|
||||
*/
|
||||
private final String key;
|
||||
|
||||
/**
|
||||
* 根据枚举值查询枚举
|
||||
|
|
|
|||
|
|
@ -10,6 +10,9 @@ import lombok.experimental.Accessors;
|
|||
|
||||
/**
|
||||
* 活动审批日志
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-22
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public class AcBaseConfig extends BaseEntity {
|
|||
private String actName;
|
||||
|
||||
/**
|
||||
* 活动类型(11=商品赠送 12=消费赠送 13=直推赠送 17=抽奖 30=推荐升级)
|
||||
* 活动类型(11=商品赠送 12=消费赠送 13=直推赠送 17=抽奖 24=升级权限赠送)
|
||||
*/
|
||||
@Transaction(transactionKey = EnumsPrefixConstants.ACT_TYPE)
|
||||
@TableField("ACT_TYPE")
|
||||
|
|
|
|||
|
|
@ -12,7 +12,12 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 消费买赠规则配置表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 消费赠送屏蔽配置表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ import java.io.Serializable;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 业绩赠送配置
|
||||
* @description: 业绩赠送配置
|
||||
* @author: sui q
|
||||
* @time: 2023/4/26 10:30
|
||||
* @classname: AcConsumeRuleConfigExt
|
||||
* @package_name: com.hzs.common.domain.activity.consume.ext
|
||||
* version 1.0.0
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ import lombok.*;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 抽奖活动赠品配置
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ import lombok.*;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 会员可抽奖次数记录
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,12 @@ 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
|
||||
|
|
|
|||
|
|
@ -54,25 +54,19 @@ public class AcRecomUpgradeRecord extends BaseEntity {
|
|||
private Integer pkSettleGrade;
|
||||
|
||||
/**
|
||||
* 升级等级
|
||||
* 推荐等级
|
||||
*/
|
||||
@TableField("PK_RECOMMEND_GRADE")
|
||||
private Integer pkRecommendGrade;
|
||||
|
||||
/**
|
||||
* 活动年月
|
||||
*/
|
||||
@TableField("UPGRADE_TIME")
|
||||
private String upgradeTime;
|
||||
|
||||
/**
|
||||
* 订单ID -- 已不用
|
||||
* 订单ID
|
||||
*/
|
||||
@TableField("PK_ORDER_ID")
|
||||
private Long pkOrderId;
|
||||
|
||||
/**
|
||||
* 升级状态(0:未升级,1:已升级) -- 已不用
|
||||
* 推荐等级
|
||||
*/
|
||||
@TableField("UPGRADE_STATUS")
|
||||
private Integer upGradeStatus;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ import lombok.EqualsAndHashCode;
|
|||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 商品买赠规则配置表
|
||||
* </p>
|
||||
*
|
||||
* @author hzs
|
||||
* @since 2023-04-20
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,12 @@ import lombok.EqualsAndHashCode;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 商品买赠规则扩展表
|
||||
* @description: 商品买赠规则扩展表
|
||||
* @author: sui q
|
||||
* @time: 2023/4/25 19:41
|
||||
* @classname: AcWaresRuleConfigExt
|
||||
* @package_name: com.hzs.common.domain.activity.wares.ext
|
||||
* version 1.0.0
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
|
|
|
|||
|
|
@ -20,22 +20,22 @@ import org.springframework.stereotype.Component;
|
|||
public class ActivityListener {
|
||||
|
||||
@DubboReference
|
||||
IActivityServiceApi iActivityServiceApi;
|
||||
IActivityServiceApi activityServiceApi;
|
||||
|
||||
@RabbitListener(bindings = @QueueBinding(
|
||||
exchange = @Exchange(value = RabbitMqConstants.ACTIVITY_EXCHANGE, type = "topic"),
|
||||
value = @Queue(value = RabbitMqConstants.ACTIVITY_QUEUE, durable = "true", autoDelete = "false"),
|
||||
key = RabbitMqConstants.ACTIVITY_KEY))
|
||||
@RabbitHandler
|
||||
public void onMessage(Message<SaOrderExt> message, Channel channel) {
|
||||
public void onMessage(Message<SaOrderExt> message, Channel channel) throws Exception {
|
||||
SaOrderExt saOrderExt = message.getPayload();
|
||||
log.info("开始活动消费,接收到的参数:{}", JSONUtil.toJsonStr(saOrderExt));
|
||||
// 赠送抽奖次数
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
Long deliveryTag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
||||
channel.basicAck(deliveryTag, false);
|
||||
|
||||
iActivityServiceApi.handleActivity(saOrderExt);
|
||||
activityServiceApi.handleActivity(saOrderExt);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
e.printStackTrace();
|
||||
|
|
|
|||
Loading…
Reference in New Issue