diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityApprovalProvider.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityApprovalProvider.java index 67401408..53acbe05 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityApprovalProvider.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityApprovalProvider.java @@ -9,9 +9,6 @@ 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.pick.service.IAcRetailPickProductConfigService; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService; @@ -21,14 +18,10 @@ 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; /** @@ -46,8 +39,6 @@ public class ActivityApprovalProvider implements IActivityApprovalServiceApi { @Autowired private IAcDrawGiftRuleConfigService drawGiftConfigService; @Autowired - private IAcPickService iAcPickService; - @Autowired private IAcApprovalLogService iAcApprovalLogService; @Autowired private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService; @@ -56,12 +47,6 @@ public class ActivityApprovalProvider implements IActivityApprovalServiceApi { @Autowired private IAcRetailPickProductConfigService iAcRetailPickProductConfigService; - @DubboReference - IMemberServiceApi iMemberServiceApi; - @DubboReference - IProductServiceApi iProductServiceApi; - - @Override public R approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO) { try { @@ -70,14 +55,6 @@ public class ActivityApprovalProvider implements IActivityApprovalServiceApi { 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); @@ -128,10 +105,6 @@ public class ActivityApprovalProvider implements IActivityApprovalServiceApi { } else { // 驳回处理 switch (approvalBusinessResultDTO.getEApprovalBusiness()) { - case PICK_ADD: - // 提货充值 - str = iAcPickService.pickApprovalReject(approvalBusinessResultDTO); - break; // 直推赠送 case DIRECT_PUSH_GIFT: str = acRepurCouponsRuleConfigService.approvalReject(approvalBusinessResultDTO); @@ -163,19 +136,6 @@ public class ActivityApprovalProvider implements IActivityApprovalServiceApi { try { List acApprovalLogList = iAcApprovalLogService.queryApprovalLogList(eApprovalBusiness, businessCode, pkCountry); switch (eApprovalBusiness) { - case PICK_ADD: - case PICK_ADD_DEL: - // 提货充值 - List 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 LOTTERY_DRAW: // 抽奖 @@ -209,11 +169,9 @@ public class ActivityApprovalProvider implements IActivityApprovalServiceApi { return R.ok(); } - private AcRecommendParam getRecommendApprovalData(AcApprovalLog acApprovalLog) { String data = acApprovalLog.getAfterData(); return JSONUtil.toBean(data, AcRecommendParam.class); - } private PurchasedTimesParam getRecommendApprovalDataInfo(AcApprovalLog acApprovalLog) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/manage/AcPickController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/manage/AcPickController.java index 457bad2f..b781f016 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/manage/AcPickController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/manage/AcPickController.java @@ -10,7 +10,6 @@ import com.hzs.activity.pick.vo.AcPickQueryDetailVO; import com.hzs.activity.pick.vo.AcPickQueryVO; import com.hzs.activity.wares.service.IAcGiftConfigService; import com.hzs.common.core.annotation.Log; -import com.hzs.common.core.constant.msg.CommonMsgConstants; import com.hzs.common.core.constant.msg.MemberMsgConstants; import com.hzs.common.core.constant.msg.ProductMsgConstants; import com.hzs.common.core.enums.*; @@ -93,7 +92,8 @@ public class AcPickController extends BaseController { acPickQueryVO.setPickTypeVal(EPickType.getEnumByValue(acPickQueryVO.getPickType()).getLabel()); - if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType()) { + if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType() + || EPickType.COMPANY_PRODUCT.getValue() == acPickExt.getPickType()) { // 提货产品 acPickQueryVO.setDetailList(Collections.singletonList(AcPickQueryDetailVO.builder() .productName(acPickExt.getProductName()) @@ -155,7 +155,8 @@ public class AcPickController extends BaseController { acPickQueryVO.setPickTypeVal(EPickType.getEnumByValue(acPickQueryVO.getPickType()).getLabel()); - if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType()) { + if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType() + || EPickType.COMPANY_PRODUCT.getValue() == acPickExt.getPickType()) { // 产品处理 acPickQueryVO.setDetailList(Collections.singletonList(AcPickQueryDetailVO.builder() .productName(acPickExt.getProductName()) @@ -199,7 +200,8 @@ public class AcPickController extends BaseController { AcPickExt acPickExt = iAcPickService.queryDetail(pkId, pkCountry); if (null != acPickExt) { acPickQueryVO = BeanUtil.copyProperties(acPickExt, AcPickQueryVO.class); - if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType()) { + if (EPickType.PICK_PRODUCT.getValue() == acPickExt.getPickType() + || EPickType.COMPANY_PRODUCT.getValue() == acPickExt.getPickType()) { // 产品处理 acPickQueryVO.setDetailList(Collections.singletonList(AcPickQueryDetailVO.builder() .pkProduct(acPickExt.getPkDataId().intValue()) @@ -233,23 +235,17 @@ public class AcPickController extends BaseController { @Log(module = EOperationModule.RECHARGE_PICK, business = EOperationBusiness.RECHARGE_PICK, method = EOperationMethod.SUBMIT) @PostMapping("/submit") public AjaxResult submit(@RequestBody AcPickSaveParam param) { - if (null == param.getSignType() || CollectionUtil.isEmpty(param.getUserIdList()) - || CollectionUtil.isEmpty(param.getDetailList())) { - // 缺少参数 - return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM)); - } - for (AcPickSaveDetailParam detailParam : param.getDetailList()) { if (StringUtils.isAnyEmpty(detailParam.getMemberCode(), detailParam.getSpecsName(), detailParam.getSpecsNameId()) || null == detailParam.getPkProduct() || null == detailParam.getBaseQuantity() || null == detailParam.getQuantity() || null == detailParam.getIsFreeMail()) { // 缺少参数 - return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM)); + return AjaxResult.error("缺少参数"); } if (EYesNo.NO.getIntValue() == detailParam.getIsFreeMail() && null == detailParam.getPkPostage()) { // 不包邮,则必须传入邮费模板 // 缺少参数 - return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM)); + return AjaxResult.error("缺少参数"); } // 手动添加提货数据比较少,此处查人和产品先单次查,如果同时操作人过多可以改成批量,或者不进行校验 @@ -274,19 +270,14 @@ public class AcPickController extends BaseController { } /** - * @description: 删除充值提货卡 - * @author: zhang jing - * @date: 2023/10/17 17:35 - * @param: [anpParam] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 删除充值提货卡 **/ @Log(module = EOperationModule.RECHARGE_PICK, business = EOperationBusiness.RECHARGE_PICK, method = EOperationMethod.DELETE) @PostMapping("/del-pick") public AjaxResult delPick(@RequestBody AcPickSaveParam anpParam) { - if (null == anpParam.getSignType() || CollectionUtil.isEmpty(anpParam.getUserIdList()) - || CollectionUtil.isEmpty(anpParam.getDetailList())) { + if (CollectionUtil.isEmpty(anpParam.getDetailList())) { // 缺少参数 - return AjaxResult.error(TransactionUtils.getContent(CommonMsgConstants.MISSING_PARAM)); + return AjaxResult.error("缺少参数"); } // 设置参数 LoginUser loginUser = userTokenService.getLoginUser(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickSaveDetailParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickSaveDetailParam.java index b2352a70..911bce37 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickSaveDetailParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickSaveDetailParam.java @@ -6,11 +6,7 @@ import java.io.Serializable; import java.util.Date; /** - * @Description: 提货明细保存入参 - * @Author: jiang chao - * @Time: 2023/5/10 19:06 - * @Classname: AcPickSaveDetailParam - * @PackageName: com.hzs.activity.pick.param + * 提货明细保存入参 */ @Data public class AcPickSaveDetailParam implements Serializable { @@ -76,4 +72,9 @@ public class AcPickSaveDetailParam implements Serializable { */ private String productName; + /** + * 提货类型 + */ + private Integer pickType; + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickSaveParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickSaveParam.java index 3602f034..5fecc023 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickSaveParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/param/AcPickSaveParam.java @@ -8,11 +8,7 @@ import lombok.EqualsAndHashCode; import java.util.List; /** - * @Description: 提货保存入参 - * @Author: jiang chao - * @Time: 2023/4/22 11:26 - * @Classname: AcPickSaveParam - * @PackageName: com.hzs.activity.pick.param + * 提货保存入参 */ @EqualsAndHashCode(callSuper = true) @Data diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickService.java index c99f0a7c..059e9cc8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/IAcPickService.java @@ -6,7 +6,6 @@ import com.hzs.activity.pick.param.AcPickSaveParam; import com.hzs.activity.pick.vo.ApiPickListVO; import com.hzs.common.domain.activity.pick.AcPick; 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; @@ -38,7 +37,6 @@ public interface IAcPickService extends IService { Integer usableQuantity, String pickCover, Date receiveTime, Integer pkPostage, Long pkCreator, Integer pkCountry, Long pkBaseId); - /** * 根据会员和活动类型回退使用数量 * @@ -81,31 +79,10 @@ public interface IAcPickService extends IService { String pickSubmit(AcPickSaveParam param, LoginUser loginUser); /** - * 删除充值提货卡发起签呈 + * 删除充值提货卡 **/ boolean delPick(AcPickSaveParam anpParam); - /** - * 提货变动审批通过 - * - * @param resultDTO - * @return - */ - String pickApprovalAgree(ApprovalBusinessResultDTO resultDTO); - - /** - * 审核删除充值提货卡 - **/ - String delpickApprovalAgree(ApprovalBusinessResultDTO resultDTO); - - /** - * 提货变动审批驳回 - * - * @param resultDTO - * @return - */ - String pickApprovalReject(ApprovalBusinessResultDTO resultDTO); - /** * 会员提货列表 * @@ -135,7 +112,6 @@ public interface IAcPickService extends IService { */ int batchSaveOrUpdatePick(List pickList); - /** * 根据ID更新会员提货数据 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java index 32b97e56..d73db3e3 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/service/impl/AcPickServiceImpl.java @@ -1,9 +1,7 @@ package com.hzs.activity.pick.service.impl; import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.hzs.activity.base.service.IAcApprovalLogService; import com.hzs.activity.pick.mapper.AcPickMapper; import com.hzs.activity.pick.param.AcPickQueryParam; import com.hzs.activity.pick.param.AcPickSaveDetailParam; @@ -13,15 +11,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.msg.ActivityMsgConstants; -import com.hzs.common.core.constant.msg.CommonMsgConstants; 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.base.BaseException; +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; @@ -34,9 +28,6 @@ import com.hzs.member.base.IMemberServiceApi; import com.hzs.sale.postage.dto.PostageProductDTO; import com.hzs.sale.postage.service.IPostageBusinessService; import com.hzs.sale.product.service.IBdProductService; -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; @@ -57,8 +48,6 @@ import java.util.stream.Collectors; @Service public class AcPickServiceImpl extends ServiceImpl implements IAcPickService { - @Autowired - private IAcApprovalLogService iAcApprovalLogService; @Autowired private IAcPickLogService iAcPickLogService; @Autowired @@ -72,8 +61,6 @@ public class AcPickServiceImpl extends ServiceImpl impleme @Autowired private IPostageBusinessService iPostageBusinessService; - @DubboReference - IApprovalServiceApi iApprovalServiceApi; @DubboReference IMemberServiceApi iMemberServiceApi; @@ -141,222 +128,25 @@ public class AcPickServiceImpl extends ServiceImpl impleme // 操作日志列表 List logDTOList = new ArrayList<>(); - // 批量保存日志 - List approvalLogList = new ArrayList<>(); - // 产品数据map Map productMap = iBdProductService.queryProductMap(param.getDetailList().stream().map(AcPickSaveDetailParam::getPkProduct).collect(Collectors.toList()), pkCountry); - for (AcPickSaveDetailParam detailParam : param.getDetailList()) { - // 活动审批日志 - AcApprovalLog acApprovalLog = new AcApprovalLog(); - acApprovalLog.setApprovalType(EApprovalBusiness.PICK_ADD.getValue()); - acApprovalLog.setBusinessCode(businessCode); - acApprovalLog.setPkCreator(userId); - acApprovalLog.setPkCountry(pkCountry); - acApprovalLog.setAfterData(JSONUtil.toJsonStr(detailParam)); - if (null != detailParam.getPkId()) { - acApprovalLog.setPkBusiness(detailParam.getPkId()); - } - approvalLogList.add(acApprovalLog); - - // 产品信息 - BdProduct bdProduct = productMap.get(detailParam.getPkProduct()); - // 操作日志内容 - StringBuilder content = new StringBuilder(); - content.append("会员编号 ").append(detailParam.getMemberCode()); - content.append(" 充值提货卡 ").append(bdProduct.getProductName()).append("(").append(detailParam.getSpecsName()).append(")"); - content.append(",提货基数 ").append(detailParam.getBaseQuantity()); - content.append(",充值数量 ").append(detailParam.getQuantity()); - if (null != detailParam.getReceiveTime()) { - content.append(",截止日期 ").append(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD_HH_MM_SS, detailParam.getReceiveTime())); - } - if (EYesNo.YES.getIntValue() == detailParam.getIsFreeMail()) { - content.append(",包邮;"); - } else { - content.append(",不包邮;"); - } - - // 会员信息 - CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData(); - // 封装业务操作日志 - logDTOList.add(BusinessLogDTO.builder() - .businessType(EApprovalBusiness.PICK_ADD.getValue()) - .businessCode(businessCode) - .content(content.toString()) - .pkMember(cuMember.getPkId()) - .pkCreator(userId) - .pkCountry(pkCountry) - .freeSignFlag(false) - .build()); - } - - if (iAcApprovalLogService.saveBatch(approvalLogList)) { - // 保存审批日志成功,提交签呈 - - // 提交签呈处理 - R resultR = iApprovalServiceApi.submitOrder( - ApprovalSubmitDTO.builder() - .eApprovalBusiness(EApprovalBusiness.PICK_ADD) - .businessCode(businessCode) - .signType(ESignType.getEnumByValue(param.getSignType())) - .userIdList(param.getUserIdList()) - .sendIdList(param.getSendIdList()) - .remark(param.getRemark()) - .fileList(param.getFileList()) - .build(), - loginUser, - null - ); - if (resultR.isSuccess()) { - // 推送业务操作日志 - rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, logDTOList); - - return null; - } - throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ": " + resultR.getMsg()); - } - return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED); - } - - @Override - public boolean delPick(AcPickSaveParam param) { - // 会员ID - Long userId = param.getLoginUser().getUserId(); - // 所属国家 - Integer pkCountry = param.getLoginUser().getDataCountry(); - // 业务编号 - String businessCode = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE); - - // 操作日志列表 - List logDTOList = new ArrayList<>(); - - // 批量保存日志 - List approvalLogList = new ArrayList<>(); - - for (AcPickSaveDetailParam detailParam : param.getDetailList()) { - // 活动审批日志 - AcApprovalLog acApprovalLog = new AcApprovalLog(); - acApprovalLog.setApprovalType(EApprovalBusiness.PICK_ADD_DEL.getValue()); - acApprovalLog.setBusinessCode(businessCode); - acApprovalLog.setPkCreator(userId); - acApprovalLog.setPkCountry(pkCountry); - acApprovalLog.setAfterData(JSONUtil.toJsonStr(detailParam)); - if (null != detailParam.getPkId()) { - acApprovalLog.setPkBusiness(detailParam.getPkId()); - } - approvalLogList.add(acApprovalLog); - - // 操作日志内容 - StringBuilder content = new StringBuilder("删除会员编号 ").append(detailParam.getMemberCode()).append(" 的 "); - - // 查询提货数量 - AcPick acPick = this.getById(detailParam.getPkId()); - EPickType ePickType = EPickType.getEnumByValue(acPick.getPickType()); - switch (ePickType) { - case PICK_PRODUCT: - case PRIZE: - // 提货产品、抽奖 - if (null != detailParam.getPkProduct()) { - BdProduct product = iBdProductService.getProduct(detailParam.getPkProduct()); - content.append(ePickType.getLabel()).append(",").append(product.getProductName()).append("(").append(acPick.getSpecsName()).append(");"); - } else { - content.append(ePickType.getLabel()).append(",").append(";"); - } - break; - case CONSUMPTION_GIFT: - case DIRECT_PUSH_GIFT: - case LOTTERY_DRAW: - // 消费赠送、直推赠送、抽奖 - content.append(ePickType.getLabel()); - List acGiftConfigList = iAcGiftConfigService.queryListByRuleIdList(acPick.getPkDataId(), acPick.getPkCountry()); - if (CollectionUtil.isNotEmpty(acGiftConfigList)) { - content.append(","); - for (AcGiftConfigExt acGiftConfigExt : acGiftConfigList) { - content.append(acGiftConfigExt.getProductName()).append("(").append(acGiftConfigExt.getSpecsName()).append(") "); - } - } - content.append(";"); - break; - default: - } - - // 被操作会员 - CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData(); - // 封装业务操作日志 - logDTOList.add(BusinessLogDTO.builder() - .businessType(EApprovalBusiness.PICK_ADD_DEL.getValue()) - .businessCode(businessCode) - .content(content.toString()) - .pkMember(cuMember.getPkId()) - .pkCreator(userId) - .pkCountry(pkCountry) - .freeSignFlag(false) - .build()); - } - - if (iAcApprovalLogService.saveBatch(approvalLogList)) { - // 保存审批日志成功,提交签呈 - // 提交签呈处理 - R resultR = iApprovalServiceApi.submitOrder( - ApprovalSubmitDTO.builder() - .eApprovalBusiness(EApprovalBusiness.PICK_ADD_DEL) - .businessCode(businessCode) - .signType(ESignType.getEnumByValue(param.getSignType())) - .userIdList(param.getUserIdList()) - .sendIdList(param.getSendIdList()) - .remark(param.getRemark()) - .fileList(param.getFileList()) - .build(), - param.getLoginUser(), - null - ); - if (resultR.isSuccess()) { - // 推送业务操作日志 - rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, logDTOList); - - return true; - } - throw new BaseException(TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ": " + resultR.getMsg()); - } - return true; - } - - @Transactional(rollbackFor = Exception.class) - @Override - public String pickApprovalAgree(ApprovalBusinessResultDTO resultDTO) { - // 用户ID - Long userId = resultDTO.getLoginUser().getUserId(); - // 所属国家 - Integer pkCountry = resultDTO.getLoginUser().getDataCountry(); - - List 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 createList = new ArrayList<>(); // 修改提货列表 List updateList = new ArrayList<>(); - for (AcApprovalLog acApprovalLog : approvalLogList) { - // 存在业务ID,则为修改 - AcPickSaveDetailParam detailParam = JSONUtil.toBean(acApprovalLog.getAfterData(), AcPickSaveDetailParam.class); - // 当前会员 - CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData(); + for (AcPickSaveDetailParam detailParam : param.getDetailList()) { + // 会员信息 + CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData(); // 提货ID Long pickId = null; + // 提货类型 + Integer pickType = null != detailParam.getPickType() ? detailParam.getPickType() : EPickType.COMPANY_PRODUCT.getValue(); + if (null == detailParam.getPkId()) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(AcPick::getPickType, EPickType.PICK_PRODUCT.getValue()); + queryWrapper.eq(AcPick::getPickType, pickType); queryWrapper.eq(AcPick::getPkBaseConfig, 0); queryWrapper.eq(AcPick::getPkDataId, detailParam.getPkProduct()); queryWrapper.eq(AcPick::getSpecsNameId, detailParam.getSpecsNameId()); @@ -373,7 +163,7 @@ public class AcPickServiceImpl extends ServiceImpl impleme if (null == pickId) { // 新增提货数据 acPick.setPkMember(cuMember.getPkId()); - acPick.setPickType(EPickType.PICK_PRODUCT.getValue()); + acPick.setPickType(pickType); acPick.setPkDataId(detailParam.getPkProduct().longValue()); acPick.setSpecsName(detailParam.getSpecsName()); acPick.setSpecsNameId(detailParam.getSpecsNameId()); @@ -397,82 +187,96 @@ public class AcPickServiceImpl extends ServiceImpl impleme acPick.setModifiedTime(new Date()); updateList.add(acPick); } + + + // 产品信息 + BdProduct bdProduct = productMap.get(detailParam.getPkProduct()); + // 操作日志内容 + StringBuilder content = new StringBuilder(); + content.append("会员编号 ").append(detailParam.getMemberCode()); + content.append(" 充值提货卡 ").append(bdProduct.getProductName()).append("(").append(detailParam.getSpecsName()).append(")"); + content.append(",提货基数 ").append(detailParam.getBaseQuantity()); + content.append(",充值数量 ").append(detailParam.getQuantity()); + if (null != detailParam.getReceiveTime()) { + content.append(",截止日期 ").append(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD_HH_MM_SS, detailParam.getReceiveTime())); + } + if (EYesNo.YES.getIntValue() == detailParam.getIsFreeMail()) { + content.append(",包邮;"); + } else { + content.append(",不包邮;"); + } + // 封装业务操作日志 + logDTOList.add(BusinessLogDTO.builder() + .businessType(EApprovalBusiness.PICK_ADD.getValue()) + .businessCode(businessCode) + .content(content.toString()) + .pkMember(cuMember.getPkId()) + .pkCreator(userId) + .pkCountry(pkCountry) + .freeSignFlag(false) + .build()); } - if (iAcApprovalLogService.updateApprovalLog(resultDTO.getEApprovalBusiness(), resultDTO.getBusinessCode(), pkCountry, userId, EApproveRechargeStatus.AGREE, resultDTO.getApproveRemark())) { - // 更新修改记录 + // 提货操作日志 + List logList = new ArrayList<>(); - // 提货操作日志 - List logList = new ArrayList<>(); + // 插入提货数据 + if (CollectionUtil.isNotEmpty(createList)) { + for (AcPick acPick : createList) { + this.baseMapper.insert(acPick); - // 插入提货数据 - 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); - } + 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); + // 更新提货数据 + 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); + + // 推送业务操作日志 + rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, logDTOList); + return null; } - @Transactional(rollbackFor = Exception.class) @Override - public String delpickApprovalAgree(ApprovalBusinessResultDTO resultDTO) { - // 用户ID - Long userId = resultDTO.getLoginUser().getUserId(); + public boolean delPick(AcPickSaveParam param) { + // 会员ID + Long userId = param.getLoginUser().getUserId(); // 所属国家 - Integer pkCountry = resultDTO.getLoginUser().getDataCountry(); + Integer pkCountry = param.getLoginUser().getDataCountry(); + // 业务编号 + String businessCode = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE); - List 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 logDTOList = new ArrayList<>(); // 删除提货列表 List updateList = new ArrayList<>(); - for (AcApprovalLog acApprovalLog : approvalLogList) { - // 存在业务ID,则为修改 - AcPickSaveDetailParam detailParam = JSONUtil.toBean(acApprovalLog.getAfterData(), AcPickSaveDetailParam.class); - // 当前会员 - CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData(); + for (AcPickSaveDetailParam detailParam : param.getDetailList()) { + // 被操作会员 + CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData(); // 提货ID Long pickId = null; if (null == detailParam.getPkId()) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(AcPick::getPickType, EPickType.PICK_PRODUCT.getValue()); + queryWrapper.eq(AcPick::getPickType, EPickType.COMPANY_PRODUCT.getValue()); queryWrapper.eq(AcPick::getPkBaseConfig, 0); queryWrapper.eq(AcPick::getPkDataId, detailParam.getPkProduct()); queryWrapper.eq(AcPick::getPkMember, cuMember.getPkId()); @@ -493,50 +297,65 @@ public class AcPickServiceImpl extends ServiceImpl impleme updateList.add(acPick); } else { log.error("提货充值同意处理失败: 更新数据失败"); - return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_ERROR); + throw new ServiceException(TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_ERROR)); + } + + // 操作日志内容 + StringBuilder content = new StringBuilder("删除会员编号 ").append(detailParam.getMemberCode()).append(" 的 "); + + // 查询提货数量 + AcPick delAcPick = this.getById(detailParam.getPkId()); + EPickType ePickType = EPickType.getEnumByValue(delAcPick.getPickType()); + switch (ePickType) { + case PICK_PRODUCT: + case PRIZE: + case COMPANY_PRODUCT: + // 提货产品、抽奖、分公司产品 + if (null != detailParam.getPkProduct()) { + BdProduct product = iBdProductService.getProduct(detailParam.getPkProduct()); + content.append(ePickType.getLabel()).append(",").append(product.getProductName()).append("(").append(acPick.getSpecsName()).append(");"); + } else { + content.append(ePickType.getLabel()).append(",").append(";"); + } + break; + case CONSUMPTION_GIFT: + case DIRECT_PUSH_GIFT: + case LOTTERY_DRAW: + // 消费赠送、直推赠送、抽奖 + content.append(ePickType.getLabel()); + List acGiftConfigList = iAcGiftConfigService.queryListByRuleIdList(acPick.getPkDataId(), acPick.getPkCountry()); + if (CollectionUtil.isNotEmpty(acGiftConfigList)) { + content.append(","); + for (AcGiftConfigExt acGiftConfigExt : acGiftConfigList) { + content.append(acGiftConfigExt.getProductName()).append("(").append(acGiftConfigExt.getSpecsName()).append(") "); + } + } + content.append(";"); + break; + default: + } + // 封装业务操作日志 + logDTOList.add(BusinessLogDTO.builder() + .businessType(EApprovalBusiness.PICK_ADD_DEL.getValue()) + .businessCode(businessCode) + .content(content.toString()) + .pkMember(cuMember.getPkId()) + .pkCreator(userId) + .pkCountry(pkCountry) + .freeSignFlag(false) + .build()); + } + + // 更新提货数据 + if (CollectionUtil.isNotEmpty(updateList)) { + for (AcPick acPick : updateList) { + this.baseMapper.removePickByPkId(acPick); } } - 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 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); + // 推送业务操作日志 + rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, logDTOList); + return true; } @Override @@ -593,7 +412,6 @@ public class AcPickServiceImpl extends ServiceImpl impleme break; default: } - return iPostageBusinessService.queryPostage(acPick.getPkPostage(), productList, recProvince, recCity); } diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMapper.xml index 68c0faf5..a8a3e524 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/pick/AcPickMapper.xml @@ -134,7 +134,7 @@ cm.member_code, cm.member_name, case - when ap.pick_type = 0 then + when ap.pick_type in (0, 20) then (select bp.product_name from bd_product bp where bp.pk_id = PK_DATA_ID) diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/CommonMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/CommonMsgConstants.java index 369575d8..06d0e2a2 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/CommonMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/CommonMsgConstants.java @@ -1,45 +1,41 @@ package com.hzs.common.core.constant.msg; /** - * @Description: 公用类提示 - * @Author: jiang chao - * @Time: 2023/4/11 11:31 - * @Classname: CommonMsgConstants - * @PackageName: com.hzs.common.core.constant.msg + * 公用类提示 */ public class CommonMsgConstants { /** * 前后台数据传入中少了部分数据参数 -- 缺少参数 */ -public static final String MISSING_PARAM = "缺少参数"; + public static final String MISSING_PARAM = "缺少参数"; /** * 接口数据处理因代码原因未成功 -- 操作失败 */ -public static final String OPERATION_FAILED = "操作失败"; + public static final String OPERATION_FAILED = "操作失败"; /** * 一般用于三方对接,处理失败,用户刷新后可以重新进行操作提示 -- 操作失败,请刷新后重试 */ -public static final String OPERATION_FAILED_FLUSH = "操作失败,请刷新后重试"; + public static final String OPERATION_FAILED_FLUSH = "操作失败,请刷新后重试"; /** * 用户已转结算国,不能进行处理相关操作 -- 用户已转结算国,不能进行操作 */ -public static final String SETTLEMENT_COUNTRY_NOT_OPERATE = "用户已转结算国,不能进行操作"; + public static final String SETTLEMENT_COUNTRY_NOT_OPERATE = "用户已转结算国,不能进行操作"; /** * 签呈处理失败 -- 签呈处理失败 */ -public static final String APPROVAL_ERROR = "签呈处理失败"; + public static final String APPROVAL_ERROR = "签呈处理失败"; /** * 签呈审批时,签呈数据不存在或者被删除 -- 签呈处理失败:签呈不存在 */ -public static final String APPROVAL_NOT_EXIST = "签呈处理失败:签呈不存在"; + public static final String APPROVAL_NOT_EXIST = "签呈处理失败:签呈不存在"; /** * 签呈审批时,签呈已经被审批 -- 签呈处理失败:签呈已处理 */ -public static final String APPROVAL_PROCESSED = "签呈处理失败:签呈已处理"; + public static final String APPROVAL_PROCESSED = "签呈处理失败:签呈已处理"; }