Compare commits
	
		
			4 Commits
		
	
	
		
			3ecfddd66c
			...
			867a39cc72
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
								 | 
						867a39cc72 | |
| 
							
							
								
								 | 
						368406e9d7 | |
| 
							
							
								
								 | 
						8b25f3b837 | |
| 
							
							
								
								 | 
						4ce52fe494 | 
| 
						 | 
				
			
			@ -154,19 +154,6 @@ public interface IMemberServiceApi {
 | 
			
		|||
     */
 | 
			
		||||
    R<CuMember> getMember(Long pkMember);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取会员缓存
 | 
			
		||||
     *
 | 
			
		||||
     * @param memberCode 会员编号
 | 
			
		||||
     * @return CuMember
 | 
			
		||||
     */
 | 
			
		||||
    R<CuMember> queryMember(String memberCode);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询会员
 | 
			
		||||
     */
 | 
			
		||||
    R<CuMember> queryMember(Long pkMember);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 保存新会员信息,待支付订单
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -302,9 +289,8 @@ public interface IMemberServiceApi {
 | 
			
		|||
     * @param cuMember   用户信息
 | 
			
		||||
     * @param saOrder    订单信息
 | 
			
		||||
     * @param pkOldLevel 原等级
 | 
			
		||||
     * @return R<Boolean>
 | 
			
		||||
     */
 | 
			
		||||
    R<Boolean> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
 | 
			
		||||
    R<?> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 校验是否血缘关系(返回true则有血缘关系)
 | 
			
		||||
| 
						 | 
				
			
			@ -322,11 +308,6 @@ public interface IMemberServiceApi {
 | 
			
		|||
     */
 | 
			
		||||
    R<CuMemberExt> checkMemberByParentList(List<String> topCodeList, Long userId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取奖衔的翻译KEY值
 | 
			
		||||
     **/
 | 
			
		||||
    Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询全部
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,31 +0,0 @@
 | 
			
		|||
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,7 +3,6 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +10,7 @@ import java.util.Date;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 所有活动的生效,获得赠品入口
 | 
			
		||||
 * 所有活动的生效
 | 
			
		||||
 */
 | 
			
		||||
public interface IActivityServiceApi {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -54,15 +53,6 @@ public interface IActivityServiceApi {
 | 
			
		|||
     */
 | 
			
		||||
    R<List<AcRepurCouponsRuleConfig>> queryAcRepurchaseCouponsRule(Date settleDate);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询复购券均分收益
 | 
			
		||||
     *
 | 
			
		||||
     * @param startDate
 | 
			
		||||
     * @param endDate
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    R<List<AcRepurSharRuleConfigExt>> queryRepurSharRuleConfig(Date startDate, Date endDate);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 调用调用直推升级接口
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -208,16 +208,6 @@ 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 {
 | 
			
		||||
| 
						 | 
				
			
			@ -352,8 +342,13 @@ public class MemberServiceProvider implements IMemberServiceApi {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public R<Boolean> updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
 | 
			
		||||
        return R.ok(iCuMemberBusinessService.updateMemberLevel(cuMember, saOrder, pkOldLevel));
 | 
			
		||||
    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());
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
| 
						 | 
				
			
			@ -366,11 +361,6 @@ 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 原等级
 | 
			
		||||
     */
 | 
			
		||||
    Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
 | 
			
		||||
    void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询会员的安置位置
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -195,19 +195,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
 | 
			
		|||
     * @param saOrder    订单
 | 
			
		||||
     * @param 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;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    private void saveLevelUpgrade(CuMember cuMember, Integer levelType, SaOrder saOrder, Integer pkOldLevel) {
 | 
			
		||||
        // 记录升级历史
 | 
			
		||||
        CuMemberLevel cuMemberLevel = CuMemberLevel.builder()
 | 
			
		||||
                .pkMember(cuMember.getPkId())
 | 
			
		||||
| 
						 | 
				
			
			@ -219,7 +207,7 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
 | 
			
		|||
                .build();
 | 
			
		||||
        cuMemberLevel.setPkCountry(cuMember.getPkSettleCountry());
 | 
			
		||||
        cuMemberLevel.setPkCreator(cuMember.getPkId());
 | 
			
		||||
        return iCuMemberLevelService.save(cuMemberLevel);
 | 
			
		||||
        iCuMemberLevelService.save(cuMemberLevel);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -1215,9 +1203,9 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService {
 | 
			
		|||
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public Boolean updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
 | 
			
		||||
    public void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) {
 | 
			
		||||
        updateCuMember(cuMember);
 | 
			
		||||
        return saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel);
 | 
			
		||||
        saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -334,6 +334,29 @@ 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,19 +25,12 @@ 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 baseConfigService;
 | 
			
		||||
    private IAcBaseConfigService iAcBaseConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IActivityService iActivityService;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +88,7 @@ public class ActivityController extends BaseController {
 | 
			
		|||
        // 创建时间倒叙
 | 
			
		||||
        queryWrapper.orderByDesc(AcBaseConfig::getCreationTime);
 | 
			
		||||
        List<BaseConfigVo> resultList = new ArrayList<>();
 | 
			
		||||
        List<AcBaseConfig> list = baseConfigService.list(queryWrapper);
 | 
			
		||||
        List<AcBaseConfig> list = iAcBaseConfigService.list(queryWrapper);
 | 
			
		||||
        for (AcBaseConfig acBaseConfig : list) {
 | 
			
		||||
            BaseConfigVo baseConfigVo = BeanUtil.copyProperties(acBaseConfig, BaseConfigVo.class);
 | 
			
		||||
            // 判断活动状态
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,9 +5,6 @@ import com.hzs.common.domain.activity.base.AcApprovalLog;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 活动审批日志 Mapper 接口
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-22
 | 
			
		||||
 */
 | 
			
		||||
public interface AcApprovalLogMapper extends BaseMapper<AcApprovalLog> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,7 +17,6 @@ public interface AcBaseConfigMapper extends BaseMapper<AcBaseConfig> {
 | 
			
		|||
     * 根据活动类型查询基本配置
 | 
			
		||||
     *
 | 
			
		||||
     * @param baseConfigVO 基本活动配置
 | 
			
		||||
     * @return List<AcBaseConfig>
 | 
			
		||||
     */
 | 
			
		||||
    List<AcBaseConfig> selectBaseConfigByType(AcBaseConfigVO baseConfigVO);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,14 +6,6 @@ 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 {
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,240 +0,0 @@
 | 
			
		|||
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,10 +7,8 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -21,24 +19,22 @@ import java.util.Date;
 | 
			
		|||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 所有活动的生效,获得赠品入口
 | 
			
		||||
 * 所有活动的生效
 | 
			
		||||
 */
 | 
			
		||||
@Slf4j
 | 
			
		||||
@DubboService
 | 
			
		||||
public class ActivityServiceProvider implements IActivityServiceApi {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IAcDrawRewardNumService acDrawRewardNumService;
 | 
			
		||||
    private IAcDrawRewardNumService iAcDrawRewardNumService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IAcRepurSharRuleConfigService acRepurSharRuleConfigService;
 | 
			
		||||
    private IAcRepurCouponsRuleConfigService iAcRepurCouponsRuleConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IActivityService iActivityService;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public R<BigDecimal> queryDrawRewardPayNumMoney(Long pkMember, String orderCode) {
 | 
			
		||||
        BigDecimal payMoney = acDrawRewardNumService.queryDrawRewardPayNumMoney(pkMember, orderCode);
 | 
			
		||||
        BigDecimal payMoney = iAcDrawRewardNumService.queryDrawRewardPayNumMoney(pkMember, orderCode);
 | 
			
		||||
        if (payMoney == null) {
 | 
			
		||||
            return R.fail();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -57,7 +53,7 @@ public class ActivityServiceProvider implements IActivityServiceApi {
 | 
			
		|||
    @Override
 | 
			
		||||
    public R<Boolean> callBackOnlinePay(Long pkMember, String orderCode) {
 | 
			
		||||
        try {
 | 
			
		||||
            return R.ok(acDrawRewardNumService.callBackOnlinePay(pkMember, orderCode));
 | 
			
		||||
            return R.ok(iAcDrawRewardNumService.callBackOnlinePay(pkMember, orderCode));
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            return R.fail();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +62,7 @@ public class ActivityServiceProvider implements IActivityServiceApi {
 | 
			
		|||
    @Override
 | 
			
		||||
    public R<Boolean> backGiveMemberDrawNum(SaOrderExt saOrderExt) {
 | 
			
		||||
        try {
 | 
			
		||||
            return R.ok(acDrawRewardNumService.backGiveMemberDrawNum(saOrderExt));
 | 
			
		||||
            return R.ok(iAcDrawRewardNumService.backGiveMemberDrawNum(saOrderExt));
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            return R.fail();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +70,7 @@ public class ActivityServiceProvider implements IActivityServiceApi {
 | 
			
		|||
 | 
			
		||||
    @Override
 | 
			
		||||
    public R<List<AcRepurCouponsRuleConfig>> queryAcRepurchaseCouponsRule(Date settleDate) {
 | 
			
		||||
        List<AcRepurCouponsRuleConfig> acRepurCouponsRuleConfigList = acRepurCouponsRuleConfigService.queryAcRepurchaseCouponsRule(settleDate);
 | 
			
		||||
        List<AcRepurCouponsRuleConfig> acRepurCouponsRuleConfigList = iAcRepurCouponsRuleConfigService.queryAcRepurchaseCouponsRule(settleDate);
 | 
			
		||||
        if (acRepurCouponsRuleConfigList != null && acRepurCouponsRuleConfigList.size() > 0) {
 | 
			
		||||
            return R.ok(acRepurCouponsRuleConfigList);
 | 
			
		||||
        } else {
 | 
			
		||||
| 
						 | 
				
			
			@ -82,15 +78,10 @@ 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(acRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class)));
 | 
			
		||||
            return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class)));
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            return R.fail();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,9 +9,6 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 活动审批日志 服务类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-22
 | 
			
		||||
 */
 | 
			
		||||
public interface IAcApprovalLogService extends IService<AcApprovalLog> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -25,16 +22,6 @@ 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,9 +9,6 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 活动基本配置表 服务类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-20
 | 
			
		||||
 */
 | 
			
		||||
public interface IAcBaseConfigService extends IService<AcBaseConfig> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -19,31 +16,21 @@ 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,13 +11,9 @@ 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 {
 | 
			
		||||
| 
						 | 
				
			
			@ -32,16 +28,6 @@ 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,9 +17,6 @@ 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 acDrawRewardNumService;
 | 
			
		||||
    private IAcDrawRewardNumService iAcDrawRewardNumService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService;
 | 
			
		||||
    private IAcRepurCouponsRuleConfigService iAcRepurCouponsRuleConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IAcPickUpConfigService pickUpConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
| 
						 | 
				
			
			@ -118,13 +118,13 @@ public class ActivityServiceImpl implements IActivityService {
 | 
			
		|||
    private IBdWaresService waresService;
 | 
			
		||||
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IGradeServiceApi gradeServiceApi;
 | 
			
		||||
    IGradeServiceApi iGradeServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IAwardsServiceApi awardsServiceApi;
 | 
			
		||||
    IAwardsServiceApi iAwardsServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IMemberServiceApi iMemberServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IApprovalServiceApi approvalServiceApi;
 | 
			
		||||
    IApprovalServiceApi iApprovalServiceApi;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			@ -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 = gradeServiceApi.selectGradeAll(activityParam.getPkCountry());
 | 
			
		||||
                    R<List<GradeDTO>> gradeDTO = iGradeServiceApi.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 = awardsServiceApi.queryAwards(activityParam.getPkCountry());
 | 
			
		||||
                    R<List<BdAwards>> awardsDTO = iAwardsServiceApi.queryAwards(activityParam.getPkCountry());
 | 
			
		||||
                    List<BdAwards> awardsList = awardsDTO.getData();
 | 
			
		||||
                    str.append("真实奖衔:");
 | 
			
		||||
                    for (AcGoalMemberConfig acGoalMemberConfig : item.getValue()) {
 | 
			
		||||
| 
						 | 
				
			
			@ -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 = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser());
 | 
			
		||||
        R<String> submit = iApprovalServiceApi.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()) {
 | 
			
		||||
            if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) {
 | 
			
		||||
                // 抽奖
 | 
			
		||||
                acDrawRewardNumService.giveMemberDrawNum(saOrderExt);
 | 
			
		||||
            }
 | 
			
		||||
//            // 抽奖
 | 
			
		||||
//            iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt);
 | 
			
		||||
            // 直推升级
 | 
			
		||||
            acRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.NORMAL).build());
 | 
			
		||||
            iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder()
 | 
			
		||||
                    .saOrderExt(saOrderExt)
 | 
			
		||||
                    .orderOperateStatus(EOrderOperateStatus.NORMAL)
 | 
			
		||||
                    .build());
 | 
			
		||||
        } else if (EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) {
 | 
			
		||||
            // 抽奖
 | 
			
		||||
            acDrawRewardNumService.giveMemberDrawNum(saOrderExt);
 | 
			
		||||
//            // 抽奖
 | 
			
		||||
//            iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt);
 | 
			
		||||
            // 直推升级
 | 
			
		||||
            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());
 | 
			
		||||
            iAcRepurCouponsRuleConfigService.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 = gradeServiceApi.getLastGrade(giftConfigParam.getOrderAchieve(), pkCountry).getData();
 | 
			
		||||
                BdGrade bdGrade = iGradeServiceApi.getLastGrade(giftConfigParam.getOrderAchieve(), pkCountry).getData();
 | 
			
		||||
                if (null != bdGrade) {
 | 
			
		||||
                    // 查询会员该等级点位数量(因为当前订单的数据还没有更新入库,此处计算数量时,需要加 1 )
 | 
			
		||||
                    Integer memberPoint = iMemberServiceApi.countGradeMemberPoint(cuMember.getMemberName(), cuMember.getPhone(), bdGrade.getPkId(), pkCountry).getData() + 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,14 +7,6 @@ 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,17 +9,11 @@ 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,11 +9,7 @@ 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,17 +11,11 @@ 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,9 +1,7 @@
 | 
			
		|||
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;
 | 
			
		||||
| 
						 | 
				
			
			@ -12,32 +10,20 @@ 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);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 规则列表以及商品信息
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -51,27 +37,17 @@ 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,9 +43,6 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 消费买赠规则配置表 服务实现类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-20
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
@Slf4j
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,22 +3,17 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -27,18 +22,12 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -47,14 +36,9 @@ 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
 | 
			
		||||
| 
						 | 
				
			
			@ -64,8 +48,6 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
 | 
			
		|||
    private IAcApprovalLogService acApprovalLogService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IActivityService iActivityService;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IApprovalServiceApi approvalServiceApi;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IAcBaseConfigService baseConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
| 
						 | 
				
			
			@ -73,14 +55,6 @@ 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) {
 | 
			
		||||
| 
						 | 
				
			
			@ -129,34 +103,7 @@ 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();
 | 
			
		||||
| 
						 | 
				
			
			@ -176,14 +123,8 @@ 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)
 | 
			
		||||
| 
						 | 
				
			
			@ -229,13 +170,6 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
 | 
			
		|||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 新增消费赠送规格
 | 
			
		||||
     *
 | 
			
		||||
     * @param mcrVo
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    public Long saveMemberConsumeRule(AcMemberConsumeRuleVo mcrVo) {
 | 
			
		||||
| 
						 | 
				
			
			@ -248,13 +182,6 @@ 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();
 | 
			
		||||
| 
						 | 
				
			
			@ -285,11 +212,7 @@ 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();
 | 
			
		||||
| 
						 | 
				
			
			@ -322,11 +245,7 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl<AcMemberConsumeR
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @description: 删除会员消费活动
 | 
			
		||||
     * @author: zhang jing
 | 
			
		||||
     * @date: 2024/12/2 17:08
 | 
			
		||||
     * @param: [pkId]
 | 
			
		||||
     * @return: void
 | 
			
		||||
     * 删除会员消费活动
 | 
			
		||||
     **/
 | 
			
		||||
    @Override
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,17 +9,11 @@ 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,25 +10,16 @@ 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,17 +12,11 @@ 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,33 +15,21 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 会员可抽奖次数记录 服务类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-21
 | 
			
		||||
 */
 | 
			
		||||
public interface IAcDrawRewardNumService extends IService<AcDrawRewardNum> {
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * @description: 查询会员抽奖活动,查询会员的抽奖次数
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2023/4/22 10:11
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     *  查询会员抽奖活动,查询会员的抽奖次数
 | 
			
		||||
     **/
 | 
			
		||||
    AcDrawRewardNum queryAcDrawRewardNum(AcDrawRewardNumParam acDrawRewardNumParam);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * @description: 会员后台查询抽奖次数
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2023/6/1 10:36
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     *  会员后台查询抽奖次数
 | 
			
		||||
     **/
 | 
			
		||||
    List<AcDrawRewardNumExt> queryDrawRewardExtNumByCondition(AcDrawRewardNumParam acDrawRewardNumParam);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * @description: 更新会员抽奖次数
 | 
			
		||||
     * @author: sui q
 | 
			
		||||
     * @date: 2023/4/22 10:43
 | 
			
		||||
     * @param: null null
 | 
			
		||||
     *  更新会员抽奖次数
 | 
			
		||||
     **/
 | 
			
		||||
    Boolean updateAcDrawRewardNum(AcDrawRewardNum acDrawRewardNum);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -49,65 +37,41 @@ 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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -135,14 +99,6 @@ public interface IAcDrawRewardNumService extends IService<AcDrawRewardNum> {
 | 
			
		|||
     */
 | 
			
		||||
    String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 修改已购买次数 审批驳回
 | 
			
		||||
     *
 | 
			
		||||
     * @param approvalBusinessResultDTO
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 充值未购买次数 (审批发起)
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -151,17 +107,4 @@ public interface IAcDrawRewardNumService extends IService<AcDrawRewardNum> {
 | 
			
		|||
     */
 | 
			
		||||
    void unpurchasedTimes(PurchasedTimesParam purchasedTimesParam);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 充值已购买次数
 | 
			
		||||
     *
 | 
			
		||||
     * @param approvalBusinessResultDTO
 | 
			
		||||
     */
 | 
			
		||||
    void rechargePurchasedTimes(ApprovalBusinessResultDTO approvalBusinessResultDTO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 充值未购买次数
 | 
			
		||||
     *
 | 
			
		||||
     * @param approvalBusinessResultDTO
 | 
			
		||||
     */
 | 
			
		||||
    void unRechargePurchasedTimes(ApprovalBusinessResultDTO approvalBusinessResultDTO);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,9 +44,6 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 活动赠品配置 服务实现类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-21
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
@Slf4j
 | 
			
		||||
| 
						 | 
				
			
			@ -222,51 +219,6 @@ 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,9 +51,6 @@ import java.util.concurrent.TimeUnit;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 会员可抽奖次数记录 服务实现类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-21
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
@Slf4j
 | 
			
		||||
| 
						 | 
				
			
			@ -359,27 +356,6 @@ 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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 修改未购买次数 (审批发起)
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -414,76 +390,6 @@ 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,11 +44,7 @@ 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,11 +95,7 @@ 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,7 +7,6 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -92,27 +91,6 @@ 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,7 +1,6 @@
 | 
			
		|||
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;
 | 
			
		||||
| 
						 | 
				
			
			@ -15,14 +14,12 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -36,7 +33,6 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -57,8 +53,6 @@ import java.util.stream.Collectors;
 | 
			
		|||
@Service
 | 
			
		||||
public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> implements IAcPickService {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IAcApprovalLogService iAcApprovalLogService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IAcPickLogService iAcPickLogService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
| 
						 | 
				
			
			@ -189,7 +183,7 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
 | 
			
		|||
//            approvalLogList.add(acApprovalLog);
 | 
			
		||||
 | 
			
		||||
            // 会员信息
 | 
			
		||||
            CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData();
 | 
			
		||||
            CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData();
 | 
			
		||||
            // 提货ID
 | 
			
		||||
            Long pickId = null;
 | 
			
		||||
            // 提货类型
 | 
			
		||||
| 
						 | 
				
			
			@ -363,7 +357,7 @@ public class AcPickServiceImpl extends ServiceImpl<AcPickMapper, AcPick> impleme
 | 
			
		|||
//            approvalLogList.add(acApprovalLog);
 | 
			
		||||
 | 
			
		||||
            // 被操作会员
 | 
			
		||||
            CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData();
 | 
			
		||||
            CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData();
 | 
			
		||||
            // 提货ID
 | 
			
		||||
            Long pickId = null;
 | 
			
		||||
            if (null == detailParam.getPkId()) {
 | 
			
		||||
| 
						 | 
				
			
			@ -474,227 +468,6 @@ 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,6 +1,5 @@
 | 
			
		|||
package com.hzs.activity.recommend.dto;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.enums.EOrderOperateStatus;
 | 
			
		||||
import com.hzs.common.domain.sale.ext.SaOrderExt;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
| 
						 | 
				
			
			@ -12,12 +11,6 @@ import java.io.Serializable;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 直推-升级DTO
 | 
			
		||||
 *
 | 
			
		||||
 * @Description:
 | 
			
		||||
 * @Author: ljc
 | 
			
		||||
 * @Time: 2023/4/26 10:27
 | 
			
		||||
 * @Classname: AcRepurchaseCouponsDTO
 | 
			
		||||
 * @Package_name: com.hzs.activity.recommend.dto
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@Builder
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,4 +30,13 @@ 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,18 +8,12 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 直推-推荐升级 Mapper 接口
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-22
 | 
			
		||||
 */
 | 
			
		||||
public interface AcRecomUpgradeRuleConfigMapper extends BaseMapper<AcRecomUpgradeRuleConfig> {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询配置规则
 | 
			
		||||
     *
 | 
			
		||||
     * @param recommendUpgradeVO 推荐升级参数
 | 
			
		||||
     * @return List<AcRecomUpgradeRuleConfig>
 | 
			
		||||
     */
 | 
			
		||||
    List<AcRecomUpgradeRuleConfig> selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO);
 | 
			
		||||
    List<AcRecomUpgradeRuleConfig> listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,9 +10,6 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 复购均分配置 Mapper 接口
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-05-04
 | 
			
		||||
 */
 | 
			
		||||
public interface AcRepurSharRuleConfigMapper extends BaseMapper<AcRepurSharRuleConfig> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -27,12 +24,4 @@ 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,12 +17,6 @@ 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,14 +3,13 @@ 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> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -31,7 +30,6 @@ public interface IAcRecomUpgradeRecordService extends IService<AcRecomUpgradeRec
 | 
			
		|||
     */
 | 
			
		||||
    AcRecomUpgradeRecord selectUpgradeRecordByOrderId(AcRecomUpgradeRecordExt upgradeRecord);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询推荐的人数
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -49,4 +47,9 @@ 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,11 +8,9 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 直推-推荐升级 服务类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-22
 | 
			
		||||
 */
 | 
			
		||||
public interface IAcRecomUpgradeRuleConfigService extends IService<AcRecomUpgradeRuleConfig> {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据活动ID查询直推升级
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -23,11 +21,8 @@ public interface IAcRecomUpgradeRuleConfigService extends IService<AcRecomUpgrad
 | 
			
		|||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询配置规则
 | 
			
		||||
     *
 | 
			
		||||
     * @param recommendUpgradeVO 推荐升级参数
 | 
			
		||||
     * @return List<AcRecomUpgradeRuleConfig>
 | 
			
		||||
     */
 | 
			
		||||
    List<AcRecomUpgradeRuleConfig> selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO);
 | 
			
		||||
    List<AcRecomUpgradeRuleConfig> listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据活动配置主键删除推荐升级配置
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,18 +53,12 @@ public interface IAcRepurCouponsRuleConfigService extends IService<AcRepurCoupon
 | 
			
		|||
     */
 | 
			
		||||
    String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param approvalBusinessResultDTO 业务审批操作DTO
 | 
			
		||||
     * @return String
 | 
			
		||||
     */
 | 
			
		||||
    String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 调用直推升级(对外提供接口)
 | 
			
		||||
     *
 | 
			
		||||
     * @param acRepurchaseCouponsDTO 直推升级信息
 | 
			
		||||
     * @param acRecommendUpgrade 直推升级信息
 | 
			
		||||
     */
 | 
			
		||||
    Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRepurchaseCouponsDTO);
 | 
			
		||||
    Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询目前所有启用的复购券规则
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,16 +2,9 @@ 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> {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -33,12 +26,4 @@ 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,6 +7,7 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -14,9 +15,6 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 推荐升级业务表 服务实现类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-27
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl<AcRecomUpgradeRecordMapper, AcRecomUpgradeRecord> implements IAcRecomUpgradeRecordService {
 | 
			
		||||
| 
						 | 
				
			
			@ -50,4 +48,9 @@ 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,9 +15,6 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 直推-推荐升级 服务实现类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-22
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
public class AcRecomUpgradeRuleConfigServiceImpl extends ServiceImpl<AcRecomUpgradeRuleConfigMapper, AcRecomUpgradeRuleConfig> implements IAcRecomUpgradeRuleConfigService {
 | 
			
		||||
| 
						 | 
				
			
			@ -30,8 +27,8 @@ public class AcRecomUpgradeRuleConfigServiceImpl extends ServiceImpl<AcRecomUpgr
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<AcRecomUpgradeRuleConfig> selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO) {
 | 
			
		||||
        return baseMapper.selectRuleConfig(recommendUpgradeVO);
 | 
			
		||||
    public List<AcRecomUpgradeRuleConfig> listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO) {
 | 
			
		||||
        return baseMapper.listRuleConfig(recommendUpgradeVO);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,6 +24,7 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -36,9 +37,7 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -48,6 +47,7 @@ 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,34 +59,33 @@ import java.util.stream.Collectors;
 | 
			
		|||
public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCouponsRuleConfigMapper, AcRepurCouponsRuleConfig> implements IAcRepurCouponsRuleConfigService {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IActivityService iActivityService;
 | 
			
		||||
    private IActivityService iActivityService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcRecomUpgradeRuleConfigService recomUpgradeRuleConfigService;
 | 
			
		||||
    private IAcBaseConfigService iAcBaseConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcGiftConfigService giftConfigService;
 | 
			
		||||
    private IAcRecomUpgradeRuleConfigService iAcRecomUpgradeRuleConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcBaseConfigService baseConfigService;
 | 
			
		||||
    private IAcRecomUpgradeRecordService iAcRecomUpgradeRecordService;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcApprovalLogService acApprovalLogService;
 | 
			
		||||
    private IAcGiftConfigService giftConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcRecomUpgradeRecordService acRecomUpgradeRecordService;
 | 
			
		||||
    private IAcApprovalLogService acApprovalLogService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcPickService acPickService;
 | 
			
		||||
    private IAcPickService acPickService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcGoalMemberConfigService acGoalMemberConfigService;
 | 
			
		||||
    private IAcGoalMemberConfigService acGoalMemberConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcRepurSharOrderTypeService acRepurSharOrderTypeService;
 | 
			
		||||
    private IAcRepurSharOrderTypeService acRepurSharOrderTypeService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcRepurSharRuleConfigService acRepurSharRuleConfigService;
 | 
			
		||||
    private IAcRepurSharRuleConfigService acRepurSharRuleConfigService;
 | 
			
		||||
    @Autowired
 | 
			
		||||
    IAcBaseAuthorityService iAcBaseAuthorityService;
 | 
			
		||||
    private IAcBaseAuthorityService iAcBaseAuthorityService;
 | 
			
		||||
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IApprovalServiceApi approvalServiceApi;
 | 
			
		||||
    IMemberServiceApi iMemberServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IMemberServiceApi memberServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IProductServiceApi productServiceApi;
 | 
			
		||||
    IProductServiceApi iProductServiceApi;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private RabbitTemplate rabbitTemplate;
 | 
			
		||||
| 
						 | 
				
			
			@ -108,7 +107,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
 | 
			
		|||
                    for (AcGiftConfigVO giftConfigVO : giftConfigList) {
 | 
			
		||||
                        Integer pkProduct = giftConfigVO.getPkProduct();
 | 
			
		||||
                        if (null != pkProduct) {
 | 
			
		||||
                            giftConfigVO.setProductName(productServiceApi.getProduct(pkProduct).getData().getProductName());
 | 
			
		||||
                            giftConfigVO.setProductName(iProductServiceApi.getProduct(pkProduct).getData().getProductName());
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -204,23 +203,6 @@ 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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 保存直推赠送数据
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -251,7 +233,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
 | 
			
		|||
        Long pkBaseId = recommendParam.getActivityParam().getPkId();
 | 
			
		||||
        Long pkModifyId = recommendParam.getPkMember();
 | 
			
		||||
        //删除活动基本信息
 | 
			
		||||
        baseConfigService.deleteBaseConfigById(pkBaseId, pkModifyId);
 | 
			
		||||
        iAcBaseConfigService.deleteBaseConfigById(pkBaseId, pkModifyId);
 | 
			
		||||
        // 删除活动权限配置
 | 
			
		||||
        iAcBaseAuthorityService.update(Wrappers.<AcBaseAuthority>lambdaUpdate()
 | 
			
		||||
                .eq(AcBaseAuthority::getPkBaseId, pkBaseId)
 | 
			
		||||
| 
						 | 
				
			
			@ -267,7 +249,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
 | 
			
		|||
        //删除直推升级配置信息
 | 
			
		||||
        List<AcRecommendUpgradeVO> recommendUpgradeList = recommendParam.getRecommendUpgradeList();
 | 
			
		||||
        if (CollUtil.isNotEmpty(recommendUpgradeList)) {
 | 
			
		||||
            recomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId);
 | 
			
		||||
            iAcRecomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId);
 | 
			
		||||
        }
 | 
			
		||||
        //删除复购均分
 | 
			
		||||
        AcRecommendSharVO acRecommendSharVO = recommendParam.getAcRecommendSharVO();
 | 
			
		||||
| 
						 | 
				
			
			@ -425,7 +407,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
 | 
			
		|||
                recommendUpgradeVO.setPkCountry(recommendParam.getPkCountry());
 | 
			
		||||
                recomUpgradeRuleConfig = BeanUtil.copyProperties(recommendUpgradeVO, AcRecomUpgradeRuleConfig.class);
 | 
			
		||||
                recomUpgradeRuleConfig.setPkBaseId(recommendParam.getPkBaseId());
 | 
			
		||||
                recomUpgradeRuleConfigService.save(recomUpgradeRuleConfig);
 | 
			
		||||
                iAcRecomUpgradeRuleConfigService.save(recomUpgradeRuleConfig);
 | 
			
		||||
                List<AcGiftConfig> giftConfigs = saveRecommendUpgradeGift(recommendUpgradeVO, recomUpgradeRuleConfig.getPkId());
 | 
			
		||||
                giftConfigService.saveBatch(giftConfigs);
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			@ -433,26 +415,6 @@ 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();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 保存活动审批日志信息
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -512,7 +474,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
 | 
			
		|||
    public AcRecommendVO showDetailInfo(Long activityId, Integer pkCountry) {
 | 
			
		||||
        AcRecommendVO recommendVO = new AcRecommendVO();
 | 
			
		||||
        recommendVO.setPkBaseId(activityId);
 | 
			
		||||
        AcBaseConfig baseConfig = baseConfigService.getById(activityId);
 | 
			
		||||
        AcBaseConfig baseConfig = iAcBaseConfigService.getById(activityId);
 | 
			
		||||
        //查询目标用户群体
 | 
			
		||||
        List<AcGoalMemberConfig> acGoalMemberConfigs = acGoalMemberConfigService.selectMemberConfig(activityId);
 | 
			
		||||
        BaseConfigVo baseConfigVo = BeanUtil.copyProperties(baseConfig, BaseConfigVo.class);
 | 
			
		||||
| 
						 | 
				
			
			@ -527,7 +489,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
 | 
			
		|||
        List<AcRepurCouponsRuleConfig> repurCouponsRuleConfigList = selectRuleConfigByActivityId(activityId);
 | 
			
		||||
        recommendVO.setRepurchaseCouponsShowList(conversionAcRepurchaseCouponsShowVO(repurCouponsRuleConfigList));
 | 
			
		||||
        //查询直推升级规则
 | 
			
		||||
        List<AcRecomUpgradeRuleConfig> recomUpgradeRuleConfigList = recomUpgradeRuleConfigService.selectByActivityId(activityId);
 | 
			
		||||
        List<AcRecomUpgradeRuleConfig> recomUpgradeRuleConfigList = iAcRecomUpgradeRuleConfigService.selectByActivityId(activityId);
 | 
			
		||||
        recommendVO.setRecommendUpgradeList(conversionRecommendUpgradeVO(recomUpgradeRuleConfigList, pkCountry));
 | 
			
		||||
        //复购券均分
 | 
			
		||||
        AcRepurSharRuleConfig repurSharRuleConfig = acRepurSharRuleConfigService.selectAcRepurSharRuleConfigByBaseId(activityId);
 | 
			
		||||
| 
						 | 
				
			
			@ -619,27 +581,189 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl<AcRepurCoup
 | 
			
		|||
 | 
			
		||||
    @Transactional(rollbackFor = Exception.class)
 | 
			
		||||
    @Override
 | 
			
		||||
    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);
 | 
			
		||||
    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);
 | 
			
		||||
        if (CollUtil.isNotEmpty(acBaseConfigs)) {
 | 
			
		||||
            EOrderOperateStatus orderOperateStatus = acRepurchaseCouponsDTO.getOrderOperateStatus();
 | 
			
		||||
            EOrderOperateStatus orderOperateStatus = acRecommendUpgrade.getOrderOperateStatus();
 | 
			
		||||
            for (AcBaseConfig baseConfig : acBaseConfigs) {
 | 
			
		||||
                if (orderOperateStatus.equals(EOrderOperateStatus.NORMAL)) {
 | 
			
		||||
                    result = handleBusiness(acRepurchaseCouponsDTO, baseConfig);
 | 
			
		||||
                    // 正常处理
 | 
			
		||||
                    handleRecommendUpgrade(acRecommendUpgrade, baseConfig);
 | 
			
		||||
                } else {
 | 
			
		||||
                    result = cancelOrder(acRepurchaseCouponsDTO, baseConfig);
 | 
			
		||||
                    // 撤单处理
 | 
			
		||||
                    cancelOrder(acRecommendUpgrade, baseConfig);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return result;
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 处理业务(正常报单)
 | 
			
		||||
     */
 | 
			
		||||
    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:不进行处理)
 | 
			
		||||
     *
 | 
			
		||||
| 
						 | 
				
			
			@ -705,157 +829,6 @@ 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,17 +7,12 @@ 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 {
 | 
			
		||||
| 
						 | 
				
			
			@ -39,8 +34,4 @@ public class AcRepurSharRuleConfigServiceImpl extends ServiceImpl<AcRepurSharRul
 | 
			
		|||
        return update(updateWrapper);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<AcRepurSharRuleConfigExt> queryRepurSharRuleConfig(Date startDate, Date endDate) {
 | 
			
		||||
        return baseMapper.queryRepurSharRuleConfig(startDate, endDate);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,12 +11,6 @@ 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,17 +10,11 @@ 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,17 +12,11 @@ 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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -64,11 +58,4 @@ public interface IAcWaresRuleConfigService extends IService<AcWaresRuleConfig> {
 | 
			
		|||
     */
 | 
			
		||||
    String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 商品赠送 审核规则驳回
 | 
			
		||||
     *
 | 
			
		||||
     * @param approvalBusinessResultDTO
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,6 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -13,7 +12,6 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -26,12 +24,9 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -40,9 +35,6 @@ import java.util.List;
 | 
			
		|||
 | 
			
		||||
/**
 | 
			
		||||
 * 商品买赠规则配置表 服务实现类
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-20
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
@Slf4j
 | 
			
		||||
| 
						 | 
				
			
			@ -61,8 +53,6 @@ public class AcWaresRuleConfigServiceImpl extends ServiceImpl<AcWaresRuleConfigM
 | 
			
		|||
    @Autowired
 | 
			
		||||
    private IAcWaresRuleConfigService waresRuleConfigService;
 | 
			
		||||
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IApprovalServiceApi approvalServiceApi;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<AcWaresRuleConfigExt> queryWaresGiftConfigByCondition(GiftConfigParam giftConfigParam) {
 | 
			
		||||
| 
						 | 
				
			
			@ -198,48 +188,6 @@ 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.queryMember(orderParam.getCenterCodeId()).getData());
 | 
			
		||||
            cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.getMember(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.queryMember(orderParam.getCenterCodeId()).getData();
 | 
			
		||||
            cuMember = iMemberServiceApi.getMember(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.queryMember(orderParam.getCenterCodeId()).getData());
 | 
			
		||||
        CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.getMember(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);
 | 
			
		||||
 | 
			
		||||
            log.info("生产活动消息,activity.exchange:{}", JSONUtil.toJsonStr(saOrderExt));
 | 
			
		||||
            // 注册订单推送MQ处理活动
 | 
			
		||||
            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);
 | 
			
		||||
 | 
			
		||||
            log.info("生产活动消息,activity.exchange:{}", JSONUtil.toJsonStr(saOrderExt));
 | 
			
		||||
            // 188注册转复购订单推送MQ处理活动
 | 
			
		||||
            rabbitTemplate.convertAndSend(RabbitMqConstants.ACTIVITY_EXCHANGE, RabbitMqConstants.ACTIVITY_KEY, saOrderExt);
 | 
			
		||||
            // 推送秒结数据处理 -- 注册订单
 | 
			
		||||
            rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt);
 | 
			
		||||
| 
						 | 
				
			
			@ -981,6 +981,7 @@ 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);
 | 
			
		||||
| 
						 | 
				
			
			@ -1929,30 +1930,6 @@ 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,7 +84,7 @@
 | 
			
		|||
 | 
			
		||||
    <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">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -78,7 +78,6 @@
 | 
			
		|||
                order by aw.order_amount desc
 | 
			
		||||
            </otherwise>
 | 
			
		||||
        </choose>
 | 
			
		||||
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,4 +40,24 @@
 | 
			
		|||
          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,25 +18,16 @@
 | 
			
		|||
        <result column="PK_UPGRADE_GRADE" property="pkUpgradeGrade"/>
 | 
			
		||||
    </resultMap>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="selectRuleConfig" resultMap="BaseResultMap">
 | 
			
		||||
    <select id="listRuleConfig" 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}
 | 
			
		||||
        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 test="pkCountry != null">
 | 
			
		||||
            and u.pk_country = #{pkCountry}
 | 
			
		||||
        </if>
 | 
			
		||||
        and m.pk_base_id = #{pkBaseId})
 | 
			
		||||
        order by u.creation_time desc
 | 
			
		||||
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -34,16 +34,4 @@
 | 
			
		|||
        )
 | 
			
		||||
    </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.queryMember(transferWhiteVO.getMemberCode()).getData();
 | 
			
		||||
        CuMember cumember = iMemberServiceApi.getMember(transferWhiteVO.getMemberCode()).getData();
 | 
			
		||||
        AjaxResult ajaxResult = parametersVerify(transferWhiteVO, cumember);
 | 
			
		||||
        if ((Integer) ajaxResult.get(AjaxResult.CODE_TAG) == HttpStatus.ERROR) {
 | 
			
		||||
            return ajaxResult;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,11 +2,9 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -90,8 +88,6 @@ public class SysApprovalBusinessController extends BaseController {
 | 
			
		|||
    @DubboReference
 | 
			
		||||
    ICuAwardsControlServiceApi controlServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IActivityApprovalServiceApi iActivityApprovalServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IUpPolicyCurrencyServiceApi upPolicyCurrencyServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IUpdateExpireStopServiceApi updateExpireStopServiceApi;
 | 
			
		||||
| 
						 | 
				
			
			@ -285,16 +281,6 @@ 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,7 +4,6 @@ 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;
 | 
			
		||||
| 
						 | 
				
			
			@ -79,8 +78,6 @@ public class ApprovalServiceImpl implements IApprovalService {
 | 
			
		|||
    @DubboReference
 | 
			
		||||
    INoticeAuditServiceApi iNoticeAuditServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IActivityApprovalServiceApi iActivityApprovalServiceApi;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IApprovalPushInfo iApprovalPushInfo;
 | 
			
		||||
    @DubboReference
 | 
			
		||||
    IStatisticalLogServiceApi statisticalLogServiceApi;
 | 
			
		||||
| 
						 | 
				
			
			@ -478,10 +475,6 @@ public class ApprovalServiceImpl implements IApprovalService {
 | 
			
		|||
                // 公告、站内信相关
 | 
			
		||||
                resultR = iNoticeAuditServiceApi.noticeAuditProcess(approvalBusinessResultDTO);
 | 
			
		||||
                break;
 | 
			
		||||
            case ACTIVITY_BUSINESS:
 | 
			
		||||
                // 活动相关处理
 | 
			
		||||
                resultR = iActivityApprovalServiceApi.approvalCallback(approvalBusinessResultDTO);
 | 
			
		||||
                break;
 | 
			
		||||
            case CUSTOM_BUSINESS:
 | 
			
		||||
                // 自定义签呈不需要进行后续业务操作
 | 
			
		||||
                return null;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,5 @@
 | 
			
		|||
package com.hzs.common.core.enums;
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Getter;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -14,32 +13,37 @@ public enum EActType {
 | 
			
		|||
    /**
 | 
			
		||||
     * 商品赠品
 | 
			
		||||
     */
 | 
			
		||||
    PRODUCT_GIFT(11, "商品赠品", 0, EnumsPrefixConstants.ACT_TYPE + "11"),
 | 
			
		||||
    PRODUCT_GIFT(11, "商品赠品", 0),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 消费赠送
 | 
			
		||||
     */
 | 
			
		||||
    CONSUMPTION_GIFT(12, "消费赠送", 0, EnumsPrefixConstants.ACT_TYPE + "12"),
 | 
			
		||||
    CONSUMPTION_GIFT(12, "消费赠送", 0),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 直推赠送
 | 
			
		||||
     */
 | 
			
		||||
    DIRECT_PUSH_GIFT(13, "直推赠送", 0, EnumsPrefixConstants.ACT_TYPE + "13"),
 | 
			
		||||
    DIRECT_PUSH_GIFT(13, "直推赠送", 0),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 抽奖
 | 
			
		||||
     */
 | 
			
		||||
    LOTTERY_DRAW(17, "抽奖", 0, EnumsPrefixConstants.ACT_TYPE + "17"),
 | 
			
		||||
    LOTTERY_DRAW(17, "抽奖", 0),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 旅游活动
 | 
			
		||||
     */
 | 
			
		||||
    TOURISM(22, "旅游活动", 0, EnumsPrefixConstants.ACT_TYPE + "22"),
 | 
			
		||||
    TOURISM(22, "旅游活动", 0),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 会员消费赠送 活动
 | 
			
		||||
     */
 | 
			
		||||
    MEMBER_CONSUMPTION(25, "会员消费赠送", 0, EnumsPrefixConstants.ACT_TYPE + "25"),
 | 
			
		||||
    MEMBER_CONSUMPTION(25, "会员消费赠送", 0),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 直推升级
 | 
			
		||||
     */
 | 
			
		||||
    RECOMMEND_UPGRADE(30, "直推升级", 0),
 | 
			
		||||
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -55,8 +59,5 @@ public enum EActType {
 | 
			
		|||
     * 是否启用(0=是,1=否) -- 来源EYesNo
 | 
			
		||||
     */
 | 
			
		||||
    private final int enable;
 | 
			
		||||
    /**
 | 
			
		||||
     * 国际化翻译key值
 | 
			
		||||
     */
 | 
			
		||||
    private final String key;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -40,11 +40,6 @@ public enum EApprovalType {
 | 
			
		|||
     */
 | 
			
		||||
    NOTICE_BUSINESS(5, "公告站内信"),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 活动相关处理
 | 
			
		||||
     */
 | 
			
		||||
    ACTIVITY_BUSINESS(7, "活动相关处理"),
 | 
			
		||||
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,15 +3,8 @@ 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,6 +1,5 @@
 | 
			
		|||
package com.hzs.common.core.enums;
 | 
			
		||||
 | 
			
		||||
import com.hzs.common.core.constant.EnumsPrefixConstants;
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import lombok.Getter;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -14,27 +13,27 @@ public enum EPickType {
 | 
			
		|||
    /**
 | 
			
		||||
     * 关联 BS_PRODUCT 表
 | 
			
		||||
     */
 | 
			
		||||
    PICK_PRODUCT(0, "提货产品", EnumsPrefixConstants.ACT_TYPE + "0"),
 | 
			
		||||
    PICK_PRODUCT(0, "提货产品"),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 关联 BS_PRODUCT 表(一次全部提走)
 | 
			
		||||
     */
 | 
			
		||||
    PRIZE(1, "抽奖", EnumsPrefixConstants.ACT_TYPE + "1"),
 | 
			
		||||
    PRIZE(1, "抽奖"),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 关联 AC_GIFT_CONFIG 表
 | 
			
		||||
     */
 | 
			
		||||
    CONSUMPTION_GIFT(12, "消费赠送", EnumsPrefixConstants.ACT_TYPE + "12"),
 | 
			
		||||
    CONSUMPTION_GIFT(12, "消费赠送"),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 关联 AC_GIFT_CONFIG 表
 | 
			
		||||
     */
 | 
			
		||||
    DIRECT_PUSH_GIFT(13, "直推赠送", EnumsPrefixConstants.ACT_TYPE + "13"),
 | 
			
		||||
    DIRECT_PUSH_GIFT(13, "直推赠送"),
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 关联 AC_GIFT_CONFIG 表
 | 
			
		||||
     */
 | 
			
		||||
    LOTTERY_DRAW(17, "抽奖", EnumsPrefixConstants.ACT_TYPE + "17"),
 | 
			
		||||
    LOTTERY_DRAW(17, "抽奖"),
 | 
			
		||||
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -46,10 +45,6 @@ public enum EPickType {
 | 
			
		|||
     * 显示标签
 | 
			
		||||
     */
 | 
			
		||||
    private final String label;
 | 
			
		||||
    /**
 | 
			
		||||
     * 国际化翻译key值
 | 
			
		||||
     */
 | 
			
		||||
    private final String key;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据枚举值查询枚举
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,9 +10,6 @@ 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=抽奖 24=升级权限赠送)
 | 
			
		||||
     * 活动类型(11=商品赠送 12=消费赠送 13=直推赠送 17=抽奖 30=推荐升级)
 | 
			
		||||
     */
 | 
			
		||||
    @Transaction(transactionKey = EnumsPrefixConstants.ACT_TYPE)
 | 
			
		||||
    @TableField("ACT_TYPE")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 消费买赠规则配置表
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-20
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 消费赠送屏蔽配置表
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-21
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,12 +9,7 @@ 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,12 +9,7 @@ import lombok.*;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 抽奖活动赠品配置
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-21
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,12 +9,7 @@ import lombok.*;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 会员可抽奖次数记录
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-21
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,12 +9,7 @@ import lombok.EqualsAndHashCode;
 | 
			
		|||
import java.math.BigDecimal;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @description: 扩展类
 | 
			
		||||
 * @author: sui q
 | 
			
		||||
 * @time: 2023/4/27 15:07
 | 
			
		||||
 * @classname: AcDrawRewardNumExt
 | 
			
		||||
 * @package_name: com.hzs.common.domain.activity.draw.ext
 | 
			
		||||
 * version 1.0.0
 | 
			
		||||
 * 扩展类
 | 
			
		||||
 */
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
@Data
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,19 +54,25 @@ public class AcRecomUpgradeRecord extends BaseEntity {
 | 
			
		|||
    private Integer pkSettleGrade;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 推荐等级
 | 
			
		||||
     * 升级等级
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("PK_RECOMMEND_GRADE")
 | 
			
		||||
    private Integer pkRecommendGrade;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 订单ID
 | 
			
		||||
     * 活动年月
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("UPGRADE_TIME")
 | 
			
		||||
    private String upgradeTime;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 订单ID -- 已不用
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("PK_ORDER_ID")
 | 
			
		||||
    private Long pkOrderId;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 推荐等级
 | 
			
		||||
     * 升级状态(0:未升级,1:已升级) -- 已不用
 | 
			
		||||
     */
 | 
			
		||||
    @TableField("UPGRADE_STATUS")
 | 
			
		||||
    private Integer upGradeStatus;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode;
 | 
			
		|||
import lombok.experimental.Accessors;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * <p>
 | 
			
		||||
 * 商品买赠规则配置表
 | 
			
		||||
 * </p>
 | 
			
		||||
 *
 | 
			
		||||
 * @author hzs
 | 
			
		||||
 * @since 2023-04-20
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
@EqualsAndHashCode(callSuper = true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,12 +8,7 @@ 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 activityServiceApi;
 | 
			
		||||
    IActivityServiceApi iActivityServiceApi;
 | 
			
		||||
 | 
			
		||||
    @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) throws Exception {
 | 
			
		||||
    public void onMessage(Message<SaOrderExt> message, Channel channel) {
 | 
			
		||||
        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);
 | 
			
		||||
            activityServiceApi.handleActivity(saOrderExt);
 | 
			
		||||
 | 
			
		||||
            iActivityServiceApi.handleActivity(saOrderExt);
 | 
			
		||||
        } catch (Exception e) {
 | 
			
		||||
            log.error(e.getMessage());
 | 
			
		||||
            e.printStackTrace();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue