From cf1d8c7a713f8ed1854482ff550269a9e6880182 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 18 Aug 2025 10:12:39 +0800 Subject: [PATCH 01/78] =?UTF-8?q?##=20=E7=9B=B4=E6=92=AD=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/achieve/service/impl/CuMemberAchieveServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java index 4e038d50..5bd006e3 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java @@ -390,7 +390,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl cuMemberExtList = iCuMemberService.queryMemberByCondition(CuMember.builder().pkId(pkMember).build()); - if (CollectionUtil.isNotEmpty(cuMemberExtList)) { + if (CollectionUtil.isEmpty(cuMemberExtList)) { throw new ServiceException("查询会员信息失败,请重新登录"); } CuMemberExt cuMemberExt = cuMemberExtList.get(0); From 0d8e10fc219628d63b7d4e698835150f53c9efd6 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 18 Aug 2025 14:10:55 +0800 Subject: [PATCH 02/78] =?UTF-8?q?##=20=E4=BB=93=E5=82=A8=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E8=B0=83=E6=95=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/sale/deliver/SaDeliverItemsMapper.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/deliver/SaDeliverItemsMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/deliver/SaDeliverItemsMapper.xml index 08d4bbc6..5e7ad782 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/deliver/SaDeliverItemsMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/deliver/SaDeliverItemsMapper.xml @@ -226,7 +226,8 @@ - order by sdi.creation_time desc, deliver_code desc, order_code desc + order by sdi.creation_time desc, deliver_code desc, order_code desc, + bp.wms_code, sdi.specs_name @@ -409,7 +410,8 @@ #{item} - order by sdi.creation_time desc, sd.deliver_code desc, so.order_code desc + order by sdi.creation_time desc, sd.deliver_code desc, so.order_code desc, + bp.wms_code, sdi.specs_name From 75ae4b8bcbf99731d7174ff62769c3c387854507 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 20 Aug 2025 09:57:01 +0800 Subject: [PATCH 03/78] =?UTF-8?q?##=20=E6=8F=90=E7=8E=B0=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=BA=AB=E4=BB=BD=E8=AF=81=E5=8F=B7=EF=BC=9B=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=B8=8E=E5=88=97=E8=A1=A8=E5=AF=B9=E9=BD=90?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/CuMemberWithdrawController.java | 51 ++++++++----------- .../mapper/CuMemberWithdrawMapper.java | 2 - .../impl/CuMemberWithdrawServiceImpl.java | 23 ++++----- .../member/account/vo/CuMemberWithdrawVO.java | 10 +--- .../member/account/CuMemberWithdrawMapper.xml | 47 ++++------------- .../enums/controller/EnumsController.java | 2 +- .../enums/controller/EnumsInitController.java | 4 -- .../core/constant/EnumsPrefixConstants.java | 5 -- .../common/core/enums/EWithdrawStatus.java | 28 ++++++---- 9 files changed, 61 insertions(+), 111 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/manage/CuMemberWithdrawController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/manage/CuMemberWithdrawController.java index 87723a19..01a26b5b 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/manage/CuMemberWithdrawController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/manage/CuMemberWithdrawController.java @@ -35,30 +35,23 @@ import java.util.*; /** * 会员提现表 前端控制器 - * - * @author hzs - * @since 2022-09-06 */ @RestController @RequestMapping("/manager/withdraw") public class CuMemberWithdrawController extends BaseController { - @Autowired private UserTokenService userTokenService; + @Autowired + private ICuMemberBaseService iCuMemberBaseService; + @Autowired + private ICuMemberWithdrawService iCuMemberWithdrawService; @Autowired - private ICuMemberBaseService baseService; - - @Autowired - ICuMemberWithdrawService cuMemberWithdrawService; - - @Autowired - ITransactionCommonService iTransactionCommonService; + private ITransactionCommonService iTransactionCommonService; @DubboReference - IMenuColumnServiceApi menuColumnServiceApi; - + IMenuColumnServiceApi iMenuColumnServiceApi; /** * 发起签呈显示 @@ -72,11 +65,11 @@ public class CuMemberWithdrawController extends BaseController { if (CollUtil.isEmpty(pkIds)) { return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.SELECT_INITIATING_SIGNATURE_RECORD)); } - List cuMemberWithdrawList = cuMemberWithdrawService.checkWithdrawPetitionByState(pkIds, EApproveStatus.WAIT_SUBMIT.getValue()); + List cuMemberWithdrawList = iCuMemberWithdrawService.checkWithdrawPetitionByState(pkIds, EApproveStatus.WAIT_SUBMIT.getValue()); if (CollUtil.isNotEmpty(cuMemberWithdrawList)) { return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.SELECTED_RECORD_DUPLICATE_SIGNATURE_RECORD)); } - return AjaxResult.success(cuMemberWithdrawService.showMemberWithdrawPetition(pkIds, null)); + return AjaxResult.success(iCuMemberWithdrawService.showMemberWithdrawPetition(pkIds, null)); } /** @@ -91,10 +84,9 @@ public class CuMemberWithdrawController extends BaseController { LoginUser loginUser = userTokenService.getLoginUser(); cuMemberPetitionVO.setLoginUser(loginUser); cuMemberPetitionVO.setPkCreat(SecurityUtils.getUserId()); - return AjaxResult.success(cuMemberWithdrawService.confirmWithdrawPetition(cuMemberPetitionVO)); + return AjaxResult.success(iCuMemberWithdrawService.confirmWithdrawPetition(cuMemberPetitionVO)); } - /** * 查询列表 * @@ -116,14 +108,13 @@ public class CuMemberWithdrawController extends BaseController { } } startPage(); - Object[] objects = cuMemberWithdrawService.selectMemberWithdrawList(cuMemberWithdrawVO); + Object[] objects = iCuMemberWithdrawService.selectMemberWithdrawList(cuMemberWithdrawVO); //处理分页 TableDataInfo tableDataInfo = getDataTable((List) objects[0]); tableDataInfo.setRows((List) objects[1]); return tableDataInfo; } - /** * 充值明细列表导出 * @@ -135,18 +126,18 @@ public class CuMemberWithdrawController extends BaseController { public void export(HttpServletResponse response, CuMemberWithdrawVO cuMemberWithdrawVO) { Integer pkCountry = SecurityUtils.getPkCountry(); cuMemberWithdrawVO.setPkCountry(pkCountry); - List cuMemberWithdrawList = (List) cuMemberWithdrawService.selectMemberWithdrawList(cuMemberWithdrawVO)[1]; + List cuMemberWithdrawList = (List) iCuMemberWithdrawService.selectMemberWithdrawList(cuMemberWithdrawVO)[1]; //枚举翻译 - Map transactionMap = iTransactionCommonService.exportEnumTransaction(EApproveStatus.values(), EWithdrawStatus.values()); + Map transactionMap = iTransactionCommonService.exportEnumTransaction(EApproveStatus.values()); if (CollUtil.isNotEmpty(cuMemberWithdrawList)) { for (CuMemberWithdrawVO memberWithdraw : cuMemberWithdrawList) { Integer pkAccount = memberWithdraw.getPkAccount(); - memberWithdraw.setPkAccountVal(baseService.getAccountTranslateFromDataBase(pkAccount)); + memberWithdraw.setPkAccountVal(iCuMemberBaseService.getAccountTranslateFromDataBase(pkAccount)); memberWithdraw.setApproveStateVal(transactionMap.get(EnumsPrefixConstants.APPROVE_STATUS + memberWithdraw.getApproveState())); - memberWithdraw.setStatusVal(transactionMap.get(EnumsPrefixConstants.ENU_WITHDRAW_STATUS + memberWithdraw.getStatus())); + memberWithdraw.setStatusVal(EWithdrawStatus.getLabelByValue(memberWithdraw.getStatus())); } } - ExcelUtil util = new ExcelUtil<>(CuMemberWithdrawVO.class, menuColumnServiceApi.queryMenuColumn("CashDetails", SecurityUtils.getUserId()).getData()); + ExcelUtil util = new ExcelUtil<>(CuMemberWithdrawVO.class, iMenuColumnServiceApi.queryMenuColumn("CashDetails", SecurityUtils.getUserId()).getData()); util.exportExcel(response, cuMemberWithdrawList, TransactionUtils.getContent(FinanceMsgConstants.WITHDRAWAL_DETAILS_EXPORT)); } @@ -160,11 +151,10 @@ public class CuMemberWithdrawController extends BaseController { @GetMapping("/details") public AjaxResult findWithdrawDetails(Long pkId) { Assert.notNull(pkId, TransactionUtils.getContent(FinanceMsgConstants.SELECT_WITHDRAWAL_RECORD)); - CuMemberWithdrawVO cuMemberRechargeDetailVO = cuMemberWithdrawService.queryCuMemberWithdrawDetail(pkId); + CuMemberWithdrawVO cuMemberRechargeDetailVO = iCuMemberWithdrawService.queryCuMemberWithdrawDetail(pkId); return AjaxResult.success(cuMemberRechargeDetailVO); } - /** * 打款 * @@ -176,7 +166,7 @@ public class CuMemberWithdrawController extends BaseController { public AjaxResult withdrawPayment(@RequestBody CuMemberWithdrawVO memberWithdrawVO) { List pkIds = memberWithdrawVO.getPkIds(); Assert.notNull(pkIds, TransactionUtils.getContent(FinanceMsgConstants.SELECT_PAID_RECORD)); - List withdrawApproveStateByIds = cuMemberWithdrawService.getWithdrawApproveStateByIds(pkIds, EApproveStatus.FINISH.getValue()); + List withdrawApproveStateByIds = iCuMemberWithdrawService.getWithdrawApproveStateByIds(pkIds, EApproveStatus.FINISH.getValue()); if (CollUtil.isNotEmpty(withdrawApproveStateByIds)) { return AjaxResult.error(TransactionUtils.getContent(FinanceMsgConstants.DATA_UNAPPROVED_DATA)); } @@ -186,10 +176,9 @@ public class CuMemberWithdrawController extends BaseController { memberWithdrawVO.setPayer(pkMember); memberWithdrawVO.setPaymentTime(new Date()); memberWithdrawVO.setPkModified(pkMember); - return toAjax(cuMemberWithdrawService.withdrawPaymentByPkId(memberWithdrawVO)); + return toAjax(iCuMemberWithdrawService.withdrawPaymentByPkId(memberWithdrawVO)); } - /** * 打款充正 * @@ -205,13 +194,13 @@ public class CuMemberWithdrawController extends BaseController { memberWithdrawVO.setPayer(SecurityUtils.getUserId()); memberWithdrawVO.setPayerRemarks(memberWithdrawVO.getPayerRemarks()); memberWithdrawVO.setPaymentTime(new Date()); - return toAjax(cuMemberWithdrawService.withdrawPaymentPositiveByPkId(memberWithdrawVO)); + return toAjax(iCuMemberWithdrawService.withdrawPaymentPositiveByPkId(memberWithdrawVO)); } @Log(module = EOperationModule.WITHDRAWAL_DETAIL, business = EOperationBusiness.WITHDRAWAL_DETAIL, method = EOperationMethod.REJECT) @PostMapping("/reject") public AjaxResult reject(@RequestBody CuMemberWithdrawRejectParam param) { - cuMemberWithdrawService.withdrawReject(param); + iCuMemberWithdrawService.withdrawReject(param); return AjaxResult.success(); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberWithdrawMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberWithdrawMapper.java index 5cae4d1a..c9ce8830 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberWithdrawMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberWithdrawMapper.java @@ -23,8 +23,6 @@ public interface CuMemberWithdrawMapper extends BaseMapper { List getWithdrawTimes(@Param("pkMember") Long pkMember); - List getWithdrawTimesByPkCountry(@Param("pkCountry") Integer pkCountry); - /** * 按周期查询个税 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberWithdrawServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberWithdrawServiceImpl.java index 3cce116d..ba212122 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberWithdrawServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberWithdrawServiceImpl.java @@ -63,8 +63,6 @@ public class CuMemberWithdrawServiceImpl extends ServiceImpl * 会员提现表 - *

- * - * @author hzs - * @since 2022-09-06 */ - - @EqualsAndHashCode(callSuper = true) @Data @Builder @@ -203,7 +196,6 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO { /** * 状态(0=未打款,1=已打款,2=已充正,3=撤消) */ - @Transaction(transactionKey = EnumsPrefixConstants.ENU_WITHDRAW_STATUS) private Integer status; @Excel(name = "打款状态") @@ -293,7 +285,7 @@ public class CuMemberWithdrawVO extends CuMemberBaseVO { /** * 查询状态 */ - private Integer queryStatus; + private Integer queryStatus; /** * 会员编号集合 diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberWithdrawMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberWithdrawMapper.xml index b0ed7186..f4e107b0 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberWithdrawMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberWithdrawMapper.xml @@ -34,33 +34,20 @@ - - - DEL_FLAG - , - PK_COUNTRY, - PK_CREATOR, - CREATION_TIME, - PK_MODIFIED, - MODIFIED_TIME, - PK_ID, PK_MEMBER, WITHDRAW_CODE, PK_ACCOUNT, PK_BANK, PK_RATE, CASH_AMOUNT, SERVICE_CHARGE, INCOME_TAX, - ISSUED_AMOUNT,APPROVE_STATE, PAYMENT_TIME, PAYER, REMARKS, APPROVER, APPROVE_TIME, PK_ROLE, ROLE_NAME,STATUS,PAYER_REMARKS,APPROVE_REMARKS - - SELECT r.*, - m.member_code memberCode, - m.member_name memberName, - bb.bank_name bankName, - b.sub_bank_name subBankName, - b.card_number cardNumber, - b.account_name accountName, - b.id_card idCard, + m.member_code memberCode, + m.member_name memberName, + bb.bank_name bankName, + b.sub_bank_name subBankName, + b.card_number cardNumber, + b.account_name accountName, + nvl(m.id_card, b.id_card) idCard, b.phone, - b.pk_id pkBdBank, - u.user_name paymentName, - su.user_name approveName, - ver.VERTEX_NAME vertexName + b.pk_id pkBdBank, + u.user_name paymentName, + su.user_name approveName, + ver.VERTEX_NAME vertexName FROM cu_member_withdraw r LEFT JOIN cu_member_bank b ON r.pk_Bank = b.pk_id @@ -146,7 +133,6 @@ and r.WITHDRAW_CODE = #{withdrawCode} - and r.status = #{status} @@ -197,17 +183,6 @@ AND STATUS = 0 - - - update cu_member_withdraw diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java index 01daaf44..03d7615d 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsController.java @@ -2361,7 +2361,7 @@ public class EnumsController extends BaseController { public AjaxResult getPaymentStatus() { List enumEntityList = new ArrayList<>(); for (EWithdrawStatus value : EWithdrawStatus.values()) { - enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel(), EnumsPrefixConstants.ENU_WITHDRAW_STATUS)); + enumEntityList.add(new EnumEntity(value.getValue(), value.getLabel())); } return AjaxResult.success(enumEntityList); } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java index 5d4885f6..b0acb050 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java @@ -514,10 +514,6 @@ public class EnumsInitController { initList.add(this.createData(value.getKey(), value.getLabel())); } - for (EWithdrawStatus value : EWithdrawStatus.values()) { - initList.add(this.createData(value.getKey(), value.getLabel())); - } - /** * 站内信类型 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java index f745832d..872209ed 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java @@ -595,11 +595,6 @@ public class EnumsPrefixConstants { */ public static final String CYCLE = "ENU_CYCLE_"; - /** - * 提现状态 - */ - public static final String ENU_WITHDRAW_STATUS = "ENU_WITHDRAW_S_"; - /** * 服务类型枚举 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWithdrawStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWithdrawStatus.java index ae38e3c1..3a1250d8 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWithdrawStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EWithdrawStatus.java @@ -1,13 +1,10 @@ package com.hzs.common.core.enums; -import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.AllArgsConstructor; import lombok.Getter; /** * 提现状态枚举 - * - * @author: hzs */ @AllArgsConstructor @Getter @@ -16,20 +13,20 @@ public enum EWithdrawStatus { /** * 正常 */ - NORMAL(0, "未打款", 0, EnumsPrefixConstants.ENU_WITHDRAW_STATUS + "0"), + NORMAL(0, "未打款", 0), /** * 打款 */ - PAYMENT(1, "已打款", 0, EnumsPrefixConstants.ENU_WITHDRAW_STATUS + "1"), + PAYMENT(1, "已打款", 0), /** * 充正 */ - CHARGING(2, "已充正", 0, EnumsPrefixConstants.ENU_WITHDRAW_STATUS + "2"), + CHARGING(2, "已充正", 0), /** * 取消 */ - CANCEL(3, "取消", 0, EnumsPrefixConstants.ENU_WITHDRAW_STATUS + "3"), + CANCEL(3, "取消", 0), ; /** @@ -44,9 +41,18 @@ public enum EWithdrawStatus { * 是否启用(0=是,1=否) -- 来源EYesNo */ private final int enable; - /** - * 国际化翻译key值 - */ - private final String key; + + + public static String getLabelByValue(Integer value) { + if (null == value) { + return ""; + } + for (EWithdrawStatus enums : EWithdrawStatus.values()) { + if (enums.getValue() == value) { + return enums.getLabel(); + } + } + return ""; + } } From b3fff4dd1106c139294312fe26acaebf219aca41 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Wed, 20 Aug 2025 11:40:13 +0800 Subject: [PATCH 04/78] =?UTF-8?q?##=20Opt=20-=20=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E5=81=BF=E5=BC=82=E5=B8=B8=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/OnlinePaymentController.java | 16 ++ .../pay/jdpay/dto/JdPayQueryOrderRequest.java | 27 +++ .../jdpay/dto/JdPayQueryOrderResponse.java | 197 ++++++++++++++++++ .../com/hzs/third/pay/jdpay/sdk/JdPay.java | 6 +- .../hzs/third/pay/service/IJdPayService.java | 10 +- .../pay/service/impl/JdPayServiceImpl.java | 108 +++++++++- .../pay/service/impl/PayServiceImpl.java | 4 +- .../com/hzs/third/pay/vo/OnlinePaymentVO.java | 2 +- 8 files changed, 353 insertions(+), 17 deletions(-) create mode 100644 bd-third/src/main/java/com/hzs/third/pay/jdpay/dto/JdPayQueryOrderRequest.java create mode 100644 bd-third/src/main/java/com/hzs/third/pay/jdpay/dto/JdPayQueryOrderResponse.java diff --git a/bd-third/src/main/java/com/hzs/third/pay/controller/manage/OnlinePaymentController.java b/bd-third/src/main/java/com/hzs/third/pay/controller/manage/OnlinePaymentController.java index 038fb446..4759b2ef 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/controller/manage/OnlinePaymentController.java +++ b/bd-third/src/main/java/com/hzs/third/pay/controller/manage/OnlinePaymentController.java @@ -2,6 +2,7 @@ package com.hzs.third.pay.controller.manage; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.hzs.common.core.annotation.AccessPermissions; import com.hzs.common.core.annotation.Log; import com.hzs.common.core.constant.EnumsPrefixConstants; @@ -20,6 +21,7 @@ import com.hzs.common.service.ITransactionCommonService; import com.hzs.common.util.TransactionUtils; import com.hzs.third.pay.param.OnlinePaymentParam; import com.hzs.third.pay.param.OnlinePaymentRetryParam; +import com.hzs.third.pay.service.IJdPayService; import com.hzs.third.pay.service.IPayService; import com.hzs.third.pay.service.ITOnlinePaymentService; import com.hzs.third.pay.vo.OnlinePaymentVO; @@ -43,6 +45,8 @@ public class OnlinePaymentController extends BaseController { private ITOnlinePaymentService itOnlinePaymentService; @Autowired private IPayService iPayService; + @Autowired + private IJdPayService iJdPayService; @Autowired private ITransactionCommonService iTransactionCommonService; @@ -139,4 +143,16 @@ public class OnlinePaymentController extends BaseController { return toAjax(iPayService.retryHandle(tOnlinePayment, false)); } + /** + * 补偿支付回调 + * + * @param param 业务重试入参 + * @return + */ + @Log(module = EOperationModule.ONLINE_PAY_DETAIL, business = EOperationBusiness.ONLINE_PAY_DETAIL, method = EOperationMethod.SUBMIT) + @GetMapping("/compensationCallBack") + public AjaxResult compensationCallBack(@RequestParam("businessCode") String businessCode) { + return iJdPayService.compensationCallBack(businessCode); + } + } diff --git a/bd-third/src/main/java/com/hzs/third/pay/jdpay/dto/JdPayQueryOrderRequest.java b/bd-third/src/main/java/com/hzs/third/pay/jdpay/dto/JdPayQueryOrderRequest.java new file mode 100644 index 00000000..96be5cad --- /dev/null +++ b/bd-third/src/main/java/com/hzs/third/pay/jdpay/dto/JdPayQueryOrderRequest.java @@ -0,0 +1,27 @@ +package com.hzs.third.pay.jdpay.dto; + + +import java.io.Serializable; + +public class JdPayQueryOrderRequest implements Serializable { + /** + * 商户订单号 + */ + private String outTradeNo; + + + public String getOutTradeNo() { + return outTradeNo; + } + + public void setOutTradeNo(String outTradeNo) { + this.outTradeNo = outTradeNo; + } + + @Override + public String toString() { + return "{ \"outTradeNo\":\"" + outTradeNo + "\"" + + "}" + ; + } +} diff --git a/bd-third/src/main/java/com/hzs/third/pay/jdpay/dto/JdPayQueryOrderResponse.java b/bd-third/src/main/java/com/hzs/third/pay/jdpay/dto/JdPayQueryOrderResponse.java new file mode 100644 index 00000000..7900664a --- /dev/null +++ b/bd-third/src/main/java/com/hzs/third/pay/jdpay/dto/JdPayQueryOrderResponse.java @@ -0,0 +1,197 @@ +package com.hzs.third.pay.jdpay.dto; + +import java.io.Serializable; + +public class JdPayQueryOrderResponse implements Serializable { + /** + * 京东交易订单号 + */ + private String tradeNo; + /** + * 商户订单号 + */ + private String outTradeNo; + /** + * 订单总金额 + */ + private String tradeAmount; + /** + * 支付完成时间 + */ + private String finishDate; + /** + * 交易类型 + */ + private String tradeType; + /** + * 交易状态 + */ + private String tradeStatus; + /** + * 回传字段 + */ + private String returnParams; + /** + * 商户用户标识 + */ + private String userId; + /** + * 优惠金额 + */ + private String discountAmount; + /** + * 支付工具 + */ + private String payTool; + /** + * ] + * 掩码卡号 + */ + private String maskCardNo; + /** + * 卡类型 + */ + private String cardType; + /** + * 银行编码 + */ + private String bankCode; + /** + * 白条分期数 + */ + private String installmentNum; + + + public String getTradeNo() { + return tradeNo; + } + + public void setTradeNo(String tradeNo) { + this.tradeNo = tradeNo; + } + + public String getOutTradeNo() { + return outTradeNo; + } + + public void setOutTradeNo(String outTradeNo) { + this.outTradeNo = outTradeNo; + } + + public String getTradeAmount() { + return tradeAmount; + } + + public void setTradeAmount(String tradeAmount) { + this.tradeAmount = tradeAmount; + } + + public String getFinishDate() { + return finishDate; + } + + public void setFinishDate(String finishDate) { + this.finishDate = finishDate; + } + + public String getTradeType() { + return tradeType; + } + + public void setTradeType(String tradeType) { + this.tradeType = tradeType; + } + + public String getTradeStatus() { + return tradeStatus; + } + + public void setTradeStatus(String tradeStatus) { + this.tradeStatus = tradeStatus; + } + + public String getReturnParams() { + return returnParams; + } + + public void setReturnParams(String returnParams) { + this.returnParams = returnParams; + } + + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + public String getDiscountAmount() { + return discountAmount; + } + + public void setDiscountAmount(String discountAmount) { + this.discountAmount = discountAmount; + } + + public String getPayTool() { + return payTool; + } + + public void setPayTool(String payTool) { + this.payTool = payTool; + } + + public String getMaskCardNo() { + return maskCardNo; + } + + public void setMaskCardNo(String maskCardNo) { + this.maskCardNo = maskCardNo; + } + + public String getCardType() { + return cardType; + } + + public void setCardType(String cardType) { + this.cardType = cardType; + } + + public String getBankCode() { + return bankCode; + } + + public void setBankCode(String bankCode) { + this.bankCode = bankCode; + } + + public String getInstallmentNum() { + return installmentNum; + } + + public void setInstallmentNum(String installmentNum) { + this.installmentNum = installmentNum; + } + + @Override + public String toString() { + return "{\"tradeNo\":\"" + tradeNo + "\"" + + ", \"outTradeNo\":\"" + outTradeNo + "\"" + + ", \"tradeAmount\":\"" + tradeAmount + "\"" + + ", \"finishDate\":\"" + finishDate + "\"" + + ", \"tradeType\":\"" + tradeType + "\"" + + ", \"tradeStatus\":\"" + tradeStatus + "\"" + + ", \"returnParams\":\"" + returnParams + "\"" + + ", \"userId\":\"" + userId + "\"" + + ", \"discountAmount\":\"" + discountAmount + "\"" + + ", \"payTool\":\"" + payTool + "\"" + + ", \"maskCardNo\":\"" + maskCardNo + "\"" + + ", \"cardType\":\"" + cardType + "\"" + + ", \"bankCode\":\"" + bankCode + "\"" + + ", \"installmentNum\":\"" + installmentNum + "\"" + + "}" + ; + } +} diff --git a/bd-third/src/main/java/com/hzs/third/pay/jdpay/sdk/JdPay.java b/bd-third/src/main/java/com/hzs/third/pay/jdpay/sdk/JdPay.java index f5898780..82ac5acc 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/jdpay/sdk/JdPay.java +++ b/bd-third/src/main/java/com/hzs/third/pay/jdpay/sdk/JdPay.java @@ -56,9 +56,9 @@ public class JdPay { // * @return JdPayQueryOrderResponse 返回数据 // * @throws Exception // */ -// public JdPayQueryOrderResponse queryOrder(JdPayQueryOrderRequest request) throws Exception { -// return this.baseExecute(JdPayConstant.TRADE_QUERY_URL, request, JdPayQueryOrderResponse.class); -// } + public JdPayQueryOrderResponse queryOrder(JdPayQueryOrderRequest request) throws Exception { + return this.baseExecute(JdPayConstant.TRADE_QUERY_URL, request, JdPayQueryOrderResponse.class); + } // // /** // * 作用:代扣 diff --git a/bd-third/src/main/java/com/hzs/third/pay/service/IJdPayService.java b/bd-third/src/main/java/com/hzs/third/pay/service/IJdPayService.java index 15b633c2..59023f71 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/service/IJdPayService.java +++ b/bd-third/src/main/java/com/hzs/third/pay/service/IJdPayService.java @@ -2,6 +2,7 @@ package com.hzs.third.pay.service; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.EDataSource; +import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.domain.third.pay.TOnlinePayment; /** @@ -34,5 +35,12 @@ public interface IJdPayService { * @return */ R cashRegister(TOnlinePayment onlinePayment, EDataSource dataSource); - + /** + * 收银台支付 + * + * @param onlinePayment + * @param dataSource + * @return + */ + AjaxResult compensationCallBack(String businessCode); } diff --git a/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java b/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java index 6ecd8646..7ef499e6 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java +++ b/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java @@ -2,12 +2,12 @@ package com.hzs.third.pay.service.impl; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.hzs.common.core.config.BdConfig; import com.hzs.common.core.domain.R; -import com.hzs.common.core.enums.EBindStatus; -import com.hzs.common.core.enums.EDataSource; -import com.hzs.common.core.enums.EEnv; +import com.hzs.common.core.enums.*; import com.hzs.common.core.utils.DateUtils; +import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.domain.third.pay.TOnlineCard; import com.hzs.common.domain.third.pay.TOnlinePayment; import com.hzs.common.domain.third.pay.TOnlinePaymentSepAcc; @@ -25,16 +25,10 @@ import com.hzs.third.pay.dto.jd.JdScanDTO; import com.hzs.third.pay.dto.jd.JdScanResult; import com.hzs.third.pay.enums.EJdAppType; import com.hzs.third.pay.enums.EJdTerminalType; -import com.hzs.third.pay.jdpay.dto.JdPayAggregateCreateOrderRequest; -import com.hzs.third.pay.jdpay.dto.JdPayAggregateCreateOrderResponse; -import com.hzs.third.pay.jdpay.dto.JdPayDivisionAccount; -import com.hzs.third.pay.jdpay.dto.JdPayDivisionAccountTradeInfo; +import com.hzs.third.pay.jdpay.dto.*; import com.hzs.third.pay.jdpay.sdk.JdPay; import com.hzs.third.pay.jdpay.util.GsonUtil; -import com.hzs.third.pay.service.IJdPayService; -import com.hzs.third.pay.service.ITOnlineCardService; -import com.hzs.third.pay.service.ITOnlinePaymentSepAccService; -import com.hzs.third.pay.service.ITOnlinePaymentService; +import com.hzs.third.pay.service.*; import com.hzs.third.pay.util.JdPayUtil; import com.hzs.third.pay.util.PayUtil; import lombok.extern.slf4j.Slf4j; @@ -48,6 +42,7 @@ import java.math.BigDecimal; import java.net.InetAddress; import java.util.ArrayList; import java.util.Comparator; +import java.util.Date; import java.util.List; import java.util.concurrent.TimeUnit; @@ -73,6 +68,8 @@ public class JdPayServiceImpl implements IJdPayService { @Autowired private ITOnlinePaymentService itOnlinePaymentService; + @Autowired + private IPayService iPayService; @Resource private JdPayWechatAlipayProperties jdPayWechatAlipayProperties; @@ -336,5 +333,94 @@ public class JdPayServiceImpl implements IJdPayService { } } + @Override + public AjaxResult compensationCallBack(String businessCode) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TOnlinePayment::getBusinessCode, businessCode); + queryWrapper.eq(TOnlinePayment::getDelFlag, EDelFlag.UN_DELETE.getValue()); + TOnlinePayment tOnlinePayment = itOnlinePaymentService.getOne(queryWrapper, false); + if(ObjectUtil.isEmpty(tOnlinePayment)){ + return AjaxResult.error("订单不存在"); + } + JdPayQueryOrderRequest request = new JdPayQueryOrderRequest(); + request.setOutTradeNo(tOnlinePayment.getBusinessCode()); + JdPayQueryOrderResponse response = null; + try { + response = jdPay.queryOrder(request); + if (ObjectUtil.isEmpty(response.getTradeNo()) || EPayStatus.PAID.getValue() == tOnlinePayment.getPayStatus()) { + log.error("支付信息不存在或已支付"); + return AjaxResult.success("已支付订单 无需补偿回调!"); + } + log.info("queryOrder : {}", JSONUtil.toJsonStr(response)); + { + // 支付成功处理 + + // 商户订单号 + String payNumber = response.getTradeNo(); + // 渠道流水号 + String channelNumber = ""; + // 支付完成时间 + Date payTime = DateUtils.parseDateOne(response.getFinishDate(), DateUtils.YAMMERERS); + + // 回调订单编号 + String thirdOrderCode = response.getOutTradeNo(); + // 订单编号 + String acqOrderId = "compensationCallBack"; + + // 订单金额 + int tradeAmount = Integer.parseInt(response.getTradeAmount()); + BigDecimal payMoney = new BigDecimal(tradeAmount).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP); + Integer payType = convertPayType(response.getPayTool()); + // 支付后续业务处理 + if (iPayService.notifyHandle(tOnlinePayment.getBusinessType().toString() , thirdOrderCode, thirdOrderCode, payNumber, payTime, payMoney, EPayChannel.JD, channelNumber, payType, acqOrderId)) { + return AjaxResult.success(); + } + } + } catch (Exception e) { + throw new RuntimeException(e); + } + return AjaxResult.success(); + } + + + /** + * 京东收银台处理成功返回 + */ + private static final String SUCCESS = "SUCCESS"; + /** + * 京东收银台处理失败返回 + */ + private static final String ERROR = "ERROR"; + private Integer convertPayType(String payName){ + Integer result = EPayType.WECHAT.getValue(); + switch (payName){ + case "XJK": + result = EPayType.MINI_TREASURY.getValue(); + break; + case "JIOU": + result = EPayType.CREDIT_LINE.getValue(); + break; + case "SJIOU": + result = EPayType.SUPER_CREDIT_LINE.getValue(); + break; + case "ACCT": + result = EPayType.WALLET_BALANCE.getValue(); + break; + case "EXPR": + result = EPayType.BANK_CARD.getValue(); + break; + case "WX": + result = EPayType.WECHAT.getValue(); + break; + case "ALIPAY": + result = EPayType.ALIPAY.getValue(); + break; + case "YSF": + result = EPayType.CLOUD_PAY.getValue(); + break; + + } + return result; + } } diff --git a/bd-third/src/main/java/com/hzs/third/pay/service/impl/PayServiceImpl.java b/bd-third/src/main/java/com/hzs/third/pay/service/impl/PayServiceImpl.java index f7bec7cf..f9892790 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/service/impl/PayServiceImpl.java +++ b/bd-third/src/main/java/com/hzs/third/pay/service/impl/PayServiceImpl.java @@ -124,8 +124,10 @@ public class PayServiceImpl implements IPayService { Integer payType, String acqOrderId) { Long pkId = null; String redisKey = CacheConstants.ONLINE_PAY_KEY + businessCode; - try { + if(!redisService.lockKeyOnce(redisKey, 10)){ + return false; + } // 校验支付信息状态、业务与支付金额是否一致等 TOnlinePayment onlinePayment = itOnlinePaymentService.queryByBusiness( ObjectUtil.isNotEmpty(businessType) ? Integer.valueOf(businessType) : null diff --git a/bd-third/src/main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java b/bd-third/src/main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java index e6d65712..a297c982 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java +++ b/bd-third/src/main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java @@ -91,7 +91,7 @@ public class OnlinePaymentVO { /** * 支付状态(0=未支付,1=已支付) */ - @JsonIgnore +// @JsonIgnore @Transaction(transactionKey = EnumsPrefixConstants.PAY_STATUS) private Integer payStatus; /** From d79cd0a91adb030b46b2c668d03ae1d88793d6d5 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Fri, 22 Aug 2025 16:45:17 +0800 Subject: [PATCH 05/78] =?UTF-8?q?##=20=E8=AE=A2=E5=8D=95=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=B8=8D=E5=BC=BA=E5=88=B6=E5=88=A4=E6=96=AD=E4=BD=93=E7=B3=BB?= =?UTF-8?q?=E5=BF=85=E9=A1=BB=E5=AD=98=E5=9C=A8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/sale/order/SaOrderItemsMapper.xml | 4 ++-- .../src/main/resources/mapper/sale/order/SaOrderMapper.xml | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml index 780c9c47..368ab9d9 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderItemsMapper.xml @@ -771,11 +771,11 @@ left join sa_order so on oi.PK_ORDER = so.PK_ID left join cu_member m on m.PK_ID = so.PK_CREATOR left join cu_member cm on cm.PK_ID = so.PK_MEMBER - left join bd_vertex ver on ver.PK_ID = cm.PK_VERTEX + left join bd_vertex ver on ver.PK_ID = cm.PK_VERTEX and ver.del_flag = 0 left join bd_wares_extend we on we.PK_WARES = oi.PK_WARES left join bd_wares bw on bw.PK_ID = we.PK_WARES left join bd_product bp on bp.PK_ID = oi.PK_PRODUCT - where oi.del_flag = 0 and so.del_flag = 0 and ver.del_flag = 0 + where oi.del_flag = 0 and so.del_flag = 0 and oi.pk_order in ( select distinct soi.pk_order diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml index b15bf328..fc9c08cc 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/order/SaOrderMapper.xml @@ -658,9 +658,8 @@ from sa_order so left join CU_MEMBER cm on cm.PK_ID = so.PK_MEMBER left join CU_MEMBER m on m.PK_ID = so.PK_CREATOR - left join BD_VERTEX ver on ver.PK_ID = cm.PK_VERTEX + left join BD_VERTEX ver on ver.PK_ID = cm.PK_VERTEX and ver.DEL_FLAG = 0 where so.DEL_FLAG = 0 - and ver.DEL_FLAG = 0 and so.PK_ID in ( select distinct soi.pk_order From 26053da65e5195d92cde33b0eec44d2d499c4602 Mon Sep 17 00:00:00 2001 From: woody Date: Mon, 25 Aug 2025 16:08:26 +0800 Subject: [PATCH 06/78] =?UTF-8?q?fix(BdWaresExtend):=20=E5=95=86=E5=93=81?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E4=B8=8A=E4=B8=8B=E6=9E=B6=E5=8F=8A?= =?UTF-8?q?=E9=A2=84=E8=AE=A1=E5=8F=91=E8=B4=A7=E6=97=B6=E9=97=B4=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E4=BC=A0=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hzs/common/domain/sale/wares/BdWaresExtend.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWaresExtend.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWaresExtend.java index 74687f79..523bb7a6 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWaresExtend.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/wares/BdWaresExtend.java @@ -86,13 +86,13 @@ public class BdWaresExtend extends BaseEntity { /** * 上架时间 */ - @TableField("PUT_ON_TIME") + @TableField(value = "PUT_ON_TIME", jdbcType = JdbcType.DATE, updateStrategy = FieldStrategy.IGNORED) private Date putOnTime; /** * 下架时间 */ - @TableField("PUT_OFF_TIME") + @TableField(value = "PUT_OFF_TIME", jdbcType = JdbcType.DATE, updateStrategy = FieldStrategy.IGNORED) private Date putOffTime; /** @@ -134,7 +134,7 @@ public class BdWaresExtend extends BaseEntity { /** * (预计时间)到货时间 */ - @TableField("ARRIVAL_TIME") + @TableField(value = "ARRIVAL_TIME", jdbcType = JdbcType.DATE, updateStrategy = FieldStrategy.IGNORED) private Date arrivalTime; /** From b69793ab2a26b15328c6d939e51b508091be28be Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 27 Aug 2025 09:05:59 +0800 Subject: [PATCH 07/78] =?UTF-8?q?##=20=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=B7=BB=E5=8A=A0=E5=95=86=E5=93=81=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sale/order/controller/manager/SaOrderController.java | 2 ++ .../main/java/com/hzs/sale/order/vo/WaresOrderInfoVo.java | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderController.java index bbb1ee90..92488697 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/manager/SaOrderController.java @@ -301,6 +301,8 @@ public class SaOrderController extends ParentOrderController { if (StringUtils.isNotBlank(waresOrderVo.getOperateScope())) { waresOrderVo.setOperateScope(ESupplyWay.getLabelByVal(Integer.parseInt(waresOrderVo.getOperateScope()))); } + // 商品类型 + waresOrderVo.setIsMakerGiftVal(EWaresType.getLabelByValue(waresOrderVo.getIsMakerGift())); // 发货类型 waresOrderVo.setShippingChannelStr(EShippingChannel.getLabelByValue(waresOrderVo.getShippingChannel())); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/vo/WaresOrderInfoVo.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/vo/WaresOrderInfoVo.java index 01d11bef..a76c9ab2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/vo/WaresOrderInfoVo.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/vo/WaresOrderInfoVo.java @@ -292,6 +292,13 @@ public class WaresOrderInfoVo implements Serializable { */ private Integer systemType; + /** + * 商品类型 + */ + private Integer isMakerGift; + @Excel(name = "商品类型") + private String isMakerGiftVal; + /** * 创建时间 */ From c7a4d7be1692229ffcc1624e373366f2705298ba Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 27 Aug 2025 10:50:46 +0800 Subject: [PATCH 08/78] =?UTF-8?q?##=20=E4=B8=93=E5=8C=BA=E5=95=86=E5=93=81?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=B7=BB=E5=8A=A0=E7=AD=89=E7=BA=A7=E3=80=81?= =?UTF-8?q?=E5=A5=96=E8=A1=94=E6=9D=83=E9=99=90=E5=88=A4=E6=96=AD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BdWaresServiceImpl.java | 45 +++++++++++++++---- .../mapper/sale/wares/BdWaresMapper.xml | 1 - 2 files changed, 37 insertions(+), 9 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java index e269c2d3..3f46d112 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java @@ -1,6 +1,7 @@ package com.hzs.sale.wares.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -1244,6 +1245,23 @@ public class BdWaresServiceImpl extends ServiceImpl impl specialAreaList = saList; } + // 查询推荐商品 + List recommendWaresList = this.selectByRecommentList(pkCountry, specialAreaList); + // 校验商品奖衔和等级/团队权限 + List waresIdList = recommendWaresList.stream().map(BdWares::getPkId).collect(Collectors.toList()); + Set waresIdSet = new HashSet<>(); + List authWaresList = new ArrayList<>(); + if (waresIdList.size() > 0) { + // 处理商品权限 + List waresGradeAwardsList = iBdWaresGradeService.queryWaresGradeAwards(waresIdList); + // 先处理没有配置等级、奖衔的商品 + waresGradeAwardsList.forEach(waresGradeAwards -> { + waresIdSet.add(waresGradeAwards.getPkWares()); + String key = waresGradeAwards.getPkWares() + "_" + waresGradeAwards.getRangeType() + "_" + waresGradeAwards.getPkRange().toString(); + authWaresList.add(key); + }); + } + RecommendWaresInfoVo recommendWaresInfoVo = new RecommendWaresInfoVo(); // 推荐专区 List resultList = new ArrayList<>(); @@ -1263,16 +1281,27 @@ public class BdWaresServiceImpl extends ServiceImpl impl recommendSpecialAreaVo.setSpecialAreaName(sArea.getLabel()); resultList.add(recommendSpecialAreaVo); - // 推荐商品 取值前两个 - List waresList = this.queryByRecommendList(specialArea, EYesNo.YES.getIntValue(), pkCountry, waresShowMap); List filterList = new ArrayList<>(); - if (waresList.size() > 3) { - filterList.add(waresList.get(0)); - filterList.add(waresList.get(1)); - filterList.add(waresList.get(2)); - } else { - filterList.addAll(waresList); + // 推荐商品,TODO 此处查询推荐商品,可以先全查出来在内存进行分专区处理,后续有时间可以优化 + List waresList = this.queryByRecommendList(specialArea, EYesNo.YES.getIntValue(), pkCountry, waresShowMap); + if (CollectionUtil.isNotEmpty(waresList)) { + for (BdWaresExt waresExt : waresList) { + if (waresIdSet.contains(waresExt.getPkId())) { + String gradeKey = waresExt.getPkId() + "_" + ERangeType.GRADE.getValue() + "_" + loginMember.getPkSettleGrade(); + String awardsKey = waresExt.getPkId() + "_" + ERangeType.AWARDS.getValue() + "_" + loginMember.getPkAwards(); + String authorityKey = waresExt.getPkId() + "_" + ERangeType.AUTHORITY.getValue() + "_" + loginMember.getRegisterAuthority(); + if (!authWaresList.contains(gradeKey) && !authWaresList.contains(awardsKey) && !authWaresList.contains(authorityKey)) { + continue; + } + } + if (filterList.size() > 2) { + break; + } else { + filterList.add(waresExt); + } + } } + List waresVoList = filterList.stream().map(wl -> { WaresVo waresVo = new WaresVo(); waresVo.setPkWares(wl.getPkId()); diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml index 521a2d68..7264e341 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml @@ -414,7 +414,6 @@ diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderRevokeService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderRevokeService.java index 775d54e6..a4d53051 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderRevokeService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/ISaOrderRevokeService.java @@ -4,21 +4,16 @@ import com.hzs.common.domain.sale.order.SaOrder; import com.hzs.system.sys.dto.LoginUser; /** - * @Description: 撤单的service - * @Author: sui q - * @Time: 2022/10/27 10:49 - * @Classname: ISaOrderRevokeService - * @PackageName: com.hzs.sale.order.service + * 撤单的service */ public interface ISaOrderRevokeService { /** * 撤销订单 - * @param saOrder 需要销售的订单信息 + * + * @param saOrder 需要销售的订单信息 * @param loginUser 登录用户 - * @return: void - * @Author: sui q - * @Date: 2022/10/27 10:51 - */ + */ void revokeSaOrder(SaOrder saOrder, LoginUser loginUser); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderRevokeServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderRevokeServiceImpl.java index b3b219ed..1c4c8623 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderRevokeServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderRevokeServiceImpl.java @@ -1,10 +1,8 @@ package com.hzs.sale.order.service.impl; import cn.hutool.json.JSONUtil; -import com.google.gson.JsonObject; import com.hzs.common.core.enums.EApprovalBusiness; import com.hzs.common.domain.sale.order.SaOrder; -import com.hzs.common.security.utils.SecurityUtils; import com.hzs.sale.order.service.ISaOrderRevokeService; import com.hzs.system.sys.IApprovalServiceApi; import com.hzs.system.sys.dto.ApprovalSubmitDTO; @@ -13,17 +11,13 @@ import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.stereotype.Service; /** - * @Description: 撤单逻辑类 - * @Author: sui q - * @Time: 2022/10/27 10:50 - * @Classname: SaOrderRevokeServiceImpl - * @PackageName: com.hzs.sale.order.service.impl + * 撤单逻辑类 */ @Service public class SaOrderRevokeServiceImpl implements ISaOrderRevokeService { @DubboReference - private IApprovalServiceApi approvalServiceApi; + IApprovalServiceApi iApprovalServiceApi; @Override public void revokeSaOrder(SaOrder saOrder, LoginUser loginUser) { @@ -32,6 +26,6 @@ public class SaOrderRevokeServiceImpl implements ISaOrderRevokeService { .businessCode(saOrder.getOrderCode()) .businessData(JSONUtil.toJsonStr(saOrder)) .build(); - approvalServiceApi.submit(approvalSubmitDTO, loginUser); + iApprovalServiceApi.submit(approvalSubmitDTO, loginUser); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/mapper/BdCurrencyMapper.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/mapper/BdCurrencyMapper.java index 605ac7cc..ef430283 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/mapper/BdCurrencyMapper.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/mapper/BdCurrencyMapper.java @@ -1,16 +1,10 @@ package com.hzs.system.base.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.system.base.BdCurrency; /** - *

* 币种表 Mapper 接口 - *

- * - * @author hzs - * @since 2022-08-04 */ public interface BdCurrencyMapper extends BaseMapper { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/IBdCurrencyService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/IBdCurrencyService.java index be79932e..166d9334 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/IBdCurrencyService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/IBdCurrencyService.java @@ -6,22 +6,12 @@ import com.hzs.common.domain.system.base.BdCurrency; import java.math.BigDecimal; import java.util.List; -/** - * @Description: - * @Author: yuhui - * @Time: 2022/8/29 10:59 - * @Classname: IBdCurrencyService - * @PackageName: com.hzs.system.base.service - */ public interface IBdCurrencyService extends IService { /** * 根据国家获得币种 * * @param pkCountry 国家 - * @return: BdCurrency - * @Author: sui q - * @Date: 2022/9/8 15:05 */ BdCurrency getCurrency(Integer pkCountry); @@ -50,10 +40,6 @@ public interface IBdCurrencyService extends IService { /** * 查询所有的币种汇率 - * - * @return: List - * @Author: sui q - * @Date: 2023/3/4 16:06 */ List queryAllBdCurrency(); @@ -61,9 +47,6 @@ public interface IBdCurrencyService extends IService { * 更新汇率根据id * * @param pkId 主键 - * @return: void - * @Author: sui q - * @Date: 2023/3/10 15:37 */ void updateCurrencyById(Integer pkId); diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/impl/BdCurrencyServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/impl/BdCurrencyServiceImpl.java index bef16cb7..05d9e80a 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/impl/BdCurrencyServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/base/service/impl/BdCurrencyServiceImpl.java @@ -18,20 +18,13 @@ import java.math.RoundingMode; import java.util.List; /** - * Created with IntelliJ IDEA. - * - * @Author: yuhui - * @Description: 币种服务类 + * 币种服务类 */ @Service public class BdCurrencyServiceImpl extends ServiceImpl implements IBdCurrencyService { - private RedisService redisService; - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } + private RedisService redisService; @Override public BdCurrency getCurrency(Integer pkCountry) { @@ -69,11 +62,6 @@ public class BdCurrencyServiceImpl extends ServiceImpl * 自动提现明细表 前端控制器 - *

- * - * @author zhangjing - * @since 2022-08-31 */ @Slf4j @RestController @@ -34,98 +26,66 @@ import java.util.List; public class BdWithdrawalAutoController extends BaseController { @Autowired - private IBdWithdrawalAutoService withdrawalAutoService; - private RedisService redisService; - - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } + private IBdWithdrawalAutoService iBdWithdrawalAutoService; /** - * @description: 查询自动提现设置列表 - * @author: zhang jing - * @date: 2022/8/30 10:20 - * @param: [bdWithdrawal] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 查询自动提现设置列表 **/ @GetMapping("/list") public TableDataInfo list(BdWithdrawalAuto withdrawalAuto) { startPage(); withdrawalAuto.setPkCountry(SecurityUtils.getPkCountry()); - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY",SecurityUtils.getPkCountry()); - if(StringUtils.isNotNull(withdrawalAuto.getPkWithdrawal())){ - queryWrapper.eq("PK_WITHDRAWAL",withdrawalAuto.getPkWithdrawal()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWithdrawalAuto::getPkCountry, SecurityUtils.getPkCountry()); + if (StringUtils.isNotNull(withdrawalAuto.getPkWithdrawal())) { + queryWrapper.eq(BdWithdrawalAuto::getPkWithdrawal, withdrawalAuto.getPkWithdrawal()); } - queryWrapper.orderByDesc("CREATION_TIME"); - List list = withdrawalAutoService.list(queryWrapper); + queryWrapper.orderByDesc(BdWithdrawalAuto::getCreationTime); + List list = iBdWithdrawalAutoService.list(queryWrapper); return getDataTable(list); } - /** - * @description: 新增自动提现设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [bdWithdrawal] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 新增自动提现设置 **/ @PostMapping("/save") public AjaxResult save(@RequestBody BdWithdrawalAuto withdrawalAuto) { withdrawalAuto.setPkCountry(SecurityUtils.getPkCountry()); withdrawalAuto.setPkCreator(SecurityUtils.getUserId()); withdrawalAuto.setCreationTime(new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL_AUTO + SecurityUtils.getPkCountry()); - return toAjax(withdrawalAutoService.save(withdrawalAuto)); + return toAjax(iBdWithdrawalAutoService.save(withdrawalAuto)); } - /** - * @description: 修改自动提现设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [bdWithdrawal] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 修改自动提现设置 **/ @PostMapping("/update") public AjaxResult update(@RequestBody BdWithdrawalAuto withdrawalAuto) { withdrawalAuto.setPkModified(SecurityUtils.getUserId()); withdrawalAuto.setModifiedTime(new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL_AUTO + SecurityUtils.getPkCountry()); - return toAjax(withdrawalAutoService.updateById(withdrawalAuto)); + return toAjax(iBdWithdrawalAutoService.updateById(withdrawalAuto)); } - /** - * @description: 查询单条自动提现设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 查询单条自动提现设置 **/ @GetMapping("/getOne/{pkId}") public AjaxResult getOne(@PathVariable Long pkId) { - BdWithdrawalAuto withdrawalAuto = withdrawalAutoService.getById(pkId); + BdWithdrawalAuto withdrawalAuto = iBdWithdrawalAutoService.getById(pkId); return AjaxResult.success(withdrawalAuto); } - /** - * @description: 删除自动提现设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 删除自动提现设置 **/ @DeleteMapping("/{pkId}") public AjaxResult delete(@PathVariable Long pkId) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("PK_ID", pkId); - updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue()); - updateWrapper.set("PK_MODIFIED", SecurityUtils.getUserId()); - updateWrapper.set("MODIFIED_TIME", new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL_AUTO + SecurityUtils.getPkCountry()); - return toAjax(withdrawalAutoService.update(updateWrapper)); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(BdWithdrawalAuto::getPkId, pkId); + updateWrapper.set(BdWithdrawalAuto::getDelFlag, EDelFlag.DELETE.getValue()); + updateWrapper.set(BdWithdrawalAuto::getPkModified, SecurityUtils.getUserId()); + updateWrapper.set(BdWithdrawalAuto::getModifiedTime, new Date()); + return toAjax(iBdWithdrawalAutoService.update(updateWrapper)); } + } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalController.java index 887056ed..78c79754 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalController.java @@ -1,12 +1,10 @@ package com.hzs.system.config.controller.manage; - import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.hzs.common.core.annotation.Log; -import com.hzs.common.core.constant.CacheConstants; import com.hzs.common.core.constant.msg.ConfigMsgConstants; import com.hzs.common.core.enums.*; import com.hzs.common.core.service.RedisService; @@ -21,13 +19,10 @@ import com.hzs.common.domain.system.config.ext.BdWithdrawalAutoExt; import com.hzs.common.domain.system.config.ext.BdWithdrawalExt; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.common.util.TransactionUtils; -import com.hzs.system.base.ITransactionServiceApi; import com.hzs.system.base.service.IBdCurrencyService; -import com.hzs.system.config.IWithdrawalServiceApi; import com.hzs.system.config.service.IBdWithdrawalAutoService; import com.hzs.system.config.service.IBdWithdrawalService; import lombok.extern.slf4j.Slf4j; -import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -38,12 +33,7 @@ import java.util.Date; import java.util.List; /** - *

* 提现设置主表 前端控制器 - *

- * - * @author zhangjing - * @since 2022-08-29 */ @Slf4j @RestController @@ -51,58 +41,42 @@ import java.util.List; public class BdWithdrawalController extends BaseController { @Autowired - private IBdWithdrawalService withdrawalService; - @DubboReference - private ITransactionServiceApi iTransactionServiceApi; - private RedisService redisService; - @DubboReference - private IWithdrawalServiceApi withdrawalServiceApi; + private IBdWithdrawalService iBdWithdrawalService; @Autowired - private IBdWithdrawalAutoService withdrawalAutoService; + private IBdWithdrawalAutoService iBdWithdrawalAutoService; @Autowired - IBdCurrencyService currencyService; - - - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } - + private IBdCurrencyService iBdCurrencyService; /** - * @description: 查询提现设置列表 理论每个国家只有一个提现配置 - * @author: zhang jing - * @date: 2022/8/30 10:20 - * @param: [withdrawalParam] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 查询提现设置列表 理论每个国家只有一个提现配置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_CONFIG,method = EOperationMethod.SELECT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_CONFIG, method = EOperationMethod.SELECT) @GetMapping("/list") public TableDataInfo list(BdWithdrawalExt withdrawalExt) { startPage(); withdrawalExt.setPkCountry(SecurityUtils.getPkCountry()); - List listExt = withdrawalService.listExt(withdrawalExt); - for(BdWithdrawalExt bwd: listExt){ - //暂时使用中国 - if(StringUtils.isNotNull(bwd.getMinAmount())){ - bwd.setMinAmountUsa(currencyService.getDollar(bwd.getMinAmount(),SecurityUtils.getPkCountry())); + List listExt = iBdWithdrawalService.listExt(withdrawalExt); + for (BdWithdrawalExt bwd : listExt) { + //暂时使用中国 + if (StringUtils.isNotNull(bwd.getMinAmount())) { + bwd.setMinAmountUsa(iBdCurrencyService.getDollar(bwd.getMinAmount(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getMaxAmount())){ - bwd.setMaxAmountUsa(currencyService.getDollar(bwd.getMaxAmount(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getMaxAmount())) { + bwd.setMaxAmountUsa(iBdCurrencyService.getDollar(bwd.getMaxAmount(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getLowerBound())){ - bwd.setLowerBoundUsa(currencyService.getDollar(bwd.getLowerBound(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getLowerBound())) { + bwd.setLowerBoundUsa(iBdCurrencyService.getDollar(bwd.getLowerBound(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getUpperBound())){ - bwd.setUpperBoundUsa(currencyService.getDollar(bwd.getUpperBound(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getUpperBound())) { + bwd.setUpperBoundUsa(iBdCurrencyService.getDollar(bwd.getUpperBound(), SecurityUtils.getPkCountry())); } - QueryWrapper queryWrapperAuto = new QueryWrapper(); - queryWrapperAuto.eq("PK_COUNTRY",SecurityUtils.getPkCountry()); - if(StringUtils.isNotNull(bwd.getPkId())){ - queryWrapperAuto.eq("PK_WITHDRAWAL",bwd.getPkId()); + LambdaQueryWrapper queryWrapperAuto = new LambdaQueryWrapper<>(); + queryWrapperAuto.eq(BdWithdrawalAuto::getPkCountry, SecurityUtils.getPkCountry()); + if (StringUtils.isNotNull(bwd.getPkId())) { + queryWrapperAuto.eq(BdWithdrawalAuto::getPkWithdrawal, bwd.getPkId()); } - List listAuto = withdrawalAutoService.list(queryWrapperAuto); + List listAuto = iBdWithdrawalAutoService.list(queryWrapperAuto); List watExtList = new ArrayList<>(); listAuto.forEach(item -> watExtList.add(BeanUtil.copyProperties(item, BdWithdrawalAutoExt.class))); bwd.setWithdrawalAutoList(watExtList); @@ -111,42 +85,38 @@ public class BdWithdrawalController extends BaseController { } /** - * @description: 导出提现配置 - * @author: zhang jing - * @date: 2023/3/3 16:19 - * @param: [response, withdrawalExt] - * @return: void + * 导出提现配置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_CONFIG,method = EOperationMethod.EXPORT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_CONFIG, method = EOperationMethod.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, BdWithdrawalExt withdrawalExt) { - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY",SecurityUtils.getPkCountry()); - queryWrapper.orderByDesc("CREATION_TIME"); - List list = withdrawalService.list(queryWrapper); - List listExt=new ArrayList<>(); - for(BdWithdrawal bwd: list){ - BdWithdrawalExt withdrawalExtNew= BeanUtil.copyProperties(bwd, BdWithdrawalExt.class); + public void export(HttpServletResponse response) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWithdrawal::getPkCountry, SecurityUtils.getPkCountry()); + queryWrapper.orderByDesc(BdWithdrawal::getCreationTime); + List list = iBdWithdrawalService.list(queryWrapper); + List listExt = new ArrayList<>(); + for (BdWithdrawal bwd : list) { + BdWithdrawalExt withdrawalExtNew = BeanUtil.copyProperties(bwd, BdWithdrawalExt.class); //暂时使用中国 - if(StringUtils.isNotNull(bwd.getMinAmount())){ - withdrawalExtNew.setMinAmountUsa(currencyService.getDollar(bwd.getMinAmount(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getMinAmount())) { + withdrawalExtNew.setMinAmountUsa(iBdCurrencyService.getDollar(bwd.getMinAmount(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getMaxAmount())){ - withdrawalExtNew.setMaxAmountUsa(currencyService.getDollar(bwd.getMaxAmount(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getMaxAmount())) { + withdrawalExtNew.setMaxAmountUsa(iBdCurrencyService.getDollar(bwd.getMaxAmount(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getLowerBound())){ - withdrawalExtNew.setLowerBoundUsa(currencyService.getDollar(bwd.getLowerBound(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getLowerBound())) { + withdrawalExtNew.setLowerBoundUsa(iBdCurrencyService.getDollar(bwd.getLowerBound(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getUpperBound())){ - withdrawalExtNew.setUpperBoundUsa(currencyService.getDollar(bwd.getUpperBound(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getUpperBound())) { + withdrawalExtNew.setUpperBoundUsa(iBdCurrencyService.getDollar(bwd.getUpperBound(), SecurityUtils.getPkCountry())); } - QueryWrapper queryWrapperAuto = new QueryWrapper(); - queryWrapperAuto.eq("PK_COUNTRY",SecurityUtils.getPkCountry()); - if(StringUtils.isNotNull(bwd.getPkId())){ - queryWrapperAuto.eq("PK_WITHDRAWAL",bwd.getPkId()); + LambdaQueryWrapper queryWrapperAuto = new LambdaQueryWrapper<>(); + queryWrapperAuto.eq(BdWithdrawalAuto::getPkCountry, SecurityUtils.getPkCountry()); + if (StringUtils.isNotNull(bwd.getPkId())) { + queryWrapperAuto.eq(BdWithdrawalAuto::getPkWithdrawal, bwd.getPkId()); } - List listAuto = withdrawalAutoService.list(queryWrapperAuto); + List listAuto = iBdWithdrawalAutoService.list(queryWrapperAuto); List watExtList = new ArrayList<>(); listAuto.forEach(item -> watExtList.add(BeanUtil.copyProperties(item, BdWithdrawalAutoExt.class))); withdrawalExtNew.setWithdrawalAutoList(watExtList); @@ -157,43 +127,39 @@ public class BdWithdrawalController extends BaseController { } /** - * @description: 提现手续费配置,理论每个国家只有一个提现配置 - * @author: zhang jing - * @date: 2022/11/2 11:38 - * @param: [withdrawalExt] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 提现手续费配置,理论每个国家只有一个提现配置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_CONFIG,method = EOperationMethod.SELECT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_CONFIG, method = EOperationMethod.SELECT) @GetMapping("/serviceChargelist") - public TableDataInfo serviceChargelist(BdWithdrawalExt withdrawalExt) { + public TableDataInfo serviceChargelist() { startPage(); - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY",SecurityUtils.getPkCountry()); - queryWrapper.orderByDesc("CREATION_TIME"); - List list = withdrawalService.list(queryWrapper); - List listExt=new ArrayList<>(); - for(BdWithdrawal bwd: list){ - BdWithdrawalExt withdrawalExtNew= BeanUtil.copyProperties(bwd, BdWithdrawalExt.class); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWithdrawal::getPkCountry, SecurityUtils.getPkCountry()); + queryWrapper.orderByDesc(BdWithdrawal::getCreationTime); + List list = iBdWithdrawalService.list(queryWrapper); + List listExt = new ArrayList<>(); + for (BdWithdrawal bwd : list) { + BdWithdrawalExt withdrawalExtNew = BeanUtil.copyProperties(bwd, BdWithdrawalExt.class); //暂时使用中国 - if(StringUtils.isNotNull(bwd.getMinAmount())){ - withdrawalExtNew.setMinAmountUsa(currencyService.getDollar(bwd.getMinAmount(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getMinAmount())) { + withdrawalExtNew.setMinAmountUsa(iBdCurrencyService.getDollar(bwd.getMinAmount(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getMaxAmount())){ - withdrawalExtNew.setMaxAmountUsa(currencyService.getDollar(bwd.getMaxAmount(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getMaxAmount())) { + withdrawalExtNew.setMaxAmountUsa(iBdCurrencyService.getDollar(bwd.getMaxAmount(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getLowerBound())){ - withdrawalExtNew.setLowerBoundUsa(currencyService.getDollar(bwd.getLowerBound(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getLowerBound())) { + withdrawalExtNew.setLowerBoundUsa(iBdCurrencyService.getDollar(bwd.getLowerBound(), SecurityUtils.getPkCountry())); } - if(StringUtils.isNotNull(bwd.getUpperBound())){ - withdrawalExtNew.setUpperBoundUsa(currencyService.getDollar(bwd.getUpperBound(),SecurityUtils.getPkCountry())); + if (StringUtils.isNotNull(bwd.getUpperBound())) { + withdrawalExtNew.setUpperBoundUsa(iBdCurrencyService.getDollar(bwd.getUpperBound(), SecurityUtils.getPkCountry())); } - QueryWrapper queryWrapperAuto = new QueryWrapper(); - queryWrapperAuto.eq("PK_COUNTRY",SecurityUtils.getPkCountry()); - if(StringUtils.isNotNull(bwd.getPkId())){ - queryWrapperAuto.eq("PK_WITHDRAWAL",bwd.getPkId()); + LambdaQueryWrapper queryWrapperAuto = new LambdaQueryWrapper<>(); + queryWrapperAuto.eq(BdWithdrawalAuto::getPkCountry, SecurityUtils.getPkCountry()); + if (StringUtils.isNotNull(bwd.getPkId())) { + queryWrapperAuto.eq(BdWithdrawalAuto::getPkWithdrawal, bwd.getPkId()); } - List listAuto = withdrawalAutoService.list(queryWrapperAuto); + List listAuto = iBdWithdrawalAutoService.list(queryWrapperAuto); List watExtList = new ArrayList<>(); listAuto.forEach(item -> watExtList.add(BeanUtil.copyProperties(item, BdWithdrawalAutoExt.class))); withdrawalExtNew.setWithdrawalAutoList(watExtList); @@ -204,155 +170,133 @@ public class BdWithdrawalController extends BaseController { /** - * @description: 新增提现设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [withdrawalParam] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 新增提现设置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_CONFIG,method = EOperationMethod.INSERT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_CONFIG, method = EOperationMethod.INSERT) @PostMapping("/save") public AjaxResult save(@RequestBody @Valid BdWithdrawalExt withdrawalExt) { - if(StringUtils.isNull(withdrawalExt.getMinAmount())){ + if (StringUtils.isNull(withdrawalExt.getMinAmount())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MIN_AMOUNT_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getMaxAmount())){ + if (StringUtils.isNull(withdrawalExt.getMaxAmount())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MAX_AMOUNT_NOT_NULL)); } - if (withdrawalExt.getMaxAmount().compareTo(withdrawalExt.getMinAmount()) <0) { + if (withdrawalExt.getMaxAmount().compareTo(withdrawalExt.getMinAmount()) < 0) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.COMPARISON_OF_SIZE)); } - if(StringUtils.isNull(withdrawalExt.getIsAuto())){ + if (StringUtils.isNull(withdrawalExt.getIsAuto())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.IS_AUTO_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getIsRounding())){ + if (StringUtils.isNull(withdrawalExt.getIsRounding())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.IS_ROUNDING_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getWithdrawalNumber())){ + if (StringUtils.isNull(withdrawalExt.getWithdrawalNumber())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.WITHDRAWAL_NUMBER_NOT_NULL)); } - if(EYesNo.YES.getIntValue()==withdrawalExt.getIsAuto()){ - if(StringUtils.isNull(withdrawalExt.getLowerBound())){ + if (EYesNo.YES.getIntValue() == withdrawalExt.getIsAuto()) { + if (StringUtils.isNull(withdrawalExt.getLowerBound())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.LOWER_BOUND_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getUpperBound())){ + if (StringUtils.isNull(withdrawalExt.getUpperBound())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.UPPER_BOUND_NOT_NULL)); } - if(CollectionUtil.isEmpty(withdrawalExt.getWithdrawalAutoList())){ + if (CollectionUtil.isEmpty(withdrawalExt.getWithdrawalAutoList())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.WITHDRAWAL_CYCLE_NOT_NULL)); } } - if(StringUtils.isNull(withdrawalExt.getEffectiveDate())){ + if (StringUtils.isNull(withdrawalExt.getEffectiveDate())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.EFFECTIVE_DATE_NOT_NULL)); } withdrawalExt.setPkCountry(SecurityUtils.getPkCountry()); withdrawalExt.setPkCreator(SecurityUtils.getUserId()); withdrawalExt.setCreationTime(new Date()); - return toAjax(withdrawalService.saveWithdrawal(withdrawalExt)); + return toAjax(iBdWithdrawalService.saveWithdrawal(withdrawalExt)); } - /** - * @description: 修改提现设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [withdrawalParam] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 修改提现设置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_CONFIG,method = EOperationMethod.UPDATE) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_CONFIG, method = EOperationMethod.UPDATE) @PostMapping("/update") public AjaxResult update(@RequestBody BdWithdrawalExt withdrawalExt) { - if(StringUtils.isNull(withdrawalExt.getMinAmount())){ + if (StringUtils.isNull(withdrawalExt.getMinAmount())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MIN_AMOUNT_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getMaxAmount())){ + if (StringUtils.isNull(withdrawalExt.getMaxAmount())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.MAX_AMOUNT_NOT_NULL)); } - if (withdrawalExt.getMaxAmount().compareTo(withdrawalExt.getMinAmount()) <0) { + if (withdrawalExt.getMaxAmount().compareTo(withdrawalExt.getMinAmount()) < 0) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.COMPARISON_OF_SIZE)); } - if(StringUtils.isNull(withdrawalExt.getIsAuto())){ + if (StringUtils.isNull(withdrawalExt.getIsAuto())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.IS_AUTO_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getIsRounding())){ + if (StringUtils.isNull(withdrawalExt.getIsRounding())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.IS_ROUNDING_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getWithdrawalNumber())){ + if (StringUtils.isNull(withdrawalExt.getWithdrawalNumber())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.WITHDRAWAL_NUMBER_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getEffectiveDate())){ + if (StringUtils.isNull(withdrawalExt.getEffectiveDate())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.EFFECTIVE_DATE_NOT_NULL)); } - if(EYesNo.YES.getIntValue()==withdrawalExt.getIsAuto()){ - if(StringUtils.isNull(withdrawalExt.getLowerBound())){ + if (EYesNo.YES.getIntValue() == withdrawalExt.getIsAuto()) { + if (StringUtils.isNull(withdrawalExt.getLowerBound())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.LOWER_BOUND_NOT_NULL)); } - if(StringUtils.isNull(withdrawalExt.getUpperBound())){ + if (StringUtils.isNull(withdrawalExt.getUpperBound())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.UPPER_BOUND_NOT_NULL)); } - if(CollectionUtil.isEmpty(withdrawalExt.getWithdrawalAutoList())){ + if (CollectionUtil.isEmpty(withdrawalExt.getWithdrawalAutoList())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.WITHDRAWAL_CYCLE_NOT_NULL)); } } - if(StringUtils.isNull(withdrawalExt.getEffectiveDate())){ + if (StringUtils.isNull(withdrawalExt.getEffectiveDate())) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.EFFECTIVE_DATE_NOT_NULL)); } withdrawalExt.setPkModified(SecurityUtils.getUserId()); withdrawalExt.setModifiedTime(new Date()); - return toAjax(withdrawalService.updateWithdrawal(withdrawalExt)); + return toAjax(iBdWithdrawalService.updateWithdrawal(withdrawalExt)); } - /** - * @description: 查询单条提现设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 查询单条提现设置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_CONFIG,method = EOperationMethod.SELECT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_CONFIG, method = EOperationMethod.SELECT) @GetMapping("/getOne/{pkId}") public AjaxResult getOne(@PathVariable Integer pkId) { - BdWithdrawal withdrawalParam = withdrawalService.getById(pkId); + BdWithdrawal withdrawalParam = iBdWithdrawalService.getById(pkId); BdWithdrawalExt withdrawalExt = BeanUtil.copyProperties(withdrawalParam, BdWithdrawalExt.class); - BdWithdrawalAutoExt withdrawalAutoExt=new BdWithdrawalAutoExt(); + BdWithdrawalAutoExt withdrawalAutoExt = new BdWithdrawalAutoExt(); withdrawalAutoExt.setPkWithdrawal(pkId); - List withdrawalAutoList =withdrawalService.getWithdrawalAutoList(withdrawalAutoExt); - if(CollectionUtil.isNotEmpty(withdrawalAutoList)){ + List withdrawalAutoList = iBdWithdrawalService.getWithdrawalAutoList(withdrawalAutoExt); + if (CollectionUtil.isNotEmpty(withdrawalAutoList)) { withdrawalExt.setWithdrawalAutoList(withdrawalAutoList); - }else{ - List withdrawalAutoListNew=new ArrayList<>(); + } else { + List withdrawalAutoListNew = new ArrayList<>(); withdrawalExt.setWithdrawalAutoList(withdrawalAutoListNew); } return AjaxResult.success(withdrawalExt); } - /** - * @description: 删除提现设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 删除提现设置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_CONFIG,method = EOperationMethod.DELETE) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_CONFIG, method = EOperationMethod.DELETE) @DeleteMapping("/{pkId}") public AjaxResult delete(@PathVariable Long pkId) { - BdWithdrawalAutoExt withdrawalAutoExt =new BdWithdrawalAutoExt(); + BdWithdrawalAutoExt withdrawalAutoExt = new BdWithdrawalAutoExt(); withdrawalAutoExt.setPkCountry(SecurityUtils.getPkCountry()); - Integer count= withdrawalService.checkWithdraw(withdrawalAutoExt); - if(count>0){ + Integer count = iBdWithdrawalService.checkWithdraw(withdrawalAutoExt); + if (count > 0) { return AjaxResult.error(TransactionUtils.getContent(ConfigMsgConstants.ENABLE_STATE_NOT_DELETE)); } - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("PK_ID", pkId); - updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue()); - updateWrapper.set("PK_MODIFIED", SecurityUtils.getUserId()); - updateWrapper.set("MODIFIED_TIME", new Date()); - redisService.deleteObjectByKey(CacheConstants.BD_WITHDRAWAL + SecurityUtils.getPkCountry()); - redisService.deleteObjectByKey(CacheConstants.BD_WITHDRAWAL_IS_AUTO + SecurityUtils.getPkCountry()); - redisService.deleteObjectByKey(CacheConstants.BD_WITHDRAWAL_AUTO + SecurityUtils.getPkCountry()); - return toAjax(withdrawalService.update(updateWrapper)); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(BdWithdrawal::getPkId, pkId); + updateWrapper.set(BdWithdrawal::getDelFlag, EDelFlag.DELETE.getValue()); + updateWrapper.set(BdWithdrawal::getPkModified, SecurityUtils.getUserId()); + updateWrapper.set(BdWithdrawal::getModifiedTime, new Date()); + return toAjax(iBdWithdrawalService.update(updateWrapper)); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalProcessController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalProcessController.java index 9b2f0f7e..b863539d 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalProcessController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalProcessController.java @@ -1,17 +1,14 @@ package com.hzs.system.config.controller.manage; - import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.hzs.common.core.annotation.Log; -import com.hzs.common.core.constant.CacheConstants; import com.hzs.common.core.constant.msg.ConfigMsgConstants; import com.hzs.common.core.enums.EDelFlag; import com.hzs.common.core.enums.EOperationBusiness; import com.hzs.common.core.enums.EOperationMethod; import com.hzs.common.core.enums.EOperationModule; -import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.utils.poi.ExcelUtil; import com.hzs.common.core.web.controller.BaseController; @@ -21,12 +18,8 @@ import com.hzs.common.domain.system.config.BdWithdrawalProcess; import com.hzs.common.domain.system.config.ext.BdWithdrawalAutoExt; import com.hzs.common.domain.system.config.ext.BdWithdrawalProcessExt; import com.hzs.common.security.utils.SecurityUtils; -import com.hzs.system.base.ITransactionServiceApi; -import com.hzs.system.base.service.IBdCurrencyService; -import com.hzs.system.config.IWithdrawalServiceApi; import com.hzs.system.config.service.IBdWithdrawalProcessService; import com.hzs.system.config.service.IBdWithdrawalService; -import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -37,175 +30,126 @@ import java.util.Date; import java.util.List; /** - *

* 提现手续费手续费配置 前端控制器 - *

- * - * @author zhangjing - * @since 2022-11-02 */ @RestController @RequestMapping("/manage/bd-withdrawal-process") public class BdWithdrawalProcessController extends BaseController { @Autowired - private IBdWithdrawalProcessService withdrawalProcessService; - @DubboReference - private ITransactionServiceApi iTransactionServiceApi; - private RedisService redisService; - @DubboReference - private IWithdrawalServiceApi withdrawalProcessServiceApi; + private IBdWithdrawalProcessService iBdWithdrawalProcessService; @Autowired - private IBdWithdrawalService withdrawalService; - @Autowired - IBdCurrencyService currencyService; - - - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } - + private IBdWithdrawalService iBdWithdrawalService; /** - * @description: 查询提现手续费设置列表 理论每个国家只有一个提现手续费配置 - * @author: zhang jing - * @date: 2022/8/30 10:20 - * @param: [withdrawalParam] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 查询提现手续费设置列表 理论每个国家只有一个提现手续费配置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE,method = EOperationMethod.SELECT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE, method = EOperationMethod.SELECT) @GetMapping("/list") - public TableDataInfo list(BdWithdrawalProcess withdrawalProcess) { + public TableDataInfo list() { startPage(); - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry()); - queryWrapper.orderByDesc("CREATION_TIME"); - List list = withdrawalProcessService.list(queryWrapper); - List listExt=new ArrayList<>(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWithdrawalProcess::getPkCountry, SecurityUtils.getPkCountry()); + queryWrapper.orderByDesc(BdWithdrawalProcess::getCreationTime); + List list = iBdWithdrawalProcessService.list(queryWrapper); + List listExt = new ArrayList<>(); list.forEach(item -> listExt.add(BeanUtil.copyProperties(item, BdWithdrawalProcessExt.class))); return getDataTable(listExt); } /** - * @description: 导出提现手续费配置 - * @author: zhang jing - * @date: 2023/3/3 17:07 - * @param: [response, withdrawalProcess] - * @return: void + * 导出提现手续费配置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE,method = EOperationMethod.EXPORT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE, method = EOperationMethod.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, BdWithdrawalProcess withdrawalProcess) { - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry()); - queryWrapper.orderByDesc("CREATION_TIME"); - List list = withdrawalProcessService.list(queryWrapper); - List listExt=new ArrayList<>(); + public void export(HttpServletResponse response) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWithdrawalProcess::getPkCountry, SecurityUtils.getPkCountry()); + queryWrapper.orderByDesc(BdWithdrawalProcess::getCreationTime); + List list = iBdWithdrawalProcessService.list(queryWrapper); + List listExt = new ArrayList<>(); list.forEach(item -> listExt.add(BeanUtil.copyProperties(item, BdWithdrawalProcessExt.class))); ExcelUtil util = new ExcelUtil<>(BdWithdrawalProcessExt.class); util.exportExcel(response, listExt, "提现手续费配置"); } /** - * @description: 新增提现手续费设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [withdrawalParam] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 新增提现手续费设置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE,method = EOperationMethod.INSERT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE, method = EOperationMethod.INSERT) @PostMapping("/save") public AjaxResult save(@RequestBody @Valid BdWithdrawalProcess withdrawalProcess) { - if(StringUtils.isNull(withdrawalProcess.getServiceType())){ + if (StringUtils.isNull(withdrawalProcess.getServiceType())) { return AjaxResult.error(ConfigMsgConstants.SERVICE_TYPE_NOT_NULL); } - if(StringUtils.isNull(withdrawalProcess.getServiceRatio())){ + if (StringUtils.isNull(withdrawalProcess.getServiceRatio())) { return AjaxResult.error(ConfigMsgConstants.SERVICE_RATIO_NOT_NULL); } - if(StringUtils.isNull(withdrawalProcess.getEffectiveDate())){ + if (StringUtils.isNull(withdrawalProcess.getEffectiveDate())) { return AjaxResult.error(ConfigMsgConstants.EFFECTIVE_DATE_NOT_NULL); } - QueryWrapper queryWrapper=new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY",SecurityUtils.getPkCountry()); - BdWithdrawalProcess withdrawalProcessCheck=withdrawalProcessService.getOne(queryWrapper); - if(StringUtils.isNotNull(withdrawalProcessCheck)){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWithdrawalProcess::getPkCountry, SecurityUtils.getPkCountry()); + BdWithdrawalProcess withdrawalProcessCheck = iBdWithdrawalProcessService.getOne(queryWrapper); + if (StringUtils.isNotNull(withdrawalProcessCheck)) { return AjaxResult.error(ConfigMsgConstants.SERVICE_TYPE_REPEAT); } withdrawalProcess.setPkCountry(SecurityUtils.getPkCountry()); withdrawalProcess.setPkCreator(SecurityUtils.getUserId()); withdrawalProcess.setCreationTime(new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL_PROCESS + SecurityUtils.getPkCountry()); - return toAjax(withdrawalProcessService.save(withdrawalProcess)); + return toAjax(iBdWithdrawalProcessService.save(withdrawalProcess)); } - /** - * @description: 修改提现手续费设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [withdrawalParam] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 修改提现手续费设置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE,method = EOperationMethod.UPDATE) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE, method = EOperationMethod.UPDATE) @PostMapping("/update") public AjaxResult update(@RequestBody BdWithdrawalProcess withdrawalProcess) { - if(StringUtils.isNull(withdrawalProcess.getServiceType())){ + if (StringUtils.isNull(withdrawalProcess.getServiceType())) { return AjaxResult.error(ConfigMsgConstants.SERVICE_TYPE_NOT_NULL); } - if(StringUtils.isNull(withdrawalProcess.getServiceRatio())){ + if (StringUtils.isNull(withdrawalProcess.getServiceRatio())) { return AjaxResult.error(ConfigMsgConstants.SERVICE_RATIO_NOT_NULL); } - if(StringUtils.isNull(withdrawalProcess.getEffectiveDate())){ + if (StringUtils.isNull(withdrawalProcess.getEffectiveDate())) { return AjaxResult.error(ConfigMsgConstants.EFFECTIVE_DATE_NOT_NULL); } withdrawalProcess.setPkCountry(SecurityUtils.getPkCountry()); withdrawalProcess.setPkModified(SecurityUtils.getUserId()); withdrawalProcess.setModifiedTime(new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL_PROCESS + SecurityUtils.getPkCountry()); - return toAjax(withdrawalProcessService.updateById(withdrawalProcess)); + return toAjax(iBdWithdrawalProcessService.updateById(withdrawalProcess)); } - /** - * @description: 查询单条提现手续费设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 查询单条提现手续费设置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE,method = EOperationMethod.SELECT) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE, method = EOperationMethod.SELECT) @GetMapping("/getOne/{pkId}") public AjaxResult getOne(@PathVariable Integer pkId) { - BdWithdrawalProcess withdrawalProcess = withdrawalProcessService.getById(pkId); + BdWithdrawalProcess withdrawalProcess = iBdWithdrawalProcessService.getById(pkId); BdWithdrawalProcessExt withdrawalProcessExt = BeanUtil.copyProperties(withdrawalProcess, BdWithdrawalProcessExt.class); return AjaxResult.success(withdrawalProcessExt); } - /** - * @description: 删除提现手续费设置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 删除提现手续费设置 **/ - @Log(module = EOperationModule.WALLET_CONFIG,business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE,method = EOperationMethod.DELETE) + @Log(module = EOperationModule.WALLET_CONFIG, business = EOperationBusiness.WITHDRAWAL_SERVICE_CHARGE, method = EOperationMethod.DELETE) @DeleteMapping("/{pkId}") public AjaxResult delete(@PathVariable Long pkId) { - BdWithdrawalAutoExt withdrawalAutoExt =new BdWithdrawalAutoExt(); + BdWithdrawalAutoExt withdrawalAutoExt = new BdWithdrawalAutoExt(); withdrawalAutoExt.setPkCountry(SecurityUtils.getPkCountry()); - Integer count= withdrawalService.checkWithdraw(withdrawalAutoExt); - if(count>0){ + Integer count = iBdWithdrawalService.checkWithdraw(withdrawalAutoExt); + if (count > 0) { return AjaxResult.error(ConfigMsgConstants.ENABLE_STATE_NOT_DELETE); } - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("PK_ID", pkId); - updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue()); - updateWrapper.set("PK_MODIFIED", SecurityUtils.getUserId()); - updateWrapper.set("MODIFIED_TIME", new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL + SecurityUtils.getPkCountry()); - return toAjax(withdrawalProcessService.update(updateWrapper)); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(BdWithdrawalProcess::getPkId, pkId); + updateWrapper.set(BdWithdrawalProcess::getDelFlag, EDelFlag.DELETE.getValue()); + updateWrapper.set(BdWithdrawalProcess::getPkModified, SecurityUtils.getUserId()); + updateWrapper.set(BdWithdrawalProcess::getModifiedTime, new Date()); + return toAjax(iBdWithdrawalProcessService.update(updateWrapper)); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalSpecialController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalSpecialController.java index f27e8229..852fddfe 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalSpecialController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/BdWithdrawalSpecialController.java @@ -1,13 +1,10 @@ package com.hzs.system.config.controller.manage; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.hzs.common.core.constant.CacheConstants; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.hzs.common.core.constant.msg.ConfigMsgConstants; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.EDelFlag; -import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; @@ -27,12 +24,7 @@ import java.util.Date; import java.util.List; /** - *

* 提现设置特殊配置 前端控制器 - *

- * - * @author zhangjing - * @since 2022-09-06 */ @Slf4j @RestController @@ -40,44 +32,29 @@ import java.util.List; public class BdWithdrawalSpecialController extends BaseController { @Autowired - private IBdWithdrawalSpecialService withdrawalSpecialService; + private IBdWithdrawalSpecialService iBdWithdrawalSpecialService; + @DubboReference IMemberServiceApi iMemberServiceApi; - private RedisService redisService; - - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } - /** - * @description: 查询提现设置特殊配置列表 - * @author: zhang jing - * @date: 2022/8/30 10:20 - * @param: [bdWithdrawal] - * @return: com.hzs.common.core.web.page.TableDataInfo + * 查询提现设置特殊配置列表 **/ @GetMapping("/list") public TableDataInfo list(BdWithdrawalSpecial withdrawalSpecial) { startPage(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("PK_COUNTRY", SecurityUtils.getPkCountry()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWithdrawalSpecial::getPkCountry, SecurityUtils.getPkCountry()); if (StringUtils.isNotNull(withdrawalSpecial.getPkWithdrawal())) { - queryWrapper.eq("PK_WITHDRAWAL", withdrawalSpecial.getPkWithdrawal()); + queryWrapper.eq(BdWithdrawalSpecial::getPkWithdrawal, withdrawalSpecial.getPkWithdrawal()); } - queryWrapper.orderByDesc("CREATION_TIME"); - List list = withdrawalSpecialService.list(queryWrapper); + queryWrapper.orderByDesc(BdWithdrawalSpecial::getCreationTime); + List list = iBdWithdrawalSpecialService.list(queryWrapper); return getDataTable(list); } - /** - * @description: 新增提现设置特殊配置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [bdWithdrawal] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 新增提现设置特殊配置 **/ @PostMapping("/save") public AjaxResult save(@RequestBody BdWithdrawalSpecial withdrawalSpecial) { @@ -92,17 +69,12 @@ public class BdWithdrawalSpecialController extends BaseController { withdrawalSpecial.setPkCountry(SecurityUtils.getPkCountry()); withdrawalSpecial.setPkCreator(SecurityUtils.getUserId()); withdrawalSpecial.setCreationTime(new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL_SPECIAL + SecurityUtils.getPkCountry()); - return toAjax(withdrawalSpecialService.save(withdrawalSpecial)); + return toAjax(iBdWithdrawalSpecialService.save(withdrawalSpecial)); } /** - * @description: 修改提现设置特殊配置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [bdWithdrawal] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 修改提现设置特殊配置 **/ @PostMapping("/update") public AjaxResult update(@RequestBody BdWithdrawalSpecial withdrawalSpecial) { @@ -116,40 +88,30 @@ public class BdWithdrawalSpecialController extends BaseController { } withdrawalSpecial.setPkModified(SecurityUtils.getUserId()); withdrawalSpecial.setModifiedTime(new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL_SPECIAL + SecurityUtils.getPkCountry()); - return toAjax(withdrawalSpecialService.updateById(withdrawalSpecial)); + return toAjax(iBdWithdrawalSpecialService.updateById(withdrawalSpecial)); } /** - * @description: 查询单条提现设置特殊配置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 查询单条提现设置特殊配置 **/ @GetMapping("/getOne/{pkId}") public AjaxResult getOne(@PathVariable Long pkId) { - BdWithdrawalSpecial withdrawalSpecial = withdrawalSpecialService.getById(pkId); + BdWithdrawalSpecial withdrawalSpecial = iBdWithdrawalSpecialService.getById(pkId); return AjaxResult.success(withdrawalSpecial); } /** - * @description: 删除提现设置特殊配置 - * @author: zhang jing - * @date: 2022/8/30 10:21 - * @param: [pkId] - * @return: com.hzs.common.core.web.domain.AjaxResult + * 删除提现设置特殊配置 **/ @DeleteMapping("/{pkId}") public AjaxResult delete(@PathVariable Long pkId) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("PK_ID", pkId); - updateWrapper.set("DEL_FLAG", EDelFlag.DELETE.getValue()); - updateWrapper.set("PK_MODIFIED", SecurityUtils.getUserId()); - updateWrapper.set("MODIFIED_TIME", new Date()); - redisService.deleteObject(CacheConstants.BD_WITHDRAWAL_SPECIAL + SecurityUtils.getPkCountry()); - return toAjax(withdrawalSpecialService.update(updateWrapper)); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(BdWithdrawalSpecial::getPkId, pkId); + updateWrapper.set(BdWithdrawalSpecial::getDelFlag, EDelFlag.DELETE.getValue()); + updateWrapper.set(BdWithdrawalSpecial::getPkModified, SecurityUtils.getUserId()); + updateWrapper.set(BdWithdrawalSpecial::getModifiedTime, new Date()); + return toAjax(iBdWithdrawalSpecialService.update(updateWrapper)); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalAutoMapper.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalAutoMapper.java index cfa78b6c..bb27ce5d 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalAutoMapper.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalAutoMapper.java @@ -1,16 +1,10 @@ package com.hzs.system.config.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.system.config.BdWithdrawalAuto; /** - *

* 自动提现明细表 Mapper 接口 - *

- * - * @author zhangjing - * @since 2022-08-31 */ public interface BdWithdrawalAutoMapper extends BaseMapper { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalProcessMapper.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalProcessMapper.java index 16763b28..3ea0ac08 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalProcessMapper.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalProcessMapper.java @@ -1,16 +1,10 @@ package com.hzs.system.config.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.system.config.BdWithdrawalProcess; /** - *

* 提现手续费配置 Mapper 接口 - *

- * - * @author zhangjing - * @since 2022-11-02 */ public interface BdWithdrawalProcessMapper extends BaseMapper { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalSpecialMapper.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalSpecialMapper.java index 09cc4714..12840daf 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalSpecialMapper.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdWithdrawalSpecialMapper.java @@ -1,16 +1,10 @@ package com.hzs.system.config.mapper; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.hzs.common.domain.system.config.BdWithdrawalSpecial; /** - *

* 提现设置特殊配置 Mapper 接口 - *

- * - * @author zhangjing - * @since 2022-09-06 */ public interface BdWithdrawalSpecialMapper extends BaseMapper { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalAutoServiceProvider.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalAutoServiceProvider.java deleted file mode 100644 index c418d8bb..00000000 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalAutoServiceProvider.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hzs.system.config.provider; - -import com.hzs.common.core.domain.R; -import com.hzs.common.domain.system.config.BdWithdrawalAuto; -import com.hzs.system.config.IWithdrawalAutoServiceApi; -import com.hzs.system.config.service.IBdWithdrawalAutoService; -import org.apache.dubbo.config.annotation.DubboService; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * @Description: 提现配置的dubbo服务类 - * @Author: zhang jing - * @Time: 2022/9/9 14:11 - * @Classname: GradeServiceProvider - * @PackageName: com.hzs.system.config.provider - */ -@DubboService -public class WithdrawalAutoServiceProvider implements IWithdrawalAutoServiceApi { - - @Autowired - private IBdWithdrawalAutoService withdrawalAutoService; - - /** - * @description: 根据国家查询自动提现明细列表 - * @author: zhang jing - * @date: 2022/9/27 15:20 - * @param: [pkCountry] - * @return: com.hzs.common.core.domain.R> - **/ - @Override - public R> queryWithdrawalAuto(Integer pkCountry) { - return R.ok(withdrawalAutoService.queryWithdrawalAuto(pkCountry)); - } -} diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalSpecialServiceProvider.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalSpecialServiceProvider.java deleted file mode 100644 index 7793de5c..00000000 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/provider/WithdrawalSpecialServiceProvider.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.hzs.system.config.provider; - -import com.hzs.common.core.domain.R; -import com.hzs.common.domain.system.config.BdWithdrawalSpecial; -import com.hzs.system.config.IWithdrawalSpecialServiceApi; -import com.hzs.system.config.service.IBdWithdrawalSpecialService; -import org.apache.dubbo.config.annotation.DubboService; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - - -@DubboService -public class WithdrawalSpecialServiceProvider implements IWithdrawalSpecialServiceApi { - - @Autowired - private IBdWithdrawalSpecialService withdrawalSpecialService; - - /** - * @description: 根据国家查询提现设置特殊配置 - * @author: zhang jing - * @date: 2022/9/27 16:24 - * @param: [pkCountry] - * @return: com.hzs.common.core.domain.R> - **/ - @Override - public R> queryWithdrawalSpecial(Integer pkCountry) { - return R.ok(withdrawalSpecialService.queryWithdrawalSpecial(pkCountry)); - } - - /** - * @description: 根据会员编号查询提现特殊配置 - * @author: zhang jing - * @date: 2022/9/27 16:34 - * @param: [pkCountry, memberCode] - * @return: com.hzs.common.core.domain.R - **/ - @Override - public R getWithdrawalSpecial(Integer pkCountry, String memberCode) { - return R.ok(withdrawalSpecialService.getWithdrawalSpecial(pkCountry,memberCode)); - } - - -} diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalAutoService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalAutoService.java index 0784818c..71db90d2 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalAutoService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalAutoService.java @@ -1,20 +1,11 @@ package com.hzs.system.config.service; - import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.system.config.BdWithdrawalAuto; -import java.util.List; - /** - *

* 自动提现明细表 服务类 - *

- * - * @author zhangjing - * @since 2022-08-31 */ public interface IBdWithdrawalAutoService extends IService { - List queryWithdrawalAuto(Integer pkCountry); } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalProcessService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalProcessService.java index 1d2db7b5..8c865d8d 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalProcessService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalProcessService.java @@ -1,27 +1,16 @@ package com.hzs.system.config.service; - import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.system.config.BdWithdrawalProcess; -import java.util.List; - /** - *

* 提现手续费配置 服务类 - *

- * - * @author zhangjing - * @since 2022-11-02 */ public interface IBdWithdrawalProcessService extends IService { /** - * @description: 根据国家查询提现手续费配置 - * @author: zhang jing - * @date: 2022/11/2 17:14 - * @param: [pkCountry] - * @return: java.util.List + * 根据国家查询提现手续费配置 **/ BdWithdrawalProcess queryBdWithdrawalProcess(Integer pkCountry); + } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalSpecialService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalSpecialService.java index 3beb9a8f..8039d464 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalSpecialService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdWithdrawalSpecialService.java @@ -1,35 +1,11 @@ package com.hzs.system.config.service; - import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.common.domain.system.config.BdWithdrawalSpecial; -import java.util.List; - /** - *

* 提现设置特殊配置 服务类 - *

- * - * @author zhangjing - * @since 2022-09-06 */ public interface IBdWithdrawalSpecialService extends IService { - /** - * @description: 根据国家查询提现设置特殊配置 - * @author: zhang jing - * @date: 2022/9/27 16:24 - * @param: [pkCountry] - * @return: java.util.List - **/ - List queryWithdrawalSpecial(Integer pkCountry); - /** - * @description: 根据会员编号查询提现特殊配置 - * @author: zhang jing - * @date: 2022/9/27 16:34 - * @param: [pkCountry, memberCode] - * @return: com.hzs.common.domain.system.config.BdWithdrawalSpecial - **/ - BdWithdrawalSpecial getWithdrawalSpecial(Integer pkCountry, String memberCode); } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalAutoServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalAutoServiceImpl.java index 91e7a1aa..500ef592 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalAutoServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalAutoServiceImpl.java @@ -1,56 +1,15 @@ package com.hzs.system.config.service.impl; -import cn.hutool.core.collection.CollectionUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.common.core.constant.CacheConstants; -import com.hzs.common.core.service.RedisService; -import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.system.config.BdWithdrawalAuto; import com.hzs.system.config.mapper.BdWithdrawalAutoMapper; import com.hzs.system.config.service.IBdWithdrawalAutoService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; - /** - *

* 自动提现明细表 服务实现类 - *

- * - * @author zhangjing - * @since 2022-08-31 */ @Service public class BdWithdrawalAutoServiceImpl extends ServiceImpl implements IBdWithdrawalAutoService { - private RedisService redisService; - - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } - /** - * @description: 根据国家查询自动提现明细列表 - * @author: zhang jing - * @date: 2022/9/27 14:59 - * @param: [pkCountry] - * @return: java.util.List - **/ - @Override - public List queryWithdrawalAuto(Integer pkCountry) { - List withdrawalAuto = redisService.getCacheObject(CacheConstants.BD_WITHDRAWAL_AUTO + pkCountry); - if(CollectionUtil.isEmpty(withdrawalAuto)){ - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY",pkCountry); - withdrawalAuto = baseMapper.selectList(queryWrapper); - if(CollectionUtil.isNotEmpty(withdrawalAuto)){ - redisService.setCacheObject(CacheConstants.BD_WITHDRAWAL_AUTO + pkCountry, withdrawalAuto); - } - } - return withdrawalAuto; - } - - } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalProcessServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalProcessServiceImpl.java index 175f7c35..e68a5969 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalProcessServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalProcessServiceImpl.java @@ -1,6 +1,6 @@ package com.hzs.system.config.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.utils.DateUtils; import com.hzs.common.domain.system.config.BdWithdrawalProcess; @@ -8,31 +8,17 @@ import com.hzs.system.config.mapper.BdWithdrawalProcessMapper; import com.hzs.system.config.service.IBdWithdrawalProcessService; import org.springframework.stereotype.Service; -import java.util.List; - /** - *

* 提现手续费配置 服务实现类 - *

- * - * @author zhangjing - * @since 2022-11-02 */ @Service public class BdWithdrawalProcessServiceImpl extends ServiceImpl implements IBdWithdrawalProcessService { - /** - * @description: 根据国家查询提现手续费配置 - * @author: zhang jing - * @date: 2022/11/2 17:16 - * @param: [pkCountry] - * @return: java.util.List - **/ @Override public BdWithdrawalProcess queryBdWithdrawalProcess(Integer pkCountry) { - QueryWrapper queryWrapper=new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY",pkCountry); - queryWrapper.le("EFFECTIVE_DATE", DateUtils.currentDateTime()); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdWithdrawalProcess::getPkCountry, pkCountry); + queryWrapper.le(BdWithdrawalProcess::getEffectiveDate, DateUtils.currentDateTime()); return baseMapper.selectOne(queryWrapper); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalServiceImpl.java index 0992725d..992e5973 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdWithdrawalServiceImpl.java @@ -3,9 +3,7 @@ package com.hzs.system.config.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.common.core.constant.CacheConstants; import com.hzs.common.core.enums.EDelFlag; -import com.hzs.common.core.service.RedisService; import com.hzs.common.domain.system.config.BdWithdrawal; import com.hzs.common.domain.system.config.BdWithdrawalAuto; import com.hzs.common.domain.system.config.ext.BdWithdrawalAutoExt; @@ -27,8 +25,6 @@ import java.util.List; @Service public class BdWithdrawalServiceImpl extends ServiceImpl implements IBdWithdrawalService { - @Autowired - private RedisService redisService; @Autowired private IBdWithdrawalAutoService iBdWithdrawalAutoService; @@ -64,9 +60,6 @@ public class BdWithdrawalServiceImpl extends ServiceImpl * 提现设置特殊配置 服务实现类 - *

- * - * @author zhangjing - * @since 2022-09-06 */ @Service public class BdWithdrawalSpecialServiceImpl extends ServiceImpl implements IBdWithdrawalSpecialService { - - private RedisService redisService; - - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } - - - /** - * @description: 根据国家查询提现设置特殊配置 - * @author: zhang jing - * @date: 2022/9/27 16:23 - * @param: [pkCountry] - * @return: java.util.List - **/ - @Override - public List queryWithdrawalSpecial(Integer pkCountry) { - List withdrawalSpecial = redisService.getCacheObject(CacheConstants.BD_WITHDRAWAL_SPECIAL + pkCountry); - if(null == withdrawalSpecial){ - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY",pkCountry); - withdrawalSpecial = baseMapper.selectList(queryWrapper); - if(null != withdrawalSpecial){ - redisService.setCacheObject(CacheConstants.BD_WITHDRAWAL_SPECIAL + pkCountry, withdrawalSpecial); - } - } - return withdrawalSpecial; - } - - /** - * @description: 根据会员编号查询提现特殊配置 - * @author: zhang jing - * @date: 2022/9/27 16:34 - * @param: [pkCountry, memberCode] - * @return: com.hzs.common.domain.system.config.BdWithdrawalSpecial - **/ - @Override - public BdWithdrawalSpecial getWithdrawalSpecial(Integer pkCountry, String memberCode) { - BdWithdrawalSpecial withdrawalSpecial = redisService.getCacheObject(CacheConstants.BD_WITHDRAWAL_SPECIAL_MEMBER_CODE + memberCode); - if(null == withdrawalSpecial){ - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("PK_COUNTRY",pkCountry); - queryWrapper.eq("MEMBER_CODE",memberCode); - withdrawalSpecial = baseMapper.selectOne(queryWrapper); - if(null != withdrawalSpecial){ - redisService.setCacheObject(CacheConstants.BD_WITHDRAWAL_SPECIAL_MEMBER_CODE + memberCode, withdrawalSpecial); - } - } - return withdrawalSpecial; - } - } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/BdTradeConfigVO.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/BdTradeConfigVO.java index 103a9217..314bf7b7 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/BdTradeConfigVO.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/vo/BdTradeConfigVO.java @@ -36,7 +36,6 @@ public class BdTradeConfigVO implements Serializable { /** * 1:提现 2:转账 (来源枚举EBusinessModule) */ - @Transaction(transactionKey = EnumsPrefixConstants.BUSINESS_MODULE) private Integer businessModule; private String businessModuleVal; diff --git a/bd-business/bd-business-system/src/main/resources/mapper/system/base/BdCurrencyMapper.xml b/bd-business/bd-business-system/src/main/resources/mapper/system/base/BdCurrencyMapper.xml index ea6a1d4a..7dffb012 100644 --- a/bd-business/bd-business-system/src/main/resources/mapper/system/base/BdCurrencyMapper.xml +++ b/bd-business/bd-business-system/src/main/resources/mapper/system/base/BdCurrencyMapper.xml @@ -2,23 +2,4 @@ - - - - - - - - - - - - - - - - - - - diff --git a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalAutoMapper.xml b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalAutoMapper.xml index 4f67ce1b..9404d999 100644 --- a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalAutoMapper.xml +++ b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalAutoMapper.xml @@ -2,27 +2,4 @@ - - - - - - - - - - - - - - - DEL_FLAG, - PK_COUNTRY, - PK_CREATOR, - CREATION_TIME, - PK_MODIFIED, - MODIFIED_TIME, - PK_ID, PK_WITHDRAWAL, LOWER_BOUND, UPPER_BOUND - - diff --git a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalProcessMapper.xml b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalProcessMapper.xml index cd3f3340..77a36ef5 100644 --- a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalProcessMapper.xml +++ b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalProcessMapper.xml @@ -2,29 +2,4 @@ - - - - - - - - - - - - - - - - - DEL_FLAG, - PK_COUNTRY, - CREATION_TIME, - MODIFIED_TIME, - PK_CREATOR, - PK_MODIFIED, - PK_ID, SERVICE_RATIO, SERVICE_TYPE, EFFECTIVE_DATE - - diff --git a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalSpecialMapper.xml b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalSpecialMapper.xml index c28c9d46..5a5e1b47 100644 --- a/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalSpecialMapper.xml +++ b/bd-business/bd-business-system/src/main/resources/mapper/system/config/BdWithdrawalSpecialMapper.xml @@ -2,28 +2,4 @@ - - - - - - - - - - - - - - - - DEL_FLAG, - PK_COUNTRY, - PK_CREATOR, - CREATION_TIME, - PK_MODIFIED, - MODIFIED_TIME, - PK_ID, PK_WITHDRAWAL, MEMBER_CODE - - diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java index 1b60f28e..7babdd00 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java @@ -164,41 +164,11 @@ public class CacheConstants { */ public static final String BD_SHARE = CACHE_PREFIX + "share:"; - /** - * 提现配置 - */ - public static final String BD_WITHDRAWAL = CACHE_PREFIX + "withdrawal:"; - - /** - * 提现手续费配置 - */ - public static final String BD_WITHDRAWAL_PROCESS = CACHE_PREFIX + "withdrawalProcess:"; - - /** - * 自动提现明细配置 - */ - public static final String BD_WITHDRAWAL_AUTO = CACHE_PREFIX + "withdrawalAuto:"; - - /** - * 查询所有配置了自动提现的提现配置列表 - */ - public static final String BD_WITHDRAWAL_IS_AUTO = CACHE_PREFIX + "withdrawal:is:auto:"; - /** * 个税明细配置 */ public static final String BD_WITHDRAWAL_TAX = CACHE_PREFIX + "withdrawalTax:"; - /** - * 提现特殊配置列表 - */ - public static final String BD_WITHDRAWAL_SPECIAL = CACHE_PREFIX + "withdrawalSpecial:"; - - /** - * 根据会员编号查询提现特殊配置 - */ - public static final String BD_WITHDRAWAL_SPECIAL_MEMBER_CODE = CACHE_PREFIX + "withdrawalSpecial:memberCode:"; - /** * 转账配置配置列表 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java index 872209ed..4f5091a0 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/EnumsPrefixConstants.java @@ -812,11 +812,6 @@ public class EnumsPrefixConstants { */ public static final String RECOMMEND_DADA_TYPE = "ENU_R_D_T_"; - /** - * 交易配置 业务类型 - */ - public static final String BUSINESS_MODULE = "ENU_B_M_"; - /** * 点位状态 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/FinanceMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/FinanceMsgConstants.java index 9c072cbc..afbd1e54 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/FinanceMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/FinanceMsgConstants.java @@ -195,61 +195,6 @@ public class FinanceMsgConstants { */ public static final String SELECT_CHARGED_RECORD = "请选择要打款充正的记录"; - /** - * 请配置提现信息 -- 请配置提现信息 - */ - public static final String CONFIGURE_WITHDRAWAL_INFO = "请配置提现信息"; - - /** - * 请绑定银行卡 -- 请绑定银行卡 - */ - public static final String BIND_BANK_CARD = "请绑定银行卡"; - - /** - * 暂时不请允许提现,请先升级 -- 暂时不请允许提现,请先升级 - */ - public static final String NOT_WITHDRAWAL_UPGRADE = "暂时不请允许提现,请先升级"; - - /** - * 请选择提现账户 -- 请选择提现账户 - */ - public static final String SELECT_WITHDRAWAL_ACCOUNT = "请选择提现账户"; - - /** - * 不允许提现 -- 不允许提现 - */ - public static final String NOT_ALLOWED_WITHDRAWAL = "不允许提现"; - - /** - * 超过提现次数 -- 超过提现次数 - */ - public static final String EXCEEDING_WITHDRAWALS_NUMBER = "超过提现次数"; - - /** - * 请配置提现金额限制 -- 请配置提现金额限制 - */ - public static final String CONFIGURE_WITHDRAWAL_AMOUNT_LIMIT = "请配置提现金额限制"; - - /** - * 请输入提现金额 -- 请输入提现金额 - */ - public static final String ENTER_WITHDRAWAL_AMOUNT = "请输入提现金额"; - - /** - * 请输入整数值 -- 请输入整数值 - */ - public static final String ENTER_INTEGER_VALUE = "请输入整数值"; - - /** - * 提现金额必须大于最低提现金额 -- 提现金额必须大于最低提现金额 - */ - public static final String WITHDRAWAL_AMOUNT_GREATER_MINIMUM_AMOUNT = "提现金额必须大于最低提现金额"; - - /** - * 提现金额必须小于最高提现金额 -- 提现金额必须小于最高提现金额 - */ - public static final String WITHDRAWAL_AMOUNT_LESS_MAXIMUM_AMOUNT = "提现金额必须小于最高提现金额"; - /** * 余额不足 -- 余额不足 */ @@ -339,26 +284,11 @@ public class FinanceMsgConstants { */ public static final String RECHARGE_DETAILS_EXPORT = "充值明细导出"; - /** - * 银行卡号不能为空 -- 银行卡号不能为空! - */ - public static final String BANK_CARD_CANNOT_EMPTY = "银行卡号不能为空!"; - - /** - * 开户名不能为空 -- 开户名不能为空! - */ - public static final String ACCOUNT_NAME_CANNOT_EMPTY = "开户名不能为空!"; - /** * 验证码不能为空 -- 验证码不能为空! */ public static final String VERIFICATION_CODE_CANNOT_EMPTY = "验证码不能为空!"; - /** - * 开户支行不能为空 -- 开户支行不能为空! - */ - public static final String OPENING_BRANCH_CANNOT_EMPTY = "开户支行不能为空!"; - /** * 开户支行不能为空 -- 真实姓名不能为空! */ @@ -369,16 +299,6 @@ public class FinanceMsgConstants { */ public static final String REAL_NAME_MEMBER_NOT_DIFFERENT = "真实姓名与会员姓名不一致"; - /** - * 所在省不能为空 -- 所在省不能为空! - */ - public static final String PROVINCE_CANNOT_EMPTY = "所在省不能为空!"; - - /** - * 所在市不能为空 -- 所在市不能为空! - */ - public static final String CITY_CANNOT_EMPTY = "所在市不能为空!"; - /** * 详细地址不能为空 -- 详细地址不能为空! */ @@ -472,17 +392,6 @@ public class FinanceMsgConstants { */ public static final String BUSINESS_LICENSE_REFUSE_RESET = "营业执照审核未通过,请勿操作重置"; - /** - * 提现正在审批中,请稍后再试 -- 提现正在审批中,请稍后再试 - */ - public static final String WITHDRAWAL_APPROVAL = "提现正在审批中,请稍后再试"; - - - /** - * 提现金额必须为100的整数倍 - */ - public static final String WITHDRAW_AMOUNT_MULTIPLE = "提现金额必须为100的整数倍"; - /** * 身份证的图片地址不能为空 */ @@ -532,12 +441,6 @@ public class FinanceMsgConstants { public static final String REST_PERIOD_NOT_TRANSFER = "休止期的会员奖金账户不允许转账"; - /** - * 会员续约 -- 休止期不允许提现 - */ - public static final String REST_PERIOD_NOT_WITHDRAWAL = "休止期的会员奖金账户不允许提现"; - - /** * 会员续约 -- 已终止会员不允许转账 */ diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/account/CuMemberBank.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/account/CuMemberBank.java index 42e59fa5..51997a83 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/account/CuMemberBank.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/account/CuMemberBank.java @@ -9,12 +9,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 会员信息-银行卡信息 - *

- * - * @author hzs - * @since 2022-08-31 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/base/BdCurrency.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/base/BdCurrency.java index 74e5b21e..a94d59db 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/base/BdCurrency.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/base/BdCurrency.java @@ -13,11 +13,6 @@ import lombok.experimental.Accessors; import java.math.BigDecimal; import java.util.Date; -/** - * Created with IntelliJ IDEA. - * @author: yuhui - * Description: - */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalAuto.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalAuto.java index a7d2b632..063b2071 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalAuto.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalAuto.java @@ -12,12 +12,7 @@ import lombok.experimental.Accessors; import java.math.BigDecimal; /** - *

* 自动提现明细表 - *

- * - * @author zhangjing - * @since 2022-08-31 */ @Data @EqualsAndHashCode(callSuper = true) @@ -47,5 +42,4 @@ public class BdWithdrawalAuto extends BaseEntity { private Integer withdrawalCycle; - } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalProcess.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalProcess.java index 3f41fbe8..1206d6de 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalProcess.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalProcess.java @@ -17,12 +17,7 @@ import java.math.BigDecimal; import java.util.Date; /** - *

* 提现手续费配置 - *

- * - * @author zhangjing - * @since 2022-11-02 */ @Data @EqualsAndHashCode(callSuper = true) @@ -41,7 +36,7 @@ public class BdWithdrawalProcess extends BaseEntity { /** * 手续费值 */ - @Excel(name = "手续费值",sort = 2) + @Excel(name = "手续费值", sort = 2) @TableField("SERVICE_RATIO") private BigDecimal serviceRatio; /** @@ -54,7 +49,7 @@ public class BdWithdrawalProcess extends BaseEntity { /** * 生效日期 */ - @Excel(name = "生效日期",sort = 3) + @Excel(name = "生效日期", sort = 3) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("EFFECTIVE_DATE") private Date effectiveDate; diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalSpecial.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalSpecial.java index 71646952..1b20e51f 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalSpecial.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdWithdrawalSpecial.java @@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 提现设置特殊配置 - *

- * - * @author zhangjing - * @since 2022-09-06 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/common/HttpConstant.java b/bd-third/src/main/java/com/hzs/third/bankcard/common/HttpConstant.java deleted file mode 100644 index 01228656..00000000 --- a/bd-third/src/main/java/com/hzs/third/bankcard/common/HttpConstant.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.hzs.third.bankcard.common; - -import lombok.Data; - -/** - * 银行卡验证返回状态 - * - * @Description: - * @Author: ljc - * @Time: 2022/11/25 10:42 - * @Classname: HttpConstant - * @Package_name: com.hz.bankCard.common - */ -@Data -public class HttpConstant { - /** - * 一致 - */ - public static final String BANK_CARD_SAME = "1200"; - /** - * 不一致 - */ - public static final String BANK_CARD_DIFFERENT = "1201"; - - - /** - * 银行卡状态错误 - */ - public static final String BANK_CARD_STATUS_EEOR = "1203"; - - /** - * 验证失败 - */ - public static final String BANK_CARD_FAIL = "1206"; - - - /** - * 验证错误 - */ - public static final String BANK_CARD_EEOR = "1206"; - -} diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/provider/BankCardValidateProvider.java b/bd-third/src/main/java/com/hzs/third/bankcard/provider/BankCardValidateProvider.java index d59ae80b..75e4560b 100644 --- a/bd-third/src/main/java/com/hzs/third/bankcard/provider/BankCardValidateProvider.java +++ b/bd-third/src/main/java/com/hzs/third/bankcard/provider/BankCardValidateProvider.java @@ -4,25 +4,18 @@ import com.hzs.common.core.domain.R; import com.hzs.common.core.utils.StringUtils; import com.hzs.third.bankcard.IBankCardServiceApi; import com.hzs.third.bankcard.dto.BankCardParam; -import com.hzs.third.bankcard.service.BankCardService; +import com.hzs.third.bankcard.service.IBankCardService; import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.factory.annotation.Autowired; /** * 银行卡四要素验证服务 - * - * @Description: - * @Author: ljc - * @Time: 2023/2/9 9:05 - * @Classname: BankCardValidateProvider - * @Package_name: com.hzs.third.bankCard.provider */ - @DubboService public class BankCardValidateProvider implements IBankCardServiceApi { @Autowired - BankCardService bankCardService; + private IBankCardService iBankCardService; @Override public R verifyBankCard(BankCardParam bankCardParam) { @@ -38,8 +31,7 @@ public class BankCardValidateProvider implements IBankCardServiceApi { if (StringUtils.isEmpty(bankCardParam.getBankCard())) { return R.fail("银行卡号不能为空!"); } - return bankCardService.verifyBankCard(bankCardParam); + return iBankCardService.verifyBankCard(bankCardParam); } - } diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/service/BankCardService.java b/bd-third/src/main/java/com/hzs/third/bankcard/service/IBankCardService.java similarity index 90% rename from bd-third/src/main/java/com/hzs/third/bankcard/service/BankCardService.java rename to bd-third/src/main/java/com/hzs/third/bankcard/service/IBankCardService.java index 23c350e2..bf98d7a7 100644 --- a/bd-third/src/main/java/com/hzs/third/bankcard/service/BankCardService.java +++ b/bd-third/src/main/java/com/hzs/third/bankcard/service/IBankCardService.java @@ -6,7 +6,7 @@ import com.hzs.third.bankcard.dto.BankCardParam; /** * 银行卡验证接口 */ -public interface BankCardService { +public interface IBankCardService { /** * 银行卡四要素校验 diff --git a/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/BankCardServiceImpl.java b/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/BankCardServiceImpl.java index 92ce2c8a..f5743b06 100644 --- a/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/BankCardServiceImpl.java +++ b/bd-third/src/main/java/com/hzs/third/bankcard/service/impl/BankCardServiceImpl.java @@ -3,13 +3,12 @@ package com.hzs.third.bankcard.service.impl; import cn.hutool.http.Header; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.hzs.common.core.constant.HttpStatus; import com.hzs.common.core.domain.R; -import com.hzs.third.bankcard.common.HttpConstant; import com.hzs.third.bankcard.dto.BankCardParam; -import com.hzs.third.bankcard.service.BankCardService; +import com.hzs.third.bankcard.service.IBankCardService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -22,7 +21,7 @@ import java.util.Map; */ @Slf4j @Service -public class BankCardServiceImpl implements BankCardService { +public class BankCardServiceImpl implements IBankCardService { @Value("${bankCard.url}") private String url; @@ -33,64 +32,52 @@ public class BankCardServiceImpl implements BankCardService { @Override public R verifyBankCard(BankCardParam bankCardParam) { - String authorization = "APPCODE " + appCode; - HttpResponse response = HttpRequest.post(url) - .header(Header.AUTHORIZATION, authorization) - .header(Header.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=UTF-8") - .form(getInParam(bankCardParam)) - .timeout(20000) - .execute(); - return parseResult(response, bankCardParam); - } + Map param = new HashMap<>(); + param.put("bankcard", bankCardParam.getBankCard()); + param.put("idcard", bankCardParam.getIdCard()); + param.put("name", bankCardParam.getName()); + param.put("mobile", bankCardParam.getMobile()); + HttpResponse response = HttpRequest.post(url) + .header(Header.AUTHORIZATION, "APPCODE " + appCode) + .header(Header.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=UTF-8") + .form(param) + .timeout(10000) + .execute(); + return parseResult(response); + } /** * 解析返回的结果集 - *

- * 1200 银行卡验证一致 收费 - * 1201 银行卡验证不一致 收费 - * 1203 银行卡状态错误 收费 - * 1206 验证失败 免费 - * - * @param response 响应信息 - * @return bankCardVO */ - private R parseResult(HttpResponse response, BankCardParam bankCardParam) { + private R parseResult(HttpResponse response) { String result = response.body(); - log.info("调用接口返回信息: " + result); - if (response.getStatus() == HttpStatus.SUCCESS) { - JsonObject resultJson = JsonParser.parseString(result).getAsJsonObject(); - //状态码 - String code = resultJson.get("code").getAsString(); - //返回信息 - String message = resultJson.get("message").getAsString(); - if (code.equals(HttpConstant.BANK_CARD_SAME)) { - return R.ok(); + log.info("调用银行卡认证接口返回信息: " + result); + + if (HttpStatus.SUCCESS == response.getStatus()) { + JSONObject resultObj = JSONUtil.parseObj(result); + if ("200".equals(resultObj.getStr("code"))) { + // 返回成功 + JSONObject dataObj = resultObj.getJSONObject("data"); + int resultInt = dataObj.getInt("result"); + if (resultInt == 0) { + // 一致 + return R.ok(); + } else if (resultInt == 1) { + // 不一致 + return R.fail("银行卡预留信息不一致,请确认后重试"); + } else { + // 查不到卡信息 + return R.fail("银行卡信息不存在,请确认银行卡是否有效"); + } } else { - log.info("银行卡四要素校验接口正常返回状态值: {},信息为: {}", code, message); - return R.fail(message); + // 返回失败 + return R.fail(resultObj.getStr("msg")); } } else { - String message = "认证失败"; - log.info("银行卡四要素校验接口异常返回状态值: {},信息为: {}", response.getStatus(), message); - return R.fail(message); + log.error("调用银行卡认证接口失败"); + return R.fail("银行卡认证失败,请重试"); } } - /** - * 获取入参 - * - * @param bankCardParam 银行卡入参 - * @return String - */ - private Map getInParam(BankCardParam bankCardParam) { - JsonObject jsonObject = new JsonObject(); - jsonObject.addProperty("name", bankCardParam.getName()); - jsonObject.addProperty("mobile", bankCardParam.getMobile()); - jsonObject.addProperty("bankcard", bankCardParam.getBankCard()); - jsonObject.addProperty("idcard", bankCardParam.getIdCard()); - Map param = new HashMap<>(); - param.put("biz_content", jsonObject.toString()); - return param; - } } From 1fb311af015acef08e8a5e4b194cde3b712ef1a5 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Thu, 4 Sep 2025 16:06:16 +0800 Subject: [PATCH 17/78] =?UTF-8?q?##=201980=E5=8D=87=E7=BA=A7=E7=9A=849900?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E5=86=8D=E8=B4=AD=E4=B9=B09900=E4=BD=86?= =?UTF-8?q?=E6=98=AF=E7=AD=89=E7=BA=A7=E4=B8=8D=E5=8F=98=EF=BC=88363?= =?UTF-8?q?=EF=BC=89=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hzs/sale/order/service/impl/SaOrderServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index 735e357d..aa424efb 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -874,15 +874,16 @@ public class SaOrderServiceImpl extends ServiceImpl impl String upgradeWay = querySystemConfigByKey(saOrderExt.getPkCountry(), ESystemConfig.UPGRADE_WAY.getKey()); boolean checkUpgrade = false; if (oldGradeDTO.getGradeValue() >= cuMember.getPkSettleGradeValue() && !Objects.equals(Integer.toString(EUpgradeWay.TOTAL.getValue()), upgradeWay)) { + checkUpgrade = true; if (EGrade.VIP.getValue() == oldGradeDTO.getGradeValue()) { SaOrderExt gradeOrder = baseMapper.getLastOrderGrade(cuMember.getPkId()); if (EGrade.MAKER.getValue() == gradeOrder.getGradeValue()) { // 如果是1980赠送升级的9900,可以再买一个9900,但是等级不变 - checkUpgrade = true; + checkUpgrade = false; } } } - if (!checkUpgrade) { + if (checkUpgrade) { return false; } // 封装保存订单数据 From 74c2c955f00da136fff13d27e4920c1ac040e647 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Fri, 5 Sep 2025 16:24:33 +0800 Subject: [PATCH 18/78] =?UTF-8?q?##=20Opt=20-=20=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=93=8D=E5=BA=94=E4=BD=93=E5=86=85-?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=B7=A5=E5=85=B7=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hzs/third/pay/service/impl/JdPayServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java b/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java index 7ef499e6..d8d06007 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java +++ b/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java @@ -1,6 +1,7 @@ package com.hzs.third.pay.service.impl; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.hzs.common.core.config.BdConfig; @@ -370,7 +371,10 @@ public class JdPayServiceImpl implements IJdPayService { // 订单金额 int tradeAmount = Integer.parseInt(response.getTradeAmount()); BigDecimal payMoney = new BigDecimal(tradeAmount).divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP); - Integer payType = convertPayType(response.getPayTool()); + Integer payType = null; + if(StrUtil.isNotEmpty(response.getPayTool())){ + payType = convertPayType(response.getPayTool()); + } // 支付后续业务处理 if (iPayService.notifyHandle(tOnlinePayment.getBusinessType().toString() , thirdOrderCode, thirdOrderCode, payNumber, payTime, payMoney, EPayChannel.JD, channelNumber, payType, acqOrderId)) { return AjaxResult.success(); From 93cfed0941cc72dd15047d63f25113c8a870c47f Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Fri, 5 Sep 2025 18:16:46 +0800 Subject: [PATCH 19/78] =?UTF-8?q?##=20Opt=20-=20=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E5=81=BF=E5=BC=82=E5=B8=B8=E5=9B=9E=E8=B0=83-?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java b/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java index d8d06007..d813651a 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java +++ b/bd-third/src/main/java/com/hzs/third/pay/service/impl/JdPayServiceImpl.java @@ -353,7 +353,7 @@ public class JdPayServiceImpl implements IJdPayService { return AjaxResult.success("已支付订单 无需补偿回调!"); } log.info("queryOrder : {}", JSONUtil.toJsonStr(response)); - { + if ("FINI".equals(response.getTradeStatus())){ // 支付成功处理 // 商户订单号 From 77813f30d663726bd166eca22e135f98de751fd5 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Mon, 18 Aug 2025 09:20:48 +0800 Subject: [PATCH 20/78] =?UTF-8?q?##=20Opt=20-=20=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E6=94=AF=E4=BB=98=E5=87=8F=E5=B0=91=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hzs/third/pay/jdpay/sdk/JdPayHttpClientProxy.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bd-third/src/main/java/com/hzs/third/pay/jdpay/sdk/JdPayHttpClientProxy.java b/bd-third/src/main/java/com/hzs/third/pay/jdpay/sdk/JdPayHttpClientProxy.java index 23863944..1f353927 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/jdpay/sdk/JdPayHttpClientProxy.java +++ b/bd-third/src/main/java/com/hzs/third/pay/jdpay/sdk/JdPayHttpClientProxy.java @@ -42,9 +42,9 @@ public class JdPayHttpClientProxy { log.info("1.{}接口请求参数:{}", apiName, request); // 请求参数加密和签名 String httpRequest = JdPayApiUtil.encryptAndSignature(jdPayNewConfig, reqNo, request); - log.info("2.{}远程调用请求参数:{}", apiName, httpRequest); +// log.info("2.{}远程调用请求参数:{}", apiName, httpRequest); String httpResponse = jdPayHttpClient.execute(jdPayNewConfig, urlSuffix, httpRequest); - log.info("3.{}远程调用返回参数:{}", apiName, httpResponse); +// log.info("3.{}远程调用返回参数:{}", apiName, httpResponse); // 验证和解析返回参数 response = JdPayApiUtil.decryptAndVerifySign(jdPayNewConfig, httpResponse); log.info("4.{}耗时:{},接口返回参数:{}", apiName, (System.currentTimeMillis() - startTimestampMs), response); From 9bd687944c5914a08e8f418ad023e4f6df86419c Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 9 Sep 2025 09:30:54 +0800 Subject: [PATCH 21/78] =?UTF-8?q?##=20=E8=A7=81=E7=82=B9=E5=A5=96=E8=80=83?= =?UTF-8?q?=E6=A0=B8=E6=B7=BB=E5=8A=A0=E5=A4=8D=E8=B4=AD=E8=80=83=E6=A0=B8?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=88=A4=E6=96=AD=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java | 4 +++- .../com/hzs/bonus/achieve/service/ICuMemberTreeService.java | 2 +- .../bonus/achieve/service/impl/CuMemberTreeServiceImpl.java | 4 ++-- .../bonus/detail/service/impl/CuMemberAssessServiceImpl.java | 2 +- .../resources/mapper/bonus/achieve/CuMemberTreeMapper.xml | 5 ++++- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java index 38f5f889..50bc5710 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/mapper/CuMemberTreeMapper.java @@ -333,7 +333,9 @@ public interface CuMemberTreeMapper extends BaseMapper { * @param assessTableName * @return */ - int updateCuMemberSettlePointAssess(@Param("settleTableName") String settleTableName, @Param("assessTableName") String assessTableName); + int updateCuMemberSettlePointAssess(@Param("settleTableName") String settleTableName, + @Param("assessTableName") String assessTableName, + @Param("settleDate") String settleDate); /** * 初始化考核数据 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java index d3fa16f8..b78813fc 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/ICuMemberTreeService.java @@ -339,7 +339,7 @@ public interface ICuMemberTreeService extends IService { * @param settleTableName * @param assessTableName */ - void updateCuMemberSettlePointAssess(String settleTableName, String assessTableName); + void updateCuMemberSettlePointAssess(String settleTableName, String assessTableName, String settleDate); /** * 初始化考核数据 diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java index b1d22d5c..2bdf4de7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/achieve/service/impl/CuMemberTreeServiceImpl.java @@ -436,8 +436,8 @@ public class CuMemberTreeServiceImpl extends ServiceImpl= cma.start_date + and cma.end_date >= to_date(#{settleDate}, 'yyyy-mm-dd') + ) tmp on (tmp.pk_member = cms.pk_member) when matched then update set cms.is_maker_space = 0 From dfb32bc3890ce5bd9e8758884ae34abab53a9617 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Tue, 9 Sep 2025 14:33:55 +0800 Subject: [PATCH 22/78] =?UTF-8?q?##=20bug371=20=E4=B8=9A=E7=BB=A9=E6=B1=87?= =?UTF-8?q?=E6=80=BB=E9=A1=B5=EF=BC=8C=E9=80=89=E4=BA=86=E9=9A=B6=E5=B1=9E?= =?UTF-8?q?=E4=BD=93=E7=B3=BB=E6=90=9C=E7=B4=A2=E5=90=8E=E7=82=B9=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=EF=BC=8C=E5=AF=BC=E5=87=BA=E7=9A=84excel=E6=98=AF?= =?UTF-8?q?=E6=89=80=E6=9C=89=E7=9A=84=EF=BC=8C=E5=BA=94=E8=AF=A5=E5=8F=AA?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=BD=93=E5=89=8D=E6=90=9C=E7=B4=A2=E7=9A=84?= =?UTF-8?q?=E4=BD=93=E7=B3=BB=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/service/impl/CuMemberServiceImpl.java | 6 ++++++ .../com/hzs/member/census/param/CensusSummaryParam.java | 4 ++++ .../main/resources/mapper/member/base/CuMemberMapper.xml | 4 ++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index 2fca56b4..12f21731 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -2468,6 +2468,12 @@ public class CuMemberServiceImpl extends ServiceImpl i for (String day : days) { censusSummaryParam.setTime(day); censusSummaryParam.setPkCountry(SecurityUtils.getPkCountry()); + // 将体系转换成集合类型 + if (censusSummaryParam.getPkBdVertexStr() != null) { + censusSummaryParam.setPkBdVertexStrList(Arrays.stream(censusSummaryParam.getPkBdVertexStr().split(",")) + .map(Integer::valueOf) + .collect(Collectors.toList())); + } List memberMeritsSummaryVoList = baseMapper.queryDateBySummary(censusSummaryParam); Map memberMeritsSummaryMap = memberMeritsSummaryVoList.stream().collect(Collectors.toMap(MemberMeritsSummaryVo::getOrderType, Function.identity())); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/census/param/CensusSummaryParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/census/param/CensusSummaryParam.java index 80c417ea..a18039e7 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/census/param/CensusSummaryParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/census/param/CensusSummaryParam.java @@ -58,4 +58,8 @@ public class CensusSummaryParam { * 体系 */ private String pkBdVertexStr; + /** + * 体系集合 + */ + private List pkBdVertexStrList; } diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml index b7c1dbb6..efcf7eb9 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml @@ -2567,9 +2567,9 @@ and sa.DEL_FLAG = 0 and to_char(sa.pay_time, 'yyyy-mm-dd') = #{time} and sa.PK_COUNTRY = #{pkCountry} - + and cm.PK_VERTEX in - + #{item} From c872fc80fe9619e3d214435cdf6fc43d7997d1b7 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Wed, 10 Sep 2025 10:18:42 +0800 Subject: [PATCH 23/78] =?UTF-8?q?##=20=E8=B0=83=E6=8D=A2=E8=B4=A7=E7=89=A9?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C,=E6=A0=A1=E9=AA=8C=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=8E=9F=E8=AE=A2=E5=8D=95=E4=BB=B7=E6=A0=BC=E5=92=8C=E8=B0=83?= =?UTF-8?q?=E6=8D=A2=E5=AE=8C=E8=B4=A7=E4=B9=8B=E5=90=8E=E7=9A=84=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC=E4=B8=8D=E7=9B=B8=E5=90=8C=E4=B8=8D=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=8D=A2=E8=B4=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBusinessServiceImpl.java | 47 +++++-------------- .../constant/msg/SaOrderMsgConstants.java | 5 ++ 2 files changed, 16 insertions(+), 36 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java index 7bc6998c..137bf0f1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/OrderBusinessServiceImpl.java @@ -575,12 +575,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { // 查询订单信息 SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry); if (null == saOrder) { - return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST; + return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST; } // 订单支付日期 < 当前日期-7天 Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7); if (beforeDate.compareTo(saOrder.getPayTime()) > 0) { - return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED); + return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED; } // 操作日志内容 @@ -646,16 +646,13 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { return "订单已经发货,不能进行调换货物"; } - // 是否扣款 - boolean orderCostFlag = false; // 修改前的订单金额 + 邮费 BigDecimal beforeAmount = saOrder.getOrderAmount().add(saOrder.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP); // 修改后的订单金额 + 邮费 BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP); - // 对比修改前后订单价格处理是否补差价 + // 校验订单原订单价格和调换完货之后的价格不相同不进行换货 if (beforeAmount.compareTo(afterAmount) != 0) { - // 修改前后金额不相同则进行处理 - orderCostFlag = true; + return CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE; } if (iSaOrderChargeLogService.save(saOrderChargeLog)) { @@ -664,13 +661,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { changeIdList, noChangeIdList, userId, pkCountry, nowDate); - if (orderCostFlag) { - // 订单调换货物扣费处理 - R resultR = iMemberAccountServiceApi.orderChangeProduct(saOrder, updateOrder, userId, dto); - if (!resultR.isSuccess()) { - throw new BaseException(resultR.getMsg()); - } - } else if (null != dto) { + if (null != dto) { // 订单总价未变化,但是需要手续费 R resultR = iMemberAccountServiceApi.orderChangeProduct(null, null, userId, dto); if (!resultR.isSuccess()) { @@ -703,12 +694,12 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { // 查询订单收货地址信息 SaOrderExt saOrder = iSaOrderService.queryOrderByCode(orderCode, pkCountry); if (null == saOrder) { - return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED) + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST; + return CommonMsgConstants.OPERATION_FAILED + ":" + orderCode + SaOrderMsgConstants.ORDER_NOT_EXIST; } // 订单支付日期 < 当前日期-7天 Date beforeDate = DateUtils.addDate(DateUtils.getStartTime(nowDate), -7); if (beforeDate.compareTo(saOrder.getPayTime()) > 0) { - return TransactionUtils.getContent(DocumentMsgConstants.DOCUMENT_ORDER_SETTLED); + return DocumentMsgConstants.DOCUMENT_ORDER_SETTLED; } // 涉及会员ID列表 @@ -754,25 +745,9 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { ; // 修改后的订单金额 + 邮费 BigDecimal afterAmount = afterData.getOrderAmount().add(param.getPostage()).setScale(2, BigDecimal.ROUND_HALF_UP); - ; - // 对比修改前后订单价格处理是否补差价 - if (beforeAmount.compareTo(afterAmount) < 0) { - // 存在差额 - // 封装订单数据 - SaOrder updateOrder = BeanUtil.copyProperties(saOrder, SaOrder.class); - updateOrder.setPkId(saOrder.getPkId()); - updateOrder.setOrderAmount(afterData.getOrderAmount()); - updateOrder.setOrderAchieve(afterData.getOrderAchieve()); - updateOrder.setOrderAssAchieve(afterData.getOrderAssAchieve()); - updateOrder.setPostage(param.getPostage()); - updateOrder.setPkModified(userId); - updateOrder.setModifiedTime(nowDate); - - // 校验订单支付金额是否足够 - R resultR = iMemberAccountServiceApi.orderChangeProductPre(saOrder, updateOrder); - if (!resultR.isSuccess()) { - return resultR.getMsg(); - } + //校验订单原订单价格和调换完货之后的价格不相同不进行换货 + if (beforeAmount.compareTo(afterAmount) != 0) { + return CommonMsgConstants.OPERATION_FAILED + ":" + param.getOrderCode() + SaOrderMsgConstants.PRODUCT_CONFIRM_PRICE; } if (iSaOrderChargeLogService.save(saOrderChargeLog)) { @@ -786,7 +761,7 @@ public class OrderBusinessServiceImpl implements IOrderBusinessService { } return submitStr; } - return TransactionUtils.getContent(CommonMsgConstants.OPERATION_FAILED); + return CommonMsgConstants.OPERATION_FAILED; } @Transactional(rollbackFor = Exception.class) diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java index bcb6e696..1714af98 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/SaOrderMsgConstants.java @@ -164,5 +164,10 @@ public class SaOrderMsgConstants { * 会员续约 -- 已终止会员不允许报单 */ public static final String TERMINATED_NOT_DECLARATION = "已终止会员不允许报单"; + /** + * 原订单价格和调换完货之后的价格不相同 -- 不允许货物调换 + */ + public static final String PRODUCT_CONFIRM_PRICE = "原订单价格和调换完货之后的价格不相同"; + } From 11a5a8f75832c528397231ab65a28e3bf8431419 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Wed, 10 Sep 2025 14:33:36 +0800 Subject: [PATCH 24/78] =?UTF-8?q?##=20=E5=88=A0=E9=99=A4=E6=AD=BB=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../account/mapper/CuMemberAccountMapper.java | 2 + .../service/ICuMemberAccountService.java | 1 + .../impl/CuMemberAccountServiceImpl.java | 5 ++ .../manage/DeleteDeadLockController.java | 48 ++++++++++++++++ .../member/base/mapper/CuMemberMapper.java | 4 ++ .../base/param/DeleteDeadLockParam.java | 26 +++++++++ .../base/service/DeleteDeadLockService.java | 13 +++++ .../impl/DeleteDeadLockServiceImpl.java | 55 +++++++++++++++++++ .../hzs/member/base/vo/DeleteDeadLockVO.java | 48 ++++++++++++++++ .../member/account/CuMemberAccountMapper.xml | 8 +++ .../mapper/member/base/CuMemberMapper.xml | 44 +++++++++++++++ .../core/constant/msg/MemberMsgConstants.java | 4 ++ 12 files changed, 258 insertions(+) create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/DeleteDeadLockParam.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/DeleteDeadLockService.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/DeleteDeadLockVO.java diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java index 9b6bff2d..965fa3cf 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/mapper/CuMemberAccountMapper.java @@ -14,6 +14,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO; import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -217,4 +218,5 @@ public interface CuMemberAccountMapper extends BaseMapper { */ CuMemberAccountExt queryAccountSummaryByVertex(@Param("pkVertex") Long pkVertex, @Param("pkCountry") Integer pkCountry); + void deleteCuMemberAccountByMemberCode(@Param("userId") Long userId, @Param("date")Date date, @Param("memberCode")String memberCode); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java index 87d3c1b7..f1f01edb 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/ICuMemberAccountService.java @@ -284,4 +284,5 @@ public interface ICuMemberAccountService extends IService { */ CuMemberAccountExt queryAccountSummaryByVertex(Long pkVertex, Integer pkCountry); + void deleteCuMemberAccountByMemberCode(Long userId, Date date, String memberCode); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java index 207b7797..d22c5a19 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberAccountServiceImpl.java @@ -804,5 +804,10 @@ public class CuMemberAccountServiceImpl extends ServiceImpl DeleteDeadLockList = deleteDeadLockService.queryDeleteDeadLockList(deleteDeadLockParam.getMemberCode()); + return getDataTable(DeleteDeadLockList); + } + + /** + * 删除死点 + */ + @PostMapping("delete") + public AjaxResult delete(DeleteDeadLockParam deleteDeadLockParam) { + String check = deleteDeadLockService.deleteDeadLockMember(deleteDeadLockParam); + if (check == null) { + return AjaxResult.success(); + } + return AjaxResult.error(check); + } +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java index 2ea5cc5b..1a59f631 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java @@ -797,4 +797,8 @@ public interface CuMemberMapper extends BaseMapper { CheckRegionDetailVO getSelectRegionDetail(@Param("userId") Long userId, @Param("type") Integer type); List getRegionList(@Param("userId") Long userId, @Param("type") Integer type); + + List queryDeleteDeadLockList(@Param("memberCode") String memberCode); + + Integer queryIsDeadMember(@Param("memberCode") String memberCode); } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/DeleteDeadLockParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/DeleteDeadLockParam.java new file mode 100644 index 00000000..16e345f2 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/param/DeleteDeadLockParam.java @@ -0,0 +1,26 @@ +package com.hzs.member.base.param; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class DeleteDeadLockParam { + + /** + * 会员编号 + */ + @NotNull(message = "会员编号不可为空") + private String memberCode; + + /** + * 所属国家 + */ + private Integer PkCountry; + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/DeleteDeadLockService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/DeleteDeadLockService.java new file mode 100644 index 00000000..cc3db73e --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/DeleteDeadLockService.java @@ -0,0 +1,13 @@ +package com.hzs.member.base.service; + +import com.hzs.member.base.param.DeleteDeadLockParam; +import com.hzs.member.base.vo.DeleteDeadLockVO; + +import java.util.List; + +public interface DeleteDeadLockService { + List queryDeleteDeadLockList(String memberCode); + + String deleteDeadLockMember(DeleteDeadLockParam deleteDeadLockParam); + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java new file mode 100644 index 00000000..e6f213f2 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java @@ -0,0 +1,55 @@ +package com.hzs.member.base.service.impl; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.hzs.common.core.constant.msg.MemberMsgConstants; +import com.hzs.common.domain.member.base.CuMember; +import com.hzs.common.security.utils.SecurityUtils; +import com.hzs.member.account.service.ICuMemberAccountService; +import com.hzs.member.base.mapper.CuMemberMapper; +import com.hzs.member.base.param.DeleteDeadLockParam; +import com.hzs.member.base.service.DeleteDeadLockService; +import com.hzs.member.base.vo.DeleteDeadLockVO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@Service +public class DeleteDeadLockServiceImpl extends ServiceImpl implements DeleteDeadLockService { + @Autowired + private ICuMemberAccountService iCuMemberAccountService; + + @Override + public List queryDeleteDeadLockList(String memberCode) { + return baseMapper.queryDeleteDeadLockList(memberCode); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String deleteDeadLockMember(DeleteDeadLockParam deleteDeadLockParam) { + if (deleteDeadLockParam.getMemberCode() == null) { + return MemberMsgConstants.REQUIRED_NOT_EMPTY; + } + // 查询安置伞下和推荐伞下未删除会员数量,如果未删除会员数量为0返回true + Integer isNoDeadNum = baseMapper.queryIsDeadMember(deleteDeadLockParam.getMemberCode()); + if(isNoDeadNum == 0){ + // 删除操作 + Long userId = SecurityUtils.getUserId(); + Date date=new Date();//此时date为当前的时间 + // 删除会员 + baseMapper.update(null,new LambdaUpdateWrapper() + .eq(CuMember::getMemberCode,deleteDeadLockParam.getMemberCode()) + .set(CuMember::getPkModified,userId) + .set(CuMember::getModifiedTime,date) + .set(CuMember::getDelFlag,1)); + // 删除会员账户 + iCuMemberAccountService.deleteCuMemberAccountByMemberCode(userId,date,deleteDeadLockParam.getMemberCode()); + } else { + return MemberMsgConstants.NOT_DEAD_MEMBER; + } + return null; + } +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/DeleteDeadLockVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/DeleteDeadLockVO.java new file mode 100644 index 00000000..26eafa6c --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/DeleteDeadLockVO.java @@ -0,0 +1,48 @@ +package com.hzs.member.base.vo; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@EqualsAndHashCode(callSuper = false) +@AllArgsConstructor +@NoArgsConstructor +public class DeleteDeadLockVO { + + /** + * 会员编号 + */ + private String memberCode; + + /** + * 会员姓名 + */ + private String memberName; + /** + * 结算等级 + */ + private Integer pkSettleGrade; + /** + * 推荐人编号 + */ + private String parMemberCode; + /** + * 安置人编号 + */ + private String placeMemberCode; + /** + * 安置位置 + */ + private String placeDept; + /** + * 注册时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; +} diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberAccountMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberAccountMapper.xml index 68ef0e40..6ccdb12d 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberAccountMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/account/CuMemberAccountMapper.xml @@ -69,6 +69,14 @@ + + update cu_member_account cma + set cma.del_flag = 1,cma.PK_MODIFIED = #{userId},cma.MODIFIED_TIME = #{date} + where cma.pk_member in + (select cm.pk_id + from cu_member cm + where cm.member_code = #{memberCode}) + + + diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java index 2e921b37..ba328736 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java @@ -287,5 +287,9 @@ public class MemberMsgConstants { * 已超最大门票销售数量,不能购买! */ public static final String NOT_CHECK_AC_ACTIVITY = "门票数量已售罄,请稍后再试!"; + /** + * 会员安置伞下和推荐伞下还有未删除会员,不可删除 + */ + public static final String NOT_DEAD_MEMBER = "会员安置伞下和推荐伞下还有未删除会员,不可删除"; } From d133aa0e5fcb97a34f913f9dcd9633a13b6c96b8 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 10 Sep 2025 14:48:30 +0800 Subject: [PATCH 25/78] =?UTF-8?q?##=200=E5=85=83=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E6=B3=A8=E5=86=8C=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=EF=BC=9B?= =?UTF-8?q?get-info=E8=BF=94=E5=9B=9E=E4=BF=A1=E6=81=AF=E8=B0=83=E6=95=B4?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/system/common/dto/MemberDataDTO.java | 45 +---- .../service/ITransactionCommonService.java | 6 +- .../impl/TransactionCommonServiceImpl.java | 6 +- .../member/base/mapper/CuMemberMapper.java | 1 - .../member/base/service/ICuMemberService.java | 10 ++ .../service/impl/CuMemberServiceImpl.java | 148 +++++++++++----- .../service/impl/MemberInfoServiceImpl.java | 56 +----- .../com/hzs/member/base/vo/MemberDataVO.java | 35 +--- .../com/hzs/member/base/vo/MemberInfoVO.java | 46 +---- .../com/hzs/member/base/vo/MemberShare.java | 13 +- .../controller/MemberTokenController.java | 23 +++ .../member/login/param/AutoLoginParam.java | 26 ++- .../service/impl/MemberLoginServiceImpl.java | 9 +- .../controller/api/ApiShareController.java | 167 +++++++++++------- .../share/param/ShareRegisterParam.java | 47 +++++ .../manage/MemberStructureController.java | 4 + .../mapper/member/base/CuMemberMapper.xml | 2 - .../provider/CommonServiceProvider.java | 32 +--- .../common/core/constant/CacheConstants.java | 5 + .../hzs/common/core/enums/EAccountStatus.java | 2 - .../com/hzs/common/core/enums/EAwards.java | 28 --- .../core/enums/ERegistrationAuthority.java | 2 - bd-gateway/src/main/resources/bootstrap.yml | 3 + 23 files changed, 346 insertions(+), 370 deletions(-) create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/share/param/ShareRegisterParam.java diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/common/dto/MemberDataDTO.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/common/dto/MemberDataDTO.java index 7e1481a2..8cf42718 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/common/dto/MemberDataDTO.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/common/dto/MemberDataDTO.java @@ -6,14 +6,9 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; -import java.math.BigDecimal; /** - * @Description: 会员信息DTO - * @Author: jiang chao - * @Time: 2023/1/10 16:40 - * @Classname: MemberDataDTO - * @PackageName: com.hzs.system.common.dto + * 会员信息DTO */ @AllArgsConstructor @NoArgsConstructor @@ -27,10 +22,6 @@ public class MemberDataDTO implements Serializable { * 自然国ID */ private Integer pkCountry; - /** - * 自然国翻译KEY - */ - private Integer pkCountryTransaction; /** * 自然国名称 */ @@ -39,19 +30,11 @@ public class MemberDataDTO implements Serializable { * 自然国家圆形国旗 */ private String countryCircularIcon; - /** - * 自然国家方形图旗 - */ - private String countrySquareIcon; /** * 结算国ID */ private Integer pkSettleCountry; - /** - * 自然国翻译KEY - */ - private Integer pkSettleCountryTransaction; /** * 自然国名称 */ @@ -60,18 +43,6 @@ public class MemberDataDTO implements Serializable { * 结算国家圆形国旗 */ private String settleCountryCircularIcon; - /** - * 结算国家方形国旗 - */ - private String settleCountrySquareIcon; - /** - * 结算国家点亮名称 - */ - private String settleCountryLightName; - /** - * 结算国家地图 - */ - private String settleCountryImg; /** * 结算等级翻译 @@ -96,23 +67,9 @@ public class MemberDataDTO implements Serializable { */ private String awardsIcon; - /** - * 荣誉奖衔翻译 - */ - private Integer pkMaxAwards; - /** - * 荣誉奖衔图标 - */ - private String maxAwardsIcon; - /** * 币种图标 */ private String currencyIcon; - /** - * 汇率 - */ - private BigDecimal exchangeRate; - } diff --git a/bd-business/bd-business-common/src/main/java/com/hzs/common/service/ITransactionCommonService.java b/bd-business/bd-business-common/src/main/java/com/hzs/common/service/ITransactionCommonService.java index 27cef9b4..cb4b2d97 100644 --- a/bd-business/bd-business-common/src/main/java/com/hzs/common/service/ITransactionCommonService.java +++ b/bd-business/bd-business-common/src/main/java/com/hzs/common/service/ITransactionCommonService.java @@ -4,11 +4,7 @@ import java.util.Collection; import java.util.Map; /** - * @Description: 翻译公用操作 - * @Author: jiang chao - * @Time: 2022/10/22 11:58 - * @Classname: ITransactionCommonService - * @PackageName: com.hzs.common.service + * 翻译公用操作 */ public interface ITransactionCommonService { diff --git a/bd-business/bd-business-common/src/main/java/com/hzs/common/service/impl/TransactionCommonServiceImpl.java b/bd-business/bd-business-common/src/main/java/com/hzs/common/service/impl/TransactionCommonServiceImpl.java index f3ccf294..426efa17 100644 --- a/bd-business/bd-business-common/src/main/java/com/hzs/common/service/impl/TransactionCommonServiceImpl.java +++ b/bd-business/bd-business-common/src/main/java/com/hzs/common/service/impl/TransactionCommonServiceImpl.java @@ -12,11 +12,7 @@ import java.util.*; import java.util.stream.Collectors; /** - * @Description: 翻译公用操作 - * @Author: jiang chao - * @Time: 2022/10/22 11:58 - * @Classname: TransactionCommonServiceImpl - * @PackageName: com.hzs.common.service.impl + * 翻译公用操作 */ @Service public class TransactionCommonServiceImpl implements ITransactionCommonService { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java index 1a59f631..c7cbd78f 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/mapper/CuMemberMapper.java @@ -59,7 +59,6 @@ public interface CuMemberMapper extends BaseMapper { /* * 根据条件查询会员信息,查询单表 - * @param: null null **/ List queryMemberByCondition(CuMember cuMember); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java index daf0e855..0e814d08 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberService.java @@ -19,6 +19,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO; import com.hzs.member.handlebusiness.vo.HandleBusinessVO; import com.hzs.member.marketnews.param.MarketNewsParam; import com.hzs.member.marketnews.vo.UserInvestmentVo; +import com.hzs.member.share.param.ShareRegisterParam; import com.hzs.system.sys.dto.ApprovalBusinessResultDTO; import java.math.BigDecimal; @@ -1012,4 +1013,13 @@ public interface ICuMemberService extends IService { AjaxResult setRegion(MemberRegionParam param); + /** + * 分享注册会员 + * + * @param registerParam 分享注册入参 + * @return + */ + CuMember shareRegisterMember(ShareRegisterParam registerParam); + + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index 12f21731..a2b662c9 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -55,6 +55,7 @@ import com.hzs.member.handlebusiness.vo.BusinessMemberVO; import com.hzs.member.handlebusiness.vo.HandleBusinessVO; import com.hzs.member.marketnews.param.MarketNewsParam; import com.hzs.member.marketnews.vo.UserInvestmentVo; +import com.hzs.member.share.param.ShareRegisterParam; import com.hzs.system.base.IAreaServiceApi; import com.hzs.system.base.IBdAwardsRegionConfigServiceApi; import com.hzs.system.base.ICountryServiceApi; @@ -138,20 +139,18 @@ public class CuMemberServiceImpl extends ServiceImpl i @Override public Boolean saveMember(CuMember cuMember) { - boolean save = false; try { if (cuMember.getIsMakerGift() == null) { cuMember.setIsMakerGift(EYesNo.NO.getIntValue()); } - Integer saveRow = baseMapper.insertCuMember(cuMember); - if (saveRow > 0) { - save = true; + if (baseMapper.insertCuMember(cuMember) > 0) { + return true; } } catch (Exception e) { - e.printStackTrace(); + log.error("保存会员失败", e); throw new RuntimeException(e); } - return save; + return false; } @Override @@ -1897,7 +1896,6 @@ public class CuMemberServiceImpl extends ServiceImpl i tree.putExtra("settleCountryName", allCountryData.get(treeNode.getPkSettleCountry()).getName()); tree.putExtra("settleCountryUrl", allCountryData.get(treeNode.getPkSettleCountry()).getNationalFlag1()); tree.putExtra("settleCountryUrl2", allCountryData.get(treeNode.getPkSettleCountry()).getNationalFlag2()); - } for (BdAwards date : awardsDto.getData()) { if (date.getPkId().equals(treeNode.getPkAwards())) { @@ -1910,7 +1908,6 @@ public class CuMemberServiceImpl extends ServiceImpl i tree.putExtra("countryName", allCountryData.get(treeNode.getPkCountry()).getName()); tree.putExtra("countryUrl", allCountryData.get(treeNode.getPkCountry()).getNationalFlag1()); tree.putExtra("countryUrl2", allCountryData.get(treeNode.getPkCountry()).getNationalFlag2()); - } CuMember member = this.getMember(treeNode.getPkMember()); if (member != null) { @@ -3392,24 +3389,24 @@ public class CuMemberServiceImpl extends ServiceImpl i // 如果达标至BD_AWARDS_REGION_CONFIG获取可选择的配置 CuMemberExt cuMember = this.getMemberById(userId); Map awardsMap = iAwardsServiceApi.getAwards().getData(); - BdAwards bdAwards = awardsMap.entrySet().stream().filter( o -> o.getValue().getPkId().equals(cuMember.getPkAwards())).findFirst().get().getValue(); + BdAwards bdAwards = awardsMap.entrySet().stream().filter(o -> o.getValue().getPkId().equals(cuMember.getPkAwards())).findFirst().get().getValue(); // BdAwards bdAwards = iAwardsServiceApi.getAwardsOne(cuMember.getPkAwards()).getData(); R> r = iBdAwardsRegionConfigServiceApi.getMatchList(bdAwards.getAwardsValue()); List regionConfigList = null; - if(r.isSuccess()){ + if (r.isSuccess()) { regionConfigList = r.getData(); } BigDecimal smallPv = getSmallPV(userId); - if(CollUtil.isNotEmpty(regionConfigList)){ + if (CollUtil.isNotEmpty(regionConfigList)) { // 匹配到的区域配置 for (BdAwardsRegionConfig config : regionConfigList) { // BdAwards configAwards = iAwardsServiceApi.getAwardsOne(config.getPkAwards().intValue()).getData(); - BdAwards configAwards = awardsMap.entrySet().stream().filter( o -> o.getValue().getAwardsValue().equals(config.getAwardsValue())).findFirst().get().getValue(); + BdAwards configAwards = awardsMap.entrySet().stream().filter(o -> o.getValue().getAwardsValue().equals(config.getAwardsValue())).findFirst().get().getValue(); // 判断业绩 CheckRegionDetailVO regionDetail = baseMapper.getSelectRegionDetail(userId, config.getAreaType()); - if(bdAwards.getAwardsValue() >= config.getAwardsValue()){ - switch (config.getAreaType()){ + if (bdAwards.getAwardsValue() >= config.getAwardsValue()) { + switch (config.getAreaType()) { case 1: checkRegionVO.setProvince(smallPv.compareTo(configAwards.getSmallAssess()) >= 0); checkRegionVO.getData().setProvinceData(regionDetail); @@ -3422,7 +3419,8 @@ public class CuMemberServiceImpl extends ServiceImpl i checkRegionVO.setCounty(smallPv.compareTo(configAwards.getSmallAssess()) >= 0); checkRegionVO.getData().setCountyData(regionDetail); break; - default: break; + default: + break; } } } @@ -3466,9 +3464,9 @@ public class CuMemberServiceImpl extends ServiceImpl i BigDecimal todayDataASum = ObjectUtil.isEmpty(todayData) ? BigDecimal.ZERO : todayData.getANewPv(); BigDecimal todayDataBSum = ObjectUtil.isEmpty(todayData) ? BigDecimal.ZERO : todayData.getBNewPv(); BigDecimal smallSumPv; - if(smallFlag == 1){ + if (smallFlag == 1) { smallSumPv = yesterdayASum.add(todayDataASum); - }else{ + } else { smallSumPv = yesterdayBSum.add(todayDataBSum); } return smallSumPv; @@ -3486,10 +3484,10 @@ public class CuMemberServiceImpl extends ServiceImpl i if (null == province) { return AjaxResult.error("选择区域省不存在,请重新选择"); } - if(param.getType() == 1 && checkRegionVO.isProvince()){ + if (param.getType() == 1 && checkRegionVO.isProvince()) { param.setCity(0); param.setCounty(0); - }else if(param.getType() == 2 && checkRegionVO.isCity()){ + } else if (param.getType() == 2 && checkRegionVO.isCity()) { // 校验市是否存在 if (!param.getCity().equals(0)) { BdArea city = iAreaServiceApi.getArea(param.getCity()).getData(); @@ -3498,7 +3496,7 @@ public class CuMemberServiceImpl extends ServiceImpl i } } param.setCounty(0); - }else if(param.getType() == 3 && checkRegionVO.isCounty()){ + } else if (param.getType() == 3 && checkRegionVO.isCounty()) { // 校验区是否存在 if (!param.getCounty().equals(0)) { BdArea county = iAreaServiceApi.getArea(param.getCounty()).getData(); @@ -3507,7 +3505,7 @@ public class CuMemberServiceImpl extends ServiceImpl i } } } - if(ObjectUtil.isNotEmpty(cuMemberRegionExt)){ + if (ObjectUtil.isNotEmpty(cuMemberRegionExt)) { param.setPkId(cuMemberRegionExt.getPkId()); } param.setPkMember(userId); @@ -3522,48 +3520,114 @@ public class CuMemberServiceImpl extends ServiceImpl i return AjaxResult.error(str); } - public static int getSmallFlag(CuMemberSettleExt lastMonthData, CuMemberSettleExt yesterdayData, CuMemberSettleExt todayData){ + public static int getSmallFlag(CuMemberSettleExt lastMonthData, CuMemberSettleExt yesterdayData, CuMemberSettleExt todayData) { int smallFlag = 1; // left-1, right-2 - if(ObjectUtil.isNotEmpty(todayData)){ - if(ObjectUtil.isNotEmpty(todayData.getASumPv()) + if (ObjectUtil.isNotEmpty(todayData)) { + if (ObjectUtil.isNotEmpty(todayData.getASumPv()) && ObjectUtil.isNotEmpty(todayData.getBSumPv()) - ){ - if(todayData.getASumPv().compareTo(todayData.getBSumPv()) >= 0){ + ) { + if (todayData.getASumPv().compareTo(todayData.getBSumPv()) >= 0) { smallFlag = 2; - }else{ + } else { smallFlag = 1; } } } - if(ObjectUtil.isNotEmpty(yesterdayData)){ - if(ObjectUtil.isNotEmpty(yesterdayData.getASumPv()) + if (ObjectUtil.isNotEmpty(yesterdayData)) { + if (ObjectUtil.isNotEmpty(yesterdayData.getASumPv()) && ObjectUtil.isNotEmpty(yesterdayData.getBSumPv()) - ){ - if(yesterdayData.getASumPv().compareTo(yesterdayData.getBSumPv()) >= 0){ + ) { + if (yesterdayData.getASumPv().compareTo(yesterdayData.getBSumPv()) >= 0) { smallFlag = 2; - }else{ + } else { smallFlag = 1; } } } - if(ObjectUtil.isNotEmpty(lastMonthData)){ - if(ObjectUtil.isNotEmpty(lastMonthData.getASumPv()) + if (ObjectUtil.isNotEmpty(lastMonthData)) { + if (ObjectUtil.isNotEmpty(lastMonthData.getASumPv()) && ObjectUtil.isNotEmpty(lastMonthData.getBSumPv()) - ){ - if(lastMonthData.getASumPv().compareTo(lastMonthData.getBSumPv()) >= 0){ + ) { + if (lastMonthData.getASumPv().compareTo(lastMonthData.getBSumPv()) >= 0) { smallFlag = 2; - }else{ + } else { smallFlag = 1; } } } return smallFlag; } - public static LocalDate getLastDayOfLastMonthLegacy() { - Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.MONTH, -1); // 减1个月 - calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); - return LocalDate.of(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH)); + + @Transactional(rollbackFor = Exception.class) + @Override + public CuMember shareRegisterMember(ShareRegisterParam registerParam) { + // 处理等级 + GradeDTO gradeDTO = iGradeServiceApi.getGradeByGradeValue(EGrade.START_UP.getValue(), CountryConstants.CHINA_COUNTRY).getData(); + if (null == gradeDTO) { + return null; + } + // 新会员信息 + CuMember cuMember = packageCuMember(registerParam, registerParam.getParentMember()); + cuMember.setPkRegisterGrade(gradeDTO.getPkId()); + cuMember.setPkSettleGrade(gradeDTO.getPkId()); + cuMember.setPkAwards(gradeDTO.getPkAwards()); + + // 保存会员 + this.saveMember(cuMember); + // 新会员生成账户,保存账户 + CuMemberAccount cuMemberAccount = CuMemberAccount.builder() + .pkMember(cuMember.getPkId()) + .build(); + cuMemberAccount.setPkCreator(cuMember.getPkCreator()); + cuMemberAccount.setPkCountry(cuMember.getPkSettleCountry()); + iCuMemberAccountService.save(cuMemberAccount); + // 用户注册信息 + CuMemberRegister cuMemberRegister = BeanUtil.copyProperties(cuMember, CuMemberRegister.class); + cuMemberRegister.setPkMember(cuMember.getPkId()); + iCuMemberRegisterService.save(cuMemberRegister); + return cuMember; } + private CuMember packageCuMember(ShareRegisterParam registerParam, CuMember parentMember) { + // 获取新的订单编号 + CuMember cuMember = CuMember.builder() + .memberName(registerParam.getMemberName()) + .nickName(registerParam.getMemberName()) + .phone(registerParam.getPhone()) + .pkSettleCountry(CountryConstants.CHINA_COUNTRY) + .loginPwd(SecurityUtils.encryptPassword(SysConstants.LOGIN_PASSWORD)) + .loginPassword(SysConstants.LOGIN_PASSWORD) + .payPwd(SecurityUtils.encryptPassword(SysConstants.PAY_PASSWORD)) + .payPassword(SysConstants.PAY_PASSWORD) + .source(registerParam.getSource() == null ? EDataSource.H5.getValue() : registerParam.getSource()) + .pkParent(parentMember.getPkId()) + .accountStatus(EAccountStatus.NORMAL.getValue()) + .pkCenterCode(parentMember.getPkId()) + // 这个时候是待支付,等支付的时候变为支付,可以跟待支付公用 + .payStatus(EPayStatus.UNPAID.getValue()) + .category(ECategory.NORMAL.getValue()) + .orderSource(EOrderSource.SOLID.getValue()) + .consumeMoney(BigDecimal.ZERO) + .consumeAchieve(BigDecimal.ZERO) + .registerAuthority(ERegistrationAuthority.ORDINARY.getValue()) + .customerType(ECustomerType.NORMAL.getValue()) + .pkVertex(parentMember.getPkVertex()) + .systemType(ESystemType.DEFAULT.getValue()) + .build(); + cuMember.setPkCountry(parentMember.getPkSettleCountry()); + cuMember.setCreationTime(new Date()); + // 2024.05.29 会员续约需求,【有效期】为购买时间次年的上月最后一天 + cuMember.setExpireDate(DateUtils.beforeMonthLastDate(DateUtils.addYears(cuMember.getCreationTime(), 1))); + // 【休止期】普通会员6个月,奖衔会员12个月(先按6个月来,后续MQ会统一处理同姓名同手机号会员) + cuMember.setStopDate(DateUtils.addMonths(cuMember.getExpireDate(), 6)); + + // 获取会员编号、会员主键 + cuMember.setPkId(baseMapper.createMemberId()); + CountryDTO countryDTO = iCountryServiceApi.getCountry(CountryConstants.CHINA_COUNTRY).getData(); + cuMember.setMemberCode(this.createMemberCode(countryDTO.getCode(), null)); + cuMember.setPkCreator(cuMember.getPkId()); + return cuMember; + } + + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/MemberInfoServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/MemberInfoServiceImpl.java index 49b24565..6fb591e1 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/MemberInfoServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/MemberInfoServiceImpl.java @@ -39,11 +39,7 @@ public class MemberInfoServiceImpl implements IMemberInfoService { private ICuMemberService iCuMemberService; @Autowired private ICuMemberChangeLogService iCuMemberChangeLogService; - @Autowired - private ITransactionCommonService iTransactionCommonService; - @DubboReference - ICurrencyServiceApi iCurrencyServiceApi; @DubboReference ICommonServiceApi iCommonServiceApi; @@ -61,33 +57,19 @@ public class MemberInfoServiceImpl implements IMemberInfoService { .pkSettleCountry(cuMember.getPkSettleCountry()) .pkGrade(cuMember.getPkSettleGrade()) .pkAwards(cuMember.getPkAwards()) -// .pkMaxAwards(cuMember.getPkMaxAwards()) .build()) .getData(); BigDecimal consumeAchieve = cuMember.getConsumeAchieve(); - if (CountryConstants.CHINA_COUNTRY.equals(cuMember.getPkSettleCountry())) { - // 中国会员,汇率处理 - consumeAchieve = consumeAchieve.multiply(memberDataDTO.getExchangeRate()); - } // 会员名称,优先取昵称,没有取名称 String memberName = StringUtils.isNotEmpty(cuMember.getNickName()) ? cuMember.getNickName() : cuMember.getMemberName(); - // 自然国家 - String pkCountryVal = memberDataDTO.getPkCountryVal(); - // 结算国家 - String pkSettleCountryVal = memberDataDTO.getPkSettleCountryVal(); - // 国家翻译 - Map transactionMap = iTransactionCommonService.enumTransactionByDBFromPkId(Arrays.asList(memberDataDTO.getPkCountryTransaction(), memberDataDTO.getPkSettleCountryTransaction())); - if (null != transactionMap.get(memberDataDTO.getPkCountryTransaction())) { - pkCountryVal = transactionMap.get(memberDataDTO.getPkCountryTransaction()); - } - if (null != transactionMap.get(memberDataDTO.getPkSettleCountryTransaction())) { - pkSettleCountryVal = transactionMap.get(memberDataDTO.getPkSettleCountryTransaction()); - } - // 特殊登录处理(两个特殊账号,登录之后单独处理) + // 特殊登录处理 int loginType = 0; + if (null == cuMember.getPkPlaceParent()) { + loginType = 1; + } // 封装返回信息 return MemberInfoVO.builder() @@ -95,25 +77,17 @@ public class MemberInfoServiceImpl implements IMemberInfoService { .memberName(memberName) .registerTime(cuMember.getPayTime()) .pkCountry(cuMember.getPkCountry()) - .pkCountryVal(pkCountryVal) + .pkCountryVal(memberDataDTO.getPkCountryVal()) .countryCircularIcon(memberDataDTO.getCountryCircularIcon()) - .countrySquareIcon(memberDataDTO.getCountrySquareIcon()) .pkSettleCountry(cuMember.getPkSettleCountry()) - .pkSettleCountryVal(pkSettleCountryVal) + .pkSettleCountryVal(memberDataDTO.getPkSettleCountryVal()) .settleCountryCircularIcon(memberDataDTO.getSettleCountryCircularIcon()) - .settleCountrySquareIcon(memberDataDTO.getSettleCountrySquareIcon()) - .settleCountryLightName(memberDataDTO.getSettleCountryLightName()) - .settleCountryImg(memberDataDTO.getSettleCountryImg()) .pkGradeId(cuMember.getPkSettleGrade()) .pkGrade(memberDataDTO.getPkGrade()) - .gradeIcon(memberDataDTO.getGradeIcon()) .pkAwardsId(cuMember.getPkAwards()) .pkAwards(memberDataDTO.getPkAwards()) .pkAwardsValue(memberDataDTO.getPkAwardsValue()) .awardsIcon(memberDataDTO.getAwardsIcon()) -// .pkMaxAwardsId(cuMember.getPkMaxAwards()) -// .pkMaxAwards(memberDataDTO.getPkMaxAwards()) -// .maxAwardsIcon(memberDataDTO.getMaxAwardsIcon()) .currencyIcon(memberDataDTO.getCurrencyIcon()) .registerAuthority(cuMember.getRegisterAuthority()) .headPath(cuMember.getHeadPath()) @@ -137,24 +111,6 @@ public class MemberInfoServiceImpl implements IMemberInfoService { memberDataVO.setPhone(DesensitizedUtil.mobilePhone(memberDataVO.getPhone())); // 证件号码脱敏 memberDataVO.setIdCardAuth(DesensitizedUtil.idCardNum(memberDataVO.getIdCardAuth(), 6, 6)); - - if (CountryConstants.CHINA_COUNTRY.equals(memberDataVO.getPkSettleCountry())) { - // 汇率 - CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(memberDataVO.getPkSettleCountry()).getData(); - - // 中国会员,汇率处理 - memberDataVO.setConsumeAchieve(memberDataVO.getConsumeAchieve().multiply(currencyDTO.getInExchangeRate())); - } - - // 国家翻译 - Map transactionMap = iTransactionCommonService.enumTransactionByDBFromPkId(Arrays.asList(memberDataVO.getPkCountryTransaction(), memberDataVO.getPkSettleCountryTransaction())); - if (null != transactionMap.get(memberDataVO.getPkCountryTransaction())) { - memberDataVO.setCountryName(transactionMap.get(memberDataVO.getPkCountryTransaction())); - } - if (null != transactionMap.get(memberDataVO.getPkSettleCountryTransaction())) { - memberDataVO.setSettleCountryName(transactionMap.get(memberDataVO.getPkSettleCountryTransaction())); - } - return memberDataVO; } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberDataVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberDataVO.java index 29da7d2e..d54ed6a4 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberDataVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberDataVO.java @@ -1,7 +1,6 @@ package com.hzs.member.base.vo; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonIgnore; import com.hzs.common.core.annotation.Transaction; import com.hzs.common.core.constant.EnumsPrefixConstants; import lombok.Data; @@ -10,11 +9,7 @@ import java.math.BigDecimal; import java.util.Date; /** - * @Description: 会员资料VO - * @Author: jiang chao - * @Time: 2023/1/11 15:15 - * @Classname: MemberDataVO - * @PackageName: com.hzs.member.base.vo + * 会员资料VO */ @Data public class MemberDataVO { @@ -48,10 +43,6 @@ public class MemberDataVO { * 自然国家 */ private Integer pkCountry; - /** - * 自然国家翻译 - */ - private Integer pkCountryTransaction; /** * 自然国家名称 */ @@ -61,10 +52,6 @@ public class MemberDataVO { * 结算国家 */ private Integer pkSettleCountry; - /** - * 结算国家翻译 - */ - private Integer pkSettleCountryTransaction; /** * 结算国家名称 */ @@ -90,16 +77,6 @@ public class MemberDataVO { */ private String settleGradeVal; - /** - * 代理等级 - */ - @Transaction(transactionKey = EnumsPrefixConstants.KEY_GRADE) - private Integer agentGrade; - /** - * 代理等级显示 - */ - private String agentGradeVal; - /** * 真实奖衔 */ @@ -110,16 +87,6 @@ public class MemberDataVO { */ private String awardsVal; - /** - * 荣誉奖衔 - */ - @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD) - private Integer maxAwards; - /** - * 荣誉奖衔显示 - */ - private String maxAwardsVal; - /** * 创建日期 */ diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberInfoVO.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberInfoVO.java index b8d79906..5ad00c48 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberInfoVO.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberInfoVO.java @@ -12,11 +12,7 @@ import java.math.BigDecimal; import java.util.Date; /** - * @Description: 会员登录信息 - * @Author: jiang chao - * @Time: 2023/1/10 15:23 - * @Classname: MemberInfo - * @PackageName: com.hzs.member.base.vo + * 会员登录信息 */ @AllArgsConstructor @NoArgsConstructor @@ -51,10 +47,6 @@ public class MemberInfoVO { * 自然国家圆形国旗 */ private String countryCircularIcon; - /** - * 自然国家方形图旗 - */ - private String countrySquareIcon; /** * 结算国ID @@ -68,18 +60,6 @@ public class MemberInfoVO { * 结算国家圆形国旗 */ private String settleCountryCircularIcon; - /** - * 结算国家方形国旗 - */ - private String settleCountrySquareIcon; - /** - * 结算国家点亮名称 - */ - private String settleCountryLightName; - /* - * 结算国家地图 - */ - private String settleCountryImg; /** * 等级ID @@ -94,10 +74,6 @@ public class MemberInfoVO { * 等级名称 */ private String pkGradeVal; - /** - * 等级图标 - */ - private String gradeIcon; /** * 奖衔ID @@ -118,26 +94,6 @@ public class MemberInfoVO { */ private String awardsIcon; - /** - * 荣誉奖衔ID - */ - private Integer pkMaxAwardsId; - /** - * 荣誉奖衔翻译ID - */ - @Transaction(transactionKey = EnumsPrefixConstants.KEY_AWARD) - private Integer pkMaxAwards; - /** - * 荣誉奖衔名称 - */ - private String pkMaxAwardsVal; - /** - * 荣誉奖衔图标 - */ - private String maxAwardsIcon; - - - /** * 币种图标 */ diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberShare.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberShare.java index 2c8648e7..bc073980 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberShare.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/vo/MemberShare.java @@ -7,13 +7,6 @@ import lombok.NoArgsConstructor; import java.io.Serializable; -/** - * @Description: - * @Author: sui q - * @Time: 2023/3/15 11:07 - * @Classname: MemberShare - * @PackageName: com.hzs.member.base.vo - */ @Data @Builder @AllArgsConstructor @@ -69,4 +62,10 @@ public class MemberShare implements Serializable { */ private String android; + /** + * 自动登录uuid + */ + private String uuid; + + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/controller/MemberTokenController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/controller/MemberTokenController.java index b599d0ad..3465872c 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/controller/MemberTokenController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/controller/MemberTokenController.java @@ -3,8 +3,10 @@ package com.hzs.member.login.controller; import cn.hutool.core.codec.Base64Decoder; import com.hzs.common.auth.LoginBody; import com.hzs.common.core.annotation.RepeatSubmitSimple; +import com.hzs.common.core.constant.CacheConstants; import com.hzs.common.core.constant.MagicNumberConstants; import com.hzs.common.core.constant.SysConstants; +import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.domain.member.base.CuMemberShare; @@ -21,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; /** * 会员端 token 控制 @@ -38,6 +41,8 @@ public class MemberTokenController { @Autowired private IMemberLoginService iMemberLoginService; + @Autowired + private RedisService redisService; /** * 会员登录 @@ -113,4 +118,22 @@ public class MemberTokenController { return AjaxResult.error(); } + /** + * 0元会员自动登录 + */ + @RepeatSubmitSimple + @PostMapping("/share-login") + public AjaxResult shareLogin(@Valid @RequestBody AutoLoginParam param) { + String tmpUuid = redisService.getCacheObject(CacheConstants.AUTO_LOGIN + param.getUsername()); + if (!param.getUuid().equals(tmpUuid)) { + // 没有自动登录标记 或者 标记不对,则不能自动登录 + return AjaxResult.error("当前会员已不能快速登录"); + } + + // 用户登录 + LoginMember loginMember = iMemberLoginService.login(param.getUsername(), param.getPassword()); + // 获取登录token + return AjaxResult.success(memberTokenService.createToken(loginMember)); + } + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/param/AutoLoginParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/param/AutoLoginParam.java index 28b738ea..fb740d05 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/param/AutoLoginParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/param/AutoLoginParam.java @@ -2,8 +2,11 @@ package com.hzs.member.login.param; import lombok.Data; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Size; + /** - * 海粉自动注册登录入参 + * 自动注册登录入参 */ @Data public class AutoLoginParam { @@ -13,4 +16,25 @@ public class AutoLoginParam { */ private String pkParent; + /** + * 会员编号 + */ + @NotEmpty(message = "会员编号不能为空") + @Size(message = "会员编号不能超过{max}位", max = 20) + private String username; + + /** + * 登录密码 + */ + @NotEmpty(message = "登录密码不能为空") + @Size(message = "登录密码不能超过{max}位", max = 20) + private String password; + + /** + * 自动登录标记 + */ + @NotEmpty(message = "缺少参数") + private String uuid; + + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/service/impl/MemberLoginServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/service/impl/MemberLoginServiceImpl.java index 0e962cb0..deb90aa3 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/login/service/impl/MemberLoginServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/login/service/impl/MemberLoginServiceImpl.java @@ -106,9 +106,12 @@ public class MemberLoginServiceImpl implements IMemberLoginService { // 用户未支付状态 if (EPayStatus.UNPAID.getValue() == member.getPayStatus()) { - recordLoginLog(null, EStatus.NO, username + " 登录用户不存在"); - // 登录用户: %s 不存在 - throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_NOT_EXIST, username)); + if (null != member.getPkPlaceParent()) { + // 兼容0元注册,有安置的为正常会员需要判断支付状态 + recordLoginLog(null, EStatus.NO, username + " 登录用户不存在"); + // 登录用户: %s 不存在 + throw new ServiceException(TransactionUtils.getContent(SystemMsgConstants.USER_NOT_EXIST, username)); + } } // 非正常点位(死点、已注销),不能登录 if (ECategory.NORMAL.getValue() != member.getCategory()) { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/share/controller/api/ApiShareController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/share/controller/api/ApiShareController.java index 729bde9e..b822b002 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/share/controller/api/ApiShareController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/share/controller/api/ApiShareController.java @@ -1,20 +1,37 @@ package com.hzs.member.share.controller.api; +import cn.hutool.core.codec.Base64Decoder; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.hzs.common.core.annotation.RepeatSubmitSimple; +import com.hzs.common.core.config.BdConfig; +import com.hzs.common.core.constant.CacheConstants; +import com.hzs.common.core.constant.CountryConstants; import com.hzs.common.core.domain.R; +import com.hzs.common.core.enums.ECategory; +import com.hzs.common.core.enums.EDelFlag; import com.hzs.common.core.enums.EShareType; +import com.hzs.common.core.enums.ESystemConfig; +import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.sign.Base64Util; +import com.hzs.common.core.utils.uuid.IdUtils; import com.hzs.common.core.web.domain.AjaxResult; +import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.security.utils.SecurityUtils; +import com.hzs.member.base.service.ICuMemberService; +import com.hzs.member.base.vo.MemberShare; +import com.hzs.member.share.param.ShareRegisterParam; +import com.hzs.system.base.ISystemConfigServiceApi; import com.hzs.third.share.IShareServiceApi; import com.hzs.third.share.dto.ShareServiceDTO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.validation.Valid; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.TimeUnit; /** * 会员分享相关控制器 @@ -24,29 +41,16 @@ import java.util.Map; @RequestMapping("/api/share") public class ApiShareController { + @Autowired + private ICuMemberService iCuMemberService; + @Autowired + private RedisService redisService; + @DubboReference IShareServiceApi iShareServiceApi; + @DubboReference + ISystemConfigServiceApi iSystemConfigServiceApi; -// /** -// * 获取海粉分享码 -// * -// * @return -// */ -// @GetMapping("/fans-code") -// public AjaxResult fansCode() { -// Long userId = SecurityUtils.getUserId(); -// // 海粉注册分享人就是自己 -// R resultR = iShareServiceApi.queryShareCode(ShareServiceDTO.builder() -// .eShareType(EShareType.FANS) -// .pkBusiness(userId) -// .pkCountry(SecurityUtils.getPkCountry()) -// .userId(userId) -// .build()); -// if (resultR.isSuccess()) { -// return AjaxResult.success("", resultR.getData()); -// } -// return AjaxResult.error(); -// } /** * 获取188分享码(H5) @@ -73,50 +77,77 @@ public class ApiShareController { return AjaxResult.error(); } -// /** -// * 获取分享专区分享码 -// * -// * @return -// */ -// @GetMapping("/share-code") -// public AjaxResult shareCode() { -// Long userId = SecurityUtils.getUserId(); -// // 分享专区分享人就是自己 -// R resultR = iShareServiceApi.queryShareCode(ShareServiceDTO.builder() -// .eShareType(EShareType.SHARE) -// .pkBusiness(userId) -// .pkCountry(SecurityUtils.getPkCountry()) -// .userId(userId) -// .build()); -// if (resultR.isSuccess()) { -// return AjaxResult.success("", resultR.getData()); -// } -// return AjaxResult.error(); -// } -// -// /** -// * 获取分享专区分享码(H5) -// * -// * @return -// */ -// @GetMapping("/share-code-h5") -// public AjaxResult shareCodeH5() { -// Long userId = SecurityUtils.getUserId(); -// // 分享专区分享人就是自己 -// R resultR = iShareServiceApi.queryShareCode(ShareServiceDTO.builder() -// .eShareType(EShareType.SHARE) -// .pkBusiness(userId) -// .pkCountry(SecurityUtils.getPkCountry()) -// .userId(userId) -// .build()); -// if (resultR.isSuccess()) { -// Map resultMap = new HashMap<>(); -// resultMap.put("dataUrl", resultR.getData()); -// // 前端无法根据URL生成海报,此处需要转一下base64 -// resultMap.put("dataStr", Base64Util.toUrlBase64(resultR.getData())); -// return AjaxResult.success(resultMap); -// } -// return AjaxResult.error(); -// } + + ////////////////////////////// 0元注册 ////////////////////////////// + + + /** + * 分享查询推荐人编号 -- 不需要登录 + * + * @param parentCode 推荐人(加密) + * @return + */ + @GetMapping("/find-share-code/{parentCode}") + public AjaxResult findShareCode(@PathVariable("parentCode") String parentCode) { + CuMember cuMember = iCuMemberService.getMemberById(Long.parseLong(new String(Base64Decoder.decode(parentCode)))); + if (null != cuMember) { + return AjaxResult.success("", cuMember.getMemberCode()); + } + return AjaxResult.error(); + } + + /** + * 分享注册 -- 不需要登录 + * + * @param registerParam 分享注册入参 + * @return + */ + @RepeatSubmitSimple + @PostMapping("/share-register") + public AjaxResult shareRegister(@Valid @RequestBody ShareRegisterParam registerParam, + @RequestHeader("Source") Integer source) { + // 设置数据来源 + registerParam.setSource(source); + + // 验证推荐人 + CuMember parentMember = iCuMemberService.getMember(registerParam.getParentCode()); + if (null == parentMember) { + return AjaxResult.error("推荐编号不存在"); + } + registerParam.setParentMember(parentMember); + + // 手机号注册次数 + String value = iSystemConfigServiceApi.getBonusSystemConfig(CountryConstants.CHINA_COUNTRY, ESystemConfig.REGISTER_NUMBER.getKey()).getData(); + int phoneCount = iCuMemberService.count(Wrappers.lambdaQuery() + .eq(CuMember::getPhone, registerParam.getPhone()) + .eq(CuMember::getDelFlag, EDelFlag.UN_DELETE.getValue()) + .eq(CuMember::getCategory, ECategory.NORMAL.getValue()) + ); + if (phoneCount > Integer.parseInt(value)) { + return AjaxResult.error("会员信息已存在"); + } + + CuMember newCuMember = iCuMemberService.shareRegisterMember(registerParam); + if (null != newCuMember) { + // 自动登录 uuid 标记 + String uuid = IdUtils.simpleUUID(); + // 根据会员编号放一个登录 uuid 做为自动登录校验使用(60分钟有效) + redisService.setCacheObject(CacheConstants.AUTO_LOGIN + newCuMember.getMemberCode(), uuid, CacheConstants.LOGIN_TOKEN_REFRESH_TIME, TimeUnit.MINUTES); + + MemberShare memberShare = MemberShare.builder() + .memberCode(newCuMember.getMemberCode()) + .memberName(newCuMember.getMemberName()) + .phone(newCuMember.getPhone()) + .loginPassword(newCuMember.getLoginPassword()) + .payPassword(newCuMember.getPayPassword()) + .urlAddress(BdConfig.getPc()) + .uuid(uuid) + .build(); + return AjaxResult.success(memberShare); + } else { + return AjaxResult.error("注册失败,请重试"); + } + } + } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/share/param/ShareRegisterParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/share/param/ShareRegisterParam.java new file mode 100644 index 00000000..a66e050e --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/share/param/ShareRegisterParam.java @@ -0,0 +1,47 @@ +package com.hzs.member.share.param; + +import com.hzs.common.domain.member.base.CuMember; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Size; +import java.io.Serializable; + +/** + * 分享注册入参 + */ +@Data +public class ShareRegisterParam implements Serializable { + + /** + * 推荐编号 + */ + @NotEmpty(message = "推荐编号不能为空") + @Size(max = 20, message = "推荐编号不能超过20位") + private String parentCode; + + /** + * 会员姓名 + */ + @NotEmpty(message = "会员姓名不能为空") + @Size(max = 40, message = "会员姓名不能超过40位") + private String memberName; + + /** + * 联系方式 + */ + @NotEmpty(message = "联系方式不能为空") + @Size(max = 40, message = "联系方式不能超过40位") + private String phone; + + /** + * 推荐会员 + */ + private CuMember parentMember; + + /** + * 数据来源 -- EDataSource + */ + private Integer source; + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java index 7297fb21..bf47f935 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/manage/MemberStructureController.java @@ -89,6 +89,10 @@ public class MemberStructureController extends BaseController { CuMember member = iCuMemberService.getMemberByCode(memberCode); if (null != member) { pkMember = member.getPkId(); + if (null == member.getPkPlaceParent()) { + // 0元会员返回为空 + return AjaxResult.success(); + } } } if (null == pkMember) { diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml index 255d0574..f6f4ab5d 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml @@ -1044,9 +1044,7 @@ ba.pk_transaction awards, bam.pk_transaction max_awards, bc.short_name country_name, - bc.pk_transaction pk_country_transaction, bcs.short_name settle_country_name, - bcs.pk_transaction pk_settle_country_transaction, cmau.id_card id_card_auth from cu_member cm left join BD_GRADE bgr diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/common/provider/CommonServiceProvider.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/common/provider/CommonServiceProvider.java index 770dfb55..a2c37c41 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/common/provider/CommonServiceProvider.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/common/provider/CommonServiceProvider.java @@ -7,7 +7,6 @@ import com.hzs.common.domain.system.base.BdCurrency; import com.hzs.common.domain.system.config.BdAwards; import com.hzs.common.domain.system.config.BdGrade; import com.hzs.system.base.ICurrencyServiceApi; -import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.base.service.IBdCountryService; import com.hzs.system.base.service.IBdCurrencyService; import com.hzs.system.common.ICommonServiceApi; @@ -18,11 +17,7 @@ import org.apache.dubbo.config.annotation.DubboService; import org.springframework.beans.factory.annotation.Autowired; /** - * @Description: 公用dubbo接口 - * @Author: jiang chao - * @Time: 2023/1/10 16:10 - * @Classname: CommonServiceProvider - * @PackageName: com.hzs.system.common.provider + * 公用dubbo接口 */ @DubboService public class CommonServiceProvider implements ICommonServiceApi { @@ -35,20 +30,15 @@ public class CommonServiceProvider implements ICommonServiceApi { private IBdAwardsService iBdAwardsService; @Autowired private IBdCurrencyService iBdCurrencyService; - @Autowired - private ICurrencyServiceApi iCurrencyServiceApi; @Override public R getMemberData(MemberDataDTO memberDataDTO) { - // 自然国 if (null != memberDataDTO.getPkCountry()) { BdCountry bdCountry = iBdCountryService.getCountry(memberDataDTO.getPkCountry()); if (null != bdCountry) { memberDataDTO.setPkCountryVal(bdCountry.getShortName()); memberDataDTO.setCountryCircularIcon(bdCountry.getNationalFlag1()); - memberDataDTO.setCountrySquareIcon(bdCountry.getNationalFlag2()); - memberDataDTO.setPkCountryTransaction(bdCountry.getPkTransaction()); } } // 结算国 @@ -57,17 +47,8 @@ public class CommonServiceProvider implements ICommonServiceApi { if (null != bdSettleCountry) { memberDataDTO.setPkSettleCountryVal(bdSettleCountry.getShortName()); memberDataDTO.setSettleCountryCircularIcon(bdSettleCountry.getNationalFlag1()); - memberDataDTO.setSettleCountrySquareIcon(bdSettleCountry.getNationalFlag2()); - memberDataDTO.setSettleCountryLightName(bdSettleCountry.getLightName()); - memberDataDTO.setSettleCountryImg(bdSettleCountry.getImg()); - memberDataDTO.setPkSettleCountryTransaction(bdSettleCountry.getPkTransaction()); } - - // 汇率 - CurrencyDTO currencyDTO = iCurrencyServiceApi.getCurrency(memberDataDTO.getPkSettleCountry()).getData(); - memberDataDTO.setExchangeRate(currencyDTO.getInExchangeRate()); } - // 等级 if (null != memberDataDTO.getPkGrade()) { BdGrade bdGrade = iBdGradeService.getBdGrade(memberDataDTO.getPkGrade()); @@ -89,17 +70,6 @@ public class CommonServiceProvider implements ICommonServiceApi { } } } -// // 荣誉奖衔 -// if (null != memberDataDTO.getPkMaxAwards()) { -// BdAwards bdAwards = iBdAwardsService.getBdAwardsOne(memberDataDTO.getPkMaxAwards()); -// if (null != bdAwards) { -// memberDataDTO.setPkMaxAwards(bdAwards.getPkTransaction()); -// if (EAwards.MEMBER.getValue() != bdAwards.getAwardsValue()) { -// // 奖衔如果是会员级别不返回图标 -// memberDataDTO.setMaxAwardsIcon(bdAwards.getImage()); -// } -// } -// } // 币种 if (null != memberDataDTO.getPkSettleCountry()) { BdCurrency bdCurrency = iBdCurrencyService.getCurrency(memberDataDTO.getPkSettleCountry()); diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java index 7babdd00..32fafeeb 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java @@ -325,4 +325,9 @@ public class CacheConstants { */ public final static String RETAIL_REGION = CACHE_PREFIX + "retail:region:%s:%s:%s"; + /** + * 自动登录缓存KEY + */ + public final static String AUTO_LOGIN = CACHE_PREFIX + "auth:login:"; + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAccountStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAccountStatus.java index d6e3a706..72c5b48f 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAccountStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAccountStatus.java @@ -6,8 +6,6 @@ import lombok.Getter; /** * 账户状态(会员登录账号状态) - * - * @author: hzs */ @AllArgsConstructor @Getter diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAwards.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAwards.java index af381f2d..45f9ce04 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAwards.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAwards.java @@ -11,10 +11,6 @@ import lombok.Getter; @Getter public enum EAwards { -// /** -// * -1=海粉 -// */ -// SEA_FLOUR(0,-1, "海粉", 1, EnumsPrefixConstants.AWARDS + "-1"), /** * 0=会员 -- Q0 */ @@ -114,28 +110,4 @@ public enum EAwards { */ private final String key; - public static String getAwards(int value) { - for (EAwards eAwards : EAwards.values()) { - if (eAwards.value == value) { - return eAwards.label; - } - } - return null; - } - public static Integer getGradeValueByValue(int value) { - if (EGrade.START_UP.getValue() == value) { - return EAwards.MEMBER.getValue(); - } else if (EGrade.HAI_FAN.getValue() == value) { - return EAwards.HEADER.getValue(); - } else if (EGrade.YOU_KE.getValue() == value) { - return EAwards.MANAGER.getValue(); - } else if (EGrade.MAKER.getValue() == value) { - return EAwards.HIGH_MANAGER.getValue(); - } else if (EGrade.VIP.getValue() == value) { - return EAwards.SENIOR_MANAGER.getValue(); - } else if (EGrade.S_VIP.getValue() == value) { - return EAwards.CHIEF.getValue(); - } - return 0; - } } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERegistrationAuthority.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERegistrationAuthority.java index e7344c78..bd7c4419 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERegistrationAuthority.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ERegistrationAuthority.java @@ -6,8 +6,6 @@ import lombok.Getter; /** * 注册权限枚举类 - * - * @author hzs */ @AllArgsConstructor @Getter diff --git a/bd-gateway/src/main/resources/bootstrap.yml b/bd-gateway/src/main/resources/bootstrap.yml index 5b27e7c1..babacc75 100644 --- a/bd-gateway/src/main/resources/bootstrap.yml +++ b/bd-gateway/src/main/resources/bootstrap.yml @@ -182,6 +182,9 @@ security: - /member/api/member/fans-order/* # 库存商品同步 - /sale/api/all-product/sync-data + # 0元注册白名单 + - /member/api/share/find-share-code/* + - /member/api/share/share-register # 日志配置 logging: From 69e092e5bc05b046ef5bbe3e46a8e0beef6648b3 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Wed, 10 Sep 2025 16:13:54 +0800 Subject: [PATCH 26/78] =?UTF-8?q?##=20bug373=20=E5=8F=8C=E8=BD=A8=E7=9A=84?= =?UTF-8?q?=E4=B8=9A=E7=BB=A9=E6=B1=87=E6=80=BB=20=E5=A4=8D=E8=B4=AD?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=8A=A0=E7=A7=92=E6=9D=80=E7=9A=84=E4=B8=9A?= =?UTF-8?q?=E7=BB=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/service/impl/CuMemberServiceImpl.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java index a2b662c9..79df2c67 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberServiceImpl.java @@ -2603,7 +2603,16 @@ public class CuMemberServiceImpl extends ServiceImpl i // 特殊复购 BigDecimal specialRepurchaseAmount = BigDecimal.ZERO; BigDecimal specialRepurchaseAchieve = BigDecimal.ZERO; + // 秒杀金额 + BigDecimal mallAmount = BigDecimal.ZERO; + // 秒杀业绩 + BigDecimal mallAchieve = BigDecimal.ZERO; // 3 10, 7 , 27 ,12 , 14,19 ,22 ,26 + + if (memberMeritsSummaryMap.get(EOrderType.MALL_ORDER.getValue()) != null) { + mallAmount = memberMeritsSummaryMap.get(EOrderType.MALL_ORDER.getValue()).getAmount(); + mallAchieve = memberMeritsSummaryMap.get(EOrderType.MALL_ORDER.getValue()).getAchieve(); + } if (memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()) != null) { // 复购 repurchaseAmount = memberMeritsSummaryMap.get(EOrderType.REPURCHASE_ORDER.getValue()).getAmount(); @@ -2621,13 +2630,13 @@ public class CuMemberServiceImpl extends ServiceImpl i } // 复购金额+海粉金额+海粉升级+直播订单+合作订单+特殊复购 BigDecimal amount = repurchaseAmount.add(fansAmount).add(haiFunUpgradeAmount) - .add(mallOrderAmount).add(cooperateAmount).add(specialRepurchaseAmount); + .add(mallOrderAmount).add(cooperateAmount).add(specialRepurchaseAmount).add(mallAmount); censusSummaryVo.setRepurchaseAmount(computeChinaExchangeRate(loginUserCountry, amount, inExchangeRate, chinaInExchangeRate)); censusSummaryVo.setRepurchaseAmountDollar(computeUSDExchangeRate(amount, inExchangeRate)); censusSummaryVo.setRepurchaseAmountLocality(checkIsDecimalNull(amount)); BigDecimal repurchasePvSum = repurchaseAchieve.add(fansAchieve).add(haiFunUpgradeAchieve) - .add(mallOrderAchieve).add(cooperateAchieve).add(specialRepurchaseAchieve); + .add(mallOrderAchieve).add(cooperateAchieve).add(specialRepurchaseAchieve).add(mallAchieve); censusSummaryVo.setRepurchasePv(computeUSDToRMBRate(repurchasePvSum, chinaInExchangeRate)); censusSummaryVo.setRepurchasePvDollar(checkIsDecimalNull(repurchasePvSum)); From bd04f6d688f344fa7e60dab9764971ad6195d2bb Mon Sep 17 00:00:00 2001 From: zhangheng Date: Thu, 11 Sep 2025 10:43:19 +0800 Subject: [PATCH 27/78] =?UTF-8?q?##=20=E5=88=A0=E9=99=A4=E6=AD=BB=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/DeleteDeadLockController.java | 7 ++--- .../mapper/member/base/CuMemberMapper.xml | 29 ++++++++----------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java index 85c3fd25..0b45ccc0 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java @@ -9,10 +9,7 @@ import com.hzs.member.base.param.DeleteDeadLockParam; import com.hzs.member.base.service.DeleteDeadLockService; import com.hzs.member.base.vo.DeleteDeadLockVO; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -38,7 +35,7 @@ public class DeleteDeadLockController extends BaseController { * 删除死点 */ @PostMapping("delete") - public AjaxResult delete(DeleteDeadLockParam deleteDeadLockParam) { + public AjaxResult delete(@RequestBody DeleteDeadLockParam deleteDeadLockParam) { String check = deleteDeadLockService.deleteDeadLockMember(deleteDeadLockParam); if (check == null) { return AjaxResult.success(); diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml index f6f4ab5d..3b08b904 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/base/CuMemberMapper.xml @@ -3218,7 +3218,7 @@ WHERE cu.DEL_FLAG = 0 AND cu.CATEGORY = 2 - + AND cu.MEMBER_CODE = #{memberCode} @@ -3230,23 +3230,18 @@ SELECT MEMBER_CODE FROM - ( - SELECT - MEMBER_CODE - FROM - CU_MEMBER START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PARENT - AND MEMBER_CODE = #{memberCode} - AND DEL_FLAG = 0 UNION - SELECT - MEMBER_CODE - FROM - CU_MEMBER START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PLACE_PARENT - AND MEMBER_CODE = #{memberCode} - AND DEL_FLAG = 0 - ) t + CU_MEMBER WHERE - t.MEMBER_CODE != #{memberCode} - ) + DEL_FLAG = 0 START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PARENT UNION ALL + SELECT + MEMBER_CODE + FROM + CU_MEMBER + WHERE + DEL_FLAG = 0 START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PLACE_PARENT + ) t + WHERE + t.MEMBER_CODE != #{memberCode} From 33842b6d15d0a9be9e29e81c530ac0b45145e58a Mon Sep 17 00:00:00 2001 From: zhangheng Date: Thu, 11 Sep 2025 13:52:38 +0800 Subject: [PATCH 28/78] =?UTF-8?q?##=20=E5=88=A0=E9=99=A4=E6=AD=BB=E7=82=B9?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/controller/manage/DeleteDeadLockController.java | 5 +++++ .../member/base/service/impl/DeleteDeadLockServiceImpl.java | 3 +++ .../java/com/hzs/common/core/enums/EOperationModule.java | 2 ++ 3 files changed, 10 insertions(+) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java index 0b45ccc0..fa15741f 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java @@ -1,6 +1,9 @@ package com.hzs.member.base.controller.manage; +import com.hzs.common.core.annotation.Log; +import com.hzs.common.core.enums.EOperationMethod; +import com.hzs.common.core.enums.EOperationModule; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; @@ -23,6 +26,7 @@ public class DeleteDeadLockController extends BaseController { /** * 删除死点列表 */ + @Log(module = EOperationModule.DELETE_DEAD_LOCK, method = EOperationMethod.SELECT) @GetMapping("list") public TableDataInfo list(DeleteDeadLockParam deleteDeadLockParam) { startPage(); @@ -34,6 +38,7 @@ public class DeleteDeadLockController extends BaseController { /** * 删除死点 */ + @Log(module = EOperationModule.DELETE_DEAD_LOCK, method = EOperationMethod.DELETE) @PostMapping("delete") public AjaxResult delete(@RequestBody DeleteDeadLockParam deleteDeadLockParam) { String check = deleteDeadLockService.deleteDeadLockMember(deleteDeadLockParam); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java index e6f213f2..ea11891c 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java @@ -10,6 +10,7 @@ import com.hzs.member.base.mapper.CuMemberMapper; import com.hzs.member.base.param.DeleteDeadLockParam; import com.hzs.member.base.service.DeleteDeadLockService; import com.hzs.member.base.vo.DeleteDeadLockVO; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -18,6 +19,7 @@ import java.util.Date; import java.util.List; @Service +@Slf4j public class DeleteDeadLockServiceImpl extends ServiceImpl implements DeleteDeadLockService { @Autowired private ICuMemberAccountService iCuMemberAccountService; @@ -35,6 +37,7 @@ public class DeleteDeadLockServiceImpl extends ServiceImpl Date: Fri, 12 Sep 2025 09:15:42 +0800 Subject: [PATCH 29/78] =?UTF-8?q?##=20=E5=88=A0=E9=99=A4=E6=AD=BB=E7=82=B9?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/base/service/impl/DeleteDeadLockServiceImpl.java | 3 ++- .../resources/mapper/member/account/CuMemberAccountMapper.xml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java index ea11891c..15b3da6e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java @@ -3,6 +3,7 @@ package com.hzs.member.base.service.impl; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.msg.MemberMsgConstants; +import com.hzs.common.core.enums.EDelFlag; import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.member.account.service.ICuMemberAccountService; @@ -47,7 +48,7 @@ public class DeleteDeadLockServiceImpl extends ServiceImpl - + update cu_member_account cma set cma.del_flag = 1,cma.PK_MODIFIED = #{userId},cma.MODIFIED_TIME = #{date} where cma.pk_member in (select cm.pk_id from cu_member cm where cm.member_code = #{memberCode}) - + @@ -3230,23 +3230,18 @@ SELECT MEMBER_CODE FROM - ( - SELECT - MEMBER_CODE - FROM - CU_MEMBER START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PARENT - AND MEMBER_CODE = #{memberCode} - AND DEL_FLAG = 0 UNION - SELECT - MEMBER_CODE - FROM - CU_MEMBER START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PLACE_PARENT - AND MEMBER_CODE = #{memberCode} - AND DEL_FLAG = 0 - ) t + CU_MEMBER WHERE - t.MEMBER_CODE != #{memberCode} - ) + DEL_FLAG = 0 START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PARENT UNION ALL + SELECT + MEMBER_CODE + FROM + CU_MEMBER + WHERE + DEL_FLAG = 0 START WITH MEMBER_CODE = #{memberCode} CONNECT BY PRIOR PK_ID = PK_PLACE_PARENT + ) t + WHERE + t.MEMBER_CODE != #{memberCode} From 8c62bcf380bd60fd3477e00bb7383f5c3f946a50 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Thu, 11 Sep 2025 13:52:38 +0800 Subject: [PATCH 32/78] =?UTF-8?q?##=20=E5=88=A0=E9=99=A4=E6=AD=BB=E7=82=B9?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/controller/manage/DeleteDeadLockController.java | 5 +++++ .../member/base/service/impl/DeleteDeadLockServiceImpl.java | 3 +++ .../java/com/hzs/common/core/enums/EOperationModule.java | 2 ++ 3 files changed, 10 insertions(+) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java index 0b45ccc0..fa15741f 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/controller/manage/DeleteDeadLockController.java @@ -1,6 +1,9 @@ package com.hzs.member.base.controller.manage; +import com.hzs.common.core.annotation.Log; +import com.hzs.common.core.enums.EOperationMethod; +import com.hzs.common.core.enums.EOperationModule; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; import com.hzs.common.core.web.page.TableDataInfo; @@ -23,6 +26,7 @@ public class DeleteDeadLockController extends BaseController { /** * 删除死点列表 */ + @Log(module = EOperationModule.DELETE_DEAD_LOCK, method = EOperationMethod.SELECT) @GetMapping("list") public TableDataInfo list(DeleteDeadLockParam deleteDeadLockParam) { startPage(); @@ -34,6 +38,7 @@ public class DeleteDeadLockController extends BaseController { /** * 删除死点 */ + @Log(module = EOperationModule.DELETE_DEAD_LOCK, method = EOperationMethod.DELETE) @PostMapping("delete") public AjaxResult delete(@RequestBody DeleteDeadLockParam deleteDeadLockParam) { String check = deleteDeadLockService.deleteDeadLockMember(deleteDeadLockParam); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java index e6f213f2..ea11891c 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java @@ -10,6 +10,7 @@ import com.hzs.member.base.mapper.CuMemberMapper; import com.hzs.member.base.param.DeleteDeadLockParam; import com.hzs.member.base.service.DeleteDeadLockService; import com.hzs.member.base.vo.DeleteDeadLockVO; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -18,6 +19,7 @@ import java.util.Date; import java.util.List; @Service +@Slf4j public class DeleteDeadLockServiceImpl extends ServiceImpl implements DeleteDeadLockService { @Autowired private ICuMemberAccountService iCuMemberAccountService; @@ -35,6 +37,7 @@ public class DeleteDeadLockServiceImpl extends ServiceImpl Date: Fri, 12 Sep 2025 09:15:42 +0800 Subject: [PATCH 33/78] =?UTF-8?q?##=20=E5=88=A0=E9=99=A4=E6=AD=BB=E7=82=B9?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/base/service/impl/DeleteDeadLockServiceImpl.java | 3 ++- .../resources/mapper/member/account/CuMemberAccountMapper.xml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java index ea11891c..15b3da6e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java @@ -3,6 +3,7 @@ package com.hzs.member.base.service.impl; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.msg.MemberMsgConstants; +import com.hzs.common.core.enums.EDelFlag; import com.hzs.common.domain.member.base.CuMember; import com.hzs.common.security.utils.SecurityUtils; import com.hzs.member.account.service.ICuMemberAccountService; @@ -47,7 +48,7 @@ public class DeleteDeadLockServiceImpl extends ServiceImpl - + update cu_member_account cma set cma.del_flag = 1,cma.PK_MODIFIED = #{userId},cma.MODIFIED_TIME = #{date} where cma.pk_member in (select cm.pk_id from cu_member cm where cm.member_code = #{memberCode}) - + select top.*, cm.member_code, cm.member_name,smr.Pk_id as rechargeId, - so.order_type orderType + so.order_type orderType, + bv.VERTEX_NAME, + bv.pk_id VERTEX_id from T_ONLINE_PAYMENT top left join cu_member cm on cm.pk_id = top.pk_creator left join sa_order so on so.ORDER_CODE = top.business_code left join cu_member_recharge smr on smr.RECHARGE_CODE = top.business_code + left join BD_VERTEX bv on bv.pk_id = cm.PK_VERTEX where top.del_flag = 0 and top.pk_country = #{pkCountry} + + and bv.pk_id = ${param.vertexId} + and cm.member_code like #{param.memberCode} || '%' From d25b59b79cc50985122e847553338523d8b625cb Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 15 Sep 2025 14:34:05 +0800 Subject: [PATCH 37/78] =?UTF-8?q?##=20=E6=97=A5=E4=B8=9A=E7=BB=A9=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=B7=BB=E5=8A=A0=E5=A4=8D=E8=B4=AD=E6=96=B0=E5=A2=97?= =?UTF-8?q?=E4=B8=9A=E7=BB=A9=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BonusSettlePurchaseHandle.java | 8 +++---- .../impl/CuMemberAchieveServiceImpl.java | 22 ++++--------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java index 8d614c28..063dd408 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java @@ -199,10 +199,10 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { if (settleExt == null) { return cuMemberBonusExpandList; } -// settleExt.setRepurchaseAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); -// settleExt.setRepurchasePv(ComputeUtil.computeAdd(settleExt.getRepurchasePv(), saOrderExt.getOrderAchieve())); -// settleExt.setRepurchaseNewAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseNewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); -// settleExt.setRepurchaseNewPv(ComputeUtil.computeAdd(settleExt.getRepurchaseNewPv(), saOrderExt.getOrderAchieve())); + settleExt.setRepurchaseAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseAmount(), saOrderExt.getOrderAmount())); + settleExt.setRepurchasePv(ComputeUtil.computeAdd(settleExt.getRepurchasePv(), saOrderExt.getOrderAchieve())); + settleExt.setRepurchaseNewAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseNewAmount(), saOrderExt.getOrderAmount())); + settleExt.setRepurchaseNewPv(ComputeUtil.computeAdd(settleExt.getRepurchaseNewPv(), saOrderExt.getOrderAchieve())); // 先计算新增,根据新增计算碰次 // 先进行初始化所有的安置人,存储需要修改的值,cuMemberSettleExtMap最终修改的 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java index 5bd006e3..e2a17276 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java @@ -765,8 +765,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); - BigDecimal leftAchieve = BigDecimal.ZERO; BigDecimal rightAchieve = BigDecimal.ZERO; @@ -781,13 +779,8 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl 0) { rtupna.setDirectAchieve(rtupna.getDirectAchieve().divide(MagicNumberConstants.big10000, 4, RoundingMode.DOWN)); } else { @@ -932,15 +922,11 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl Date: Mon, 15 Sep 2025 14:34:05 +0800 Subject: [PATCH 38/78] =?UTF-8?q?##=20=E6=97=A5=E4=B8=9A=E7=BB=A9=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=B7=BB=E5=8A=A0=E5=A4=8D=E8=B4=AD=E6=96=B0=E5=A2=97?= =?UTF-8?q?=E4=B8=9A=E7=BB=A9=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BonusSettlePurchaseHandle.java | 8 +++---- .../impl/CuMemberAchieveServiceImpl.java | 22 ++++--------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java index 8d614c28..063dd408 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java @@ -199,10 +199,10 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { if (settleExt == null) { return cuMemberBonusExpandList; } -// settleExt.setRepurchaseAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); -// settleExt.setRepurchasePv(ComputeUtil.computeAdd(settleExt.getRepurchasePv(), saOrderExt.getOrderAchieve())); -// settleExt.setRepurchaseNewAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseNewAmount(), convertLocalCurrency(saOrderExt, bonusConfigDTO))); -// settleExt.setRepurchaseNewPv(ComputeUtil.computeAdd(settleExt.getRepurchaseNewPv(), saOrderExt.getOrderAchieve())); + settleExt.setRepurchaseAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseAmount(), saOrderExt.getOrderAmount())); + settleExt.setRepurchasePv(ComputeUtil.computeAdd(settleExt.getRepurchasePv(), saOrderExt.getOrderAchieve())); + settleExt.setRepurchaseNewAmount(ComputeUtil.computeAdd(settleExt.getRepurchaseNewAmount(), saOrderExt.getOrderAmount())); + settleExt.setRepurchaseNewPv(ComputeUtil.computeAdd(settleExt.getRepurchaseNewPv(), saOrderExt.getOrderAchieve())); // 先计算新增,根据新增计算碰次 // 先进行初始化所有的安置人,存储需要修改的值,cuMemberSettleExtMap最终修改的 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java index 5bd006e3..e2a17276 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/achieve/service/impl/CuMemberAchieveServiceImpl.java @@ -765,8 +765,6 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); - BigDecimal leftAchieve = BigDecimal.ZERO; BigDecimal rightAchieve = BigDecimal.ZERO; @@ -781,13 +779,8 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl 0) { rtupna.setDirectAchieve(rtupna.getDirectAchieve().divide(MagicNumberConstants.big10000, 4, RoundingMode.DOWN)); } else { @@ -932,15 +922,11 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl Date: Mon, 15 Sep 2025 16:47:50 +0800 Subject: [PATCH 39/78] =?UTF-8?q?##=200=E5=85=83=E4=BC=9A=E5=91=98?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E8=B4=AD=E4=B9=B0188=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/system/sys/dto/UserAuthorityDTO.java | 6 +- .../api/ApiMemberStructureController.java | 119 ++------ .../controller/ParentOrderController.java | 12 +- .../api/ApiRegSaOrderController.java | 29 +- .../service/impl/SaOrderServiceImpl.java | 97 +++---- .../api/ApiAreaClassifyController.java | 27 +- .../manage/params/AreaClassifyParam.java | 16 -- .../service/IBdAreaClassifyService.java | 3 - .../impl/BdAreaClassifyServiceImpl.java | 11 - .../api/ApiShoppingCartController.java | 45 ++-- .../shopping/param/CarWaresInfoParam.java | 5 +- .../hzs/sale/shopping/vo/ShoppingCartVO.java | 6 +- .../controller/api/ApiBdWaresController.java | 95 +++---- .../hzs/sale/wares/mapper/BdWaresMapper.java | 3 +- .../sale/wares/service/IBdWaresService.java | 2 +- .../service/impl/BdWaresServiceImpl.java | 254 ++++++++++-------- .../impl/BdWaresSpecsSkuServiceImpl.java | 6 +- .../sale/wares/vo/RecommendSpecialAreaVo.java | 6 + .../sale/product/BdAreaClassifyMapper.xml | 67 +++-- .../mapper/sale/wares/BdWaresMapper.xml | 5 +- .../api/ApiBdRegisterPageController.java | 42 +-- .../config/mapper/BdRegisterPageMapper.java | 3 - .../service/IBdRegisterPageService.java | 3 - .../impl/BdRegisterPageServiceImpl.java | 24 +- .../api/ApiIdempotentController.java | 6 +- .../tools/service/IIdempotentService.java | 28 +- .../service/impl/IdempotentServiceImpl.java | 46 +--- .../core/aspect/RepeatSubmitAspectAdvice.java | 6 +- .../core/constant/SystemFieldConstants.java | 5 - .../core/constant/msg/MemberMsgConstants.java | 5 - .../com/hzs/common/core/enums/EGrade.java | 1 + .../common/core/enums/EOrderTypeExtend.java | 2 +- .../hzs/common/core/enums/ESpecialArea.java | 20 ++ .../domain/sale/product/BdAreaClassify.java | 7 - .../domain/system/config/BdRegisterPage.java | 3 - 35 files changed, 404 insertions(+), 611 deletions(-) diff --git a/bd-api/bd-api-system/src/main/java/com/hzs/system/sys/dto/UserAuthorityDTO.java b/bd-api/bd-api-system/src/main/java/com/hzs/system/sys/dto/UserAuthorityDTO.java index 97bb528e..d5c39956 100644 --- a/bd-api/bd-api-system/src/main/java/com/hzs/system/sys/dto/UserAuthorityDTO.java +++ b/bd-api/bd-api-system/src/main/java/com/hzs/system/sys/dto/UserAuthorityDTO.java @@ -9,11 +9,7 @@ import java.io.Serializable; import java.util.List; /** - * @Description: 用户权限DTO - * @Author: jiang chao - * @Time: 2023/5/22 14:37 - * @Classname: UserAuthorityDTO - * @PackageName: com.hzs.system.sys.dto + * 用户权限DTO */ @NoArgsConstructor @AllArgsConstructor diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java index d5499423..11a16bb2 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java @@ -35,8 +35,6 @@ import com.hzs.system.base.ICountryServiceApi; import com.hzs.system.base.ISystemConfigServiceApi; import com.hzs.system.config.IGradeServiceApi; import com.hzs.system.config.dto.GradeDTO; -import com.hzs.system.sys.IUserServiceApi; -import com.hzs.system.sys.dto.UserAuthorityDTO; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; @@ -69,20 +67,11 @@ public class ApiMemberStructureController extends BaseController { @DubboReference IGradeServiceApi iGradeServiceApi; @DubboReference - IUserServiceApi iUserServiceApi; - @DubboReference ICountryServiceApi iCountryServiceApi; @DubboReference ISystemConfigServiceApi systemConfigServiceApi; - /** - * @param build - * @return - */ public List> setTreeList(List> build, Integer numberOfPlies, Map allCountryData) { -// Integer pkCountry = SecurityUtils.getPkCountry(); -// String nationalFlag1 = allCountryData.get(pkCountry).getNationalFlag1(); -// String nationalFlag2 = allCountryData.get(pkCountry).getNationalFlag2(); for (Tree stringTree : build) { Integer level = (Integer) stringTree.get("level"); if (level < (numberOfPlies - 1)) { @@ -280,9 +269,6 @@ public class ApiMemberStructureController extends BaseController { public AjaxResult azFramework() { Integer level = 1; List> result = null; - // 体系 - UserAuthorityDTO userAuthorityDTO = iUserServiceApi.getUserAuthority(SecurityUtils.getUserId()).getData(); - List vertexIdList = userAuthorityDTO.getVertexIdList(); Date date = new Date(); String time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, date); LocalDate beforeLocalDate = DateUtils.getStringToLocalDate(time).minus(1, ChronoUnit.DAYS); @@ -293,90 +279,33 @@ public class ApiMemberStructureController extends BaseController { if (csPeriod != null) { period = csPeriod.getPkId(); } - // 查询当天 (秒结) -// if (settleDate != null -// && DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, settleDate).equals(DateUtils.parseDateToFormat(DateUtils.YYYY_MM_DD, new Date()))) { - if (1 == 2) { - // 会员结算秒结表 - String settleTableName = TableNameConstants.CU_MEMBER_SECOND + period; - // 查询所有用户表数据 id - // 查询秒结 表 如果 秒结表 没有则去 历史表 - Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName); - if (tableNumber != null && tableNumber == 1) { - List cuMemberSettleExts; - // 查询今日会员表是否有值 - Long treeMemberCount = iCuMemberTreeService.selectByselectByTreeMemberCount(settleTableName, pkMember); - if (treeMemberCount > 0) { - //表格存在 - cuMemberSettleExts = iCuMemberTreeService.selectByTreeMemberList(pkMember, settleTableName, level, vertexIdList); - } else { - DateTime dateTime = DateUtil.offsetDay(DateUtils.currentDate(), -1); - time = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, dateTime); - csPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(time); - if (csPeriod != null) { - period = csPeriod.getPkId(); - } - settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; - cuMemberSettleExts = iCuMemberTreeService.selectByTreeMemberList(pkMember, settleTableName, level, vertexIdList); - } - // 查询顶点 - CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember); - if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) { - memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode()); - } - memberSettleExt.setLevel(0); - // 添加自身 - cuMemberSettleExts.add(memberSettleExt); - List> build = iCuMemberService.systemAzSetListTree(cuMemberSettleExts, memberSettleExt); - // 安置架构 无点位 追加空点位 - R> allCountryMap = iCountryServiceApi.getAllCountryMap(); - Map allCountryData = allCountryMap.getData(); - result = setTreeList(build, level, allCountryData); - } else { - // 查询表格是否存在 - tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName); - if (tableNumber == null) { - settleTableName = null; - } - // 查询顶点 - CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember); - if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) { - memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode()); - } - memberSettleExt.setLevel(0); - //查询下级 - List list = iCuMemberTreeService.queryCuMemberTreePlaceParentHistoryTable(settleTableName, pkMember, new ArrayList<>(), level); - // 无法查询到自身 所有单独查询自身并且添加 - list.add(memberSettleExt); - List> build = iCuMemberService.systemAzSetListTree(list, memberSettleExt); - // 安置架构 无点位 追加空点位 - R> allCountryMap = iCountryServiceApi.getAllCountryMap(); - Map allCountryData = allCountryMap.getData(); - result = setTreeList(build, level, allCountryData); + + // 查询 历史 + String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; + Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName); + if (tableNumber != null && tableNumber == 1) { + // 表示表格存在 + // 查询顶点 + CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember); + if (null == memberSettleExt.getPkPlaceParent()) { + // 0元会员 + return AjaxResult.success(); } - } else { - // 查询 历史 - String settleTableName = TableNameConstants.CU_MEMBER_SETTLE + period; - Integer tableNumber = iCuMemberTreeService.queryExistOracleTable(settleTableName); - if (tableNumber != null && tableNumber == 1) { - // 表示表格存在 - // 查询顶点 - CuMemberSettleExt memberSettleExt = iCuMemberTreeService.queryCuMemberTreeByPkMemberTable(settleTableName, pkMember); - if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) { - memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode()); - } - memberSettleExt.setLevel(0); - //查询下级 - List list = iCuMemberTreeService.queryCuMemberTreePlaceParentHistoryFramework(settleTableName, pkMember, new ArrayList<>(), level); - // 无法查询到自身 所有单独查询自身并且添加 - list.add(memberSettleExt); - List> build = iCuMemberService.systemAzSetListTree(list, memberSettleExt); - // 安置架构 无点位 追加空点位 - R> allCountryMap = iCountryServiceApi.getAllCountryMap(); - Map allCountryData = allCountryMap.getData(); - result = setTreeList(build, level, allCountryData); + if (MemberConstants.GJ30720200CODE.equals(memberSettleExt.getParentMemberCode())) { + memberSettleExt.setParentMemberCode(memberSettleExt.getMemberCode()); } + memberSettleExt.setLevel(0); + //查询下级 + List list = iCuMemberTreeService.queryCuMemberTreePlaceParentHistoryFramework(settleTableName, pkMember, new ArrayList<>(), level); + // 无法查询到自身 所有单独查询自身并且添加 + list.add(memberSettleExt); + List> build = iCuMemberService.systemAzSetListTree(list, memberSettleExt); + // 安置架构 无点位 追加空点位 + R> allCountryMap = iCountryServiceApi.getAllCountryMap(); + Map allCountryData = allCountryMap.getData(); + result = setTreeList(build, level, allCountryData); } + BdBonusExpand bdBonusExpand = systemConfigServiceApi.getBdBonusExpand().getData(); assert result != null; String leftFirstSurplusStr = result.get(0).get("leftFirstSurplus").toString(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/ParentOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/ParentOrderController.java index bac0c67e..200a892b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/ParentOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/ParentOrderController.java @@ -551,17 +551,7 @@ public abstract class ParentOrderController extends BaseController { protected OrderReturn getOrderReturn(SaOrder saOrder, OrderParam orderParam) { // 封装订单信息 long maxPayTime = iSaOrderService.getIsToBePayTime(orderParam.getPkSettleCountry(), saOrder.getOrderType()); - // 剩余支付秒数 - //查询带关闭参数 - // 获取行政区划map - Integer pkLoginCountry = orderParam.getPkLoginSettleCountry(); BigDecimal orderAmount = saOrder.getOrderAmount(); - if (!Objects.equals(pkLoginCountry, saOrder.getPkCountry())) { - // 结算国当地币 转美金 美金登录当地币 - CurrencyDTO loginCountryCurrency = iCurrencyServiceApi.getCurrency(pkLoginCountry).getData(); - CurrencyDTO settleCountryCurrency = iCurrencyServiceApi.getCurrency(saOrder.getPkCountry()).getData(); - orderAmount = ComputeUtil.computeMultiply(ComputeUtil.computeDivide(orderAmount, settleCountryCurrency.getInExchangeRate()), loginCountryCurrency.getInExchangeRate()); - } Map areaMap = iAreaServiceApi.getAreaMap(orderParam.getPkSettleCountry()).getData(); OrderReturn orderReturn = OrderReturn.builder() .orderCode(saOrder.getOrderCode()) @@ -635,7 +625,7 @@ public abstract class ParentOrderController extends BaseController { return AjaxResult.error(SaOrderMsgConstants.TERMINATED_NOT_DECLARATION); } - return AjaxResult.success(); + return AjaxResult.success(cuMember); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/api/ApiRegSaOrderController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/api/ApiRegSaOrderController.java index a70f6580..075ac247 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/api/ApiRegSaOrderController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/controller/api/ApiRegSaOrderController.java @@ -12,6 +12,8 @@ import com.hzs.common.core.constant.msg.SaOrderMsgConstants; import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.EDelivery; import com.hzs.common.core.enums.EOrderType; +import com.hzs.common.core.enums.EOrderTypeExtend; +import com.hzs.common.core.enums.ESpecialArea; import com.hzs.common.core.utils.CommonUtil; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.domain.AjaxResult; @@ -72,16 +74,26 @@ public class ApiRegSaOrderController extends ParentOrderController { initSecurityOrderParam(orderParam); // 验证必输项 if (null == source - || validateFieldNotNull(orderParam, orderParam.getValidConfirmField()) || !checkRecMsgBoolean(orderParam)) { return AjaxResult.error(MemberMsgConstants.REQUIRED_NOT_EMPTY); } orderParam.setSource(source); + // 0元会员专区处理 + if (ESpecialArea.MEMBER_AREA.getValue() == orderParam.getSpecialArea()) { + orderParam.setOrderTypeExtend(EOrderTypeExtend.REG_REP.getValue()); + orderParam.setSpecialArea(ESpecialArea.getMemberArea(orderParam.getSpecialArea())); + } else { + // 校验安置位置 + if (validateFieldNotNull(orderParam, orderParam.getValidConfirmField())) { + return AjaxResult.error(MemberMsgConstants.REQUIRED_NOT_EMPTY); + } - AjaxResult result = validateSaveMember(orderParam); - if ((Integer) result.get(AjaxResult.CODE_TAG) == HttpStatus.ERROR) { - return result; + AjaxResult result = validateSaveMember(orderParam); + if ((Integer) result.get(AjaxResult.CODE_TAG) == HttpStatus.ERROR) { + return result; + } } + // 购物车中的商品相关信息 convertShoppingCarToSku(orderParam); if (getOrderService().confirmRegSaOrderByOrderParam(orderParam)) { @@ -296,6 +308,9 @@ public class ApiRegSaOrderController extends ParentOrderController { return AjaxResult.error(SaOrderMsgConstants.SPECIAL_AREA_NOT_EMPTY); } + // 0元会员专区处理 + orderParam.setSpecialArea(ESpecialArea.getMemberArea(orderParam.getSpecialArea())); + if ((checkRecPostageMsgBoolean(orderParam) && orderParam.getDeliveryWay() == EDelivery.FAST_MAIL.getValue())) { // 验证必输项,一个条件未填写都不计算邮费 initSecurityOrderParam(orderParam); @@ -431,8 +446,6 @@ public class ApiRegSaOrderController extends ParentOrderController { /** * 校验会员等级, 计算会员等级 - * - * @param orderParam 参数 */ @PostMapping("/valid-mem-level") public AjaxResult validateMemberLevel(@RequestBody OrderParam orderParam) { @@ -443,6 +456,8 @@ public class ApiRegSaOrderController extends ParentOrderController { orderParam.getOrderItemsParams().size() == 0) { return AjaxResult.error("没有选择商品!"); } + // 0元会员专区处理 + orderParam.setSpecialArea(ESpecialArea.getMemberArea(orderParam.getSpecialArea())); orderParam.setCenterCodeId(SecurityUtils.getUserId()); convertShoppingCarToSku(orderParam); // 计算等级 @@ -472,8 +487,6 @@ public class ApiRegSaOrderController extends ParentOrderController { /** * 快速注册 - * - * @param orderParam 参数 */ @PostMapping("/quick-reg") public AjaxResult quickRegistration(@RequestBody OrderParam orderParam) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index aa424efb..02ce07b2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -456,14 +456,17 @@ public class SaOrderServiceImpl extends ServiceImpl impl public Boolean confirmRegSaOrderByOrderParam(OrderParam orderParam) { boolean isToBePay = getIsToBePayByOrderType(orderParam.getPkSettleCountry(), orderParam.getSpecialArea()); CuMember cuMember = saOrderHandle.packageSaveUser(orderParam, iMemberServiceApi.queryMember(orderParam.getCenterCodeId()).getData()); - // 获取会员编号、会员主键 - if (isToBePay) { - cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData(); - } else if ((CountryConstants.CHINA_COUNTRY.equals(orderParam.getPkSettleCountry())) && - (EOrderType.REGISTER_ORDER.getValue() == orderParam.getSpecialArea() - || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == orderParam.getSpecialArea())) { - // 2023.10.16按最新需求,注册订单需要在支付前需要显示会员编号 - cuMember = iMemberServiceApi.createRegisterMemberCode(cuMember).getData(); + + if (!EOrderTypeExtend.REG_REP.getValue().equals(orderParam.getOrderTypeExtend())) { + // 非0元需要获取会员编号、会员主键 + // 获取会员编号、会员主键 + if (isToBePay) { + cuMember = iMemberServiceApi.createMemberIdAndCode(cuMember, Boolean.FALSE).getData(); + } else if (EOrderType.REGISTER_ORDER.getValue() == orderParam.getSpecialArea() + || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == orderParam.getSpecialArea()) { + // 2023.10.16按最新需求,注册订单需要在支付前需要显示会员编号 + cuMember = iMemberServiceApi.createRegisterMemberCode(cuMember).getData(); + } } SaOrderExt saOrderExt = packageWholeSaOrder(orderParam, cuMember); @@ -554,15 +557,17 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 验证推荐等级,判断什么级别可以推荐什么级别 if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) { - // 判断推荐范围,验证该推荐人是否有推荐的权限 - CuMember parentCuMember = getCuMemberByKey(cuMember.getPkParent()); + if (!EOrderTypeExtend.REG_REP.getValue().equals(saOrderExt.getOrderTypeExtend())) { + // 判断推荐范围,验证该推荐人是否有推荐的权限 + CuMember parentCuMember = getCuMemberByKey(cuMember.getPkParent()); - if (parentCuMember.getPkSettleCountry() != null && cuMember.getPkSettleCountry() != null && Objects.equals(parentCuMember.getPkSettleCountry(), cuMember.getPkSettleCountry())) { - GradeDTO validateGradeDTO = queryGradeConfigByCondition(parentCuMember.getPkSettleCountry(), parentCuMember.getPkSettleGrade()); - // 获取推荐人可以推荐的等级 - if (validateGradeDTO == null || validateGradeDTO.getBdGradeScopeExtList() == null || - validateGradeDTO.getBdGradeScopeExtList().stream().noneMatch(bdGradeScope -> gradeDTO.getPkId().equals(bdGradeScope.getPkScope()))) { - return true; + if (parentCuMember.getPkSettleCountry() != null && cuMember.getPkSettleCountry() != null && Objects.equals(parentCuMember.getPkSettleCountry(), cuMember.getPkSettleCountry())) { + GradeDTO validateGradeDTO = queryGradeConfigByCondition(parentCuMember.getPkSettleCountry(), parentCuMember.getPkSettleGrade()); + // 获取推荐人可以推荐的等级 + if (validateGradeDTO == null || validateGradeDTO.getBdGradeScopeExtList() == null || + validateGradeDTO.getBdGradeScopeExtList().stream().noneMatch(bdGradeScope -> gradeDTO.getPkId().equals(bdGradeScope.getPkScope()))) { + return true; + } } } } @@ -1035,7 +1040,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl } // 封装订单信息 SaOrderExt saOrderExt = saOrderHandle.packageSaveSaOrder(orderParam, cuMember, orderCode); - if (null != orderParam.getOrderTypeExtend() && EOrderTypeExtend.REG_REP.getValue() == orderParam.getOrderTypeExtend()) { + if (null != orderParam.getOrderTypeExtend() && EOrderTypeExtend.REG_REP.getValue().equals(orderParam.getOrderTypeExtend())) { saOrderExt.setOrderType(EOrderType.REPURCHASE_ORDER.getValue()); saOrderExt.setOrderTypeExtend(orderParam.getOrderTypeExtend()); } @@ -1058,11 +1063,7 @@ public class SaOrderServiceImpl extends ServiceImpl impl saOrderExt.setOrderAssAchieve(ComputeUtil.computeAddMultiply(saOrderExt.getOrderAssAchieve(), saOrderItems.getAssAchievement(), saOrderItems.getQuantity())); productIdList.add(saOrderItems.getPkProduct()); }); - - if (CountryConstants.CHINA_COUNTRY.equals(saOrderExt.getPkCountry())) { - // 中国金额四舍五入保留2位小数 - saOrderExt.setOrderAmount(saOrderExt.getOrderAmount().setScale(2, RoundingMode.HALF_UP)); - } + saOrderExt.setOrderAmount(saOrderExt.getOrderAmount().setScale(2, RoundingMode.HALF_UP)); if (productIdList.size() > 0 && saOrderExt.getRecProvince() != null) { // 根据产品,先查看是否由仓库,有仓库的话修改仓库 @@ -1904,41 +1905,41 @@ public class SaOrderServiceImpl extends ServiceImpl impl log.info("在线支付回调接受的参数, order : {}", saOrderExt); saOrderExt.setPayType(EOrderPayType.ONLINE.getValue()); -// if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) { -// // 注册订单 -// if (saOrderExt.getPkCreator().equals(saOrderExt.getPkMember())) { -// // 自注册分享订单 -// payShareSaOrder(saOrderExt); -// return Boolean.TRUE; -// } -// } else if (EOrderType.REPURCHASE_ORDER.getValue() == saOrderExt.getOrderType()) { -// // 复购订单 -// // 判断是否消费过生成了会员 -// CuMember cuMember = getCuMemberByKey(saOrderExt.getPkMember()); -// if (cuMember == null) { -// // 自注册分享订单 -// payShareSaOrder(saOrderExt); -// return Boolean.TRUE; -// } -// } CuMember newCuMember = null; if (saOrderExt.getPkMember() != null) { newCuMember = getCuMemberByKey(saOrderExt.getPkMember()); } if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType() || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) { - // 注册订单 - boolean isToBePay = getIsToBePayByOrderType(saOrderExt.getPkCountry(), saOrderExt.getOrderType()); - OrderParam orderParam = redisService.getCacheObject(CacheConstants.TEMP_PARAM + pkMember + orderCode); - if (newCuMember == null && !isToBePay) { - newCuMember = packageCuMember(orderParam); + + if (EOrderTypeExtend.REG_REP.getValue() == saOrderExt.getOrderTypeExtend()) { + // TODO 注册转复购 + log.info("==========新注册转复购=========="); + // 188分享订单,复购订单 扩展类型为 注册转复购 + OrderParam orderParam = redisService.getCacheObject(CacheConstants.TEMP_PARAM + pkMember + orderCode); + orderParam.setIsHaiFun(Boolean.TRUE); + orderParam.setOrderTypeExtend(saOrderExt.getOrderTypeExtend()); + saOrderExt = packageSaOrder(orderParam, newCuMember); saOrderExt.setPayType(EOrderPayType.ONLINE.getValue()); + if (newCuMember == null) { + throw new RuntimeException("生成会员失败"); + } + payRegSaOrder(saOrderExt, newCuMember, null, Boolean.TRUE); + } else { + // 注册订单 + boolean isToBePay = getIsToBePayByOrderType(saOrderExt.getPkCountry(), saOrderExt.getOrderType()); + OrderParam orderParam = redisService.getCacheObject(CacheConstants.TEMP_PARAM + pkMember + orderCode); + if (newCuMember == null && !isToBePay) { + newCuMember = packageCuMember(orderParam); + saOrderExt = packageSaOrder(orderParam, newCuMember); + saOrderExt.setPayType(EOrderPayType.ONLINE.getValue()); + } + if (newCuMember == null) { + throw new RuntimeException("生成会员失败"); + } + payRegSaOrder(saOrderExt, newCuMember, null, Boolean.FALSE); } - if (newCuMember == null) { - throw new RuntimeException("生成会员失败"); - } - payRegSaOrder(saOrderExt, newCuMember, null, Boolean.FALSE); } else if (EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType() || EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) { // 升级订单 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/api/ApiAreaClassifyController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/api/ApiAreaClassifyController.java index c0d00f99..181da286 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/api/ApiAreaClassifyController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/api/ApiAreaClassifyController.java @@ -25,24 +25,16 @@ import java.util.List; public class ApiAreaClassifyController extends BaseController { @Autowired - private IBdAreaClassifyService areaClassifyService; + private IBdAreaClassifyService iBdAreaClassifyService; /** * 查询分类列表 - * - * @return */ - @GetMapping("list") + @GetMapping("/list") public AjaxResult list(AreaClassifyParam areaClassifyParam) { areaClassifyParam.setEnableState(EYesNo.YES.getIntValue()); - Integer pkCountry; - if (areaClassifyParam.getPkCountry() != null) { - pkCountry = areaClassifyParam.getPkCountry(); - } else { - pkCountry = SecurityUtils.getPkCountry(); - } - areaClassifyParam.setPkCountry(pkCountry); - List list = areaClassifyService.selectByAreaClassifyList(areaClassifyParam); + areaClassifyParam.setPkCountry(SecurityUtils.getPkCountry()); + List list = iBdAreaClassifyService.selectByAreaClassifyList(areaClassifyParam); return AjaxResult.success(list); } @@ -50,25 +42,22 @@ public class ApiAreaClassifyController extends BaseController { /** * 查询第一层分类 */ - @GetMapping("get-first-classify") + @GetMapping("/get-first-classify") public AjaxResult getFirstClassify() { AreaClassifyParam areaClassifyParam = new AreaClassifyParam(); areaClassifyParam.setHierarchy(0); - List list = areaClassifyService.selectByAreaClassifyList(areaClassifyParam); + List list = iBdAreaClassifyService.selectByAreaClassifyList(areaClassifyParam); return AjaxResult.success(list); } /** * 查询 - * - * @param areaClassifyParam - * @return */ - @GetMapping("get-hierarchy-list") + @GetMapping("/get-hierarchy-list") public AjaxResult getLevelList(AreaClassifyParam areaClassifyParam) { TreeNodeConfig treeNodeConfig = new TreeNodeConfig(); treeNodeConfig.setDeep(4); - List list = areaClassifyService.selectByAreaClassifyList(areaClassifyParam); + List list = iBdAreaClassifyService.selectByAreaClassifyList(areaClassifyParam); List> build = TreeUtil.build(list, "0", treeNodeConfig, (treeNode, tree) -> { tree.setId(treeNode.getPkId().toString()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/AreaClassifyParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/AreaClassifyParam.java index 66345e0e..b9381aa7 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/AreaClassifyParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/manage/params/AreaClassifyParam.java @@ -1,58 +1,42 @@ package com.hzs.sale.product.controller.manage.params; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import java.util.List; -/** - * @Description: - * @Author: yuhui - * @Time: 2022/11/1 14:48 - * @Classname: AreaClassifyParam - * @PackageName: com.hzs.sale.product.controller.manage.params - */ @Data public class AreaClassifyParam { /** * 主键 */ - private Integer pkId; /** * 专区分类 */ - private String classifyName; - /** * 排序 */ - private Integer sort; /** * 是否启用 */ - private Integer enableState; /** * 上级专区主键 */ - private Long pkParent; /** * 分类图片 */ - private String classifyImg; /** diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdAreaClassifyService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdAreaClassifyService.java index 2b02e7b5..1cdffd24 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdAreaClassifyService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/IBdAreaClassifyService.java @@ -10,9 +10,6 @@ import java.util.List; /** * 商品分类 服务类 - * - * @author hzs - * @since 2022-09-05 */ public interface IBdAreaClassifyService extends IService { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdAreaClassifyServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdAreaClassifyServiceImpl.java index 75eb2ecc..c81a9a5b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdAreaClassifyServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/service/impl/BdAreaClassifyServiceImpl.java @@ -3,10 +3,7 @@ package com.hzs.sale.product.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.common.core.domain.R; import com.hzs.common.core.enums.EDelFlag; -import com.hzs.common.core.enums.ETransactionKey; -import com.hzs.common.core.enums.EYesNo; import com.hzs.common.domain.sale.product.BdAreaClassify; import com.hzs.common.domain.sale.product.BdAreaClassifySpecialArea; import com.hzs.common.security.utils.SecurityUtils; @@ -15,9 +12,7 @@ import com.hzs.sale.product.mapper.BdAreaClassifyMapper; import com.hzs.sale.product.service.IBdAreaClassifyService; import com.hzs.sale.product.service.IBdAreaClassifySpecialAreaService; import com.hzs.sale.product.vo.AreaClassifyVo; -import com.hzs.system.base.ITransactionServiceApi; import com.hzs.system.sys.dto.LoginUser; -import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -36,8 +31,6 @@ public class BdAreaClassifyServiceImpl extends ServiceImpl transaction = iTransactionServiceApi.createTransaction(loginUser.getDataCountry(), ETransactionKey.SPEC, areaClassify.getClassifyName(), EYesNo.NO, EYesNo.NO); - areaClassify.setPkTransactionKey(transaction.getData()); baseMapper.insert(areaClassify); List list = new ArrayList<>(); if (areaClassifyParam.getSpecialAreaList() != null) { @@ -73,8 +64,6 @@ public class BdAreaClassifyServiceImpl extends ServiceImpl transaction = iTransactionServiceApi.createTransaction(loginUser.getDataCountry(), ETransactionKey.SPEC, areaClassify.getClassifyName(), EYesNo.NO, EYesNo.NO); - areaClassify.setPkTransactionKey(transaction.getData()); baseMapper.updateById(areaClassify); // 清空 中间表数据重新添加 iBdAreaClassifySpecialAreaService.deleteByAreaClassifyPk(areaClassify.getPkId()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/controller/api/ApiShoppingCartController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/controller/api/ApiShoppingCartController.java index c5cd761f..a75c38e8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/controller/api/ApiShoppingCartController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/controller/api/ApiShoppingCartController.java @@ -3,6 +3,7 @@ package com.hzs.sale.shopping.controller.api; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; import com.hzs.common.core.constant.CacheConstants; +import com.hzs.common.core.enums.ESpecialArea; import com.hzs.common.core.service.RedisService; import com.hzs.common.core.utils.StringUtils; import com.hzs.common.core.web.controller.BaseController; @@ -46,10 +47,11 @@ public class ApiShoppingCartController extends BaseController { if (StringUtils.isNull(scr)) { return AjaxResult.error("购物车为空"); } - if (null == scr.getPkCountry() || scr.getPkCountry() == 0) { - scr.setPkCountry(SecurityUtils.getPkCountry()); - } - String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId(); + scr.setPkCountry(SecurityUtils.getPkCountry()); + // 0元会员专区处理 + scr.setSpecialArea(ESpecialArea.getMemberArea(scr.getSpecialArea())); + + String key = CacheConstants.SHOPPIN_GCART + scr.getPkCountry() + "_" + SecurityUtils.getUserId(); Map shoppingCartRedisMap = redisService.getCacheMap(key); if (shoppingCartRedisMap == null) { shoppingCartRedisMap = new HashMap<>(); @@ -92,10 +94,11 @@ public class ApiShoppingCartController extends BaseController { */ @GetMapping("/getShopping") public AjaxResult getShopping(ShoppingCartVO shoppingCartVO) { - if (shoppingCartVO.getSpecialArea() == null || shoppingCartVO.getPkCountry() == null) { - shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); - } - String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId(); + shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); + // 0元会员专区处理 + shoppingCartVO.setSpecialArea(ESpecialArea.getMemberArea(shoppingCartVO.getSpecialArea())); + + String key = CacheConstants.SHOPPIN_GCART + shoppingCartVO.getPkCountry() + "_" + SecurityUtils.getUserId(); Map shoppingCartRedisMap = redisService.getCacheMap(key); List shoppingCartOld; if (shoppingCartRedisMap.containsKey(key)) { @@ -114,10 +117,11 @@ public class ApiShoppingCartController extends BaseController { */ @GetMapping("/getShoppingCount") public AjaxResult getShoppingCount(ShoppingCartVO shoppingCartVO) { + shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); + // 0元会员专区处理 + shoppingCartVO.setSpecialArea(ESpecialArea.getMemberArea(shoppingCartVO.getSpecialArea())); + Long userId = SecurityUtils.getUserId(); - if (null == shoppingCartVO.getPkCountry()) { - shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); - } int count = 0; String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + userId; Map shoppingCartRedisMap = redisService.getCacheMap(key); @@ -166,11 +170,12 @@ public class ApiShoppingCartController extends BaseController { @GetMapping("/getAreaShoppingCount") public AjaxResult getAreaShoppingCount(ShoppingCartVO shoppingCartVO) { Long userId = SecurityUtils.getUserId(); - if (null == shoppingCartVO.getPkCountry()) { - shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); - } + shoppingCartVO.setPkCountry(SecurityUtils.getPkCountry()); + // 0元会员专区处理 + shoppingCartVO.setSpecialArea(ESpecialArea.getMemberArea(shoppingCartVO.getSpecialArea())); + int smallCount = 0; - String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + userId; + String key = CacheConstants.SHOPPIN_GCART + shoppingCartVO.getPkCountry() + "_" + userId; Map shoppingCartRedisMap = redisService.getCacheMap(key); if (shoppingCartRedisMap == null) { shoppingCartRedisMap = new HashMap<>(); @@ -235,9 +240,6 @@ public class ApiShoppingCartController extends BaseController { */ @PostMapping("/plusReduceShopping") public AjaxResult plusReduceShopping(@RequestBody ShoppingCartRedis scr) { - if (null == scr.getPkCountry()) { - scr.setPkCountry(SecurityUtils.getPkCountry()); - } String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId(); Map shoppingCartRedisMap = redisService.getCacheMap(key); if (shoppingCartRedisMap != null) { @@ -268,9 +270,9 @@ public class ApiShoppingCartController extends BaseController { */ @PostMapping("/get-shopping-wares-detail") public AjaxResult getShoppingWaresDetail(@RequestBody CarWaresInfoParam scr) { - if (null == scr.getPkCountry()) { - scr.setPkCountry(SecurityUtils.getPkCountry()); - } + // 0元会员专区处理 + scr.setSpecialArea(ESpecialArea.getMemberArea(scr.getSpecialArea())); + String key = CacheConstants.SHOPPIN_GCART + SecurityUtils.getPkCountry() + "_" + SecurityUtils.getUserId(); Map shoppingCartRedisMap = redisService.getCacheMap(key); CarWaresInfoVo carWaresInfoVo = new CarWaresInfoVo(); @@ -308,4 +310,5 @@ public class ApiShoppingCartController extends BaseController { carWaresInfoVo.setAssAchieveAmount(assAchieveAmount); return AjaxResult.success(carWaresInfoVo); } + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/param/CarWaresInfoParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/param/CarWaresInfoParam.java index cd996fdd..89e79bf4 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/param/CarWaresInfoParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/param/CarWaresInfoParam.java @@ -11,13 +11,10 @@ public class CarWaresInfoParam { * 专区 */ private Integer specialArea; - /** - * 国家(用于跨国报单) - */ - private Integer pkCountry; /** * 购物车项 */ private List shoppingIds; + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ShoppingCartVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ShoppingCartVO.java index c502bc64..7063f717 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ShoppingCartVO.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/shopping/vo/ShoppingCartVO.java @@ -9,11 +9,7 @@ import java.io.Serializable; import java.util.List; /** - * @Description: 购物车实体类 - * @Author: zhangjing - * @Time: 2022/9/16 11:11 - * @Classname: ShoppingCartVO - * @PackageName: com.hzs.common.domain.sale.ext + * 购物车实体类 */ @Data @Builder diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/api/ApiBdWaresController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/api/ApiBdWaresController.java index 138205d8..bad4422e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/api/ApiBdWaresController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/controller/api/ApiBdWaresController.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.codec.Base64Decoder; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson2.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -93,23 +94,22 @@ public class ApiBdWaresController extends BaseController { * @param cuWaresParams 专区、分类 */ @RequestMapping("/query-spe-wares") - public AjaxResult queryWaresBySpecial(@RequestBody CuWaresParams cuWaresParams) { + public AjaxResult rqueryWaresBySpecial(@RequestBody CuWaresParams cuWaresParams) { if (null == cuWaresParams.getSpecialArea()) { - return AjaxResult.error(SaOrderMsgConstants.SPECIAL_AREA_NOT_EMPTY); + return AjaxResult.error("所属专区不能为空"); } - - Integer pkCountry; - if (cuWaresParams.getPkCountry() != null) { - pkCountry = cuWaresParams.getPkCountry(); - } else { - pkCountry = SecurityUtils.getPkCountry(); - } - + Integer pkCountry = SecurityUtils.getPkCountry(); // 返回数据 List waresParamsList = new ArrayList<>(); // 查询商品列表 - List bdWaresExtList = iBdWaresService.queryWaresByCondition(cuWaresParams.getSpecialArea(), cuWaresParams.getPkAreaClassify(), cuWaresParams.getWaresName(), null, null, pkCountry); + List bdWaresExtList; + if (ESpecialArea.MEMBER_AREA.getValue() == cuWaresParams.getSpecialArea()) { + // 0元注册会员专区,只查询注册专区的188商品 + bdWaresExtList = iBdWaresService.listWaresShare(ESpecialArea.REGISTER_AREA.getValue(), EWaresType.PRODUCT_188.getValue(), CountryConstants.CHINA_COUNTRY, cuWaresParams.getWaresName()); + } else { + bdWaresExtList = iBdWaresService.queryWaresByCondition(cuWaresParams.getSpecialArea(), cuWaresParams.getPkAreaClassify(), cuWaresParams.getWaresName(), null, null, pkCountry); + } if (CollectionUtil.isNotEmpty(bdWaresExtList)) { // 当前会员ID @@ -118,10 +118,6 @@ public class ApiBdWaresController extends BaseController { // 当前会员编号 String memberCode = cuMember.getMemberCode(); - // 汇率比例 - R currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); - BigDecimal inExchangeRate = currency.getData().getInExchangeRate(); - // 商品主键列表 List waresIdList = bdWaresExtList.stream().map(BdWares::getPkId).collect(Collectors.toList()); // 检验商品团队信息 @@ -251,14 +247,6 @@ public class ApiBdWaresController extends BaseController { // 零售价 retailPrice = retailPrice.add(bdWaresSpecsSkuExt.getRetailPrice().multiply(BigDecimal.valueOf(bdWaresSpecsSkuExt.getQuantity()))); } - if (cuWaresParams.getPkCountry() != null && !pkCountry.equals(SecurityUtils.getPkCountry())) { - // 当登陆人的结算国和前端结算国不一致 即为跨国报单 - if (!pkCountry.equals(SecurityUtils.getPkCountry())) { - // 跨国报单 跨国汇率 - R kgCurrency = iCurrencyServiceApi.getCurrency(pkCountry); - waresPrice = waresPrice.multiply(inExchangeRate).divide(kgCurrency.getData().getInExchangeRate(), 2, BigDecimal.ROUND_HALF_UP); - } - } } // 计算商品列表价格和业绩最小值 @@ -269,12 +257,8 @@ public class ApiBdWaresController extends BaseController { waresParams.setRetailPrice(retailPrice); // 商品业绩计算汇率 if (waresParams.getWaresAchieve() != null) { - if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { - waresParams.setWaresAchieve(waresParams.getWaresAchieve().multiply(inExchangeRate)); - } else { - waresParams.setWaresAchieve(waresParams.getWaresAchieve()); - waresParams.setWaresPrice(waresParams.getWaresPrice()); - } + waresParams.setWaresAchieve(waresParams.getWaresAchieve()); + waresParams.setWaresPrice(waresParams.getWaresPrice()); } else { waresParams.setWaresAchieve(BigDecimal.ZERO); waresParams.setWaresPrice(BigDecimal.ZERO); @@ -295,11 +279,20 @@ public class ApiBdWaresController extends BaseController { Integer inventory = waresExt.getInventory(); Integer inventoryRatio = waresExt.getInventoryRatio(); Integer inventoryUse = waresExt.getInventoryUse(); + if(ObjectUtil.isEmpty(inventory)){ + inventory = 0; + } + if(ObjectUtil.isEmpty(inventoryUse)){ + inventoryUse = 0; + } + if(ObjectUtil.isEmpty(inventoryRatio)){ + inventoryRatio = 0; + } int ratio = 100 - (int) Math.round(NumberUtil.getRatioNum(inventory, inventoryUse)); - if(ratio <= inventoryRatio){ + if (ratio <= inventoryRatio) { waresParams.setUseRatio(true); waresParams.setInventory(ratio + ""); - }else{ + } else { waresParams.setUseRatio(false); } waresParams.setProductGroup(jsonArray); @@ -371,11 +364,11 @@ public class ApiBdWaresController extends BaseController { * @param pkWares * @return */ - public ShowWaresDTO getShowWares(Integer pkWares, Long loginMember, String loginMemberCode, Map> waresAuthorityMap) { + public ShowWaresDTO getShowWares(Integer pkWares, Long pkMember, String memberCode, Map> waresAuthorityMap) { ShowWaresDTO showWaresDTO = new ShowWaresDTO(); showWaresDTO.setPkWares(pkWares); - showWaresDTO.setLoginMember(loginMember); - showWaresDTO.setLoginMemberCode(loginMemberCode); + showWaresDTO.setLoginMember(pkMember); + showWaresDTO.setLoginMemberCode(memberCode); showWaresDTO.setWaresAuthorityList(waresAuthorityMap.get(pkWares)); return showWaresDTO; } @@ -394,12 +387,8 @@ public class ApiBdWaresController extends BaseController { return AjaxResult.error(WaresMsgConstants.WARES_NUMBER_DOES_NOT_EXIST); } Long loginMemberId = SecurityUtils.getUserId(); - Integer pkCountry; - if (cuWaresParams.getPkCountry() == null) { - pkCountry = SecurityUtils.getPkCountry(); - } else { - pkCountry = cuWaresParams.getPkCountry(); - } + Integer pkCountry = SecurityUtils.getPkCountry(); + cuWaresParams = iBdWaresSpecsSkuService.queryWaresSpecsSku(cuWaresParams.getSpecialArea(), cuWaresParams.getWaresCode(), loginMemberId, pkCountry); // 预计发货时间(秒) @@ -486,26 +475,6 @@ public class ApiBdWaresController extends BaseController { */ @GetMapping("/get-app-index") public AjaxResult getAppIndex() { -// Integer pkCountry = SecurityUtils.getPkCountry(); -// Long userId = SecurityUtils.getUserId(); -// String memberCode = SecurityUtils.getMemberCode(); -// // 校验产品团队信息(查询所有推荐商品) -// List bdWaresList = iBdWaresService.queryByRecommendList(null, EYesNo.YES.getIntValue(), pkCountry, new HashMap<>()); -// Map waresShowMap = new HashMap<>(); -// if (bdWaresList.size() > 0) { -// // 检验商品团队信息 -// List waresIdList = bdWaresList.stream().map(BdWares::getPkId).collect(Collectors.toList()); -// Map> waresAuthorityMap = iBdWaresService.getWaresAuthority(waresIdList); -// List showWaresList = bdWaresList.stream().map(we -> getShowWares(we.getPkId(), userId, memberCode, waresAuthorityMap)).collect(Collectors.toList()); -// R> waresShowMapDto = iMemberServiceApi.checkIsShowWares(showWaresList); -// waresShowMap = waresShowMapDto.getData(); -// } -// // 查询app端首页商品展示信息 -// RecommendWaresInfoVo recommendWaresInfoVo = iBdWaresService.queryRecommendInfo(pkCountry, memberCode, userId, waresShowMap); -// if (recommendWaresInfoVo.getWaresVoList() != null) { -// List waresList = new ArrayList<>(recommendWaresInfoVo.getWaresVoList()); -// recommendWaresInfoVo.setWaresVoList(waresList); -// } RecommendWaresInfoVo recommendWaresInfoVo = new RecommendWaresInfoVo(); // 查询全部的banner (登录后banner) R> advertBannerList = advertBannerServiceApi.findAll(SecurityUtils.getUserId()); @@ -699,10 +668,10 @@ public class ApiBdWaresController extends BaseController { Integer inventoryRatio = waresExt.getInventoryRatio(); Integer inventoryUse = waresExt.getInventoryUse(); int ratio = 100 - (int) Math.round(NumberUtil.getRatioNum(inventory, inventoryUse)); - if(ratio <= inventoryRatio){ + if (ratio <= inventoryRatio) { waresParams.setUseRatio(true); waresParams.setInventory(ratio + ""); - }else{ + } else { waresParams.setUseRatio(false); } } @@ -769,7 +738,7 @@ public class ApiBdWaresController extends BaseController { List waresParamsList = new ArrayList<>(); // 查询商品列表 - List bdWaresExtList = iBdWaresService.listWaresShare(param.getSpecialArea(), param.getIsMakerGift(), param.getPkCountry()); + List bdWaresExtList = iBdWaresService.listWaresShare(param.getSpecialArea(), param.getIsMakerGift(), param.getPkCountry(), null); if (CollectionUtil.isNotEmpty(bdWaresExtList)) { // 商品主键列表 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java index 571ebb2d..ef1c61f8 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/mapper/BdWaresMapper.java @@ -49,7 +49,8 @@ public interface BdWaresMapper extends BaseMapper { */ List listWaresShare(@Param("specialArea") Integer specialArea, @Param("isMakerGift") Integer isMakerGift, - @Param("pkCountry") Integer pkCountry); + @Param("pkCountry") Integer pkCountry, + @Param("waresName") String waresName); /** * 查询最末商品编号 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java index 6be51ffc..93b36095 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/IBdWaresService.java @@ -98,7 +98,7 @@ public interface IBdWaresService extends IService { * @param pkCountry 所属国家 * @return: List */ - List listWaresShare(Integer specialArea, Integer isMakerGift, Integer pkCountry); + List listWaresShare(Integer specialArea, Integer isMakerGift, Integer pkCountry, String waresName); /** * 查询商品外键 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java index 3f46d112..24771c94 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresServiceImpl.java @@ -841,8 +841,8 @@ public class BdWaresServiceImpl extends ServiceImpl impl } @Override - public List listWaresShare(Integer specialArea, Integer isMakerGift, Integer pkCountry) { - return baseMapper.listWaresShare(specialArea, isMakerGift, pkCountry); + public List listWaresShare(Integer specialArea, Integer isMakerGift, Integer pkCountry, String waresName) { + return baseMapper.listWaresShare(specialArea, isMakerGift, pkCountry, waresName); } @Override @@ -1213,126 +1213,166 @@ public class BdWaresServiceImpl extends ServiceImpl impl // 登录用户 CuMemberExt loginMember = iMemberServiceApi.getMemberById(userId).getData(); - // 续约标记 -- 会员还有3月到期,需要能看到续约专区 - boolean expireFlag = false; - if (null != loginMember.getExpireDate()) { - expireFlag = DateUtils.addMonths(new Date(), 3).compareTo(loginMember.getExpireDate()) > 0; - } - - // 结算等级 - int pkGrade = loginMember.getPkSettleGrade(); - // 真实奖衔 - int pkAwards = loginMember.getPkAwards(); - // 注册权限 - int authority = loginMember.getRegisterAuthority(); - // 查询权限配置 - List menuDetailList = iMenuDetailServiceApi.showMenuDetail(pkGrade, pkAwards, authority, pkCountry).getData(); - - // 查询存在推荐的专区 - List saList = baseMapper.queryRecommendWaresSpecial(); - List specialAreaList = new ArrayList<>(); - //校验菜单权限 如果没有配置则全部显示 - if (menuDetailList.size() > 0) { - for (BdMenuDetail bdMenuDetail : menuDetailList) { - for (Integer specialArea : saList) { - ESpecialArea sarea = ESpecialArea.getESpecialAreaEnum(specialArea); - if (bdMenuDetail.getDetailValue().equals(sarea.getMenuDetailValue())) { - specialAreaList.add(specialArea); - } - } - } - } else { - specialAreaList = saList; - } - - // 查询推荐商品 - List recommendWaresList = this.selectByRecommentList(pkCountry, specialAreaList); - // 校验商品奖衔和等级/团队权限 - List waresIdList = recommendWaresList.stream().map(BdWares::getPkId).collect(Collectors.toList()); - Set waresIdSet = new HashSet<>(); - List authWaresList = new ArrayList<>(); - if (waresIdList.size() > 0) { - // 处理商品权限 - List waresGradeAwardsList = iBdWaresGradeService.queryWaresGradeAwards(waresIdList); - // 先处理没有配置等级、奖衔的商品 - waresGradeAwardsList.forEach(waresGradeAwards -> { - waresIdSet.add(waresGradeAwards.getPkWares()); - String key = waresGradeAwards.getPkWares() + "_" + waresGradeAwards.getRangeType() + "_" + waresGradeAwards.getPkRange().toString(); - authWaresList.add(key); - }); - } - RecommendWaresInfoVo recommendWaresInfoVo = new RecommendWaresInfoVo(); // 推荐专区 List resultList = new ArrayList<>(); - for (Integer specialArea : specialAreaList) { - ESpecialArea sArea = ESpecialArea.getESpecialAreaEnum(specialArea); - if (sArea != null) { - if (StringUtils.isNotBlank(sArea.getLabel())) { - RecommendSpecialAreaVo recommendSpecialAreaVo = new RecommendSpecialAreaVo(); - if (specialArea.equals(ESpecialArea.RENEWAL_AREA.getValue())) { - // 续约专区,只有有效期小于3个月的能看到 - if (!expireFlag) { - continue; + + if (null == loginMember.getPkPlaceParent()) { + // 0元注册会员,没有上树,没有安置关系 + // 查询商品列表 + List bdWaresExtList = this.listWaresShare(ESpecialArea.REGISTER_AREA.getValue(), EWaresType.PRODUCT_188.getValue(), CountryConstants.CHINA_COUNTRY, null); + + if (CollectionUtil.isNotEmpty(bdWaresExtList)) { + RecommendSpecialAreaVo recommendSpecialAreaVo = RecommendSpecialAreaVo.builder() + .specialArea(ESpecialArea.MEMBER_AREA.getValue()) + .specialAreaName(ESpecialArea.MEMBER_AREA.getLabel()) + .sort(ESpecialArea.MEMBER_AREA.getSort()) + .build(); + resultList.add(recommendSpecialAreaVo); + + List filterList = new ArrayList<>(); + for (BdWaresExt bdWaresExt : bdWaresExtList) { + if (filterList.size() > 2) { + break; + } else { + filterList.add(bdWaresExt); + } + } + + List waresVoList = filterList.stream().map(wl -> { + WaresVo waresVo = new WaresVo(); + waresVo.setPkWares(wl.getPkId()); + waresVo.setWaresCode(wl.getWaresCode()); + waresVo.setWaresName(wl.getWaresName()); + waresVo.setWaresPrice(wl.getWaresPrice()); + waresVo.setCover(wl.getCover()); + waresVo.setCover1(wl.getCover1()); + waresVo.setIsSale(wl.getIsSale()); + waresVo.setPreSaleStatus(wl.getPreSaleStatus()); + waresVo.setSpecialArea(wl.getSpecialArea()); + return waresVo; + }).collect(Collectors.toList()); + recommendSpecialAreaVo.setWaresList(waresVoList); + } + } else { + // 续约标记 -- 会员还有3月到期,需要能看到续约专区 + boolean expireFlag = false; + if (null != loginMember.getExpireDate()) { + expireFlag = DateUtils.addMonths(new Date(), 3).compareTo(loginMember.getExpireDate()) > 0; + } + + // 结算等级 + int pkGrade = loginMember.getPkSettleGrade(); + // 真实奖衔 + int pkAwards = loginMember.getPkAwards(); + // 注册权限 + int authority = loginMember.getRegisterAuthority(); + // 查询权限配置 + List menuDetailList = iMenuDetailServiceApi.showMenuDetail(pkGrade, pkAwards, authority, pkCountry).getData(); + + // 查询存在推荐的专区 + List saList = baseMapper.queryRecommendWaresSpecial(); + List specialAreaList = new ArrayList<>(); + //校验菜单权限 如果没有配置则全部显示 + if (menuDetailList.size() > 0) { + for (BdMenuDetail bdMenuDetail : menuDetailList) { + for (Integer specialArea : saList) { + ESpecialArea sarea = ESpecialArea.getESpecialAreaEnum(specialArea); + if (bdMenuDetail.getDetailValue().equals(sarea.getMenuDetailValue())) { + specialAreaList.add(specialArea); } } - recommendSpecialAreaVo.setSpecialArea(specialArea); - recommendSpecialAreaVo.setSort(sArea.getSort()); - recommendSpecialAreaVo.setSpecialAreaName(sArea.getLabel()); - resultList.add(recommendSpecialAreaVo); + } + } else { + specialAreaList = saList; + } - List filterList = new ArrayList<>(); - // 推荐商品,TODO 此处查询推荐商品,可以先全查出来在内存进行分专区处理,后续有时间可以优化 - List waresList = this.queryByRecommendList(specialArea, EYesNo.YES.getIntValue(), pkCountry, waresShowMap); - if (CollectionUtil.isNotEmpty(waresList)) { - for (BdWaresExt waresExt : waresList) { - if (waresIdSet.contains(waresExt.getPkId())) { - String gradeKey = waresExt.getPkId() + "_" + ERangeType.GRADE.getValue() + "_" + loginMember.getPkSettleGrade(); - String awardsKey = waresExt.getPkId() + "_" + ERangeType.AWARDS.getValue() + "_" + loginMember.getPkAwards(); - String authorityKey = waresExt.getPkId() + "_" + ERangeType.AUTHORITY.getValue() + "_" + loginMember.getRegisterAuthority(); - if (!authWaresList.contains(gradeKey) && !authWaresList.contains(awardsKey) && !authWaresList.contains(authorityKey)) { - continue; + // 查询推荐商品 + List recommendWaresList = this.selectByRecommentList(pkCountry, specialAreaList); + // 校验商品奖衔和等级/团队权限 + List waresIdList = recommendWaresList.stream().map(BdWares::getPkId).collect(Collectors.toList()); + Set waresIdSet = new HashSet<>(); + List authWaresList = new ArrayList<>(); + if (waresIdList.size() > 0) { + // 处理商品权限 + List waresGradeAwardsList = iBdWaresGradeService.queryWaresGradeAwards(waresIdList); + // 先处理没有配置等级、奖衔的商品 + waresGradeAwardsList.forEach(waresGradeAwards -> { + waresIdSet.add(waresGradeAwards.getPkWares()); + String key = waresGradeAwards.getPkWares() + "_" + waresGradeAwards.getRangeType() + "_" + waresGradeAwards.getPkRange().toString(); + authWaresList.add(key); + }); + } + + for (Integer specialArea : specialAreaList) { + ESpecialArea sArea = ESpecialArea.getESpecialAreaEnum(specialArea); + if (sArea != null) { + if (StringUtils.isNotBlank(sArea.getLabel())) { + RecommendSpecialAreaVo recommendSpecialAreaVo = new RecommendSpecialAreaVo(); + if (specialArea.equals(ESpecialArea.RENEWAL_AREA.getValue())) { + // 续约专区,只有有效期小于3个月的能看到 + if (!expireFlag) { + continue; + } + } + recommendSpecialAreaVo.setSpecialArea(specialArea); + recommendSpecialAreaVo.setSort(sArea.getSort()); + recommendSpecialAreaVo.setSpecialAreaName(sArea.getLabel()); + resultList.add(recommendSpecialAreaVo); + + List filterList = new ArrayList<>(); + // 推荐商品,TODO 此处查询推荐商品,可以先全查出来在内存进行分专区处理,后续有时间可以优化 + List waresList = this.queryByRecommendList(specialArea, null, pkCountry, waresShowMap); + if (CollectionUtil.isNotEmpty(waresList)) { + for (BdWaresExt waresExt : waresList) { + if (waresIdSet.contains(waresExt.getPkId())) { + String gradeKey = waresExt.getPkId() + "_" + ERangeType.GRADE.getValue() + "_" + loginMember.getPkSettleGrade(); + String awardsKey = waresExt.getPkId() + "_" + ERangeType.AWARDS.getValue() + "_" + loginMember.getPkAwards(); + String authorityKey = waresExt.getPkId() + "_" + ERangeType.AUTHORITY.getValue() + "_" + loginMember.getRegisterAuthority(); + if (!authWaresList.contains(gradeKey) && !authWaresList.contains(awardsKey) && !authWaresList.contains(authorityKey)) { + continue; + } + } + if (filterList.size() > 2) { + break; + } else { + filterList.add(waresExt); } } - if (filterList.size() > 2) { - break; + } + + List waresVoList = filterList.stream().map(wl -> { + WaresVo waresVo = new WaresVo(); + waresVo.setPkWares(wl.getPkId()); + waresVo.setWaresCode(wl.getWaresCode()); + waresVo.setWaresName(wl.getWaresName()); + waresVo.setWaresPrice(wl.getWaresPrice()); + waresVo.setCover(wl.getCover()); + waresVo.setCover1(wl.getCover1()); + waresVo.setIsSale(wl.getIsSale()); + waresVo.setPreSaleStatus(wl.getPreSaleStatus()); + waresVo.setSpecialArea(wl.getSpecialArea()); + + Integer inventory = wl.getInventory(); + Integer inventoryRatio = wl.getInventoryRatio(); + Integer inventoryUse = wl.getInventoryUse(); + int ratio = 100 - (int) Math.round(NumberUtil.getRatioNum(inventory, inventoryUse)); + if (ratio <= inventoryRatio) { + waresVo.setUseRatio(true); + waresVo.setInventory(ratio + ""); } else { - filterList.add(waresExt); + waresVo.setUseRatio(false); } - } + return waresVo; + }).collect(Collectors.toList()); + recommendSpecialAreaVo.setWaresList(waresVoList); } - - List waresVoList = filterList.stream().map(wl -> { - WaresVo waresVo = new WaresVo(); - waresVo.setPkWares(wl.getPkId()); - waresVo.setWaresCode(wl.getWaresCode()); - waresVo.setWaresName(wl.getWaresName()); - waresVo.setWaresPrice(wl.getWaresPrice()); - waresVo.setCover(wl.getCover()); - waresVo.setCover1(wl.getCover1()); - waresVo.setIsSale(wl.getIsSale()); - waresVo.setPreSaleStatus(wl.getPreSaleStatus()); - waresVo.setSpecialArea(wl.getSpecialArea()); - - Integer inventory = wl.getInventory(); - Integer inventoryRatio = wl.getInventoryRatio(); - Integer inventoryUse = wl.getInventoryUse(); - int ratio = 100 - (int) Math.round(NumberUtil.getRatioNum(inventory, inventoryUse)); - if(ratio <= inventoryRatio){ - waresVo.setUseRatio(true); - waresVo.setInventory(ratio + ""); - }else{ - waresVo.setUseRatio(false); - } - return waresVo; - }).collect(Collectors.toList()); - recommendSpecialAreaVo.setWaresList(waresVoList); } } + // 根据专区排序(按照指定排序排序: 注冊 升级 复购) + resultList.sort(Comparator.comparingInt(RecommendSpecialAreaVo::getSort)); } - // 根据专区排序(按照指定排序排序: 注冊 升级 复购 自营 海粉 嗨粉) - resultList.sort(Comparator.comparingInt(RecommendSpecialAreaVo::getSort)); recommendWaresInfoVo.setRecommendSpecialAreaList(resultList); return recommendWaresInfoVo; } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java index 495ebcf9..95247113 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/wares/service/impl/BdWaresSpecsSkuServiceImpl.java @@ -65,6 +65,10 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl bdWaresSpecsSkuExtList; R memberDate = iMemberServiceApi.getMember(loginMemberId); @@ -169,7 +173,7 @@ public class BdWaresSpecsSkuServiceImpl extends ServiceImpl - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + - - - PK_ID, CLASSIFY_NAME, PK_TRANSACTION_KEY, SORT, ENABLE_STATE, PK_PARENT, CLASSIFY_IMG, PK_CREATOR, CREATION_TIME, PK_MODIFIED, MODIFIED_TIME, DEL_FLAG, PK_COUNTRY - + diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml index 7264e341..a891cc86 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/sale/wares/BdWaresMapper.xml @@ -98,7 +98,6 @@ S_LABEL, SALES, IS_SALE, ARRIVAL_TIME, WARN_MESSAGE, IS_LAND_TRANS, IS_AIR_TRANS, IS_OCEAN_TRANS, VIDEO_URL, COVER, be.maker_income, be.PK_SPECIAL_CURRENCY, - be.INVENTORY, be.INVENTORY_RATIO, be.MEMBER_LIMIT, be.MEMBER_MONTH_LIMIT, be.INVENTORY_USE from bd_wares bw inner join bd_wares_extend be @@ -153,6 +152,7 @@ select bw.PK_COUNTRY, bw.PK_ID, be.pk_id PK_WARES_EXTEND, be.IS_MAKER_GIFT, bw.WARES_CODE, bw.WARES_NAME, PK_AREA_CLASSIFY, COVER, COVER1, COVER2, + DETAILS_TYPE, bw.WARES_PRICE, bw.WARES_ACHIEVE, SORT, SPECIAL_AREA, IS_PUT_ON, PRE_SALE_STATUS, @@ -176,6 +176,9 @@ and bw.pk_country = #{pkCountry} + + and bw.WARES_NAME like '%' || #{waresName} || '%' + order by bw.SORT_STATUS desc , bw.sort desc, bw.WARES_PRICE ,bw.CREATION_TIME desc diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/api/ApiBdRegisterPageController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/api/ApiBdRegisterPageController.java index c0761587..b5347923 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/api/ApiBdRegisterPageController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/api/ApiBdRegisterPageController.java @@ -1,59 +1,25 @@ package com.hzs.system.config.controller.api; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.hzs.common.core.constant.SystemFieldConstants; -import com.hzs.common.core.enums.EYesNo; import com.hzs.common.core.web.domain.AjaxResult; -import com.hzs.common.domain.system.config.BdRegisterPage; -import com.hzs.common.security.utils.SecurityUtils; -import com.hzs.system.config.service.IBdRegisterPageService; -import com.hzs.system.config.vo.RegisterPageVO; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.List; +import java.util.Collections; /** - * @Description: 前端注册页面配置控制器 - * @Author: jiang chao - * @Time: 2022/10/19 9:44 - * @Classname: ApiBdRegisterPageController - * @PackageName: com.hzs.system.config.controller.api + * 前端注册页面配置控制器 */ @RestController @RequestMapping("/api/register-page") public class ApiBdRegisterPageController { - @Autowired - private IBdRegisterPageService iBdRegisterPageService; - /** * 获取菜单权限列表 - * - * @return */ @GetMapping("/list") - public AjaxResult list(Integer pkCountry) { - if (null == pkCountry) { - pkCountry = SecurityUtils.getPkCountry(); - } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry); - queryWrapper.eq("DISPLAY", EYesNo.YES.getIntValue()); - queryWrapper.orderByAsc(SystemFieldConstants.PK_ID); - List list = iBdRegisterPageService.list(queryWrapper); - - List resultList = new ArrayList<>(); - for (BdRegisterPage bdRegisterPage : list) { - resultList.add(RegisterPageVO.builder() - .field(bdRegisterPage.getField()) - .build()); - } - - return AjaxResult.success(resultList); + public AjaxResult list() { + return AjaxResult.success(Collections.emptyList()); } } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdRegisterPageMapper.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdRegisterPageMapper.java index cf3fd168..9fa132fc 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdRegisterPageMapper.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/mapper/BdRegisterPageMapper.java @@ -5,9 +5,6 @@ import com.hzs.common.domain.system.config.BdRegisterPage; /** * 注册页面配置 Mapper 接口 - * - * @author hzs - * @since 2022-10-18 */ public interface BdRegisterPageMapper extends BaseMapper { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdRegisterPageService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdRegisterPageService.java index 70ec5fea..e23c1a65 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdRegisterPageService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/IBdRegisterPageService.java @@ -7,9 +7,6 @@ import java.util.List; /** * 注册页面配置 服务类 - * - * @author hzs - * @since 2022-10-18 */ public interface IBdRegisterPageService extends IService { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdRegisterPageServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdRegisterPageServiceImpl.java index 73b011a0..a6d08962 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdRegisterPageServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/service/impl/BdRegisterPageServiceImpl.java @@ -1,9 +1,8 @@ package com.hzs.system.config.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.hzs.common.core.constant.SystemFieldConstants; import com.hzs.common.core.enums.EDelFlag; import com.hzs.common.core.enums.ERegisterPage; import com.hzs.common.core.enums.EYesNo; @@ -18,18 +17,15 @@ import java.util.List; /** * 注册页面配置 服务实现类 - * - * @author hzs - * @since 2022-10-18 */ @Service public class BdRegisterPageServiceImpl extends ServiceImpl implements IBdRegisterPageService { @Override public List queryList(Integer pkCountry) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry); - queryWrapper.orderByAsc("PK_ID"); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BdRegisterPage::getPkCountry, pkCountry); + queryWrapper.orderByAsc(BdRegisterPage::getPkId); return baseMapper.selectList(queryWrapper); } @@ -39,11 +35,11 @@ public class BdRegisterPageServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq(SystemFieldConstants.PK_COUNTRY, pkCountry); - updateWrapper.set(SystemFieldConstants.DEL_FLAG, EDelFlag.DELETE.getValue()); - updateWrapper.set(SystemFieldConstants.PK_MODIFIED, userId); - updateWrapper.set(SystemFieldConstants.MODIFIED_TIME, nowDate); + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(BdRegisterPage::getPkCountry, pkCountry); + updateWrapper.set(BdRegisterPage::getDelFlag, EDelFlag.DELETE.getValue()); + updateWrapper.set(BdRegisterPage::getPkModified, userId); + updateWrapper.set(BdRegisterPage::getModifiedTime, nowDate); baseMapper.update(null, updateWrapper); for (String field : registerPageFieldList) { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/controller/api/ApiIdempotentController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/controller/api/ApiIdempotentController.java index 1f2e3555..a59569ef 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/controller/api/ApiIdempotentController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/controller/api/ApiIdempotentController.java @@ -13,12 +13,8 @@ import org.springframework.web.bind.annotation.RestController; @Slf4j public class ApiIdempotentController { - private IIdempotentService idempotentService; - @Autowired - public void setIdempotentService(IIdempotentService idempotentService) { - this.idempotentService = idempotentService; - } + private IIdempotentService idempotentService; @GetMapping("/generate") public AjaxResult generateIdempotentToken() { diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/service/IIdempotentService.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/service/IIdempotentService.java index 5a082b88..5923264a 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/service/IIdempotentService.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/service/IIdempotentService.java @@ -4,11 +4,6 @@ import com.hzs.common.core.constant.CacheConstants; /** * 解决系统幂等性的公共方法 - * @author: sui q - * @time: 2022/8/27 13:46 - * @description: - * @classname: IIdempotentService - * @package_name: com.hzs.system.tools.service */ public interface IIdempotentService { @@ -19,33 +14,16 @@ public interface IIdempotentService { /** * 生成唯一的token - * @Description: - * @return: String - * @throws - * @Author: sui q - * @Date: 2022/8/27 13:47 - */ + */ String generateToken(); /** * 验证token,是否存在系统中 - * @Description: - * @param token - * @return: Boolean - * @throws - * @Author: sui q - * @Date: 2022/8/27 13:48 - */ + */ Boolean validateToken(String token); /** * 刷新token - * @Description: - * @param token - * @return: void - * @throws - * @Author: sui q - * @Date: 2022/8/27 13:48 - */ + */ void refreshToken(String token); } diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/service/impl/IdempotentServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/service/impl/IdempotentServiceImpl.java index b9f122a2..08ff1f96 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/service/impl/IdempotentServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/tools/service/impl/IdempotentServiceImpl.java @@ -12,68 +12,30 @@ import java.util.concurrent.TimeUnit; /** * 解决系统幂等性的公共方法的实现类 - * @author: sui q - * @time: 2022/8/27 13:49 - * @description: - * @classname: IdempotentServiceImpl - * @package_name: com.hzs.system.tools.service.impl */ @Service public class IdempotentServiceImpl implements IIdempotentService { + @Autowired private RedisService redisService; - @Autowired - public void setRedisService(RedisService redisService) { - this.redisService = redisService; - } - - /** - * 生成唯一的token - * @Description: - * @param - * @return: String - * @throws - * @Author: sui q - * @Date: 2022/8/27 13:47 - */ @Override public String generateToken() { String token = IdUtils.fastSimpleUUID(); - redisService.setCacheObject(CacheToolsConstants.IDEMPOTENT_TOKEN+token, + redisService.setCacheObject(CacheToolsConstants.IDEMPOTENT_TOKEN + token, token, EXPIRE_TIME, TimeUnit.MINUTES); return token; } - /** - * 验证token,是否存在系统中 - * @Description: - * @param token - * @return: Boolean - * @throws - * @Author: sui q - * @Date: 2022/8/27 13:48 - */ @Override public Boolean validateToken(String token) { String redisToken = redisService.getCacheObject(CacheToolsConstants.IDEMPOTENT_TOKEN + token); - if(StringUtils.isEmpty(redisToken) || !redisToken.equals(token)){ - return false; - } - return true; + return !StringUtils.isEmpty(redisToken) && redisToken.equals(token); } - /** - * 刷新token - * @Description: - * @param token - * @return: void - * @throws - * @Author: sui q - * @Date: 2022/8/27 13:48 - */ @Override public void refreshToken(String token) { } + } diff --git a/bd-common/bd-common-aop/src/main/java/com/hzs/common/core/aspect/RepeatSubmitAspectAdvice.java b/bd-common/bd-common-aop/src/main/java/com/hzs/common/core/aspect/RepeatSubmitAspectAdvice.java index a983db07..64523f8d 100644 --- a/bd-common/bd-common-aop/src/main/java/com/hzs/common/core/aspect/RepeatSubmitAspectAdvice.java +++ b/bd-common/bd-common-aop/src/main/java/com/hzs/common/core/aspect/RepeatSubmitAspectAdvice.java @@ -23,11 +23,7 @@ import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; /** - * @author: sui q - * @time: 2022/8/27 14:45 - * @description:防止重复提交的切面类 - * @classname: RepeatSubmitAspectAdvice - * @package_name: com.hzs.common.core.aspect + * 防止重复提交的切面类 */ @Aspect @Component diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SystemFieldConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SystemFieldConstants.java index 5c84a570..5a6ef252 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SystemFieldConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/SystemFieldConstants.java @@ -57,9 +57,4 @@ public class SystemFieldConstants { */ public static final String PK_COUNTRY = "pk_country"; - /** - * 公司 - */ - public static final String PK_CORP = "pk_corp"; - } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java index ba328736..326a86de 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/msg/MemberMsgConstants.java @@ -2,11 +2,6 @@ package com.hzs.common.core.constant.msg; public class MemberMsgConstants { - /** - * 重复提交,或者没有token生成,不是正规流程进入的保存 提交token失效 -- 请求已经失效,请刷新重试! - */ - public static final String TOKEN_REPEAT_SUBMIT = "请求已经失效,请刷新重试!"; - /** * 手机号码长度验证 -- 联系方式长度超长 * 2024.06.21 兼容新需求,特殊账号联系方式长度不能超过30位 diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EGrade.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EGrade.java index 50152b44..8e1b9b53 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EGrade.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EGrade.java @@ -93,4 +93,5 @@ public enum EGrade { } return null; } + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderTypeExtend.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderTypeExtend.java index a1147d03..952892f9 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderTypeExtend.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderTypeExtend.java @@ -25,7 +25,7 @@ public enum EOrderTypeExtend { /** * 实际值 */ - private final int value; + private final Integer value; /** * 显示标签 */ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java index 055167ca..caf912ea 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ESpecialArea.java @@ -61,6 +61,12 @@ public enum ESpecialArea { */ RENEWAL_AREA(30, "续约专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 30, 30, EMenuDetail.RENEWAL_AREA.getValue()), + /** + * 会员专区 -- 0元注册之后,只能看到会员专区,就是注册专区的188商品 + * SANGELXIU1 enable = 1->0 + */ + MEMBER_AREA(41, "会员专区", 0, EnumsPrefixConstants.SPECIAL_AREA + 41, 41, -1), + /** * 自助购票 */ @@ -115,4 +121,18 @@ public enum ESpecialArea { } return null; } + + /** + * 获取会员专区,支持188的会员专区(41)返回为注册专区(1) + * + * @param value + * @return + */ + public static Integer getMemberArea(Integer value) { + if (null != value && value.equals(ESpecialArea.MEMBER_AREA.getValue())) { + return ESpecialArea.REGISTER_AREA.getValue(); + } + return value; + } + } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/product/BdAreaClassify.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/product/BdAreaClassify.java index 46df51b7..dd894806 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/product/BdAreaClassify.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/sale/product/BdAreaClassify.java @@ -2,10 +2,8 @@ package com.hzs.common.domain.sale.product; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableName; -import java.util.Date; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; -import java.io.Serializable; import com.hzs.common.core.web.domain.BaseEntity; import lombok.Data; @@ -13,12 +11,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 商品分类 - *

- * - * @author hzs - * @since 2022-09-05 */ @Data @EqualsAndHashCode(callSuper = false) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdRegisterPage.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdRegisterPage.java index 5ec02d07..574ed3ea 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdRegisterPage.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/system/config/BdRegisterPage.java @@ -11,9 +11,6 @@ import lombok.experimental.Accessors; /** * 注册页面配置 - * - * @author hzs - * @since 2022-10-18 */ @Data @EqualsAndHashCode(callSuper = true) From 5968a63f0a848c33081c222439d1ba7cccf8ed94 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 15 Sep 2025 17:01:33 +0800 Subject: [PATCH 40/78] =?UTF-8?q?##=20=E5=95=86=E5=93=81=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E4=B8=BA=E7=A9=BA=E8=BF=94=E5=9B=9E=E7=A9=BA?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/controller/api/ApiAreaClassifyController.java | 4 ++++ .../main/java/com/hzs/sale/product/vo/AreaClassifyVo.java | 8 +------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/api/ApiAreaClassifyController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/api/ApiAreaClassifyController.java index 181da286..761245da 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/api/ApiAreaClassifyController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/controller/api/ApiAreaClassifyController.java @@ -1,5 +1,6 @@ package com.hzs.sale.product.controller.api; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNodeConfig; import cn.hutool.core.lang.tree.TreeUtil; @@ -35,6 +36,9 @@ public class ApiAreaClassifyController extends BaseController { areaClassifyParam.setEnableState(EYesNo.YES.getIntValue()); areaClassifyParam.setPkCountry(SecurityUtils.getPkCountry()); List list = iBdAreaClassifyService.selectByAreaClassifyList(areaClassifyParam); + if (CollectionUtil.isEmpty(list)) { + list.add(new AreaClassifyVo()); + } return AjaxResult.success(list); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/vo/AreaClassifyVo.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/vo/AreaClassifyVo.java index 2f72d81c..73d51ee4 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/vo/AreaClassifyVo.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/product/vo/AreaClassifyVo.java @@ -1,18 +1,12 @@ package com.hzs.sale.product.vo; import com.hzs.common.core.web.domain.BaseEntity; +import lombok.Builder; import lombok.Data; import lombok.EqualsAndHashCode; import java.util.List; -/** - * @Description: - * @Author: yuhui - * @Time: 2022/11/1 14:29 - * @Classname: AreaClassifyVo - * @PackageName: com.hzs.sale.product.vo - */ @EqualsAndHashCode(callSuper = true) @Data public class AreaClassifyVo extends BaseEntity { From 4780c5361bc8daa75f162d9f0d6374bddada5b91 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 15 Sep 2025 17:07:16 +0800 Subject: [PATCH 41/78] =?UTF-8?q?##=20=E6=97=A5=E4=B8=9A=E7=BB=A9=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=B7=BB=E5=8A=A0=E5=A4=8D=E8=B4=AD=E6=96=B0=E5=A2=97?= =?UTF-8?q?=E4=B8=9A=E7=BB=A9=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/bonus/service/impl/BonusSettlePurchaseHandle.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java index 063dd408..055febd7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java @@ -730,6 +730,11 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { for (SaOrderExt saOrderExt : purchaseOrderList) { // 来源会员 CuMemberSettleExt sourceMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); + // 处理会员复购业绩 + sourceMemberSettleExt.setRepurchaseAmount(ComputeUtil.computeAdd(sourceMemberSettleExt.getRepurchaseAmount(), saOrderExt.getOrderAmount())); + sourceMemberSettleExt.setRepurchasePv(ComputeUtil.computeAdd(sourceMemberSettleExt.getRepurchasePv(), saOrderExt.getOrderAchieve())); + sourceMemberSettleExt.setRepurchaseNewAmount(ComputeUtil.computeAdd(sourceMemberSettleExt.getRepurchaseNewAmount(), saOrderExt.getOrderAmount())); + sourceMemberSettleExt.setRepurchaseNewPv(ComputeUtil.computeAdd(sourceMemberSettleExt.getRepurchaseNewPv(), saOrderExt.getOrderAchieve())); // 订单产生的见点收益 List orderBonusCoachList = new ArrayList<>(); From b37fd5dd559dc654bff55bbe8e649c7c2524caf4 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Mon, 15 Sep 2025 17:07:16 +0800 Subject: [PATCH 42/78] =?UTF-8?q?##=20=E6=97=A5=E4=B8=9A=E7=BB=A9=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=B7=BB=E5=8A=A0=E5=A4=8D=E8=B4=AD=E6=96=B0=E5=A2=97?= =?UTF-8?q?=E4=B8=9A=E7=BB=A9=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/bonus/service/impl/BonusSettlePurchaseHandle.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java index 063dd408..055febd7 100644 --- a/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java +++ b/bd-business/bd-business-bonus/src/main/java/com/hzs/bonus/bonus/service/impl/BonusSettlePurchaseHandle.java @@ -730,6 +730,11 @@ public class BonusSettlePurchaseHandle extends BonusSettleHandle { for (SaOrderExt saOrderExt : purchaseOrderList) { // 来源会员 CuMemberSettleExt sourceMemberSettleExt = cuMemberSettleExtMap.get(saOrderExt.getPkMember()); + // 处理会员复购业绩 + sourceMemberSettleExt.setRepurchaseAmount(ComputeUtil.computeAdd(sourceMemberSettleExt.getRepurchaseAmount(), saOrderExt.getOrderAmount())); + sourceMemberSettleExt.setRepurchasePv(ComputeUtil.computeAdd(sourceMemberSettleExt.getRepurchasePv(), saOrderExt.getOrderAchieve())); + sourceMemberSettleExt.setRepurchaseNewAmount(ComputeUtil.computeAdd(sourceMemberSettleExt.getRepurchaseNewAmount(), saOrderExt.getOrderAmount())); + sourceMemberSettleExt.setRepurchaseNewPv(ComputeUtil.computeAdd(sourceMemberSettleExt.getRepurchaseNewPv(), saOrderExt.getOrderAchieve())); // 订单产生的见点收益 List orderBonusCoachList = new ArrayList<>(); From 5ebe4bc60143f56a3bfff6a952cd268f617cefa5 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Fri, 12 Sep 2025 10:06:09 +0800 Subject: [PATCH 43/78] =?UTF-8?q?##=20=E5=88=A0=E9=99=A4=E6=AD=BB=E7=82=B9?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=80=BC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java index 9c5375ec..43ba3037 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/DeleteDeadLockServiceImpl.java @@ -53,7 +53,7 @@ public class DeleteDeadLockServiceImpl extends ServiceImpl Date: Mon, 15 Sep 2025 13:54:27 +0800 Subject: [PATCH 44/78] =?UTF-8?q?##=20Opt=20-=20=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E6=98=8E=E7=BB=86=E5=A2=9E=E5=8A=A0=E4=BD=93?= =?UTF-8?q?=E7=B3=BB=E5=90=8D=E7=A7=B0&=E4=BD=93=E7=B3=BB=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/domain/third/pay/ext/TOnlinePaymentExt.java | 8 ++++++++ .../java/com/hzs/third/pay/param/OnlinePaymentParam.java | 1 + .../main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java | 6 +++++- .../resources/mapper/third/pay/TOnlinePaymentMapper.xml | 8 +++++++- 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/third/pay/ext/TOnlinePaymentExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/third/pay/ext/TOnlinePaymentExt.java index 65afa7c2..4e57b6e0 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/third/pay/ext/TOnlinePaymentExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/third/pay/ext/TOnlinePaymentExt.java @@ -32,6 +32,14 @@ public class TOnlinePaymentExt extends TOnlinePayment { private Integer orderType; private String orderTypeVal; + /** + * 体系ID + */ + private Integer vertexId; + /** + * 体系名称 + */ + private String vertexName; private Long rechargeId; diff --git a/bd-third/src/main/java/com/hzs/third/pay/param/OnlinePaymentParam.java b/bd-third/src/main/java/com/hzs/third/pay/param/OnlinePaymentParam.java index 60ff31a1..586795d2 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/param/OnlinePaymentParam.java +++ b/bd-third/src/main/java/com/hzs/third/pay/param/OnlinePaymentParam.java @@ -71,4 +71,5 @@ public class OnlinePaymentParam { */ private Integer orderType; + private Integer vertexId; } diff --git a/bd-third/src/main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java b/bd-third/src/main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java index a297c982..4f46fef5 100644 --- a/bd-third/src/main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java +++ b/bd-third/src/main/java/com/hzs/third/pay/vo/OnlinePaymentVO.java @@ -39,7 +39,11 @@ public class OnlinePaymentVO { */ @Excel(name = "会员姓名") private String memberName; - + /** + * 体系名称 + */ + @Excel(name = "体系名称") + private String vertexName; /** * 业务类型(1=直销订单,3=充值,4=抽奖) */ diff --git a/bd-third/src/main/resources/mapper/third/pay/TOnlinePaymentMapper.xml b/bd-third/src/main/resources/mapper/third/pay/TOnlinePaymentMapper.xml index 1810fb74..327b344a 100644 --- a/bd-third/src/main/resources/mapper/third/pay/TOnlinePaymentMapper.xml +++ b/bd-third/src/main/resources/mapper/third/pay/TOnlinePaymentMapper.xml @@ -31,14 +31,20 @@ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETransferType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETransferType.java index da82c1a3..d8618c1b 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETransferType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETransferType.java @@ -4,11 +4,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; /** - * @Description: 转账类型 - * @Author: ljc - * @Time: 2022/9/26 10:33 - * @Classname: ETransferType - * @Package_name: com.hzs.common.core.enums + * 转账类型 */ @AllArgsConstructor @Getter From 9d1a65867bf374679c43932322a088cf1fbb89e6 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 16 Sep 2025 09:30:15 +0800 Subject: [PATCH 49/78] =?UTF-8?q?##=20=E9=98=B2=E9=87=8D=E5=A4=8D=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E6=B3=A8=E9=87=8A=E6=94=B9=E4=B8=BA=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=A7=92=E4=B8=BA=E6=97=B6=E9=97=B4=E5=8D=95=E4=BD=8D=E5=88=A4?= =?UTF-8?q?=E6=96=AD=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/aspect/RepeatSubmitSimpleAspectAdvice.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/bd-common/bd-common-aop/src/main/java/com/hzs/common/core/aspect/RepeatSubmitSimpleAspectAdvice.java b/bd-common/bd-common-aop/src/main/java/com/hzs/common/core/aspect/RepeatSubmitSimpleAspectAdvice.java index 5ed2ca28..17d9da2d 100644 --- a/bd-common/bd-common-aop/src/main/java/com/hzs/common/core/aspect/RepeatSubmitSimpleAspectAdvice.java +++ b/bd-common/bd-common-aop/src/main/java/com/hzs/common/core/aspect/RepeatSubmitSimpleAspectAdvice.java @@ -23,11 +23,7 @@ import java.util.Map; import java.util.concurrent.TimeUnit; /** - * @Description: 防止表单重复提交处理 - * @Author: jiang chao - * @Time: 2023/6/15 9:24 - * @Classname: RepeatSubmitOldAspectAdvice - * @PackageName: com.hzs.common.core.aspect + * 防止表单重复提交处理 */ @Slf4j @Aspect @@ -67,7 +63,7 @@ public class RepeatSubmitSimpleAspectAdvice { Map nowDataMap = new HashMap<>(); nowDataMap.put(REPEAT_PARAMS, nowParams); - nowDataMap.put(REPEAT_TIME, System.currentTimeMillis()); + nowDataMap.put(REPEAT_TIME, System.currentTimeMillis() / 1000); // 请求地址(作为存放cache的key值) String url = request.getRequestURI(); From 81bb6cb5422bd745bb8f809bddbb5e727ac485e7 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 16 Sep 2025 09:42:04 +0800 Subject: [PATCH 50/78] =?UTF-8?q?##=20=E8=BD=AC=E8=B4=A6=E3=80=81=E6=8F=90?= =?UTF-8?q?=E7=8E=B0=E6=B7=BB=E5=8A=A0=E8=B4=A6=E6=88=B7=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E8=B6=B3=E5=A4=9F=E6=A0=A1=E9=AA=8C=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/ApiCuMemberTransferController.java | 17 +++++++---- .../impl/CuMemberTransferServiceImpl.java | 29 ++++++++++++------- .../impl/CuMemberWithdrawServiceImpl.java | 17 +++++++---- .../member/account/CuMemberAccountMapper.xml | 3 ++ .../hzs/common/core/enums/ETransferType.java | 6 +--- 5 files changed, 45 insertions(+), 27 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberTransferController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberTransferController.java index 4042917c..0019f06d 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberTransferController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/controller/api/ApiCuMemberTransferController.java @@ -336,11 +336,17 @@ public class ApiCuMemberTransferController extends BaseController { //转入币种ID(从配置中获取) Integer toPkAccount = iAccountServiceApi.getPkAccount(pkAccount).getData(); - CuMemberTransfer cuMemberTransfer = CuMemberTransfer.builder().pkMember(pkMember) - .pkAccount(pkAccount).transferCode(code).toPkMember(toPkMember) - .pkToAccount(toPkAccount).pkRate(currencyDTO.getPkId()) - .transferMoney(transferMoney).remarks(cuMemberTransferParam.getRemarks()) - .serviceCharge(serviceRatio).issuedAmount(issuedAmount) + CuMemberTransfer cuMemberTransfer = CuMemberTransfer.builder() + .pkMember(pkMember) + .pkAccount(pkAccount) + .transferCode(code) + .toPkMember(toPkMember) + .pkToAccount(toPkAccount) + .pkRate(currencyDTO.getPkId()) + .transferMoney(transferMoney) + .remarks(cuMemberTransferParam.getRemarks()) + .serviceCharge(serviceRatio) + .issuedAmount(issuedAmount) .build(); cuMemberTransfer.setPkCountry(pkCountry); cuMemberTransfer.setPkCreator(pkMember); @@ -348,7 +354,6 @@ public class ApiCuMemberTransferController extends BaseController { return toAjax(iCuMemberTransferService.saveMemberTransferInfo(cuMemberTransfer, cuMemberAccount, toMemberAccount)); } - /** * 判断是否走血缘 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberTransferServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberTransferServiceImpl.java index a1354273..bc428c22 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberTransferServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/account/service/impl/CuMemberTransferServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.common.core.constant.msg.FinanceMsgConstants; import com.hzs.common.core.enums.*; +import com.hzs.common.core.exception.ServiceException; import com.hzs.common.core.utils.CommonUtil; import com.hzs.common.domain.member.account.CuMemberAccount; import com.hzs.common.domain.member.account.CuMemberTrade; @@ -106,9 +107,16 @@ public class CuMemberTransferServiceImpl extends ServiceImpl and account2 + #{account2} >= 0
+ + and account4 + #{account4} >= 0 +
@@ -48,14 +52,15 @@ select bg.grade_name, bg.grade_value, nvl(a.member_total, 0) member_total, - 0 sort + 0 sort from (select cm.PK_REGISTER_GRADE, count(1) member_total from cu_member cm where cm.del_flag = 0 - and cm.pay_status = 1 and cm.category = 0 - and to_char(cm.pay_time, 'yyyy-mm-dd') = - to_char(sysdate, 'yyyy-mm-dd') + and ((to_char(cm.pay_time, 'yyyy-mm-dd') = + to_char(sysdate, 'yyyy-mm-dd') and cm.pay_status = 1) or + (to_char(cm.creation_time, 'yyyy-mm-dd') = + to_char(sysdate, 'yyyy-mm-dd') and cm.pay_status = 0)) and cm.customer_type != 1 group by cm.PK_REGISTER_GRADE order by cm.PK_REGISTER_GRADE) a @@ -66,14 +71,15 @@ select bg.grade_name, bg.grade_value, nvl(a.member_total, 0) member_total, - 1 sort + 1 sort from (select cm.PK_REGISTER_GRADE, count(1) member_total from cu_member cm where cm.del_flag = 0 - and cm.pay_status = 1 and cm.category = 0 - and to_char(cm.pay_time, 'yyyy-mm-dd') = - to_char(sysdate - 1, 'yyyy-mm-dd') + and ((to_char(cm.pay_time, 'yyyy-mm-dd') = + to_char(sysdate - 1, 'yyyy-mm-dd') and cm.pay_status = 1) or + (to_char(cm.creation_time, 'yyyy-mm-dd') = + to_char(sysdate - 1, 'yyyy-mm-dd') and cm.pay_status = 0)) and cm.customer_type != 1 group by cm.PK_REGISTER_GRADE order by cm.PK_REGISTER_GRADE) a @@ -84,13 +90,15 @@ select bg.grade_name, bg.grade_value, nvl(a.member_total, 0) member_total, - 2 sort + 2 sort from (select cm.PK_REGISTER_GRADE, count(1) member_total from cu_member cm where cm.del_flag = 0 - and cm.pay_status = 1 and cm.category = 0 - and to_char(cm.pay_time, 'yyyy-mm') = to_char(sysdate, 'yyyy-mm') + and ((to_char(cm.pay_time, 'yyyy-mm') = + to_char(sysdate, 'yyyy-mm') and cm.pay_status = 1) or + (to_char(cm.creation_time, 'yyyy-mm') = + to_char(sysdate, 'yyyy-mm') and cm.pay_status = 0)) and cm.customer_type != 1 group by cm.PK_REGISTER_GRADE order by cm.PK_REGISTER_GRADE) a From be546a006d42583fe98f9d3729941558df6b4adc Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 23 Sep 2025 14:12:23 +0800 Subject: [PATCH 67/78] =?UTF-8?q?##=20=E5=8E=BB=E6=8E=89=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E7=9A=84=E8=BF=94=E5=9B=9E=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/ApiMemberStructureController.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java index 11a16bb2..e820ad5a 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/structure/controller/api/ApiMemberStructureController.java @@ -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); From 3c4fb1f4065fbb27060a67f3d3e12abc5f67d8b5 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 23 Sep 2025 14:32:01 +0800 Subject: [PATCH 68/78] =?UTF-8?q?##=20=E5=8E=BB=E6=8E=89=E4=B8=8D=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E6=B4=BB=E5=8A=A8=E4=BB=A3=E7=A0=81=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/IActivityApprovalServiceApi.java | 31 --- .../activity/base/IActivityServiceApi.java | 10 - .../base/mapper/AcApprovalLogMapper.java | 3 - .../base/param/ConsumeRuleConfigParam.java | 8 - .../provider/ActivityApprovalProvider.java | 240 ------------------ .../provider/ActivityServiceProvider.java | 9 - .../base/service/IAcApprovalLogService.java | 13 - .../impl/AcApprovalLogServiceImpl.java | 14 - .../activity/base/vo/ConsumeRuleConfigVo.java | 8 - .../mapper/AcConsumeRuleConfigMapper.java | 8 +- .../mapper/AcMemberConsumeRuleMapper.java | 6 +- .../service/IAcConsumeRuleConfigService.java | 8 +- .../service/IAcMemberConsumeRuleService.java | 42 +-- .../impl/AcConsumeRuleConfigServiceImpl.java | 3 - .../impl/AcMemberConsumeRuleServiceImpl.java | 131 ++-------- .../mapper/AcDrawGiftRuleConfigMapper.java | 8 +- .../draw/mapper/AcDrawRewardNumMapper.java | 13 +- .../service/IAcDrawGiftRuleConfigService.java | 8 +- .../draw/service/IAcDrawRewardNumService.java | 77 +----- .../impl/AcDrawGiftRuleConfigServiceImpl.java | 50 +--- .../impl/AcDrawRewardNumServiceImpl.java | 98 +------ .../controller/api/ApiPickController.java | 6 +- .../activity/pick/mapper/AcPickMapper.java | 6 +- .../activity/pick/service/IAcPickService.java | 22 -- .../pick/service/impl/AcPickServiceImpl.java | 227 ----------------- .../mapper/AcRepurSharRuleConfigMapper.java | 11 - .../recommend/param/AcRecommendParam.java | 6 - .../IAcRepurCouponsRuleConfigService.java | 6 - .../IAcRepurSharRuleConfigService.java | 15 -- .../AcRepurCouponsRuleConfigServiceImpl.java | 44 +--- .../AcRepurSharRuleConfigServiceImpl.java | 9 - .../wares/mapper/AcWaresRuleConfigMapper.java | 8 +- .../service/IAcWaresRuleConfigService.java | 15 +- .../impl/AcWaresRuleConfigServiceImpl.java | 54 +--- .../consume/AcConsumeRuleConfigMapper.xml | 1 - .../recommend/AcRepurSharRuleConfigMapper.xml | 12 - .../manage/SysApprovalBusinessController.java | 14 - .../sys/service/impl/ApprovalServiceImpl.java | 7 - .../hzs/common/core/enums/EApprovalType.java | 5 - .../domain/activity/base/AcApprovalLog.java | 3 - .../activity/consume/AcConsumeRuleConfig.java | 5 - .../consume/AcConsumeShieldConfig.java | 5 - .../consume/ext/AcConsumeRuleConfigExt.java | 7 +- .../activity/draw/AcDrawGiftRuleConfig.java | 5 - .../domain/activity/draw/AcDrawRewardNum.java | 5 - .../activity/draw/ext/AcDrawRewardNumExt.java | 7 +- .../activity/wares/AcWaresRuleConfig.java | 5 - .../wares/ext/AcWaresRuleConfigExt.java | 7 +- 48 files changed, 63 insertions(+), 1242 deletions(-) delete mode 100644 bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityApprovalServiceApi.java delete mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityApprovalProvider.java diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityApprovalServiceApi.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityApprovalServiceApi.java deleted file mode 100644 index ace910ba..00000000 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityApprovalServiceApi.java +++ /dev/null @@ -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 approvalCallback(ApprovalBusinessResultDTO approvalBusinessResultDTO); - - - /** - * 活动服务信息签呈查询 - * - * @param eApprovalBusiness 业务类型 - * @param businessCode 业务单号 - * @param pkCountry 所属国家 - * @return - */ - R queryApprovalData(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry); - -} diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java index 3eaec2bb..be207177 100644 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java +++ b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java @@ -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; @@ -54,15 +53,6 @@ public interface IActivityServiceApi { */ R> queryAcRepurchaseCouponsRule(Date settleDate); - /** - * 查询复购券均分收益 - * - * @param startDate - * @param endDate - * @return - */ - R> queryRepurSharRuleConfig(Date startDate, Date endDate); - /** * 调用调用直推升级接口 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcApprovalLogMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcApprovalLogMapper.java index c5d20fe8..d630ac89 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcApprovalLogMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcApprovalLogMapper.java @@ -5,9 +5,6 @@ import com.hzs.common.domain.activity.base.AcApprovalLog; /** * 活动审批日志 Mapper 接口 - * - * @author hzs - * @since 2023-04-22 */ public interface AcApprovalLogMapper extends BaseMapper { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/param/ConsumeRuleConfigParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/param/ConsumeRuleConfigParam.java index 5f7bc2bc..ca5d025b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/param/ConsumeRuleConfigParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/param/ConsumeRuleConfigParam.java @@ -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 { /** 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 deleted file mode 100644 index 069ecaeb..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityApprovalProvider.java +++ /dev/null @@ -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 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 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 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; - } - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java index ed1104cb..eb66d5f6 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java @@ -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; @@ -32,8 +30,6 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Autowired private IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService; @Autowired - private IAcRepurSharRuleConfigService acRepurSharRuleConfigService; - @Autowired private IActivityService iActivityService; @Override @@ -82,11 +78,6 @@ public class ActivityServiceProvider implements IActivityServiceApi { } } - @Override - public R> queryRepurSharRuleConfig(Date startDate, Date endDate) { - return R.ok(acRepurSharRuleConfigService.queryRepurSharRuleConfig(startDate, endDate)); - } - @Override public R invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO) { try { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcApprovalLogService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcApprovalLogService.java index bc1a86de..ccd6bed4 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcApprovalLogService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcApprovalLogService.java @@ -9,9 +9,6 @@ import java.util.List; /** * 活动审批日志 服务类 - * - * @author hzs - * @since 2023-04-22 */ public interface IAcApprovalLogService extends IService { @@ -25,16 +22,6 @@ public interface IAcApprovalLogService extends IService { */ AcApprovalLog queryApprovalLog(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry); - /** - * 查询审批记录列表 - * - * @param eApprovalBusiness 业务类型 - * @param businessCode 业务单号 - * @param pkCountry 所属国家 - * @return - */ - List queryApprovalLogList(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry); - /** * 更新审核修改记录 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/AcApprovalLogServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/AcApprovalLogServiceImpl.java index 27bc7985..6e231791 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/AcApprovalLogServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/AcApprovalLogServiceImpl.java @@ -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 implements IAcApprovalLogService { @@ -32,16 +28,6 @@ public class AcApprovalLogServiceImpl extends ServiceImpl queryApprovalLogList(EApprovalBusiness eApprovalBusiness, String businessCode, Integer pkCountry) { - // 查询修改记录 - LambdaQueryWrapper 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) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/vo/ConsumeRuleConfigVo.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/vo/ConsumeRuleConfigVo.java index 4ce0bcc4..18127fb7 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/vo/ConsumeRuleConfigVo.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/vo/ConsumeRuleConfigVo.java @@ -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 { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/mapper/AcConsumeRuleConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/mapper/AcConsumeRuleConfigMapper.java index 20db9275..3dc8def3 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/mapper/AcConsumeRuleConfigMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/mapper/AcConsumeRuleConfigMapper.java @@ -9,17 +9,11 @@ import java.util.List; /** * 消费买赠规则配置表 Mapper 接口 - * - * @author hzs - * @since 2023-04-20 */ public interface AcConsumeRuleConfigMapper extends BaseMapper { /* - * @description: 查询买赠活动赠品配置根据条件 - * @author: sui q - * @date: 2023/4/25 19:26 - * @param: null null + * 查询买赠活动赠品配置根据条件 **/ List queryConsumeGiftConfigByCondition(GiftConfigParam giftConfigParam); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/mapper/AcMemberConsumeRuleMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/mapper/AcMemberConsumeRuleMapper.java index 2032d803..3e876345 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/mapper/AcMemberConsumeRuleMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/mapper/AcMemberConsumeRuleMapper.java @@ -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 { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/IAcConsumeRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/IAcConsumeRuleConfigService.java index 28cf19c9..c5f87cd2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/IAcConsumeRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/IAcConsumeRuleConfigService.java @@ -11,17 +11,11 @@ import java.util.List; /** * 消费买赠规则配置表 服务类 - * - * @author hzs - * @since 2023-04-20 */ public interface IAcConsumeRuleConfigService extends IService { /* - * @description: 查询业绩赠送活动赠品配置根据条件 - * @author: sui q - * @date: 2023/4/25 19:26 - * @param: null null + * 查询业绩赠送活动赠品配置根据条件 **/ List queryConsumeGiftConfigByCondition(GiftConfigParam giftConfigParam); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/IAcMemberConsumeRuleService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/IAcMemberConsumeRuleService.java index 3fad7c38..2dddf6bd 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/IAcMemberConsumeRuleService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/IAcMemberConsumeRuleService.java @@ -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 { - /** - * @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 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); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/impl/AcConsumeRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/impl/AcConsumeRuleConfigServiceImpl.java index fb28a6de..56f9ec71 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/impl/AcConsumeRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/impl/AcConsumeRuleConfigServiceImpl.java @@ -43,9 +43,6 @@ import java.util.List; /** * 消费买赠规则配置表 服务实现类 - * - * @author hzs - * @since 2023-04-20 */ @Service @Slf4j diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/impl/AcMemberConsumeRuleServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/impl/AcMemberConsumeRuleServiceImpl.java index e62b66ef..2855afc2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/impl/AcMemberConsumeRuleServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/consume/service/impl/AcMemberConsumeRuleServiceImpl.java @@ -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 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 delGif = new LambdaQueryWrapper<>(); delGif.eq(AcGiftConfig::getPkRuleId, mcrex.getPkId()); @@ -285,11 +212,7 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl mcrList = mcrVo.getMcrList(); @@ -297,36 +220,32 @@ public class AcMemberConsumeRuleServiceImpl extends ServiceImpl giftConfigExList = mcr.getWgcList(); - List giftConfigList = new ArrayList<>(); - for (AcGiftConfigExt giftConfigExt : giftConfigExList) { - giftConfigExt.setPkRuleId(mcr.getPkId()); - giftConfigExt.setActType(baseConfig.getActType()); - giftConfigExt.setPkCreator(baseConfig.getPkCreator()); - giftConfigExt.setPkCountry(baseConfig.getPkCountry()); - AcGiftConfig acGiftConfig = BeanUtil.copyProperties(giftConfigExt, AcGiftConfig.class); - giftConfigList.add(acGiftConfig); - } - waresGiftConfigService.saveBatch(giftConfigList); + /** + * 活动赠品配置 + */ + List giftConfigExList = mcr.getWgcList(); + List giftConfigList = new ArrayList<>(); + for (AcGiftConfigExt giftConfigExt : giftConfigExList) { + giftConfigExt.setPkRuleId(mcr.getPkId()); + giftConfigExt.setActType(baseConfig.getActType()); + giftConfigExt.setPkCreator(baseConfig.getPkCreator()); + giftConfigExt.setPkCountry(baseConfig.getPkCountry()); + AcGiftConfig acGiftConfig = BeanUtil.copyProperties(giftConfigExt, AcGiftConfig.class); + giftConfigList.add(acGiftConfig); + } + waresGiftConfigService.saveBatch(giftConfigList); } } /** - * @description: 删除会员消费活动 - * @author: zhang jing - * @date: 2024/12/2 17:08 - * @param: [pkId] - * @return: void + * 删除会员消费活动 **/ @Override @Transactional(rollbackFor = Exception.class) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/mapper/AcDrawGiftRuleConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/mapper/AcDrawGiftRuleConfigMapper.java index 8b91eb6b..4af35bdc 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/mapper/AcDrawGiftRuleConfigMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/mapper/AcDrawGiftRuleConfigMapper.java @@ -9,17 +9,11 @@ import java.util.List; /** * 活动赠品配置 Mapper 接口 - * - * @author hzs - * @since 2023-04-21 */ public interface AcDrawGiftRuleConfigMapper extends BaseMapper { /* - * @description: 查询活动的赠品配置 - * @author: sui q - * @date: 2023/4/21 19:53 - * @param: null null + * 查询活动的赠品配置 **/ List queryAcDrawGiftConfig(DrawGiftConfigParam drawGiftConfigParam); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/mapper/AcDrawRewardNumMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/mapper/AcDrawRewardNumMapper.java index 5df0f44e..94175542 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/mapper/AcDrawRewardNumMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/mapper/AcDrawRewardNumMapper.java @@ -10,25 +10,16 @@ import java.util.List; /** * 会员可抽奖次数记录 Mapper 接口 - * - * @author hzs - * @since 2023-04-21 */ public interface AcDrawRewardNumMapper extends BaseMapper { /* - * @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 queryDrawRewardExtNumByCondition(AcDrawRewardNumParam acDrawRewardNumParam); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/IAcDrawGiftRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/IAcDrawGiftRuleConfigService.java index 94a9b3bc..2dac6a6e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/IAcDrawGiftRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/IAcDrawGiftRuleConfigService.java @@ -12,17 +12,11 @@ import java.util.List; /** * 活动赠品配置 服务类 - * - * @author hzs - * @since 2023-04-21 */ public interface IAcDrawGiftRuleConfigService extends IService { /* - * @description: 查询活动的赠品配置 - * @author: sui q - * @date: 2023/4/21 19:53 - * @param: null null + * 查询活动的赠品配置 **/ List queryAcDrawGiftConfig(DrawGiftConfigParam drawGiftConfigParam); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/IAcDrawRewardNumService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/IAcDrawRewardNumService.java index 8a4ac799..36348fb7 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/IAcDrawRewardNumService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/IAcDrawRewardNumService.java @@ -15,33 +15,21 @@ import java.util.List; /** * 会员可抽奖次数记录 服务类 - * - * @author hzs - * @since 2023-04-21 */ public interface IAcDrawRewardNumService extends IService { /* - * @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 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 { * 查询会员账户状态,账户信息 * * @param cuMemberAccount 会员账户条件信息 - * @return: List - * @Author: sui q - * @Date: 2022/9/5 11:57 */ List 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 { */ String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO); - /** - * 修改已购买次数 审批驳回 - * - * @param approvalBusinessResultDTO - * @return - */ - String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO); - /** * 充值未购买次数 (审批发起) * @@ -151,17 +107,4 @@ public interface IAcDrawRewardNumService extends IService { */ void unpurchasedTimes(PurchasedTimesParam purchasedTimesParam); - /** - * 充值已购买次数 - * - * @param approvalBusinessResultDTO - */ - void rechargePurchasedTimes(ApprovalBusinessResultDTO approvalBusinessResultDTO); - - /** - * 充值未购买次数 - * - * @param approvalBusinessResultDTO - */ - void unRechargePurchasedTimes(ApprovalBusinessResultDTO approvalBusinessResultDTO); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/impl/AcDrawGiftRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/impl/AcDrawGiftRuleConfigServiceImpl.java index 9a834a49..254d919e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/impl/AcDrawGiftRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/impl/AcDrawGiftRuleConfigServiceImpl.java @@ -44,9 +44,6 @@ import java.util.List; /** * 活动赠品配置 服务实现类 - * - * @author hzs - * @since 2023-04-21 */ @Service @Slf4j @@ -186,7 +183,7 @@ public class AcDrawGiftRuleConfigServiceImpl extends ServiceImpl 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(); - } - /** * 保存活动审批日志信息 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/impl/AcDrawRewardNumServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/impl/AcDrawRewardNumServiceImpl.java index 1d250921..a6e60881 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/impl/AcDrawRewardNumServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/draw/service/impl/AcDrawRewardNumServiceImpl.java @@ -51,9 +51,6 @@ import java.util.concurrent.TimeUnit; /** * 会员可抽奖次数记录 服务实现类 - * - * @author hzs - * @since 2023-04-21 */ @Service @Slf4j @@ -241,7 +238,7 @@ public class AcDrawRewardNumServiceImpl extends ServiceImpl 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; - } - /** * 修改未购买次数 (审批发起) * @@ -388,7 +364,7 @@ public class AcDrawRewardNumServiceImpl extends ServiceImpl memberDto = memberServiceApi.getMember(memberCode); - Long pkMember = memberDto.getData().getPkId(); - - LambdaQueryWrapper 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 memberDto = memberServiceApi.getMember(memberCode); - Long pkMember = memberDto.getData().getPkId(); - - LambdaQueryWrapper 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); - } - } - /** * 修改已购买总次数 (已购买次数) * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/api/ApiPickController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/api/ApiPickController.java index 921746e6..2ec06fff 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/api/ApiPickController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/controller/api/ApiPickController.java @@ -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 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMapper.java index ba3405bb..c9a50e67 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/pick/mapper/AcPickMapper.java @@ -95,11 +95,7 @@ public interface AcPickMapper extends BaseMapper { 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); 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 e6ea8930..bfadf279 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 @@ -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 { **/ boolean delPick(AcPickSaveParam anpParam); - /** - * 提货变动审批通过 - * - * @param resultDTO - * @return - */ - String pickApprovalAgree(ApprovalBusinessResultDTO resultDTO); - - /** - * @description: 审核删除充值提货卡 - **/ - String delpickApprovalAgree(ApprovalBusinessResultDTO resultDTO); - - /** - * 提货变动审批驳回 - * - * @param resultDTO - * @return - */ - String pickApprovalReject(ApprovalBusinessResultDTO resultDTO); - /** * 会员提货列表 * 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 ea029301..557f991b 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,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 implements IAcPickService { - @Autowired - private IAcApprovalLogService iAcApprovalLogService; @Autowired private IAcPickLogService iAcPickLogService; @Autowired @@ -474,227 +468,6 @@ public class AcPickServiceImpl extends ServiceImpl 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 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(); - // 提货ID - Long pickId = null; - // 提货类型 - Integer pickType = null != detailParam.getPickType() ? detailParam.getPickType() : EPickType.PICK_PRODUCT.getValue(); - - if (null == detailParam.getPkId()) { - LambdaQueryWrapper 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 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 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 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 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 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 pickList(Long pkMember, Integer pkCountry) { return baseMapper.pickList(pkMember, pkCountry); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRepurSharRuleConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRepurSharRuleConfigMapper.java index 9f0dbec0..7949a574 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRepurSharRuleConfigMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRepurSharRuleConfigMapper.java @@ -10,9 +10,6 @@ import java.util.List; /** * 复购均分配置 Mapper 接口 - * - * @author hzs - * @since 2023-05-04 */ public interface AcRepurSharRuleConfigMapper extends BaseMapper { @@ -27,12 +24,4 @@ public interface AcRepurSharRuleConfigMapper extends BaseMapper orderTypeList, @Param("activityId") Long activityId, @Param("pkModifyId") Long pkModifyId); - /* - * @description: 查询复购券均分收益 - * @author: sui q - * @date: 2023/5/5 16:29 - * @param: null null - **/ - List queryRepurSharRuleConfig(@Param("startDate") Date startDate, @Param("endDate") Date endDate); - } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcRecommendParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcRecommendParam.java index 4ce25e75..456fd04f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcRecommendParam.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcRecommendParam.java @@ -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) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java index 3d9822d2..f453a781 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java @@ -53,12 +53,6 @@ public interface IAcRepurCouponsRuleConfigService extends IService { @@ -33,12 +26,4 @@ public interface IAcRepurSharRuleConfigService extends IService queryRepurSharRuleConfig(Date startDate, Date endDate); - } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java index c35aada0..ee483171 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java @@ -22,7 +22,6 @@ import com.hzs.activity.recommend.vo.*; import com.hzs.activity.wares.service.IAcGiftConfigService; 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.utils.CommonUtil; import com.hzs.common.core.utils.DateUtils; @@ -36,9 +35,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; @@ -81,8 +78,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl recommendUpgradeList = recommendParam.getRecommendUpgradeList(); @@ -204,23 +199,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl submit = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser()); - if (!submit.isSuccess()) { - throw new RuntimeException("直推赠送提交审批失败!"); - } - return submit.isSuccess(); - } - /** * 保存活动审批日志信息 * diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurSharRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurSharRuleConfigServiceImpl.java index b57380a3..f3ea53fb 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurSharRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurSharRuleConfigServiceImpl.java @@ -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 implements IAcRepurSharRuleConfigService { @@ -39,8 +34,4 @@ public class AcRepurSharRuleConfigServiceImpl extends ServiceImpl queryRepurSharRuleConfig(Date startDate, Date endDate) { - return baseMapper.queryRepurSharRuleConfig(startDate, endDate); - } } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/mapper/AcWaresRuleConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/mapper/AcWaresRuleConfigMapper.java index 6fec5715..d22fe456 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/mapper/AcWaresRuleConfigMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/mapper/AcWaresRuleConfigMapper.java @@ -10,17 +10,11 @@ import java.util.List; /** * 商品买赠规则配置表 Mapper 接口 - * - * @author hzs - * @since 2023-04-20 */ public interface AcWaresRuleConfigMapper extends BaseMapper { /* - * @description: 查询买赠活动赠品配置根据条件 - * @author: sui q - * @date: 2023/4/25 19:26 - * @param: null null + * 查询买赠活动赠品配置根据条件 **/ List queryWaresGiftConfigByCondition(@Param("giftConfigParam") GiftConfigParam giftConfigParam); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/service/IAcWaresRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/service/IAcWaresRuleConfigService.java index 12833fe7..9fe828ca 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/service/IAcWaresRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/service/IAcWaresRuleConfigService.java @@ -12,17 +12,11 @@ import java.util.List; /** * 商品买赠规则配置表 服务类 - * - * @author hzs - * @since 2023-04-20 */ public interface IAcWaresRuleConfigService extends IService { /* - * @description: 查询买赠活动赠品配置根据条件 - * @author: sui q - * @date: 2023/4/25 19:26 - * @param: null null + * 查询买赠活动赠品配置根据条件 **/ List queryWaresGiftConfigByCondition(GiftConfigParam giftConfigParam); @@ -64,11 +58,4 @@ public interface IAcWaresRuleConfigService extends IService { */ String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO); - /** - * 商品赠送 审核规则驳回 - * - * @param approvalBusinessResultDTO - * @return - */ - String approvalReject(ApprovalBusinessResultDTO approvalBusinessResultDTO); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/service/impl/AcWaresRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/service/impl/AcWaresRuleConfigServiceImpl.java index 0f75c255..9fc0f34b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/service/impl/AcWaresRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/wares/service/impl/AcWaresRuleConfigServiceImpl.java @@ -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 queryWaresGiftConfigByCondition(GiftConfigParam giftConfigParam) { @@ -113,7 +103,7 @@ public class AcWaresRuleConfigServiceImpl extends ServiceImpl submit = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser()); - if (!submit.isSuccess()) { - throw new RuntimeException("旅游活动参数提交审批失败!"); - } - return submit.isSuccess(); - } - /** * 保存活动审批日志信息 * diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/consume/AcConsumeRuleConfigMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/consume/AcConsumeRuleConfigMapper.xml index edb53da2..a3d659c0 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/consume/AcConsumeRuleConfigMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/consume/AcConsumeRuleConfigMapper.xml @@ -78,7 +78,6 @@ order by aw.order_amount desc - diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRepurSharRuleConfigMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRepurSharRuleConfigMapper.xml index e86b6c03..2c6f6b20 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRepurSharRuleConfigMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRepurSharRuleConfigMapper.xml @@ -34,16 +34,4 @@ ) - diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalBusinessController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalBusinessController.java index fa05b7eb..9db30b88 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalBusinessController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/controller/manage/SysApprovalBusinessController.java @@ -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); diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/impl/ApprovalServiceImpl.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/impl/ApprovalServiceImpl.java index ddce5b59..d94b9b7c 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/impl/ApprovalServiceImpl.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/sys/service/impl/ApprovalServiceImpl.java @@ -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; diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EApprovalType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EApprovalType.java index 80a982dd..41ff85b8 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EApprovalType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EApprovalType.java @@ -40,11 +40,6 @@ public enum EApprovalType { */ NOTICE_BUSINESS(5, "公告站内信"), - /** - * 活动相关处理 - */ - ACTIVITY_BUSINESS(7, "活动相关处理"), - ; /** diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/base/AcApprovalLog.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/base/AcApprovalLog.java index 139901b6..f89d50fb 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/base/AcApprovalLog.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/base/AcApprovalLog.java @@ -10,9 +10,6 @@ import lombok.experimental.Accessors; /** * 活动审批日志 - * - * @author hzs - * @since 2023-04-22 */ @Data @Builder diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/AcConsumeRuleConfig.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/AcConsumeRuleConfig.java index ecdb651a..a7371cd7 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/AcConsumeRuleConfig.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/AcConsumeRuleConfig.java @@ -12,12 +12,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 消费买赠规则配置表 - *

- * - * @author hzs - * @since 2023-04-20 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/AcConsumeShieldConfig.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/AcConsumeShieldConfig.java index 86f4655e..78ecf538 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/AcConsumeShieldConfig.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/AcConsumeShieldConfig.java @@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 消费赠送屏蔽配置表 - *

- * - * @author hzs - * @since 2023-04-21 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/ext/AcConsumeRuleConfigExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/ext/AcConsumeRuleConfigExt.java index bbf8c6f4..4a0f41af 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/ext/AcConsumeRuleConfigExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/consume/ext/AcConsumeRuleConfigExt.java @@ -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 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/AcDrawGiftRuleConfig.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/AcDrawGiftRuleConfig.java index 80720cec..587039e4 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/AcDrawGiftRuleConfig.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/AcDrawGiftRuleConfig.java @@ -9,12 +9,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 抽奖活动赠品配置 - *

- * - * @author hzs - * @since 2023-04-21 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/AcDrawRewardNum.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/AcDrawRewardNum.java index 51d22070..a718ac02 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/AcDrawRewardNum.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/AcDrawRewardNum.java @@ -9,12 +9,7 @@ import lombok.*; import lombok.experimental.Accessors; /** - *

* 会员可抽奖次数记录 - *

- * - * @author hzs - * @since 2023-04-21 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/ext/AcDrawRewardNumExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/ext/AcDrawRewardNumExt.java index b829656b..675d5191 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/ext/AcDrawRewardNumExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/draw/ext/AcDrawRewardNumExt.java @@ -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 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/wares/AcWaresRuleConfig.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/wares/AcWaresRuleConfig.java index 72ba3d1b..919a9cb6 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/wares/AcWaresRuleConfig.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/wares/AcWaresRuleConfig.java @@ -10,12 +10,7 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; /** - *

* 商品买赠规则配置表 - *

- * - * @author hzs - * @since 2023-04-20 */ @Data @EqualsAndHashCode(callSuper = true) diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/wares/ext/AcWaresRuleConfigExt.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/wares/ext/AcWaresRuleConfigExt.java index 57f0a8df..7764a0bf 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/wares/ext/AcWaresRuleConfigExt.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/wares/ext/AcWaresRuleConfigExt.java @@ -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 From 7d174ffed53c97a634c298c8bb584f0143b6d054 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 23 Sep 2025 15:11:10 +0800 Subject: [PATCH 69/78] =?UTF-8?q?##=20=E6=96=B0=E5=BB=BA=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/manage/ActivityController.java | 11 ++------- .../base/service/IAcBaseConfigService.java | 18 +++------------ .../service/impl/AcBaseConfigServiceImpl.java | 3 --- .../activity/recommend/vo/AcRecommendVO.java | 6 ----- .../com/hzs/common/core/enums/EActType.java | 23 ++++++++++--------- .../com/hzs/common/core/enums/EPickType.java | 15 ++++-------- .../domain/activity/base/AcBaseConfig.java | 2 +- .../recommend/AcRecomUpgradeRecord.java | 6 ++--- 8 files changed, 26 insertions(+), 58 deletions(-) diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/controller/manage/ActivityController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/controller/manage/ActivityController.java index 1c35852e..81c2ef5e 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/controller/manage/ActivityController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/controller/manage/ActivityController.java @@ -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 resultList = new ArrayList<>(); - List list = baseConfigService.list(queryWrapper); + List list = iAcBaseConfigService.list(queryWrapper); for (AcBaseConfig acBaseConfig : list) { BaseConfigVo baseConfigVo = BeanUtil.copyProperties(acBaseConfig, BaseConfigVo.class); // 判断活动状态 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java index 9867db38..cb872256 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java @@ -9,9 +9,6 @@ import java.util.List; /** * 活动基本配置表 服务类 - * - * @author hzs - * @since 2023-04-20 */ public interface IAcBaseConfigService extends IService { @@ -24,26 +21,17 @@ public interface IAcBaseConfigService extends IService { List selectBaseConfigByType(AcBaseConfigVO baseConfigVO); /** - * @description: 会员前端查询活动列表 - * @author: sui q - * @date: 2023/4/27 9:20 - * @param: null null + * 会员前端查询活动列表 **/ List 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); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/AcBaseConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/AcBaseConfigServiceImpl.java index 00489cca..395403c1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/AcBaseConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/AcBaseConfigServiceImpl.java @@ -17,9 +17,6 @@ import java.util.List; /** * 活动基本配置表 服务实现类 - * - * @author hzs - * @since 2023-04-20 */ @Service public class AcBaseConfigServiceImpl extends ServiceImpl implements IAcBaseConfigService { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcRecommendVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcRecommendVO.java index e5e2d49b..fc3ab62d 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcRecommendVO.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcRecommendVO.java @@ -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 diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EActType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EActType.java index e31e06f1..8f3af65b 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EActType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EActType.java @@ -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; + } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPickType.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPickType.java index e45a1026..4c79f653 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPickType.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EPickType.java @@ -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; /** * 根据枚举值查询枚举 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/base/AcBaseConfig.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/base/AcBaseConfig.java index 63269906..e112fa32 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/base/AcBaseConfig.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/base/AcBaseConfig.java @@ -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") diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java index 25228cc5..a6161ff0 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java @@ -54,19 +54,19 @@ public class AcRecomUpgradeRecord extends BaseEntity { private Integer pkSettleGrade; /** - * 推荐等级 + * 升级等级 */ @TableField("PK_RECOMMEND_GRADE") private Integer pkRecommendGrade; /** - * 订单ID + * 订单ID -- 已不用 */ @TableField("PK_ORDER_ID") private Long pkOrderId; /** - * 推荐等级 + * 升级状态(0:未升级,1:已升级) -- 已不用 */ @TableField("UPGRADE_STATUS") private Integer upGradeStatus; From 9dcd553d07b852f9c37a3da259825c898906ddac Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 23 Sep 2025 16:35:08 +0800 Subject: [PATCH 70/78] =?UTF-8?q?##=20=E6=8E=A83=E5=8D=87=E4=B8=80?= =?UTF-8?q?=E7=BA=A7=E6=B4=BB=E5=8A=A8=E6=AD=A3=E5=90=91=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/IMemberServiceApi.java | 21 +- .../activity/base/IActivityServiceApi.java | 2 +- .../base/provider/MemberServiceProvider.java | 24 +- .../service/ICuMemberBusinessService.java | 2 +- .../impl/CuMemberBusinessServiceImpl.java | 20 +- .../base/mapper/AcBaseConfigMapper.java | 1 - .../provider/ActivityServiceProvider.java | 16 +- .../base/service/IAcBaseConfigService.java | 1 - .../service/impl/ActivityServiceImpl.java | 44 +- .../pick/service/impl/AcPickServiceImpl.java | 4 +- .../recommend/dto/AcRecommendUpgrade.java | 7 - .../mapper/AcRecomUpgradeRecordMapper.java | 15 +- .../AcRecomUpgradeRuleConfigMapper.java | 8 +- .../service/IAcRecomUpgradeRecordService.java | 11 +- .../IAcRecomUpgradeRuleConfigService.java | 9 +- .../IAcRepurCouponsRuleConfigService.java | 4 +- .../impl/AcRecomUpgradeRecordServiceImpl.java | 9 +- .../AcRecomUpgradeRuleConfigServiceImpl.java | 7 +- .../AcRepurCouponsRuleConfigServiceImpl.java | 379 +++++++++--------- .../service/impl/SaOrderServiceImpl.java | 35 +- .../activity/base/AcBaseConfigMapper.xml | 4 +- .../recommend/AcRecomUpgradeRecordMapper.xml | 20 + .../AcRecomUpgradeRuleConfigMapper.xml | 17 +- .../CuMemberTransferWhiteController.java | 2 +- .../core/enums/EOrderOperateStatus.java | 7 - .../recommend/AcRecomUpgradeRecord.java | 6 + .../mqcall/listener/ActivityListener.java | 8 +- 27 files changed, 318 insertions(+), 365 deletions(-) diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java index 9f873983..33fa4a2b 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java @@ -154,19 +154,6 @@ public interface IMemberServiceApi { */ R getMember(Long pkMember); - /** - * 获取会员缓存 - * - * @param memberCode 会员编号 - * @return CuMember - */ - R queryMember(String memberCode); - - /** - * 查询会员 - */ - R queryMember(Long pkMember); - /** * 保存新会员信息,待支付订单 * @@ -302,9 +289,8 @@ public interface IMemberServiceApi { * @param cuMember 用户信息 * @param saOrder 订单信息 * @param pkOldLevel 原等级 - * @return R */ - R updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); + R updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); /** * 校验是否血缘关系(返回true则有血缘关系) @@ -322,11 +308,6 @@ public interface IMemberServiceApi { */ R checkMemberByParentList(List topCodeList, Long userId); - /** - * 获取奖衔的翻译KEY值 - **/ - Integer getAwardsTranslateValue(Integer pkCountry, Integer pkId); - /** * 查询全部 * diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java index be207177..ddfa9451 100644 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java +++ b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/base/IActivityServiceApi.java @@ -10,7 +10,7 @@ import java.util.Date; import java.util.List; /** - * 所有活动的生效,获得赠品入口 + * 所有活动的生效 */ public interface IActivityServiceApi { diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java index 708ba28e..39efa409 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java @@ -208,16 +208,6 @@ public class MemberServiceProvider implements IMemberServiceApi { return R.ok(iCuMemberService.getMember(pkMember)); } - @Override - public R queryMember(String memberCode) { - return R.ok(iCuMemberService.queryMember(memberCode)); - } - - @Override - public R queryMember(Long pkMember) { - return R.ok(iCuMemberService.queryMember(pkMember)); - } - @Override public R saveMember(CuMember cuMember) { try { @@ -352,8 +342,13 @@ public class MemberServiceProvider implements IMemberServiceApi { } @Override - public R 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> findAll() { return R.ok(iCuMemberService.findAll()); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java index 23fe3375..165cc5a3 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java @@ -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); /** * 查询会员的安置位置 diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index 2001f4de..1be5568b 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -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 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcBaseConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcBaseConfigMapper.java index 9ef8390b..83d223ab 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcBaseConfigMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/mapper/AcBaseConfigMapper.java @@ -17,7 +17,6 @@ public interface AcBaseConfigMapper extends BaseMapper { * 根据活动类型查询基本配置 * * @param baseConfigVO 基本活动配置 - * @return List */ List selectBaseConfigByType(AcBaseConfigVO baseConfigVO); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java index eb66d5f6..bda2b989 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java @@ -19,22 +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; + private IAcRepurCouponsRuleConfigService iAcRepurCouponsRuleConfigService; @Autowired private IActivityService iActivityService; @Override public R queryDrawRewardPayNumMoney(Long pkMember, String orderCode) { - BigDecimal payMoney = acDrawRewardNumService.queryDrawRewardPayNumMoney(pkMember, orderCode); + BigDecimal payMoney = iAcDrawRewardNumService.queryDrawRewardPayNumMoney(pkMember, orderCode); if (payMoney == null) { return R.fail(); } @@ -53,7 +53,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R 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(); } @@ -62,7 +62,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R backGiveMemberDrawNum(SaOrderExt saOrderExt) { try { - return R.ok(acDrawRewardNumService.backGiveMemberDrawNum(saOrderExt)); + return R.ok(iAcDrawRewardNumService.backGiveMemberDrawNum(saOrderExt)); } catch (Exception e) { return R.fail(); } @@ -70,7 +70,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R> queryAcRepurchaseCouponsRule(Date settleDate) { - List acRepurCouponsRuleConfigList = acRepurCouponsRuleConfigService.queryAcRepurchaseCouponsRule(settleDate); + List acRepurCouponsRuleConfigList = iAcRepurCouponsRuleConfigService.queryAcRepurchaseCouponsRule(settleDate); if (acRepurCouponsRuleConfigList != null && acRepurCouponsRuleConfigList.size() > 0) { return R.ok(acRepurCouponsRuleConfigList); } else { @@ -81,7 +81,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R 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(); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java index cb872256..5b64eaa2 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/IAcBaseConfigService.java @@ -16,7 +16,6 @@ public interface IAcBaseConfigService extends IService { * 根据活动类型查询基本配置 * * @param baseConfigVO 基本活动配置 - * @return List */ List selectBaseConfigByType(AcBaseConfigVO baseConfigVO); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java index 011078e8..0da80568 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java @@ -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> item : memberConfigList.entrySet()) { if (item.getKey().equals(1)) { // 等级 - R> gradeDTO = gradeServiceApi.selectGradeAll(activityParam.getPkCountry()); + R> gradeDTO = iGradeServiceApi.selectGradeAll(activityParam.getPkCountry()); List 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> awardsDTO = awardsServiceApi.queryAwards(activityParam.getPkCountry()); + R> awardsDTO = iAwardsServiceApi.queryAwards(activityParam.getPkCountry()); List awardsList = awardsDTO.getData(); str.append("真实奖衔:"); for (AcGoalMemberConfig acGoalMemberConfig : item.getValue()) { @@ -632,7 +632,7 @@ public class ActivityServiceImpl implements IActivityService { */ @Override public String onLinePetition(AcRecommendParam recommendParam) { - log.info("旅游活动新增参数{}",JSONUtil.toJsonStr(recommendParam)); + log.info("旅游活动新增参数{}", JSONUtil.toJsonStr(recommendParam)); //业务单号 String code = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE.getValue()); EApprovalBusiness approvalBusiness = null; @@ -763,7 +763,7 @@ public class ActivityServiceImpl implements IActivityService { .signType(ESignType.getEnumByValue(recommendParam.getSignType())).userIdList(recommendParam.getUserIdList()) .fileList(recommendParam.getFileList()) .sendIdList(recommendParam.getSendIdList()).remark(recommendParam.getRemark()).build(); - R submit = approvalServiceApi.submit(approvalSubmitDTO, recommendParam.getLoginUser()); + R 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; 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 557f991b..52e366ee 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 @@ -183,7 +183,7 @@ public class AcPickServiceImpl extends ServiceImpl impleme // approvalLogList.add(acApprovalLog); // 会员信息 - CuMember cuMember = iMemberServiceApi.queryMember(detailParam.getMemberCode()).getData(); + CuMember cuMember = iMemberServiceApi.getMember(detailParam.getMemberCode()).getData(); // 提货ID Long pickId = null; // 提货类型 @@ -357,7 +357,7 @@ public class AcPickServiceImpl extends ServiceImpl 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()) { diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java index 4179cd33..384bf615 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java @@ -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 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java index 1f9d953c..35b630d1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java @@ -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 { @@ -30,4 +30,13 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper 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); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRuleConfigMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRuleConfigMapper.java index 292ccd7c..615b6f3f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRuleConfigMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRuleConfigMapper.java @@ -8,18 +8,12 @@ import java.util.List; /** * 直推-推荐升级 Mapper 接口 - * - * @author hzs - * @since 2023-04-22 */ public interface AcRecomUpgradeRuleConfigMapper extends BaseMapper { /** * 查询配置规则 - * - * @param recommendUpgradeVO 推荐升级参数 - * @return List */ - List selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO); + List listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java index 5d8f9631..1c4ad2dc 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java @@ -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 { @@ -31,7 +30,6 @@ public interface IAcRecomUpgradeRecordService extends IService pkIds, Long pkModified, Integer upGradeStatus); + /** + * 判断会员是否达标并且查询对应订单 + */ + SaOrder getRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime); + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRuleConfigService.java index a1231268..c5572305 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRuleConfigService.java @@ -8,11 +8,9 @@ import java.util.List; /** * 直推-推荐升级 服务类 - * - * @author hzs - * @since 2023-04-22 */ public interface IAcRecomUpgradeRuleConfigService extends IService { + /** * 根据活动ID查询直推升级 * @@ -23,11 +21,8 @@ public interface IAcRecomUpgradeRuleConfigService extends IService */ - List selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO); + List listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO); /** * 根据活动配置主键删除推荐升级配置 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java index f453a781..dd5bca66 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java @@ -56,9 +56,9 @@ public interface IAcRepurCouponsRuleConfigService extends IService implements IAcRecomUpgradeRecordService { @@ -50,4 +48,9 @@ public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl implements IAcRecomUpgradeRuleConfigService { @@ -30,8 +27,8 @@ public class AcRecomUpgradeRuleConfigServiceImpl extends ServiceImpl selectRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO) { - return baseMapper.selectRuleConfig(recommendUpgradeVO); + public List listRuleConfig(AcRecommendUpgradeVO recommendUpgradeVO) { + return baseMapper.listRuleConfig(recommendUpgradeVO); } @Override diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java index ee483171..97b43418 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java @@ -22,7 +22,9 @@ import com.hzs.activity.recommend.vo.*; import com.hzs.activity.wares.service.IAcGiftConfigService; 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; @@ -45,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; @@ -56,32 +59,33 @@ import java.util.stream.Collectors; public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl 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 - IMemberServiceApi memberServiceApi; + IMemberServiceApi iMemberServiceApi; @DubboReference - IProductServiceApi productServiceApi; + IProductServiceApi iProductServiceApi; @Autowired private RabbitTemplate rabbitTemplate; @@ -103,7 +107,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpllambdaUpdate() .eq(AcBaseAuthority::getPkBaseId, pkBaseId) @@ -245,7 +249,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl recommendUpgradeList = recommendParam.getRecommendUpgradeList(); if (CollUtil.isNotEmpty(recommendUpgradeList)) { - recomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId); + iAcRecomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId); } //删除复购均分 AcRecommendSharVO acRecommendSharVO = recommendParam.getAcRecommendSharVO(); @@ -403,7 +407,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl giftConfigs = saveRecommendUpgradeGift(recommendUpgradeVO, recomUpgradeRuleConfig.getPkId()); giftConfigService.saveBatch(giftConfigs); } @@ -470,7 +474,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl acGoalMemberConfigs = acGoalMemberConfigService.selectMemberConfig(activityId); BaseConfigVo baseConfigVo = BeanUtil.copyProperties(baseConfig, BaseConfigVo.class); @@ -485,7 +489,7 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl repurCouponsRuleConfigList = selectRuleConfigByActivityId(activityId); recommendVO.setRepurchaseCouponsShowList(conversionAcRepurchaseCouponsShowVO(repurCouponsRuleConfigList)); //查询直推升级规则 - List recomUpgradeRuleConfigList = recomUpgradeRuleConfigService.selectByActivityId(activityId); + List recomUpgradeRuleConfigList = iAcRecomUpgradeRuleConfigService.selectByActivityId(activityId); recommendVO.setRecommendUpgradeList(conversionRecommendUpgradeVO(recomUpgradeRuleConfigList, pkCountry)); //复购券均分 AcRepurSharRuleConfig repurSharRuleConfig = acRepurSharRuleConfigService.selectAcRepurSharRuleConfigByBaseId(activityId); @@ -577,27 +581,189 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl acBaseConfigs = baseConfigService.selectBaseConfigByType(baseConfigVO); + public Boolean invokeRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade) { + AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder() + .actType(EActType.RECOMMEND_UPGRADE.getValue()) + .pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry()) + .build(); + // 查询订单时内的直推活动 + List 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.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 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 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 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:不进行处理) * @@ -663,157 +829,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl 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 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 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 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 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 updateWrapper = new LambdaUpdateWrapper<>(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index fcd3cf0a..149addf1 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -459,7 +459,7 @@ public class SaOrderServiceImpl extends ServiceImpl 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 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 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 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 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 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 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) { diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/base/AcBaseConfigMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/base/AcBaseConfigMapper.xml index 8adbdb71..f9f4f7f8 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/base/AcBaseConfigMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/base/AcBaseConfigMapper.xml @@ -84,14 +84,14 @@ diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml index dddda33f..95d548ca 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml @@ -40,4 +40,24 @@ and r.upgrade_status = #{upgradeStatus} + + + diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRuleConfigMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRuleConfigMapper.xml index 669d7837..29e5a09a 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRuleConfigMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRuleConfigMapper.xml @@ -18,25 +18,16 @@ - - 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} - - and m.member_type = #{memberType} + + and u.pk_country = #{pkCountry} - and m.pk_base_id = #{pkBaseId}) order by u.creation_time desc - diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/CuMemberTransferWhiteController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/CuMemberTransferWhiteController.java index 97af7b47..593c29db 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/CuMemberTransferWhiteController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/config/controller/manage/CuMemberTransferWhiteController.java @@ -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; diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderOperateStatus.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderOperateStatus.java index bfa01198..83ebc997 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderOperateStatus.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOrderOperateStatus.java @@ -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 diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java index a6161ff0..bf662431 100644 --- a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/activity/recommend/AcRecomUpgradeRecord.java @@ -59,6 +59,12 @@ public class AcRecomUpgradeRecord extends BaseEntity { @TableField("PK_RECOMMEND_GRADE") private Integer pkRecommendGrade; + /** + * 活动年月 + */ + @TableField("UPGRADE_TIME") + private String upgradeTime; + /** * 订单ID -- 已不用 */ diff --git a/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityListener.java b/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityListener.java index aa865f6d..4ddf2432 100644 --- a/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityListener.java +++ b/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityListener.java @@ -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 message, Channel channel) throws Exception { + public void onMessage(Message 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(); From 94e5b845a292ef40804600f7d753133d548749fe Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Tue, 23 Sep 2025 16:43:08 +0800 Subject: [PATCH 71/78] =?UTF-8?q?##=20=E6=8E=A83=E5=8D=87=E4=B8=80?= =?UTF-8?q?=E7=BA=A7=E6=B4=BB=E5=8A=A8=E6=AD=A3=E5=90=91=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hzs/system/enums/controller/EnumsInitController.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java index b0acb050..2c36b1f3 100644 --- a/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java +++ b/bd-business/bd-business-system/src/main/java/com/hzs/system/enums/controller/EnumsInitController.java @@ -223,11 +223,6 @@ public class EnumsInitController { initList.add(this.createData(value.getKey(), value.getLabel())); } - //活动类型 - for (EActType value : EActType.values()) { - initList.add(this.createData(value.getKey(), value.getLabel())); - } - //发货方式 for (EDelivery value : EDelivery.values()) { initList.add(this.createData(value.getKey(), value.getLabel())); From 7e9cc1289cf10d177addcf57225f49f0771ce141 Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Tue, 23 Sep 2025 16:52:09 +0800 Subject: [PATCH 72/78] =?UTF-8?q?##=20Feat=20-=20Top=2030=20(=E7=9B=B4?= =?UTF-8?q?=E6=8E=A8=E4=BA=BA=E6=95=B0/=E7=9B=B4=E6=8E=A8=E9=87=91?= =?UTF-8?q?=E9=A2=9D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/MemberStatisticsController.java | 36 ++ .../BackMemberStatisticsController.java | 54 +++ .../statis/mapper/MemberStatisticsMapper.java | 16 + .../DirectStatisticsTop30QueryParam.java | 30 ++ .../service/IMemberStatisticsService.java | 14 + .../impl/MemberStatisticsServiceImpl.java | 225 +++++++++++++ .../statis/util/DataGeneratorUtils.java | 316 ++++++++++++++++++ .../member/statis/MemberStatisticsMapper.xml | 53 +++ .../common/core/constant/CacheConstants.java | 1 + .../com/hzs/common/core/enums/ETop30Type.java | 84 +++++ .../common/core/utils/DataMaskingUtil.java | 98 ++++++ .../com/hzs/common/core/utils/DateUtils.java | 54 +++ .../statis/DirectStatisticsTop30VO.java | 42 +++ 13 files changed, 1023 insertions(+) create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/api/MemberStatisticsController.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/manager/BackMemberStatisticsController.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/statis/mapper/MemberStatisticsMapper.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/statis/param/DirectStatisticsTop30QueryParam.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/statis/service/IMemberStatisticsService.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/statis/service/impl/MemberStatisticsServiceImpl.java create mode 100644 bd-business/bd-business-member/src/main/java/com/hzs/member/statis/util/DataGeneratorUtils.java create mode 100644 bd-business/bd-business-member/src/main/resources/mapper/member/statis/MemberStatisticsMapper.xml create mode 100644 bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETop30Type.java create mode 100644 bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DataMaskingUtil.java create mode 100644 bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/statis/DirectStatisticsTop30VO.java diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/api/MemberStatisticsController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/api/MemberStatisticsController.java new file mode 100644 index 00000000..9a20c31d --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/api/MemberStatisticsController.java @@ -0,0 +1,36 @@ +package com.hzs.member.statis.controller.api; + +import com.hzs.common.core.constant.CacheConstants; +import com.hzs.common.core.enums.ETop30Type; +import com.hzs.common.core.service.RedisService; +import com.hzs.common.core.web.domain.AjaxResult; +import com.hzs.common.domain.member.ext.CuMemberHonorWallExt; +import com.hzs.common.security.utils.SecurityUtils; +import com.hzs.member.statis.param.DirectStatisticsTop30QueryParam; +import com.hzs.member.statis.service.IMemberStatisticsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 统计 + */ +@Slf4j +@RequestMapping("/api/member-statistics") +@RestController +public class MemberStatisticsController { + + @Resource + private IMemberStatisticsService memberStatisticsService; + @PostMapping("/topPeople") + public AjaxResult topPeople(@RequestBody DirectStatisticsTop30QueryParam param) { + return AjaxResult.success(memberStatisticsService.getDirectStatisticsNumberOfPeople(param)); + } + + @PostMapping("/topAmount") + public AjaxResult topAmount(@RequestBody DirectStatisticsTop30QueryParam param) { + return AjaxResult.success(memberStatisticsService.getDirectStatisticsNumberOfAmount(param)); + } +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/manager/BackMemberStatisticsController.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/manager/BackMemberStatisticsController.java new file mode 100644 index 00000000..c34b7ba7 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/controller/manager/BackMemberStatisticsController.java @@ -0,0 +1,54 @@ +package com.hzs.member.statis.controller.manager; + +import com.hzs.common.core.constant.CacheConstants; +import com.hzs.common.core.enums.ETop30Type; +import com.hzs.common.core.service.RedisService; +import com.hzs.common.core.web.domain.AjaxResult; +import com.hzs.member.statis.param.DirectStatisticsTop30QueryParam; +import com.hzs.member.statis.service.IMemberStatisticsService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * 统计 + */ +@Slf4j +@RequestMapping("/manage/member-statistics") +@RestController +public class BackMemberStatisticsController { + + @Resource + private IMemberStatisticsService memberStatisticsService; + + @Resource + private RedisService redisService; + + + @GetMapping("/setShowPeople/{flag}") + public AjaxResult setShowPeople(@PathVariable("flag") String flag) { + redisService.setCacheObject(CacheConstants.TOP_30_ACTIVITY + ETop30Type.PEOPLE.getKey(), flag); + return AjaxResult.success(); + } + + + @GetMapping("/setShowAmount/{flag}") + public AjaxResult setShowAmount(@PathVariable("flag") String flag) { + redisService.setCacheObject(CacheConstants.TOP_30_ACTIVITY + ETop30Type.AMOUNT.getKey(), flag); + return AjaxResult.success(); + } + @PostMapping("/topPeople") + public AjaxResult topPeople(@RequestBody DirectStatisticsTop30QueryParam param) { + param.setFaker(false); + return AjaxResult.success(memberStatisticsService.getDirectStatisticsNumberOfPeople(param)); + } + + @PostMapping("/topAmount") + public AjaxResult topAmount(@RequestBody DirectStatisticsTop30QueryParam param) { + param.setFaker(false); + return AjaxResult.success(memberStatisticsService.getDirectStatisticsNumberOfAmount(param)); + } + + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/mapper/MemberStatisticsMapper.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/mapper/MemberStatisticsMapper.java new file mode 100644 index 00000000..9fdefcfe --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/mapper/MemberStatisticsMapper.java @@ -0,0 +1,16 @@ +package com.hzs.member.statis.mapper; + +import com.hzs.common.domain.member.statis.DirectStatisticsTop30VO; +import com.hzs.member.statis.param.DirectStatisticsTop30QueryParam; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +public interface MemberStatisticsMapper { + + List getDirectStatisticsNumberOfPeople(@Param("param") DirectStatisticsTop30QueryParam param); + + + List getDirectStatisticsNumberOfAmount(@Param("param") DirectStatisticsTop30QueryParam param); +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/param/DirectStatisticsTop30QueryParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/param/DirectStatisticsTop30QueryParam.java new file mode 100644 index 00000000..4f20d49b --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/param/DirectStatisticsTop30QueryParam.java @@ -0,0 +1,30 @@ +package com.hzs.member.statis.param; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class DirectStatisticsTop30QueryParam implements Serializable { + + /** + * 统计年 + */ + private String year; + + /** + * 统计月 + */ + private String month; + + private Boolean faker; + + + private Date startDate; + + private Date endDate; + + private Long memberId; + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/service/IMemberStatisticsService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/service/IMemberStatisticsService.java new file mode 100644 index 00000000..62007b14 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/service/IMemberStatisticsService.java @@ -0,0 +1,14 @@ +package com.hzs.member.statis.service; + +import com.hzs.common.domain.member.statis.DirectStatisticsTop30VO; +import com.hzs.member.statis.param.DirectStatisticsTop30QueryParam; + +import java.util.List; + +public interface IMemberStatisticsService { + + List getDirectStatisticsNumberOfPeople(DirectStatisticsTop30QueryParam param); + + + List getDirectStatisticsNumberOfAmount(DirectStatisticsTop30QueryParam param); +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/service/impl/MemberStatisticsServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/service/impl/MemberStatisticsServiceImpl.java new file mode 100644 index 00000000..dbaac459 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/service/impl/MemberStatisticsServiceImpl.java @@ -0,0 +1,225 @@ +package com.hzs.member.statis.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import com.hzs.common.core.constant.CacheConstants; +import com.hzs.common.core.enums.ETop30Type; +import com.hzs.common.core.service.RedisService; +import com.hzs.common.core.utils.DataMaskingUtil; +import com.hzs.common.core.utils.DateUtils; +import com.hzs.common.domain.member.statis.DirectStatisticsTop30VO; +import com.hzs.member.statis.mapper.MemberStatisticsMapper; +import com.hzs.member.statis.param.DirectStatisticsTop30QueryParam; +import com.hzs.member.statis.service.IMemberStatisticsService; +import com.hzs.member.statis.util.DataGeneratorUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.time.*; +import java.util.*; + +@Service +@Slf4j +public class MemberStatisticsServiceImpl implements IMemberStatisticsService { + + @Resource + private MemberStatisticsMapper memberStatisticsMapper; + + @Resource + private RedisService redisService; + @Override + public List getDirectStatisticsNumberOfPeople(DirectStatisticsTop30QueryParam param) { + String show = redisService.getCacheObject(CacheConstants.TOP_30_ACTIVITY + ETop30Type.PEOPLE.getKey()); + if(ObjectUtil.isEmpty(show) || "false".equals(show)){ + return null; + } + if(DateUtils.isYearMonthExceedCurrent(param.getYear() + "/" + param.getMonth())) { + return null; + } + setStartAndEndDate(param); + List list = memberStatisticsMapper.getDirectStatisticsNumberOfPeople(param); + return desensitizationAndFaker(list, param, 1); + } + + @Override + public List getDirectStatisticsNumberOfAmount(DirectStatisticsTop30QueryParam param) { + String show = redisService.getCacheObject(CacheConstants.TOP_30_ACTIVITY + ETop30Type.AMOUNT.getKey()); + if(ObjectUtil.isEmpty(show) || "false".equals(show)){ + return null; + } + if(DateUtils.isYearMonthExceedCurrent(param.getYear() + "/" + param.getMonth())) { + return null; + } + setStartAndEndDate(param); + List list = memberStatisticsMapper.getDirectStatisticsNumberOfAmount(param); + return desensitizationAndFaker(list, param, 2); + } + + /** + * 数据脱敏&格式化数字&假数据 + * @param list + * @param param + * @param type + */ + private List desensitizationAndFaker(List list, DirectStatisticsTop30QueryParam param, Integer type){ + List fakerList = DataGeneratorUtils.generateFakeData( + new ArrayList<>(), 30, 1, DataGeneratorUtils.TimeGranularity.DAY); + List result = list; + if(param.getFaker()){ + result = generateFakeData(list, 30, fakerList, type); + } + for (DirectStatisticsTop30VO directStatisticsTop30VO : result) { + directStatisticsTop30VO.setMemberCode(DataMaskingUtil.mask(directStatisticsTop30VO.getMemberCode(), 2, 2)); + directStatisticsTop30VO.setMemberName(DataMaskingUtil.mask(directStatisticsTop30VO.getMemberName(), 1, 0)); + directStatisticsTop30VO.setNumberOfAmount(directStatisticsTop30VO.getNumberOfAmount().divide(new BigDecimal(10000))); + } + return result; + } + private void setStartAndEndDate(DirectStatisticsTop30QueryParam param) { + // 参数验证 + if (ObjectUtil.isEmpty(param.getYear()) || ObjectUtil.isEmpty(param.getMonth())) { + throw new IllegalArgumentException("年份和月份不能为空"); + } + try { + int year = Integer.parseInt(param.getYear()); + int month = Integer.parseInt(param.getMonth()); + YearMonth yearMonth = YearMonth.of(year, month); + LocalDateTime firstDay = yearMonth.atDay(1).atStartOfDay(); + LocalDateTime lastDay = yearMonth.atEndOfMonth().atTime(23, 59, 59); + // 获取系统默认时区 + ZoneId zoneId = ZoneId.systemDefault(); + // 转换为Date + param.setStartDate(Date.from(firstDay.atZone(zoneId).toInstant())); + param.setEndDate(Date.from(lastDay.atZone(zoneId).toInstant())); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("年份或月份格式不正确", e); + } catch (Exception e) { + throw new RuntimeException("获取时间范围失败", e); + } + } + /** + * 生成假数据并填充到列表 + * + * @param list 原始数据列表 + * @param totalCount 总数 + * @param fakerList 假数据列表 + * @param type 类型:1为设置numberOfPeople, 2为设置numberOfAmount + * @return 填充后的列表 + */ + public static List generateFakeData( + List list, + int totalCount, + List fakerList, + int type) { + if (list == null) { + list = new ArrayList<>(); + } + + if (fakerList == null || fakerList.isEmpty()) { + throw new IllegalArgumentException("假数据列表不能为空"); + } + + if (totalCount < list.size()) { + throw new IllegalArgumentException("总数不能小于原始列表大小"); + } + + // 计算需要生成的假数据数量 + int needGenerateCount = totalCount - list.size(); + + // 检查假数据列表是否有足够的数据 + if (needGenerateCount > fakerList.size()) { + throw new IllegalArgumentException("假数据列表数据不足"); + } + + // 从假数据列表中移除并获取需要的假数据 + List selectedFakerData = new ArrayList<>(); + for (int i = 0; i < needGenerateCount; i++) { + // 随机选择一个假数据 + int randomIndex = new Random().nextInt(fakerList.size()); + DirectStatisticsTop30VO fakerData = fakerList.remove(randomIndex); + selectedFakerData.add(fakerData); + } + + // 根据类型设置数据 + if (type == 1) { + setNumberOfPeople(selectedFakerData, list); + } else if (type == 2) { + setNumberOfAmount(selectedFakerData, list); + } else { + throw new IllegalArgumentException("类型参数无效,只能是1或2"); + } + + // 将生成的假数据添加到原始列表 + list.addAll(selectedFakerData); + + // 按照对应类型降序排序 + if (type == 1) { + list.sort(Comparator.comparing(DirectStatisticsTop30VO::getNumberOfPeople).reversed()); + } else { + list.sort(Comparator.comparing(DirectStatisticsTop30VO::getNumberOfAmount).reversed()); + } + + return list; + } + + /** + * 设置numberOfPeople + */ + private static void setNumberOfPeople(List selectedFakerData, List originalList) { + // 找出原始列表中最小的numberOfPeople + int minPeopleCount = Integer.MAX_VALUE; + for (DirectStatisticsTop30VO data : originalList) { + if (data.getNumberOfPeople() != null && data.getNumberOfPeople() < minPeopleCount) { + minPeopleCount = data.getNumberOfPeople(); + } + } + if (minPeopleCount == Integer.MAX_VALUE) { + minPeopleCount = 10; // 默认值,可以根据需要调整 + } + Random random = new Random(); + for (DirectStatisticsTop30VO fakerData : selectedFakerData) { + if (minPeopleCount == 1) { + fakerData.setNumberOfPeople(1); + } else { + int value = random.nextInt(minPeopleCount - 1) + 1; + fakerData.setNumberOfPeople(value); + } + } + } + + /** + * 设置numberOfAmount + */ + private static void setNumberOfAmount(List selectedFakerData, List originalList) { + // 找出原始列表中最小的numberOfAmount + BigDecimal minAmount = null; + for (DirectStatisticsTop30VO data : originalList) { + if (data.getNumberOfAmount() != null) { + if (minAmount == null || data.getNumberOfAmount().compareTo(minAmount) < 0) { + minAmount = data.getNumberOfAmount(); + } + } + } + if (minAmount == null) { + minAmount = new BigDecimal(188); // 默认值,可以根据需要调整 + } + Random random = new Random(); + for (DirectStatisticsTop30VO fakerData : selectedFakerData) { + if (minAmount.compareTo(new BigDecimal(188)) == 0) { + BigDecimal value = new BigDecimal(188); + fakerData.setNumberOfAmount(value); + } else { + BigDecimal range = minAmount.subtract(BigDecimal.ONE); + BigDecimal randomValue = new BigDecimal(random.nextDouble() * range.doubleValue()).setScale(4, BigDecimal.ROUND_HALF_UP); + if (randomValue.compareTo(BigDecimal.ZERO) <= 0) { + randomValue = BigDecimal.ONE; + } + fakerData.setNumberOfAmount(randomValue); + } + } + } + +} diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/util/DataGeneratorUtils.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/util/DataGeneratorUtils.java new file mode 100644 index 00000000..9ccafd07 --- /dev/null +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/statis/util/DataGeneratorUtils.java @@ -0,0 +1,316 @@ +package com.hzs.member.statis.util; + +import cn.hutool.core.util.RandomUtil; +import cn.hutool.json.JSONUtil; +import com.hzs.common.core.constant.SysConstants; +import com.hzs.common.domain.member.statis.DirectStatisticsTop30VO; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; + +public class DataGeneratorUtils { + + // 时间粒度枚举 + public enum TimeGranularity { + DAY, // 按天 + HOUR // 按小时 + } + private static final String prefix = "BD"; + + // 常见姓氏数组 + private static final String[] COMMON_SURNAMES = { + "王", "李", "张", "刘", "陈", "杨", "黄", "赵", "吴", "周", + "徐", "孙", "马", "朱", "胡", "郭", "何", "高", "林", "罗", + "郑", "梁", "谢", "宋", "唐", "许", "韩", "冯", "邓", "曹", + "彭", "曾", "肖", "田", "董", "袁", "潘", "于", "蒋", "蔡" + }; + + // 当前种子,用于生成数据 + private static int currentSeed = getSeed(TimeGranularity.DAY); // 默认按天 + private static TimeGranularity currentGranularity = TimeGranularity.DAY; + // 预先生成的30条基础数据 + private static List PERIODIC_PRE_GENERATED_DATA = generatePeriodicPredefinedData(); + + /** + * 生成假数据并添加到列表中 + * + * @param list 已有数据列表 + * @param totalCount 需要生成的总数据量 + * @param type 类型:1为设置numberOfPeople,2为设置numberOfAmount + * @param granularity 时间粒度:DAY按天,HOUR按小时 + * @return 包含新生成数据的列表 + */ + public static List generateFakeData( + List list, int totalCount, int type, TimeGranularity granularity) { + // 检查时间是否已变化,如果变化则重新生成数据 + checkAndUpdatePeriodicData(granularity); + + // 创建返回列表(复制原列表,避免修改原列表) + List resultList = new ArrayList<>(list); + + // 如果总数小于等于已有列表大小,直接返回原列表 + if (totalCount <= list.size()) { + return resultList; + } + + // 需要生成的新数据数量 + int needGenerateCount = totalCount - list.size(); + + // 从预生成数据中获取所需数量的数据 + List newData = getPeriodicPreGeneratedDataByCount(needGenerateCount, type); + + // 添加新数据到结果列表 + resultList.addAll(newData); + + // 按照对应字段降序排序 + if (type == 1) { + resultList.sort((a, b) -> b.getNumberOfPeople().compareTo(a.getNumberOfPeople())); + } else if (type == 2) { + resultList.sort((a, b) -> b.getNumberOfAmount().compareTo(a.getNumberOfAmount())); + } + + return resultList; + } + + /** + * (兼容旧版本)按天生成数据 + */ + public static List generateFakeData( + List list, int totalCount, int type) { + return generateFakeData(list, totalCount, type, TimeGranularity.DAY); + } + + /** + * 检查时间是否已变化,如果变化则更新数据 + */ + private static void checkAndUpdatePeriodicData(TimeGranularity granularity) { + int newSeed = getSeed(granularity); + if (newSeed != currentSeed || granularity != currentGranularity) { + currentSeed = newSeed; + currentGranularity = granularity; + PERIODIC_PRE_GENERATED_DATA = generatePeriodicPredefinedData(); + } + } + + /** + * 根据时间粒度获取种子 + * @param granularity 时间粒度 + * @return 对应的种子 + */ + private static int getSeed(TimeGranularity granularity) { + if (granularity == TimeGranularity.HOUR) { + // 按小时:格式为YYYYMMDDHH + LocalDateTime now = LocalDateTime.now(); + return Integer.parseInt(now.format(DateTimeFormatter.ofPattern("yyyyMMddHH"))); + } else { + // 按天:格式为YYYYMMDD + LocalDate today = LocalDate.now(); + return Integer.parseInt(today.format(DateTimeFormatter.ofPattern("yyyyMMdd"))); + } + } + + /** + * 生成当前周期的30条预定义数据 + */ + private static List generatePeriodicPredefinedData() { + List dataList = new ArrayList<>(30); + + // 使用当前周期的种子创建Random对象 + Random periodRandom = new Random(currentSeed); + + // 生成30条基础数据 + for (int i = 0; i < 30; i++) { + DirectStatisticsTop30VO vo = new DirectStatisticsTop30VO(); + + // 设置基础信息,包含时间粒度标识 + long baseId = 4000000L + currentSeed % 1000000L; + vo.setMemberId(baseId + i); + + // 根据时间粒度生成不同的用户编号前缀 +// String prefix = currentGranularity == TimeGranularity.HOUR ? "HOUR" : "DAY"; +// String prefix = SysConstants.HAI_FUN_PREFIX; + vo.setMemberCode(generateMemberCode(currentSeed, 10)); + + // 生成随机中文姓名 + vo.setMemberName(generateRandomChineseName(i, periodRandom)); + + // 使用周期随机数生成数据值 + vo.setNumberOfPeople(1 + periodRandom.nextInt(100)); // 1-100之间的随机值 + + // 生成金额值 + BigDecimal amount = new BigDecimal(100 + periodRandom.nextInt(10000)) + .add(new BigDecimal(periodRandom.nextDouble())) + .setScale(4, BigDecimal.ROUND_HALF_UP); + vo.setNumberOfAmount(amount); + + dataList.add(vo); + } + + return dataList; + } + public static String generateMemberCode(long currentSeed, int i) { + int prefixLength = prefix.length(); + int numPartLength = 10 - prefixLength; + long seedPart = generateRandomSeedPart(numPartLength); + String memberCode = prefix + seedPart; + return memberCode.length() > 10 ? memberCode.substring(0, 10) : memberCode; + } + /** + * 生成指定位数的随机seedPart + * + * @param digits 位数 + * @return 随机数 + */ + private static long generateRandomSeedPart(int digits) { + if (digits <= 0) { + return 0; + } + + // 计算最小值和最大值 + int min = (int) Math.pow(10, digits - 1); + int max = (int) Math.pow(10, digits) - 1; + + // 如果digits为0,返回0 + if (min == 0 && max == 0) { + return 0; + } + + return RandomUtil.randomInt(min, max); + } + /** + * 根据需要的数量从预生成数据中获取数据 + */ + private static List getPeriodicPreGeneratedDataByCount(int count, int type) { + List result = new ArrayList<>(count); + + for (int i = 0; i < count; i++) { + // 从预生成数据中循环获取 + DirectStatisticsTop30VO originalVo = PERIODIC_PRE_GENERATED_DATA.get(i % 30); + + // 创建副本以避免修改预生成的数据 + DirectStatisticsTop30VO newVo = new DirectStatisticsTop30VO(); + newVo.setMemberId(originalVo.getMemberId()); + newVo.setMemberName(originalVo.getMemberName()); + newVo.setMemberCode(originalVo.getMemberCode()); + + // 根据类型设置相应的值 + if (type == 1) { + // 类型1:设置numberOfPeople + newVo.setNumberOfPeople(originalVo.getNumberOfPeople()); + newVo.setNumberOfAmount(BigDecimal.ZERO); + } else if (type == 2) { + // 类型2:设置numberOfAmount + newVo.setNumberOfPeople(0); + newVo.setNumberOfAmount(originalVo.getNumberOfAmount()); + } + + result.add(newVo); + } + + return result; + } + + /** + * 生成随机中文姓名 + */ + private static String generateRandomChineseName(int index, Random random) { + // 随机选择姓氏 + String surname = COMMON_SURNAMES[random.nextInt(COMMON_SURNAMES.length)]; + + // 随机决定是二字姓名还是三字姓名 + boolean isTwoCharacters = random.nextBoolean(); + + if (isTwoCharacters) { + // 二字姓名:姓氏 + 1个随机汉字 + return surname + generateRandomChineseChar(random); + } else { + // 三字姓名:姓氏 + 2个随机汉字 + return surname + generateRandomChineseChar(random) + generateRandomChineseChar(random); + } + } + + /** + * 生成随机汉字 + */ + private static char generateRandomChineseChar(Random random) { + // 中文汉字Unicode范围大致在0x4E00到0x9FA5之间 + int start = 0x4E00; + int end = 0x9FA5; + return (char) (start + random.nextInt(end - start + 1)); + } + + /** + * 获取当前周期预生成的30条完整数据 + * @param granularity 时间粒度 + * @return 预生成的数据列表 + */ + public static List getPeriodicPreGeneratedData(TimeGranularity granularity) { + // 检查时间是否已变化 + checkAndUpdatePeriodicData(granularity); + + // 返回预生成数据的副本,避免外部修改 + List copyList = new ArrayList<>(PERIODIC_PRE_GENERATED_DATA.size()); + for (DirectStatisticsTop30VO vo : PERIODIC_PRE_GENERATED_DATA) { + DirectStatisticsTop30VO copy = new DirectStatisticsTop30VO(); + copy.setMemberId(vo.getMemberId()); + copy.setMemberName(vo.getMemberName()); + copy.setMemberCode(vo.getMemberCode()); + copy.setNumberOfPeople(vo.getNumberOfPeople()); + copy.setNumberOfAmount(vo.getNumberOfAmount()); + copyList.add(copy); + } + return copyList; + } + + /** + * (用于测试)根据指定日期和时间粒度获取数据 + */ + public static List getPreGeneratedDataByDate( + int year, int month, int day, int hour, TimeGranularity granularity) { + // 保存当前状态 + int originalSeed = currentSeed; + TimeGranularity originalGranularity = currentGranularity; + List originalData = PERIODIC_PRE_GENERATED_DATA; + + try { + // 设置指定日期的种子 + Calendar calendar = new GregorianCalendar(year, month - 1, day, hour, 0, 0); + Date date = calendar.getTime(); + + if (granularity == TimeGranularity.HOUR) { + LocalDateTime localDateTime = date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDateTime(); + currentSeed = Integer.parseInt(localDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHH"))); + } else { + LocalDate localDate = date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate(); + currentSeed = Integer.parseInt(localDate.format(DateTimeFormatter.ofPattern("yyyyMMdd"))); + } + + currentGranularity = granularity; + + // 重新生成指定日期的数据 + PERIODIC_PRE_GENERATED_DATA = generatePeriodicPredefinedData(); + + // 返回生成的数据 + return getPeriodicPreGeneratedData(granularity); + } finally { + // 恢复原始状态 + currentSeed = originalSeed; + currentGranularity = originalGranularity; + PERIODIC_PRE_GENERATED_DATA = originalData; + } + } + + public static void main(String[] args) { + // 按天生成数据 + List dailyData = DataGeneratorUtils.generateFakeData( + new ArrayList<>(), 30, 1, DataGeneratorUtils.TimeGranularity.DAY); + System.out.println(JSONUtil.toJsonPrettyStr(dailyData)); + // 按小时生成数据 +// List hourlyData = DataGeneratorUtils.generateFakeData( +// new ArrayList<>(), 50, 2, DataGeneratorUtils.TimeGranularity.HOUR); +// System.out.println(JSONUtil.toJsonPrettyStr(hourlyData)); + } +} diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/statis/MemberStatisticsMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/MemberStatisticsMapper.xml new file mode 100644 index 00000000..c20f185f --- /dev/null +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/statis/MemberStatisticsMapper.xml @@ -0,0 +1,53 @@ + + + + + + + diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java index 32fafeeb..9aeed60e 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/constant/CacheConstants.java @@ -330,4 +330,5 @@ public class CacheConstants { */ public final static String AUTO_LOGIN = CACHE_PREFIX + "auth:login:"; + public final static String TOP_30_ACTIVITY = CACHE_PREFIX + "top:30:activity:"; } diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETop30Type.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETop30Type.java new file mode 100644 index 00000000..deea8c67 --- /dev/null +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/ETop30Type.java @@ -0,0 +1,84 @@ +package com.hzs.common.core.enums; + +import com.hzs.common.core.constant.EnumsPrefixConstants; +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +/** + * 订单类型枚举类 + */ +@AllArgsConstructor +@Getter +public enum ETop30Type { + + /** + * 注册订单 + */ + PEOPLE(1, "直推人数", "people"), + + /** + * 升级订单 + */ + AMOUNT(2, "直推金额", "amount") + + ; + + /** + * 实际值 + */ + private final int value; + /** + * 显示标签 + */ + private final String label; + /** + * 显示标签 + */ + private final String key; + + /** + * 根据值,返回枚举 + * + * @param value + * @return + */ + public static ETop30Type getEnumByValue(int value) { + for (ETop30Type enums : ETop30Type.values()) { + if (enums.getValue() == value) { + return enums; + } + } + return null; + } + + /** + * 根据值,返回名称 + * + * @param value + * @return + */ + public static String getLabelByValue(Integer value) { + if (null == value) { + return ""; + } + for (ETop30Type enums : ETop30Type.values()) { + if (enums.getValue() == value) { + return enums.getLabel(); + } + } + return ""; + } + + + public static List getOrderTypeSpecial() { + List resultList = new ArrayList<>(); + resultList.add(ETop30Type.PEOPLE); + resultList.add(ETop30Type.AMOUNT); + return resultList; + } + + +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DataMaskingUtil.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DataMaskingUtil.java new file mode 100644 index 00000000..33dfb682 --- /dev/null +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DataMaskingUtil.java @@ -0,0 +1,98 @@ +package com.hzs.common.core.utils; + +/** + * 数据脱敏工具类 + * 提供字符串脱敏功能,可指定保留前几位和后几位字符 + */ +public class DataMaskingUtil { + + // 默认脱敏字符 + private static final char DEFAULT_MASK_CHAR = '*'; + + /** + * 对字符串进行脱敏处理 + * @param input 原始字符串 + * @param keepPrefix 保留的前缀位数 + * @param keepSuffix 保留的后缀位数 + * @return 脱敏后的字符串 + */ + public static String mask(String input, int keepPrefix, int keepSuffix) { + // 参数验证 + if (input == null) { + return null; + } + + // 处理边界情况 + if (keepPrefix < 0 || keepSuffix < 0) { + throw new IllegalArgumentException("保留位数不能为负数"); + } + + int length = input.length(); + + // 如果字符串长度小于等于需要保留的位数之和,直接返回原字符串 + if (length <= keepPrefix + keepSuffix) { + return input; + } + + // 构建StringBuilder用于高效拼接字符串 + StringBuilder result = new StringBuilder(length); + + // 添加前缀保留字符 + result.append(input, 0, keepPrefix); + + // 添加脱敏字符 + int maskCount = length - keepPrefix - keepSuffix; + for (int i = 0; i < maskCount; i++) { + result.append(DEFAULT_MASK_CHAR); + } + + // 添加后缀保留字符 + result.append(input, length - keepSuffix, length); + + return result.toString(); + } + + /** + * 对字符串进行脱敏处理,可自定义脱敏字符 + * @param input 原始字符串 + * @param keepPrefix 保留的前缀位数 + * @param keepSuffix 保留的后缀位数 + * @param maskChar 自定义脱敏字符 + * @return 脱敏后的字符串 + */ + public static String mask(String input, int keepPrefix, int keepSuffix, char maskChar) { + // 参数验证 + if (input == null) { + return null; + } + + // 处理边界情况 + if (keepPrefix < 0 || keepSuffix < 0) { + throw new IllegalArgumentException("保留位数不能为负数"); + } + + int length = input.length(); + + // 如果字符串长度小于等于需要保留的位数之和,直接返回原字符串 + if (length <= keepPrefix + keepSuffix) { + return input; + } + + // 构建StringBuilder用于高效拼接字符串 + StringBuilder result = new StringBuilder(length); + + // 添加前缀保留字符 + result.append(input, 0, keepPrefix); + + // 添加脱敏字符 + int maskCount = length - keepPrefix - keepSuffix; + for (int i = 0; i < maskCount; i++) { + result.append(maskChar); + } + + // 添加后缀保留字符 + result.append(input, length - keepSuffix, length); + + return result.toString(); + } +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java index c33ff760..e6d3dbbc 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/utils/DateUtils.java @@ -6,6 +6,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.*; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAdjusters; import java.util.ArrayList; @@ -895,5 +896,58 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); return LocalDate.parse(date, fmt); } + /** + * 判断输入的年/月字符串是否超过当前月份 + * + * @param yearMonthStr 年/月字符串,格式为"yyyy/MM",如"2023/12" + * @return 如果输入的年月超过当前月份则返回true,否则返回false + * @throws IllegalArgumentException 如果输入的字符串格式不正确 + */ + public static boolean isYearMonthExceedCurrent(String yearMonthStr) { + // 参数校验 + if (yearMonthStr == null || yearMonthStr.trim().isEmpty()) { + throw new IllegalArgumentException("年/月字符串不能为空"); + } + try { + // 解析输入的年/月字符串 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM"); + YearMonth inputYearMonth = YearMonth.parse(yearMonthStr, formatter); + + // 获取当前年月 + YearMonth currentYearMonth = YearMonth.now(); + + // 比较输入年月和当前年月 + // 如果输入年月大于当前年月,则返回true(表示超过当前月份) + return inputYearMonth.isAfter(currentYearMonth); + + } catch (DateTimeParseException e) { + throw new IllegalArgumentException("年/月字符串格式不正确,应为'yyyy/MM'格式,如'2023/12'", e); + } + } + + /** + * 重载方法,支持自定义日期格式 + * + * @param yearMonthStr 年/月字符串 + * @param pattern 日期格式,如"yyyy-MM"或"yyyyMM"等 + * @return 如果输入的年月超过当前月份则返回true,否则返回false + * @throws IllegalArgumentException 如果输入参数不合法 + */ + public static boolean isYearMonthExceedCurrent(String yearMonthStr, String pattern) { + if (pattern == null || pattern.trim().isEmpty()) { + throw new IllegalArgumentException("日期格式不能为空"); + } + + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); + YearMonth inputYearMonth = YearMonth.parse(yearMonthStr, formatter); + YearMonth currentYearMonth = YearMonth.now(); + + return inputYearMonth.isAfter(currentYearMonth); + + } catch (DateTimeParseException e) { + throw new IllegalArgumentException("年/月字符串格式不正确,无法使用模式'" + pattern + "'解析", e); + } + } } diff --git a/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/statis/DirectStatisticsTop30VO.java b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/statis/DirectStatisticsTop30VO.java new file mode 100644 index 00000000..10c55e0d --- /dev/null +++ b/bd-common/bd-common-domain/src/main/java/com/hzs/common/domain/member/statis/DirectStatisticsTop30VO.java @@ -0,0 +1,42 @@ +package com.hzs.common.domain.member.statis; + +import com.hzs.common.core.annotation.BigDecimalFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class DirectStatisticsTop30VO implements Serializable { + /** + * 用户id + */ + private Long memberId; + + /** + * 用户名称 + */ + private String memberName; + + /** + * 用户编号 + */ + private String memberCode; + + /** + * 直推数量 + */ + private Integer numberOfPeople; + + /** + * 直推金额 + */ + @BigDecimalFormat(value = "#0.0000") + private BigDecimal numberOfAmount; +} From 74d8af766956378014da9dd4a330817316e54d75 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Tue, 23 Sep 2025 16:57:29 +0800 Subject: [PATCH 73/78] =?UTF-8?q?##=20=E7=9B=B4=E6=8E=A8=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AcRecommendConfigController.java | 19 +++ .../param/AcDirectPushUpgradeParam.java | 55 ++++++++ .../IAcRepurCouponsRuleConfigService.java | 2 + .../AcRepurCouponsRuleConfigServiceImpl.java | 127 ++++++++++++++++++ .../recommend/vo/AcDirectPushUpgradeVO.java | 63 +++++++++ .../common/core/enums/EOperationBusiness.java | 3 + .../common/core/enums/EOperationModule.java | 2 + 7 files changed, 271 insertions(+) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java index 311ff9b9..e89fbd50 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java @@ -3,6 +3,7 @@ package com.hzs.activity.recommend.controller; import com.hzs.activity.base.param.QueryActivityParam; import com.hzs.activity.base.service.IActivityService; import com.hzs.activity.base.vo.BaseConfigVo; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService; import com.hzs.activity.recommend.vo.AcRecommendVO; @@ -56,6 +57,24 @@ public class AcRecommendConfigController extends BaseController { return AjaxResult.success(); } + /** + * + * @param acDirectPushUpgradeParam + * @return + */ + @Log(module = EOperationModule.AC_DIRECT_PUSH_UPGRADE, business = EOperationBusiness.AC_DIRECT_PUSH_UPGRADE, method = EOperationMethod.INSERT, remark = "在线签呈") + @PostMapping("/directPushUpgrade") + public AjaxResult directPushUpgradeSubmit(@RequestBody AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + acDirectPushUpgradeParam.setPkCountry(SecurityUtils.getPkCountry()); + acDirectPushUpgradeParam.setPkMember(SecurityUtils.getUserId()); + acDirectPushUpgradeParam.setLoginUser(userTokenService.getLoginUser()); + String str = acRepurCouponsRuleConfigService.directPushUpgradeSubmit(acDirectPushUpgradeParam); + if (str != null) { + return AjaxResult.error(str); + } + return AjaxResult.success(); + } + /** * 直推赠送查看详情 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java new file mode 100644 index 00000000..e90a725f --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java @@ -0,0 +1,55 @@ +package com.hzs.activity.recommend.param; + +import com.hzs.activity.base.param.ActivityParam; +import com.hzs.activity.recommend.vo.AcRecommendSharVO; +import com.hzs.activity.recommend.vo.AcRecommendUpgradeVO; +import com.hzs.activity.recommend.vo.AcRepurchaseCouponsShowVO; +import com.hzs.common.domain.activity.base.AcBaseAuthority; +import com.hzs.system.sys.dto.LoginUser; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AcDirectPushUpgradeParam { + /** + * 活动基本配置主键 + */ + private Long pkBaseId; + + /** + * 操作类型(1=新增,2=修改,3=删除) + */ + private Integer controlType; + + /** + * 国家 + */ + private Integer pkCountry; + + /** + * 会员ID + */ + private Long pkMember; + + + /** + * 登录用户信息 + */ + private LoginUser loginUser; + + /** + * 基本信息 + */ + private ActivityParam activityParam; + + /** + * 直推升级 + */ + private List recommendUpgradeList; + +} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java index dd5bca66..e02cb887 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java @@ -2,6 +2,7 @@ package com.hzs.activity.recommend.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.activity.recommend.dto.AcRecommendUpgrade; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.vo.AcRecommendVO; import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig; @@ -74,5 +75,6 @@ public interface IAcRepurCouponsRuleConfigService extends IService recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + for (AcRecommendUpgradeVO recommendUpgradeVO : recommendUpgradeList) { + List giftConfigList = recommendUpgradeVO.getGiftConfigList(); + if (CollUtil.isNotEmpty(giftConfigList)) { + for (AcGiftConfigVO giftConfigVO : giftConfigList) { + Integer pkProduct = giftConfigVO.getPkProduct(); + if (null != pkProduct) { + giftConfigVO.setProductName(iProductServiceApi.getProduct(pkProduct).getData().getProductName()); + } + } + } + } + } + Integer controlType = acDirectPushUpgradeParam.getControlType(); + if (controlType.equals(EControlType.SAVE.getValue())) { + log.info("直推升级新增{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + return saveDirectPushUpgradeData(acDirectPushUpgradeParam); + } else if (controlType.equals(EControlType.MODIFY.getValue())) { + log.info("直推升级修改{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + deleteDirectPushUpgradeData(acDirectPushUpgradeParam); + return saveDirectPushUpgradeData(acDirectPushUpgradeParam); + } else { + log.info("直推升级刪除{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + deleteDirectPushUpgradeData(acDirectPushUpgradeParam); + } + //业务单号 + String businessCode = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE.getValue()); + //日志 + packageDirectPushOperationLog(acDirectPushUpgradeParam, approvalBusiness, businessCode); + return null; + } + + private void packageDirectPushOperationLog(AcDirectPushUpgradeParam param, EApprovalBusiness approvalBusiness, String businessCode) { + //活动的基本信息 + ActivityParam activityParam = param.getActivityParam(); + //推荐升级 + List recommendUpgradeList = param.getRecommendUpgradeList(); + Map transactionMap = iTransactionCommonService.exportEnumTransaction(EControlType.values()); + Integer controlType = param.getControlType(); + controlType = null == controlType ? EControlType.SAVE.getValue() : controlType; + StringBuilder sb = new StringBuilder(); + sb.append("活动名称:").append(activityParam.getActName()) + .append(" 活动说明:").append(activityParam.getActExplain()) + .append(" 活动时间:").append(DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, activityParam.getActStartDate())).append(" 至 ") + .append(DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, activityParam.getActEndDate())) + .append(" 业务类型:"); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + sb.append(EApprovalBusiness.DIRECT_PUSH_UPGRADE.getLabel()).append(" "); + } + sb.append(" 操作类型:").append(transactionMap.get(EnumsPrefixConstants.CONTROL_TYPE + controlType)); + BusinessLogDTO businessLog = BusinessLogDTO.builder() + .businessType(approvalBusiness.getValue()) + .businessCode(businessCode) + .content(sb.toString()).pkCreator(param.getPkMember()) + .pkCountry(param.getPkCountry()) + .freeSignFlag(false).build(); + rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, Collections.singleton(businessLog)); + } + + private void deleteDirectPushUpgradeData(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + Long pkBaseId = acDirectPushUpgradeParam.getActivityParam().getPkId(); + Long pkModifyId = acDirectPushUpgradeParam.getPkMember(); + //删除活动基本信息 + iAcBaseConfigService.deleteBaseConfigById(pkBaseId, pkModifyId); + //删除直推升级配置信息 + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + iAcRecomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId); + } + } + + + private String saveDirectPushUpgradeData(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + //保存活动基本信息 + String message = saveDirectPushUpgradeBaseConfig(acDirectPushUpgradeParam); + //保存直推升级配置信息 + saveDirectPushUpgradeRuleInfo(acDirectPushUpgradeParam); + return message; + } + + private void saveDirectPushUpgradeRuleInfo(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + AcRecomUpgradeRuleConfig recomUpgradeRuleConfig; + //直推升级规则配置 + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + for (AcRecommendUpgradeVO recommendUpgradeVO : recommendUpgradeList) { + recommendUpgradeVO.setPkCreator(acDirectPushUpgradeParam.getPkMember()); + recommendUpgradeVO.setPkCountry(acDirectPushUpgradeParam.getPkCountry()); + recomUpgradeRuleConfig = BeanUtil.copyProperties(recommendUpgradeVO, AcRecomUpgradeRuleConfig.class); + recomUpgradeRuleConfig.setPkBaseId(acDirectPushUpgradeParam.getPkBaseId()); + iAcRecomUpgradeRuleConfigService.save(recomUpgradeRuleConfig); + List giftConfigs = saveRecommendUpgradeGift(recommendUpgradeVO, recomUpgradeRuleConfig.getPkId()); + giftConfigService.saveBatch(giftConfigs); + } + } + } + + + + private String saveDirectPushUpgradeBaseConfig(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + ActivityParam activityParam = acDirectPushUpgradeParam.getActivityParam(); + if (null == activityParam) { + return "没有活动的基本信息!"; + } + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + activityParam.setAtcModule(EActModule.DIRECT_PUSH_UPGRADE.getValue()); + } + activityParam.setActType(EActType.RECOMMEND_UPGRADE.getValue()); + //保存基础配置 + activityParam.setPkCreator(acDirectPushUpgradeParam.getPkMember()); + activityParam.setPkCountry(acDirectPushUpgradeParam.getPkCountry()); + AcBaseConfig acBaseConfig = iActivityService.saveBaseConfig(activityParam); + acDirectPushUpgradeParam.setPkBaseId(acBaseConfig.getPkId()); + iActivityService.saveGoalMemberConfig(activityParam, acBaseConfig); + + return null; + } + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java new file mode 100644 index 00000000..c67bebed --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java @@ -0,0 +1,63 @@ +package com.hzs.activity.recommend.vo; + +import com.hzs.activity.base.vo.AcGiftConfigVO; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AcDirectPushUpgradeVO { + private static final long serialVersionUID = 7140530986849619774L; + + /** + * 主键 + */ + private Long pkId; + + /** + * 活动基本配置主键 + */ + private Long pkBaseId; + + /** + * 结算等级 + */ + private Integer pkSettleGrade; + + /** + * 推荐等级 + */ + private Integer pkRecommendGrade; + + /** + * 推荐数量 + */ + private Integer recommendNumber; + + /** + * 升级等级 + */ + private Integer pkUpgradeGrade; + + /** + * 创建人ID + */ + private Long pkCreator; + + /** + * 国家 + */ + private Integer pkCountry; + + + /** + * 会员类型 (1=等级 2=奖衔 3=权限) + */ + private Integer memberType; + + +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java index a5bb49d7..f0952f1d 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java @@ -254,6 +254,9 @@ public enum EOperationBusiness { AC_RECOMMEEND_CONFIG("直推赠送"), + AC_DIRECT_PUSH_UPGRADE("直推升级"), + + AC_WARES_RULE_CONFIG("商品赠送"), AC_TOURISM_CONFIG("旅游活动"), diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java index 68ac3a01..60a4ed28 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java @@ -353,6 +353,8 @@ public enum EOperationModule { AC_RECOMMEEND_CONFIG("直推赠送"), + AC_DIRECT_PUSH_UPGRADE("直推升级"), + AC_TOURISM_CONFIG("旅游活动"), AC_WARES_RULE_CONFIG("商品赠送"), From 069daab4f10c329a9a272ea9f2692d75c61ab1e1 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Tue, 23 Sep 2025 16:57:29 +0800 Subject: [PATCH 74/78] =?UTF-8?q?##=20=E7=9B=B4=E6=8E=A8=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AcRecommendConfigController.java | 19 +++ .../param/AcDirectPushUpgradeParam.java | 55 ++++++++ .../IAcRepurCouponsRuleConfigService.java | 2 + .../AcRepurCouponsRuleConfigServiceImpl.java | 127 ++++++++++++++++++ .../recommend/vo/AcDirectPushUpgradeVO.java | 63 +++++++++ .../common/core/enums/EOperationBusiness.java | 3 + .../common/core/enums/EOperationModule.java | 2 + 7 files changed, 271 insertions(+) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java index 311ff9b9..e89fbd50 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java @@ -3,6 +3,7 @@ package com.hzs.activity.recommend.controller; import com.hzs.activity.base.param.QueryActivityParam; import com.hzs.activity.base.service.IActivityService; import com.hzs.activity.base.vo.BaseConfigVo; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService; import com.hzs.activity.recommend.vo.AcRecommendVO; @@ -56,6 +57,24 @@ public class AcRecommendConfigController extends BaseController { return AjaxResult.success(); } + /** + * + * @param acDirectPushUpgradeParam + * @return + */ + @Log(module = EOperationModule.AC_DIRECT_PUSH_UPGRADE, business = EOperationBusiness.AC_DIRECT_PUSH_UPGRADE, method = EOperationMethod.INSERT, remark = "在线签呈") + @PostMapping("/directPushUpgrade") + public AjaxResult directPushUpgradeSubmit(@RequestBody AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + acDirectPushUpgradeParam.setPkCountry(SecurityUtils.getPkCountry()); + acDirectPushUpgradeParam.setPkMember(SecurityUtils.getUserId()); + acDirectPushUpgradeParam.setLoginUser(userTokenService.getLoginUser()); + String str = acRepurCouponsRuleConfigService.directPushUpgradeSubmit(acDirectPushUpgradeParam); + if (str != null) { + return AjaxResult.error(str); + } + return AjaxResult.success(); + } + /** * 直推赠送查看详情 diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java new file mode 100644 index 00000000..e90a725f --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeParam.java @@ -0,0 +1,55 @@ +package com.hzs.activity.recommend.param; + +import com.hzs.activity.base.param.ActivityParam; +import com.hzs.activity.recommend.vo.AcRecommendSharVO; +import com.hzs.activity.recommend.vo.AcRecommendUpgradeVO; +import com.hzs.activity.recommend.vo.AcRepurchaseCouponsShowVO; +import com.hzs.common.domain.activity.base.AcBaseAuthority; +import com.hzs.system.sys.dto.LoginUser; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AcDirectPushUpgradeParam { + /** + * 活动基本配置主键 + */ + private Long pkBaseId; + + /** + * 操作类型(1=新增,2=修改,3=删除) + */ + private Integer controlType; + + /** + * 国家 + */ + private Integer pkCountry; + + /** + * 会员ID + */ + private Long pkMember; + + + /** + * 登录用户信息 + */ + private LoginUser loginUser; + + /** + * 基本信息 + */ + private ActivityParam activityParam; + + /** + * 直推升级 + */ + private List recommendUpgradeList; + +} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java index dd5bca66..e02cb887 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java @@ -2,6 +2,7 @@ package com.hzs.activity.recommend.service; import com.baomidou.mybatisplus.extension.service.IService; import com.hzs.activity.recommend.dto.AcRecommendUpgrade; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.vo.AcRecommendVO; import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig; @@ -74,5 +75,6 @@ public interface IAcRepurCouponsRuleConfigService extends IService recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + for (AcRecommendUpgradeVO recommendUpgradeVO : recommendUpgradeList) { + List giftConfigList = recommendUpgradeVO.getGiftConfigList(); + if (CollUtil.isNotEmpty(giftConfigList)) { + for (AcGiftConfigVO giftConfigVO : giftConfigList) { + Integer pkProduct = giftConfigVO.getPkProduct(); + if (null != pkProduct) { + giftConfigVO.setProductName(iProductServiceApi.getProduct(pkProduct).getData().getProductName()); + } + } + } + } + } + Integer controlType = acDirectPushUpgradeParam.getControlType(); + if (controlType.equals(EControlType.SAVE.getValue())) { + log.info("直推升级新增{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + return saveDirectPushUpgradeData(acDirectPushUpgradeParam); + } else if (controlType.equals(EControlType.MODIFY.getValue())) { + log.info("直推升级修改{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + deleteDirectPushUpgradeData(acDirectPushUpgradeParam); + return saveDirectPushUpgradeData(acDirectPushUpgradeParam); + } else { + log.info("直推升级刪除{}",JSONUtil.toJsonStr(acDirectPushUpgradeParam)); + deleteDirectPushUpgradeData(acDirectPushUpgradeParam); + } + //业务单号 + String businessCode = CommonUtil.createSerialNumber(EOrderPrefix.ACTIVITY_CODE.getValue()); + //日志 + packageDirectPushOperationLog(acDirectPushUpgradeParam, approvalBusiness, businessCode); + return null; + } + + private void packageDirectPushOperationLog(AcDirectPushUpgradeParam param, EApprovalBusiness approvalBusiness, String businessCode) { + //活动的基本信息 + ActivityParam activityParam = param.getActivityParam(); + //推荐升级 + List recommendUpgradeList = param.getRecommendUpgradeList(); + Map transactionMap = iTransactionCommonService.exportEnumTransaction(EControlType.values()); + Integer controlType = param.getControlType(); + controlType = null == controlType ? EControlType.SAVE.getValue() : controlType; + StringBuilder sb = new StringBuilder(); + sb.append("活动名称:").append(activityParam.getActName()) + .append(" 活动说明:").append(activityParam.getActExplain()) + .append(" 活动时间:").append(DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, activityParam.getActStartDate())).append(" 至 ") + .append(DateUtils.parseDateTimeToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, activityParam.getActEndDate())) + .append(" 业务类型:"); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + sb.append(EApprovalBusiness.DIRECT_PUSH_UPGRADE.getLabel()).append(" "); + } + sb.append(" 操作类型:").append(transactionMap.get(EnumsPrefixConstants.CONTROL_TYPE + controlType)); + BusinessLogDTO businessLog = BusinessLogDTO.builder() + .businessType(approvalBusiness.getValue()) + .businessCode(businessCode) + .content(sb.toString()).pkCreator(param.getPkMember()) + .pkCountry(param.getPkCountry()) + .freeSignFlag(false).build(); + rabbitTemplate.convertAndSend(RabbitMqConstants.BUSINESS_LOG_EXCHANGE, RabbitMqConstants.BUSINESS_LOG_KEY, Collections.singleton(businessLog)); + } + + private void deleteDirectPushUpgradeData(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + Long pkBaseId = acDirectPushUpgradeParam.getActivityParam().getPkId(); + Long pkModifyId = acDirectPushUpgradeParam.getPkMember(); + //删除活动基本信息 + iAcBaseConfigService.deleteBaseConfigById(pkBaseId, pkModifyId); + //删除直推升级配置信息 + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + iAcRecomUpgradeRuleConfigService.deleteUpgradeRuleConfigByBaseId(pkBaseId, pkModifyId); + } + } + + + private String saveDirectPushUpgradeData(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + //保存活动基本信息 + String message = saveDirectPushUpgradeBaseConfig(acDirectPushUpgradeParam); + //保存直推升级配置信息 + saveDirectPushUpgradeRuleInfo(acDirectPushUpgradeParam); + return message; + } + + private void saveDirectPushUpgradeRuleInfo(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + AcRecomUpgradeRuleConfig recomUpgradeRuleConfig; + //直推升级规则配置 + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + for (AcRecommendUpgradeVO recommendUpgradeVO : recommendUpgradeList) { + recommendUpgradeVO.setPkCreator(acDirectPushUpgradeParam.getPkMember()); + recommendUpgradeVO.setPkCountry(acDirectPushUpgradeParam.getPkCountry()); + recomUpgradeRuleConfig = BeanUtil.copyProperties(recommendUpgradeVO, AcRecomUpgradeRuleConfig.class); + recomUpgradeRuleConfig.setPkBaseId(acDirectPushUpgradeParam.getPkBaseId()); + iAcRecomUpgradeRuleConfigService.save(recomUpgradeRuleConfig); + List giftConfigs = saveRecommendUpgradeGift(recommendUpgradeVO, recomUpgradeRuleConfig.getPkId()); + giftConfigService.saveBatch(giftConfigs); + } + } + } + + + + private String saveDirectPushUpgradeBaseConfig(AcDirectPushUpgradeParam acDirectPushUpgradeParam) { + ActivityParam activityParam = acDirectPushUpgradeParam.getActivityParam(); + if (null == activityParam) { + return "没有活动的基本信息!"; + } + List recommendUpgradeList = acDirectPushUpgradeParam.getRecommendUpgradeList(); + if (CollUtil.isNotEmpty(recommendUpgradeList)) { + activityParam.setAtcModule(EActModule.DIRECT_PUSH_UPGRADE.getValue()); + } + activityParam.setActType(EActType.RECOMMEND_UPGRADE.getValue()); + //保存基础配置 + activityParam.setPkCreator(acDirectPushUpgradeParam.getPkMember()); + activityParam.setPkCountry(acDirectPushUpgradeParam.getPkCountry()); + AcBaseConfig acBaseConfig = iActivityService.saveBaseConfig(activityParam); + acDirectPushUpgradeParam.setPkBaseId(acBaseConfig.getPkId()); + iActivityService.saveGoalMemberConfig(activityParam, acBaseConfig); + + return null; + } + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java new file mode 100644 index 00000000..c67bebed --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeVO.java @@ -0,0 +1,63 @@ +package com.hzs.activity.recommend.vo; + +import com.hzs.activity.base.vo.AcGiftConfigVO; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AcDirectPushUpgradeVO { + private static final long serialVersionUID = 7140530986849619774L; + + /** + * 主键 + */ + private Long pkId; + + /** + * 活动基本配置主键 + */ + private Long pkBaseId; + + /** + * 结算等级 + */ + private Integer pkSettleGrade; + + /** + * 推荐等级 + */ + private Integer pkRecommendGrade; + + /** + * 推荐数量 + */ + private Integer recommendNumber; + + /** + * 升级等级 + */ + private Integer pkUpgradeGrade; + + /** + * 创建人ID + */ + private Long pkCreator; + + /** + * 国家 + */ + private Integer pkCountry; + + + /** + * 会员类型 (1=等级 2=奖衔 3=权限) + */ + private Integer memberType; + + +} diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java index a5bb49d7..f0952f1d 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationBusiness.java @@ -254,6 +254,9 @@ public enum EOperationBusiness { AC_RECOMMEEND_CONFIG("直推赠送"), + AC_DIRECT_PUSH_UPGRADE("直推升级"), + + AC_WARES_RULE_CONFIG("商品赠送"), AC_TOURISM_CONFIG("旅游活动"), diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java index 68ac3a01..60a4ed28 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EOperationModule.java @@ -353,6 +353,8 @@ public enum EOperationModule { AC_RECOMMEEND_CONFIG("直推赠送"), + AC_DIRECT_PUSH_UPGRADE("直推升级"), + AC_TOURISM_CONFIG("旅游活动"), AC_WARES_RULE_CONFIG("商品赠送"), From 8959ba3663ea403040ce316eb2a6c066d004729b Mon Sep 17 00:00:00 2001 From: zhangheng Date: Tue, 23 Sep 2025 17:56:25 +0800 Subject: [PATCH 75/78] =?UTF-8?q?##=20=E7=9B=B4=E6=8E=A8=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AcRecommendConfigController.java | 16 +++++ .../mapper/AcRecomUpgradeRecordMapper.java | 3 + .../param/AcDirectPushUpgradeListParam.java | 44 ++++++++++++ .../service/IAcRecomUpgradeRecordService.java | 4 ++ .../impl/AcRecomUpgradeRecordServiceImpl.java | 8 +++ .../vo/AcDirectPushUpgradeListVO.java | 68 +++++++++++++++++++ .../recommend/AcRecomUpgradeRecordMapper.xml | 35 ++++++++++ 7 files changed, 178 insertions(+) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeListParam.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeListVO.java diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java index e89fbd50..474565f7 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java @@ -3,8 +3,10 @@ package com.hzs.activity.recommend.controller; import com.hzs.activity.base.param.QueryActivityParam; import com.hzs.activity.base.service.IActivityService; import com.hzs.activity.base.vo.BaseConfigVo; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam; import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; +import com.hzs.activity.recommend.service.IAcRecomUpgradeRecordService; import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService; import com.hzs.activity.recommend.vo.AcRecommendVO; import com.hzs.common.core.annotation.Log; @@ -15,6 +17,7 @@ import com.hzs.common.core.enums.EOperationModule; import com.hzs.common.core.utils.poi.ExcelUtil; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; +import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.security.service.UserTokenService; import com.hzs.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -36,6 +39,8 @@ public class AcRecommendConfigController extends BaseController { IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService; @Autowired private UserTokenService userTokenService; + @Autowired + private IAcRecomUpgradeRecordService iAcRecomUpgradeRecordService; /** @@ -74,6 +79,17 @@ public class AcRecommendConfigController extends BaseController { } return AjaxResult.success(); } + /** + * + * @param param + * @return + */ + @Log(module = EOperationModule.AC_DIRECT_PUSH_UPGRADE, business = EOperationBusiness.AC_DIRECT_PUSH_UPGRADE, method = EOperationMethod.SELECT, remark = "在线签呈") + @GetMapping("/directPushUpgradeList") + public TableDataInfo directPushUpgradeList(AcDirectPushUpgradeListParam param) { + startPage(); + return getDataTable(iAcRecomUpgradeRecordService.queryList(param)); + } /** diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java index 35b630d1..36b0ef85 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java @@ -1,6 +1,8 @@ package com.hzs.activity.recommend.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam; +import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt; import com.hzs.common.domain.sale.order.SaOrder; @@ -39,4 +41,5 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper queryList(AcDirectPushUpgradeListParam param); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeListParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeListParam.java new file mode 100644 index 00000000..02a88f45 --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeListParam.java @@ -0,0 +1,44 @@ +package com.hzs.activity.recommend.param; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AcDirectPushUpgradeListParam { + + /** + * 活动名称 + */ + private String actName; + + /** + * 会员编号 + */ + private String memberCode; + + + /** + * 开始活动开始时间 + */ + private Date startActStartDate; + + /** + * 开始活动结束时间 + */ + private Date startActEndDate; + + /** + * 结束活动开始时间 + */ + private Date endActStartDate; + + /** + * 结束活动结束时间 + */ + private Date endActEndDate; +} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java index 1c4ad2dc..9e7b7a89 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java @@ -1,6 +1,9 @@ package com.hzs.activity.recommend.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam; +import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO; +import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt; import com.hzs.common.domain.sale.order.SaOrder; @@ -52,4 +55,5 @@ public interface IAcRecomUpgradeRecordService extends IService queryList(AcDirectPushUpgradeListParam param); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRecomUpgradeRecordServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRecomUpgradeRecordServiceImpl.java index 2b93c026..3dd8a874 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRecomUpgradeRecordServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRecomUpgradeRecordServiceImpl.java @@ -3,8 +3,11 @@ package com.hzs.activity.recommend.service.impl; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.activity.recommend.mapper.AcRecomUpgradeRecordMapper; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam; import com.hzs.activity.recommend.service.IAcRecomUpgradeRecordService; +import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO; import com.hzs.common.core.enums.EDelFlag; +import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt; import com.hzs.common.domain.sale.order.SaOrder; @@ -53,4 +56,9 @@ public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl queryList(AcDirectPushUpgradeListParam param) { + return baseMapper.queryList(param); + } + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeListVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeListVO.java new file mode 100644 index 00000000..25244b0d --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeListVO.java @@ -0,0 +1,68 @@ +package com.hzs.activity.recommend.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.hzs.common.core.annotation.Excel; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class AcDirectPushUpgradeListVO { + + /** + * 活动名称 + */ + @Excel(name = "活动名称") + private String actName; + /** + * 会员编号 + */ + @Excel(name = "会员编号") + private String memberCode; + /** + * 会员名称 + */ + @Excel(name = "会员名称") + private String memberName; + + /** + * 原等级 + */ + @Excel(name = "原等级") + private String pkSettleGrade; + /** + * 新等级 + */ + @Excel(name = "新等级") + private String pkRecommendGrade; + + /** + * 活动开始时间 + */ + @Excel(name = "活动开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date actStartDate; + + /** + * 活动结束时间 + */ + @Excel(name = "活动结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date actEndDate; + + /** + * 创建时间 + */ + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + /** + * 升级年月 + */ + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd") + private String upgradeTime; + +} diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml index 95d548ca..f1eafbb9 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml @@ -59,5 +59,40 @@ group by so.pk_reference having count(so.pk_reference) >= #{num} + From ff2f6f30c1152d0ff134b9e98419022870e13d4d Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 24 Sep 2025 09:14:19 +0800 Subject: [PATCH 76/78] =?UTF-8?q?##=20=E7=9B=B4=E6=8E=A8=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=92=A4=E5=8D=95=E9=99=8D=E7=BA=A7=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/IMemberServiceApi.java | 19 +- .../activity/dto/AcRecommendUpgradeDTO.java | 7 - .../base/provider/MemberServiceProvider.java | 20 ++ .../service/ICuMemberBusinessService.java | 19 +- .../impl/CuMemberBusinessServiceImpl.java | 32 ++- .../provider/ActivityServiceProvider.java | 4 +- .../service/impl/ActivityServiceImpl.java | 6 +- .../recommend/dto/AcRecommendUpgrade.java | 32 --- .../mapper/AcRecomUpgradeRecordMapper.java | 10 +- .../service/IAcRecomUpgradeRecordService.java | 2 +- .../IAcRepurCouponsRuleConfigService.java | 4 +- .../impl/AcRecomUpgradeRecordServiceImpl.java | 4 +- .../AcRepurCouponsRuleConfigServiceImpl.java | 197 +++++++++--------- .../recommend/vo/AcRecommendSharVO.java | 6 - .../recommend/vo/AcRecommendUpgradeVO.java | 6 - .../activity/recommend/vo/AcRecommendVO.java | 1 - .../vo/AcRepurchaseCouponsShowVO.java | 7 - .../recommend/vo/AcRepurchaseCouponsVO.java | 7 - .../recommend/AcRecomUpgradeRecordMapper.xml | 32 +-- .../mqcall/listener/ActivityBackListener.java | 18 +- 20 files changed, 218 insertions(+), 215 deletions(-) delete mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java index 33fa4a2b..6debd753 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java @@ -284,7 +284,7 @@ public interface IMemberServiceApi { R updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt); /** - * 更新用户等级 + * 更新用户等级 -- 来源于活动 * * @param cuMember 用户信息 * @param saOrder 订单信息 @@ -292,6 +292,23 @@ public interface IMemberServiceApi { */ R updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); + /** + * 用户降级 -- 来源于活动 + * + * @param cuMember 用户信息 + * @param saOrder 订单信息 + */ + R reduceMemberLevel(CuMember cuMember, SaOrder saOrder); + + /** + * 更新升级记录 -- 来源于活动 + * + * @param saOrder 原订单 + * @param newOrder 新订单 + * @return + */ + R changeMemberLevel(SaOrder saOrder, SaOrder newOrder); + /** * 校验是否血缘关系(返回true则有血缘关系) * diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/dto/AcRecommendUpgradeDTO.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/dto/AcRecommendUpgradeDTO.java index 5c36ce25..b3dd209e 100644 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/dto/AcRecommendUpgradeDTO.java +++ b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/dto/AcRecommendUpgradeDTO.java @@ -1,6 +1,5 @@ package com.hzs.activity.dto; - import com.hzs.common.core.enums.EOrderOperateStatus; import com.hzs.common.domain.sale.ext.SaOrderExt; import lombok.AllArgsConstructor; @@ -12,12 +11,6 @@ import java.io.Serializable; /** * 直推-升级DTO - * - * @Description: - * @Author: ljc - * @Time: 2023/4/26 10:27 - * @Classname: AcRepurchaseCouponsDTO - * @Package_name: com.hzs.activity.recommend.dto */ @Data @Builder diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java index 39efa409..2655e529 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java @@ -351,6 +351,26 @@ public class MemberServiceProvider implements IMemberServiceApi { } } + @Override + public R reduceMemberLevel(CuMember cuMember, SaOrder saOrder) { + try { + iCuMemberBusinessService.reduceMemberLevel(cuMember, saOrder); + return R.ok(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + } + + @Override + public R changeMemberLevel(SaOrder saOrder, SaOrder newOrder) { + try { + iCuMemberBusinessService.changeMemberLevel(saOrder, newOrder); + return R.ok(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + } + @Override public R checkParent(String topCode, Long userId) { return R.ok(iCuMemberService.checkParent(topCode, userId) > 0); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java index 165cc5a3..bb9504cc 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java @@ -168,7 +168,7 @@ public interface ICuMemberBusinessService { Boolean updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt); /** - * 更新用户等级 + * 更新用户等级 -- 来源于活动 * * @param cuMember 用户信息 * @param saOrder 订单信息 @@ -176,6 +176,23 @@ public interface ICuMemberBusinessService { */ void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); + /** + * 用户降级 -- 来源于活动 + * + * @param cuMember 用户信息 + * @param saOrder 订单信息 + */ + void reduceMemberLevel(CuMember cuMember, SaOrder saOrder); + + /** + * 更新升级记录 -- 来源于活动 + * + * @param saOrder 原订单 + * @param newOrder 新订单 + * @return + */ + void changeMemberLevel(SaOrder saOrder, SaOrder newOrder); + /** * 查询会员的安置位置 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index 1be5568b..a92dc78e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hzs.activity.pick.IAcPickServiceApi; import com.hzs.bonus.settle.IMemberSettleBonusApi; import com.hzs.common.core.constant.CacheConstants; @@ -61,9 +62,7 @@ import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAccountServiceApi; import com.hzs.system.config.IAreaCurrencyServiceApi; import com.hzs.system.config.IAwardsServiceApi; -import com.hzs.system.config.IGradeServiceApi; import com.hzs.system.config.dto.AreaCurrencyDTO; -import com.hzs.system.config.dto.GradeDTO; import com.hzs.third.pay.ITOnlinePaymentServiceApi; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; @@ -92,8 +91,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { @DubboReference ISaOrderServiceApi iSaOrderServiceApi; @DubboReference - IGradeServiceApi iGradeServiceApi; - @DubboReference IMemberSettleBonusApi iMemberSettleBonusApi; @Autowired @@ -1201,13 +1198,38 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { return null; } - @Override @Transactional(rollbackFor = Exception.class) + @Override public void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) { updateCuMember(cuMember); saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel); } + @Transactional(rollbackFor = Exception.class) + @Override + public void reduceMemberLevel(CuMember cuMember, SaOrder saOrder) { + updateCuMember(cuMember); + iCuMemberLevelService.update(Wrappers.lambdaUpdate() + .eq(CuMemberLevel::getPkMember, cuMember.getPkId()) + .eq(CuMemberLevel::getUpType, EUpgradeType.ACTIVITY_UPGRADE.getValue()) + .eq(CuMemberLevel::getPkOrder, saOrder.getPkId()) + .set(CuMemberLevel::getDelFlag, EDelFlag.DELETE.getValue()) + .set(CuMemberLevel::getUpgradeTime, new Date()) + ); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void changeMemberLevel(SaOrder saOrder, SaOrder newOrder) { + iCuMemberLevelService.update(Wrappers.lambdaUpdate() + .eq(CuMemberLevel::getPkMember, saOrder.getPkReference()) + .eq(CuMemberLevel::getUpType, EUpgradeType.ACTIVITY_UPGRADE.getValue()) + .eq(CuMemberLevel::getPkOrder, saOrder.getPkId()) + .set(CuMemberLevel::getPkOrder, newOrder.getPkId()) + .set(CuMemberLevel::getUpgradeTime, newOrder.getPayTime()) + ); + } + @Override public CuMember queryCuMemberPlaceDept(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve) { Long pkMember = cuMember.getPkParent(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java index bda2b989..28a72cfd 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java @@ -1,11 +1,9 @@ package com.hzs.activity.base.provider; -import cn.hutool.core.bean.BeanUtil; import com.hzs.activity.base.IActivityServiceApi; import com.hzs.activity.base.service.IActivityService; 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.common.core.domain.R; import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig; @@ -81,7 +79,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO) { try { - return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class))); + return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(recommendUpgradeDTO)); } catch (Exception e) { return R.fail(); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java index 0da80568..6490d755 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java @@ -19,8 +19,8 @@ import com.hzs.activity.draw.service.IAcDrawGiftRuleConfigService; import com.hzs.activity.draw.service.IAcDrawRewardNumService; import com.hzs.activity.draw.service.IAcDrawRuleConfigService; import com.hzs.activity.draw.vo.AcDrawGiftRuleConfigVo; +import com.hzs.activity.dto.AcRecommendUpgradeDTO; import com.hzs.activity.pick.service.IAcPickUpConfigService; -import com.hzs.activity.recommend.dto.AcRecommendUpgrade; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService; import com.hzs.activity.wares.service.IAcGiftConfigService; @@ -807,7 +807,7 @@ public class ActivityServiceImpl implements IActivityService { // // 抽奖 // iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt); // 直推升级 - iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder() + iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder() .saOrderExt(saOrderExt) .orderOperateStatus(EOrderOperateStatus.NORMAL) .build()); @@ -815,7 +815,7 @@ public class ActivityServiceImpl implements IActivityService { // // 抽奖 // iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt); // 直推升级 - iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder() + iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder() .saOrderExt(saOrderExt) .orderOperateStatus(EOrderOperateStatus.NORMAL) .build()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java deleted file mode 100644 index 384bf615..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.hzs.activity.recommend.dto; - -import com.hzs.common.core.enums.EOrderOperateStatus; -import com.hzs.common.domain.sale.ext.SaOrderExt; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 直推-升级DTO - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class AcRecommendUpgrade implements Serializable { - private static final long serialVersionUID = 9005728656479475728L; - - /** - * 订单信息 - */ - private SaOrderExt saOrderExt; - - /** - * 订单操作状态 - */ - private EOrderOperateStatus orderOperateStatus; - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java index 35b630d1..07ff813b 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java @@ -33,10 +33,10 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper listRecomOrder(@Param("pkMember") Long pkMember, + @Param("pkGrade") Integer pkGrade, + @Param("num") Integer num, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java index 1c4ad2dc..9387e87f 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java @@ -50,6 +50,6 @@ public interface IAcRecomUpgradeRecordService extends IService listRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java index e02cb887..48ad83da 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java @@ -1,7 +1,7 @@ package com.hzs.activity.recommend.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.activity.recommend.dto.AcRecommendUpgrade; +import com.hzs.activity.dto.AcRecommendUpgradeDTO; import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.vo.AcRecommendVO; @@ -59,7 +59,7 @@ public interface IAcRepurCouponsRuleConfigService extends IService listRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime) { + return baseMapper.listRecomOrder(pkMember, pkGrade, num, startTime, endTime); } } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java index 7d76f1b9..6a94b9db 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java @@ -12,9 +12,8 @@ import com.hzs.activity.base.param.ActivityParam; import com.hzs.activity.base.service.*; import com.hzs.activity.base.vo.AcGiftConfigVO; import com.hzs.activity.base.vo.BaseConfigVo; +import com.hzs.activity.dto.AcRecommendUpgradeDTO; import com.hzs.activity.people.vo.AcBaseConfigVO; -import com.hzs.activity.pick.service.IAcPickService; -import com.hzs.activity.recommend.dto.AcRecommendUpgrade; import com.hzs.activity.recommend.mapper.AcRepurCouponsRuleConfigMapper; import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; @@ -48,7 +47,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.lang.reflect.Member; import java.util.*; import java.util.stream.Collectors; @@ -73,8 +71,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO); - if (CollUtil.isNotEmpty(acBaseConfigs)) { - EOrderOperateStatus orderOperateStatus = acRecommendUpgrade.getOrderOperateStatus(); - for (AcBaseConfig baseConfig : acBaseConfigs) { - if (orderOperateStatus.equals(EOrderOperateStatus.NORMAL)) { - // 正常处理 + public Boolean invokeRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade) { + if (EOrderOperateStatus.NORMAL.equals(acRecommendUpgrade.getOrderOperateStatus())) { + // 正向处理 + AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder() + .actType(EActType.RECOMMEND_UPGRADE.getValue()) + .pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry()) + .build(); + // 查询订单时内的直推活动 + List acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO); + if (CollUtil.isNotEmpty(acBaseConfigs)) { + for (AcBaseConfig baseConfig : acBaseConfigs) { handleRecommendUpgrade(acRecommendUpgrade, baseConfig); - } else { - // 撤单处理 - cancelOrder(acRecommendUpgrade, baseConfig); } } + } else { + // 撤单处理 + handleCancelRecommendUpgrade(acRecommendUpgrade); } return true; } /** - * 处理业务(正常报单) + * 下单处理 */ - private void handleRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) { + private void handleRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade, AcBaseConfig baseConfig) { Date nowDate = new Date(); // 订单信息 SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt(); @@ -658,8 +653,10 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl 0) { startTime = monthFirst; } + List recomOrderList = iAcRecomUpgradeRecordService.listRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime); // 校验推荐人是否可以升级 - if (null == iAcRecomUpgradeRecordService.getRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime)) { + if (CollectionUtil.isEmpty(recomOrderList) + || recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) { return; } // 封装规则升级记录 @@ -699,69 +696,80 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl 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 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); + // 推荐人 + Long pkMember = saOrderExt.getPkReference(); + + List upgradeRecordList = iAcRecomUpgradeRecordService.list(Wrappers.lambdaQuery() + .eq(AcRecomUpgradeRecord::getPkMember, pkMember) + .eq(AcRecomUpgradeRecord::getPkOrderId, pkOrderId) + .orderByDesc(AcRecomUpgradeRecord::getUpgradeTime) + ); + if (CollectionUtil.isNotEmpty(upgradeRecordList)) { + // 会员活动升级记录 + AcRecomUpgradeRecord recomUpgradeRecord = upgradeRecordList.get(0); + // 删除活动升级记录 + iAcRecomUpgradeRecordService.update(Wrappers.lambdaUpdate() + .eq(AcRecomUpgradeRecord::getPkId, recomUpgradeRecord.getPkId()) + .set(AcRecomUpgradeRecord::getDelFlag, EDelFlag.DELETE.getValue()) + .set(AcRecomUpgradeRecord::getModifiedTime, nowDate) + .set(AcRecomUpgradeRecord::getPkModified, saOrderExt.getPkMember()) + ); + + // 推荐会员信息 + CuMember referenceMember = iMemberServiceApi.getMember(pkMember).getData(); + if (!referenceMember.getPkSettleGrade().equals(recomUpgradeRecord.getPkRecommendGrade())) { + // 会员目前等于与这次活动升级不一致,只需要删掉升级记录 + CuMember cuMember = CuMember.builder() + .pkId(pkMember) + .pkSettleGrade(referenceMember.getPkSettleGrade()) + .build(); + iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt); + } else { + // 活动基础配置 + AcBaseConfig baseConfig = iAcBaseConfigService.getById(recomUpgradeRecord.getPkId()); + // 活动基础配置 + AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(recomUpgradeRecord.getPkRuleId()); + // 查询订单时间范围 + // 默认活动开始时间 + Date startTime = baseConfig.getActStartDate(); + // 默认活动结束时间 + Date endTime = baseConfig.getActEndDate(); + // 当月第一天 + Date monthFirst = DateUtils.getFirstDayOfMonth(nowDate); + if (monthFirst.compareTo(startTime) > 0) { + startTime = monthFirst; } + // 当月最后一天 + Date monthLast = DateUtils.getLastDayOfMonth(nowDate); + if (monthLast.compareTo(endTime) < 0) { + endTime = monthLast; + } + List recomOrderList = iAcRecomUpgradeRecordService.listRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime); + // 校验推荐人是否可以升级 + if (CollectionUtil.isEmpty(recomOrderList) + || recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) { + // 订单撤单后,目前订单不够升级了,需要降级 + CuMember cuMember = CuMember.builder() + .pkId(pkMember) + .pkSettleGrade(recomUpgradeRecord.getPkSettleGrade()) + .build(); + iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt); + return; + } + // 足够升级,更新升级记录时间 + SaOrder newOrder = recomOrderList.get(recomOrderList.size() - 1); + iMemberServiceApi.changeMemberLevel(saOrderExt, newOrder); } } - return true; } @@ -792,32 +800,16 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl 0) { - return false; - } else { - return true; - } + return iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) <= 0; case BLOOD_STOP: // 血缘禁止 - if (iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0) { - return false; - } else { - return true; - } + return iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) <= 0; case PLACE_ALLWO: // 安置可见 - if (iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0) { - return true; - } else { - return false; - } + return iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0; case BLOOD_ALLOW: // 血缘可见 - if (iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0) { - return true; - } else { - return false; - } + return iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0; default: } } @@ -862,14 +854,14 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl - + select t.* from ( + select so.* 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 + 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} + and so.order_status = 1 + and so.order_type in (1, 2) + 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}) + order by so.pay_time + ) t + where #{num} >= rownum diff --git a/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityBackListener.java b/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityBackListener.java index 24912842..b8d62d5a 100644 --- a/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityBackListener.java +++ b/bd-third/src/main/java/com/hzs/third/mqcall/listener/ActivityBackListener.java @@ -25,15 +25,16 @@ import java.util.List; public class ActivityBackListener { @DubboReference - IActivityServiceApi activityServiceApi; + IActivityServiceApi iActivityServiceApi; @RabbitListener(bindings = @QueueBinding( exchange = @Exchange(value = RabbitMqConstants.ORDER_CANCEL_EXCHANGE, type = "topic"), value = @Queue(value = RabbitMqConstants.ORDER_CANCEL_ACTIVITY_BACK_QUEUE, durable = "true", autoDelete = "false"), key = RabbitMqConstants.ORDER_CANCEL_KEY)) @RabbitHandler - public void onMessage(Message> message, Channel channel) throws Exception { + public void onMessage(Message> message, Channel channel) { try { + Thread.sleep(500); Long deliveryTag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG); channel.basicAck(deliveryTag, false); @@ -44,15 +45,16 @@ public class ActivityBackListener { if (CollectionUtil.isNotEmpty(saOrderExtList)) { SaOrderExt saOrderExt = saOrderExtList.get(0); - // 处理抽奖 - activityServiceApi.backGiveMemberDrawNum(saOrderExt); +// // 处理抽奖 +// iActivityServiceApi.backGiveMemberDrawNum(saOrderExt); if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType() - || EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType() - || EOrderType.SPECIAL_REGISTER_ORDER.getValue() == saOrderExt.getOrderType() - || EOrderType.SPECIAL_UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) { + || EOrderType.UPGRADE_ORDER.getValue() == saOrderExt.getOrderType()) { // 处理直推升级 - activityServiceApi.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder().saOrderExt(saOrderExt).orderOperateStatus(EOrderOperateStatus.CANCEL).build()); + iActivityServiceApi.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder(). + saOrderExt(saOrderExt). + orderOperateStatus(EOrderOperateStatus.CANCEL) + .build()); } } } catch (Exception e) { From 9c6510f55da89c9e1567d005c7ca878dfe5866c7 Mon Sep 17 00:00:00 2001 From: zhangheng Date: Tue, 23 Sep 2025 17:56:25 +0800 Subject: [PATCH 77/78] =?UTF-8?q?##=20=E7=9B=B4=E6=8E=A8=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AcRecommendConfigController.java | 16 +++++ .../mapper/AcRecomUpgradeRecordMapper.java | 3 + .../param/AcDirectPushUpgradeListParam.java | 44 ++++++++++++ .../service/IAcRecomUpgradeRecordService.java | 4 ++ .../impl/AcRecomUpgradeRecordServiceImpl.java | 8 +++ .../vo/AcDirectPushUpgradeListVO.java | 68 +++++++++++++++++++ .../recommend/AcRecomUpgradeRecordMapper.xml | 35 ++++++++++ 7 files changed, 178 insertions(+) create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeListParam.java create mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeListVO.java diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java index e89fbd50..474565f7 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/controller/AcRecommendConfigController.java @@ -3,8 +3,10 @@ package com.hzs.activity.recommend.controller; import com.hzs.activity.base.param.QueryActivityParam; import com.hzs.activity.base.service.IActivityService; import com.hzs.activity.base.vo.BaseConfigVo; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam; import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; +import com.hzs.activity.recommend.service.IAcRecomUpgradeRecordService; import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService; import com.hzs.activity.recommend.vo.AcRecommendVO; import com.hzs.common.core.annotation.Log; @@ -15,6 +17,7 @@ import com.hzs.common.core.enums.EOperationModule; import com.hzs.common.core.utils.poi.ExcelUtil; import com.hzs.common.core.web.controller.BaseController; import com.hzs.common.core.web.domain.AjaxResult; +import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.security.service.UserTokenService; import com.hzs.common.security.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -36,6 +39,8 @@ public class AcRecommendConfigController extends BaseController { IAcRepurCouponsRuleConfigService acRepurCouponsRuleConfigService; @Autowired private UserTokenService userTokenService; + @Autowired + private IAcRecomUpgradeRecordService iAcRecomUpgradeRecordService; /** @@ -74,6 +79,17 @@ public class AcRecommendConfigController extends BaseController { } return AjaxResult.success(); } + /** + * + * @param param + * @return + */ + @Log(module = EOperationModule.AC_DIRECT_PUSH_UPGRADE, business = EOperationBusiness.AC_DIRECT_PUSH_UPGRADE, method = EOperationMethod.SELECT, remark = "在线签呈") + @GetMapping("/directPushUpgradeList") + public TableDataInfo directPushUpgradeList(AcDirectPushUpgradeListParam param) { + startPage(); + return getDataTable(iAcRecomUpgradeRecordService.queryList(param)); + } /** diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java index 35b630d1..36b0ef85 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java @@ -1,6 +1,8 @@ package com.hzs.activity.recommend.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam; +import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt; import com.hzs.common.domain.sale.order.SaOrder; @@ -39,4 +41,5 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper queryList(AcDirectPushUpgradeListParam param); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeListParam.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeListParam.java new file mode 100644 index 00000000..02a88f45 --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/param/AcDirectPushUpgradeListParam.java @@ -0,0 +1,44 @@ +package com.hzs.activity.recommend.param; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class AcDirectPushUpgradeListParam { + + /** + * 活动名称 + */ + private String actName; + + /** + * 会员编号 + */ + private String memberCode; + + + /** + * 开始活动开始时间 + */ + private Date startActStartDate; + + /** + * 开始活动结束时间 + */ + private Date startActEndDate; + + /** + * 结束活动开始时间 + */ + private Date endActStartDate; + + /** + * 结束活动结束时间 + */ + private Date endActEndDate; +} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java index 1c4ad2dc..9e7b7a89 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java @@ -1,6 +1,9 @@ package com.hzs.activity.recommend.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam; +import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO; +import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt; import com.hzs.common.domain.sale.order.SaOrder; @@ -52,4 +55,5 @@ public interface IAcRecomUpgradeRecordService extends IService queryList(AcDirectPushUpgradeListParam param); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRecomUpgradeRecordServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRecomUpgradeRecordServiceImpl.java index 2b93c026..3dd8a874 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRecomUpgradeRecordServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRecomUpgradeRecordServiceImpl.java @@ -3,8 +3,11 @@ package com.hzs.activity.recommend.service.impl; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.hzs.activity.recommend.mapper.AcRecomUpgradeRecordMapper; +import com.hzs.activity.recommend.param.AcDirectPushUpgradeListParam; import com.hzs.activity.recommend.service.IAcRecomUpgradeRecordService; +import com.hzs.activity.recommend.vo.AcDirectPushUpgradeListVO; import com.hzs.common.core.enums.EDelFlag; +import com.hzs.common.core.web.page.TableDataInfo; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecord; import com.hzs.common.domain.activity.recommend.AcRecomUpgradeRecordExt; import com.hzs.common.domain.sale.order.SaOrder; @@ -53,4 +56,9 @@ public class AcRecomUpgradeRecordServiceImpl extends ServiceImpl queryList(AcDirectPushUpgradeListParam param) { + return baseMapper.queryList(param); + } + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeListVO.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeListVO.java new file mode 100644 index 00000000..25244b0d --- /dev/null +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/vo/AcDirectPushUpgradeListVO.java @@ -0,0 +1,68 @@ +package com.hzs.activity.recommend.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.hzs.common.core.annotation.Excel; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class AcDirectPushUpgradeListVO { + + /** + * 活动名称 + */ + @Excel(name = "活动名称") + private String actName; + /** + * 会员编号 + */ + @Excel(name = "会员编号") + private String memberCode; + /** + * 会员名称 + */ + @Excel(name = "会员名称") + private String memberName; + + /** + * 原等级 + */ + @Excel(name = "原等级") + private String pkSettleGrade; + /** + * 新等级 + */ + @Excel(name = "新等级") + private String pkRecommendGrade; + + /** + * 活动开始时间 + */ + @Excel(name = "活动开始时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date actStartDate; + + /** + * 活动结束时间 + */ + @Excel(name = "活动结束时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date actEndDate; + + /** + * 创建时间 + */ + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date creationTime; + + /** + * 升级年月 + */ + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd") + private String upgradeTime; + +} diff --git a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml index 95d548ca..f1eafbb9 100644 --- a/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml +++ b/bd-business/bd-business-sale/src/main/resources/mapper/activity/recommend/AcRecomUpgradeRecordMapper.xml @@ -59,5 +59,40 @@ group by so.pk_reference having count(so.pk_reference) >= #{num} + From 7a274cf736bf53f1b000a3892e99b319656bf371 Mon Sep 17 00:00:00 2001 From: cabbage <281119120@qq.com> Date: Wed, 24 Sep 2025 09:14:19 +0800 Subject: [PATCH 78/78] =?UTF-8?q?##=20=E7=9B=B4=E6=8E=A8=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=92=A4=E5=8D=95=E9=99=8D=E7=BA=A7=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzs/member/base/IMemberServiceApi.java | 19 +- .../activity/dto/AcRecommendUpgradeDTO.java | 7 - .../base/provider/MemberServiceProvider.java | 20 ++ .../service/ICuMemberBusinessService.java | 19 +- .../impl/CuMemberBusinessServiceImpl.java | 32 ++- .../provider/ActivityServiceProvider.java | 4 +- .../service/impl/ActivityServiceImpl.java | 6 +- .../recommend/dto/AcRecommendUpgrade.java | 32 --- .../mapper/AcRecomUpgradeRecordMapper.java | 10 +- .../service/IAcRecomUpgradeRecordService.java | 2 +- .../IAcRepurCouponsRuleConfigService.java | 4 +- .../impl/AcRecomUpgradeRecordServiceImpl.java | 4 +- .../AcRepurCouponsRuleConfigServiceImpl.java | 197 +++++++++--------- .../recommend/vo/AcRecommendSharVO.java | 6 - .../recommend/vo/AcRecommendUpgradeVO.java | 6 - .../activity/recommend/vo/AcRecommendVO.java | 1 - .../vo/AcRepurchaseCouponsShowVO.java | 7 - .../recommend/vo/AcRepurchaseCouponsVO.java | 7 - .../recommend/AcRecomUpgradeRecordMapper.xml | 32 +-- .../mqcall/listener/ActivityBackListener.java | 18 +- 20 files changed, 218 insertions(+), 215 deletions(-) delete mode 100644 bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java diff --git a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java index 33fa4a2b..6debd753 100644 --- a/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java +++ b/bd-api/bd-api-member/src/main/java/com/hzs/member/base/IMemberServiceApi.java @@ -284,7 +284,7 @@ public interface IMemberServiceApi { R updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt); /** - * 更新用户等级 + * 更新用户等级 -- 来源于活动 * * @param cuMember 用户信息 * @param saOrder 订单信息 @@ -292,6 +292,23 @@ public interface IMemberServiceApi { */ R updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); + /** + * 用户降级 -- 来源于活动 + * + * @param cuMember 用户信息 + * @param saOrder 订单信息 + */ + R reduceMemberLevel(CuMember cuMember, SaOrder saOrder); + + /** + * 更新升级记录 -- 来源于活动 + * + * @param saOrder 原订单 + * @param newOrder 新订单 + * @return + */ + R changeMemberLevel(SaOrder saOrder, SaOrder newOrder); + /** * 校验是否血缘关系(返回true则有血缘关系) * diff --git a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/dto/AcRecommendUpgradeDTO.java b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/dto/AcRecommendUpgradeDTO.java index 5c36ce25..b3dd209e 100644 --- a/bd-api/bd-api-sale/src/main/java/com/hzs/activity/dto/AcRecommendUpgradeDTO.java +++ b/bd-api/bd-api-sale/src/main/java/com/hzs/activity/dto/AcRecommendUpgradeDTO.java @@ -1,6 +1,5 @@ package com.hzs.activity.dto; - import com.hzs.common.core.enums.EOrderOperateStatus; import com.hzs.common.domain.sale.ext.SaOrderExt; import lombok.AllArgsConstructor; @@ -12,12 +11,6 @@ import java.io.Serializable; /** * 直推-升级DTO - * - * @Description: - * @Author: ljc - * @Time: 2023/4/26 10:27 - * @Classname: AcRepurchaseCouponsDTO - * @Package_name: com.hzs.activity.recommend.dto */ @Data @Builder diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java index 39efa409..2655e529 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/provider/MemberServiceProvider.java @@ -351,6 +351,26 @@ public class MemberServiceProvider implements IMemberServiceApi { } } + @Override + public R reduceMemberLevel(CuMember cuMember, SaOrder saOrder) { + try { + iCuMemberBusinessService.reduceMemberLevel(cuMember, saOrder); + return R.ok(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + } + + @Override + public R changeMemberLevel(SaOrder saOrder, SaOrder newOrder) { + try { + iCuMemberBusinessService.changeMemberLevel(saOrder, newOrder); + return R.ok(); + } catch (Exception e) { + return R.fail(e.getMessage()); + } + } + @Override public R checkParent(String topCode, Long userId) { return R.ok(iCuMemberService.checkParent(topCode, userId) > 0); diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java index 165cc5a3..bb9504cc 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/ICuMemberBusinessService.java @@ -168,7 +168,7 @@ public interface ICuMemberBusinessService { Boolean updateCuMemberAccountByDraw(Integer payNum, AcDrawRewardNumExt acDrawRewardNumExt); /** - * 更新用户等级 + * 更新用户等级 -- 来源于活动 * * @param cuMember 用户信息 * @param saOrder 订单信息 @@ -176,6 +176,23 @@ public interface ICuMemberBusinessService { */ void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel); + /** + * 用户降级 -- 来源于活动 + * + * @param cuMember 用户信息 + * @param saOrder 订单信息 + */ + void reduceMemberLevel(CuMember cuMember, SaOrder saOrder); + + /** + * 更新升级记录 -- 来源于活动 + * + * @param saOrder 原订单 + * @param newOrder 新订单 + * @return + */ + void changeMemberLevel(SaOrder saOrder, SaOrder newOrder); + /** * 查询会员的安置位置 * diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java index 1be5568b..a92dc78e 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/member/base/service/impl/CuMemberBusinessServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.hzs.activity.pick.IAcPickServiceApi; import com.hzs.bonus.settle.IMemberSettleBonusApi; import com.hzs.common.core.constant.CacheConstants; @@ -61,9 +62,7 @@ import com.hzs.system.base.dto.CurrencyDTO; import com.hzs.system.config.IAccountServiceApi; import com.hzs.system.config.IAreaCurrencyServiceApi; import com.hzs.system.config.IAwardsServiceApi; -import com.hzs.system.config.IGradeServiceApi; import com.hzs.system.config.dto.AreaCurrencyDTO; -import com.hzs.system.config.dto.GradeDTO; import com.hzs.third.pay.ITOnlinePaymentServiceApi; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; @@ -92,8 +91,6 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { @DubboReference ISaOrderServiceApi iSaOrderServiceApi; @DubboReference - IGradeServiceApi iGradeServiceApi; - @DubboReference IMemberSettleBonusApi iMemberSettleBonusApi; @Autowired @@ -1201,13 +1198,38 @@ public class CuMemberBusinessServiceImpl implements ICuMemberBusinessService { return null; } - @Override @Transactional(rollbackFor = Exception.class) + @Override public void updateMemberLevel(CuMember cuMember, SaOrder saOrder, Integer pkOldLevel) { updateCuMember(cuMember); saveLevelUpgrade(cuMember, EUpgradeType.ACTIVITY_UPGRADE.getValue(), saOrder, pkOldLevel); } + @Transactional(rollbackFor = Exception.class) + @Override + public void reduceMemberLevel(CuMember cuMember, SaOrder saOrder) { + updateCuMember(cuMember); + iCuMemberLevelService.update(Wrappers.lambdaUpdate() + .eq(CuMemberLevel::getPkMember, cuMember.getPkId()) + .eq(CuMemberLevel::getUpType, EUpgradeType.ACTIVITY_UPGRADE.getValue()) + .eq(CuMemberLevel::getPkOrder, saOrder.getPkId()) + .set(CuMemberLevel::getDelFlag, EDelFlag.DELETE.getValue()) + .set(CuMemberLevel::getUpgradeTime, new Date()) + ); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void changeMemberLevel(SaOrder saOrder, SaOrder newOrder) { + iCuMemberLevelService.update(Wrappers.lambdaUpdate() + .eq(CuMemberLevel::getPkMember, saOrder.getPkReference()) + .eq(CuMemberLevel::getUpType, EUpgradeType.ACTIVITY_UPGRADE.getValue()) + .eq(CuMemberLevel::getPkOrder, saOrder.getPkId()) + .set(CuMemberLevel::getPkOrder, newOrder.getPkId()) + .set(CuMemberLevel::getUpgradeTime, newOrder.getPayTime()) + ); + } + @Override public CuMember queryCuMemberPlaceDept(CuMember cuMember, Boolean isFirst, Boolean isFirstAchieve) { Long pkMember = cuMember.getPkParent(); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java index bda2b989..28a72cfd 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/provider/ActivityServiceProvider.java @@ -1,11 +1,9 @@ package com.hzs.activity.base.provider; -import cn.hutool.core.bean.BeanUtil; import com.hzs.activity.base.IActivityServiceApi; import com.hzs.activity.base.service.IActivityService; 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.common.core.domain.R; import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig; @@ -81,7 +79,7 @@ public class ActivityServiceProvider implements IActivityServiceApi { @Override public R invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO) { try { - return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(BeanUtil.copyProperties(recommendUpgradeDTO, AcRecommendUpgrade.class))); + return R.ok(iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(recommendUpgradeDTO)); } catch (Exception e) { return R.fail(); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java index 0da80568..6490d755 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/base/service/impl/ActivityServiceImpl.java @@ -19,8 +19,8 @@ import com.hzs.activity.draw.service.IAcDrawGiftRuleConfigService; import com.hzs.activity.draw.service.IAcDrawRewardNumService; import com.hzs.activity.draw.service.IAcDrawRuleConfigService; import com.hzs.activity.draw.vo.AcDrawGiftRuleConfigVo; +import com.hzs.activity.dto.AcRecommendUpgradeDTO; import com.hzs.activity.pick.service.IAcPickUpConfigService; -import com.hzs.activity.recommend.dto.AcRecommendUpgrade; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.service.IAcRepurCouponsRuleConfigService; import com.hzs.activity.wares.service.IAcGiftConfigService; @@ -807,7 +807,7 @@ public class ActivityServiceImpl implements IActivityService { // // 抽奖 // iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt); // 直推升级 - iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder() + iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder() .saOrderExt(saOrderExt) .orderOperateStatus(EOrderOperateStatus.NORMAL) .build()); @@ -815,7 +815,7 @@ public class ActivityServiceImpl implements IActivityService { // // 抽奖 // iAcDrawRewardNumService.giveMemberDrawNum(saOrderExt); // 直推升级 - iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgrade.builder() + iAcRepurCouponsRuleConfigService.invokeRecommendUpgrade(AcRecommendUpgradeDTO.builder() .saOrderExt(saOrderExt) .orderOperateStatus(EOrderOperateStatus.NORMAL) .build()); diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java deleted file mode 100644 index 384bf615..00000000 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/dto/AcRecommendUpgrade.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.hzs.activity.recommend.dto; - -import com.hzs.common.core.enums.EOrderOperateStatus; -import com.hzs.common.domain.sale.ext.SaOrderExt; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 直推-升级DTO - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class AcRecommendUpgrade implements Serializable { - private static final long serialVersionUID = 9005728656479475728L; - - /** - * 订单信息 - */ - private SaOrderExt saOrderExt; - - /** - * 订单操作状态 - */ - private EOrderOperateStatus orderOperateStatus; - -} diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java index 36b0ef85..1a4eb4f3 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/mapper/AcRecomUpgradeRecordMapper.java @@ -35,11 +35,11 @@ public interface AcRecomUpgradeRecordMapper extends BaseMapper listRecomOrder(@Param("pkMember") Long pkMember, + @Param("pkGrade") Integer pkGrade, + @Param("num") Integer num, + @Param("startTime") Date startTime, + @Param("endTime") Date endTime); List queryList(AcDirectPushUpgradeListParam param); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java index 9e7b7a89..152a7874 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRecomUpgradeRecordService.java @@ -53,7 +53,7 @@ public interface IAcRecomUpgradeRecordService extends IService listRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime); List queryList(AcDirectPushUpgradeListParam param); } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java index e02cb887..48ad83da 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/IAcRepurCouponsRuleConfigService.java @@ -1,7 +1,7 @@ package com.hzs.activity.recommend.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.hzs.activity.recommend.dto.AcRecommendUpgrade; +import com.hzs.activity.dto.AcRecommendUpgradeDTO; import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; import com.hzs.activity.recommend.vo.AcRecommendVO; @@ -59,7 +59,7 @@ public interface IAcRepurCouponsRuleConfigService extends IService listRecomOrder(Long pkMember, Integer pkGrade, Integer num, Date startTime, Date endTime) { + return baseMapper.listRecomOrder(pkMember, pkGrade, num, startTime, endTime); } @Override diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java index 7d76f1b9..6a94b9db 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/activity/recommend/service/impl/AcRepurCouponsRuleConfigServiceImpl.java @@ -12,9 +12,8 @@ import com.hzs.activity.base.param.ActivityParam; import com.hzs.activity.base.service.*; import com.hzs.activity.base.vo.AcGiftConfigVO; import com.hzs.activity.base.vo.BaseConfigVo; +import com.hzs.activity.dto.AcRecommendUpgradeDTO; import com.hzs.activity.people.vo.AcBaseConfigVO; -import com.hzs.activity.pick.service.IAcPickService; -import com.hzs.activity.recommend.dto.AcRecommendUpgrade; import com.hzs.activity.recommend.mapper.AcRepurCouponsRuleConfigMapper; import com.hzs.activity.recommend.param.AcDirectPushUpgradeParam; import com.hzs.activity.recommend.param.AcRecommendParam; @@ -48,7 +47,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.lang.reflect.Member; import java.util.*; import java.util.stream.Collectors; @@ -73,8 +71,6 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO); - if (CollUtil.isNotEmpty(acBaseConfigs)) { - EOrderOperateStatus orderOperateStatus = acRecommendUpgrade.getOrderOperateStatus(); - for (AcBaseConfig baseConfig : acBaseConfigs) { - if (orderOperateStatus.equals(EOrderOperateStatus.NORMAL)) { - // 正常处理 + public Boolean invokeRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade) { + if (EOrderOperateStatus.NORMAL.equals(acRecommendUpgrade.getOrderOperateStatus())) { + // 正向处理 + AcBaseConfigVO baseConfigVO = AcBaseConfigVO.builder() + .actType(EActType.RECOMMEND_UPGRADE.getValue()) + .pkCountry(acRecommendUpgrade.getSaOrderExt().getPkCountry()) + .build(); + // 查询订单时内的直推活动 + List acBaseConfigs = iAcBaseConfigService.selectBaseConfigByType(baseConfigVO); + if (CollUtil.isNotEmpty(acBaseConfigs)) { + for (AcBaseConfig baseConfig : acBaseConfigs) { handleRecommendUpgrade(acRecommendUpgrade, baseConfig); - } else { - // 撤单处理 - cancelOrder(acRecommendUpgrade, baseConfig); } } + } else { + // 撤单处理 + handleCancelRecommendUpgrade(acRecommendUpgrade); } return true; } /** - * 处理业务(正常报单) + * 下单处理 */ - private void handleRecommendUpgrade(AcRecommendUpgrade acRecommendUpgrade, AcBaseConfig baseConfig) { + private void handleRecommendUpgrade(AcRecommendUpgradeDTO acRecommendUpgrade, AcBaseConfig baseConfig) { Date nowDate = new Date(); // 订单信息 SaOrderExt saOrderExt = acRecommendUpgrade.getSaOrderExt(); @@ -658,8 +653,10 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl 0) { startTime = monthFirst; } + List recomOrderList = iAcRecomUpgradeRecordService.listRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime); // 校验推荐人是否可以升级 - if (null == iAcRecomUpgradeRecordService.getRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime)) { + if (CollectionUtil.isEmpty(recomOrderList) + || recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) { return; } // 封装规则升级记录 @@ -699,69 +696,80 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl 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 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); + // 推荐人 + Long pkMember = saOrderExt.getPkReference(); + + List upgradeRecordList = iAcRecomUpgradeRecordService.list(Wrappers.lambdaQuery() + .eq(AcRecomUpgradeRecord::getPkMember, pkMember) + .eq(AcRecomUpgradeRecord::getPkOrderId, pkOrderId) + .orderByDesc(AcRecomUpgradeRecord::getUpgradeTime) + ); + if (CollectionUtil.isNotEmpty(upgradeRecordList)) { + // 会员活动升级记录 + AcRecomUpgradeRecord recomUpgradeRecord = upgradeRecordList.get(0); + // 删除活动升级记录 + iAcRecomUpgradeRecordService.update(Wrappers.lambdaUpdate() + .eq(AcRecomUpgradeRecord::getPkId, recomUpgradeRecord.getPkId()) + .set(AcRecomUpgradeRecord::getDelFlag, EDelFlag.DELETE.getValue()) + .set(AcRecomUpgradeRecord::getModifiedTime, nowDate) + .set(AcRecomUpgradeRecord::getPkModified, saOrderExt.getPkMember()) + ); + + // 推荐会员信息 + CuMember referenceMember = iMemberServiceApi.getMember(pkMember).getData(); + if (!referenceMember.getPkSettleGrade().equals(recomUpgradeRecord.getPkRecommendGrade())) { + // 会员目前等于与这次活动升级不一致,只需要删掉升级记录 + CuMember cuMember = CuMember.builder() + .pkId(pkMember) + .pkSettleGrade(referenceMember.getPkSettleGrade()) + .build(); + iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt); + } else { + // 活动基础配置 + AcBaseConfig baseConfig = iAcBaseConfigService.getById(recomUpgradeRecord.getPkId()); + // 活动基础配置 + AcRecomUpgradeRuleConfig upgradeRuleConfig = iAcRecomUpgradeRuleConfigService.getById(recomUpgradeRecord.getPkRuleId()); + // 查询订单时间范围 + // 默认活动开始时间 + Date startTime = baseConfig.getActStartDate(); + // 默认活动结束时间 + Date endTime = baseConfig.getActEndDate(); + // 当月第一天 + Date monthFirst = DateUtils.getFirstDayOfMonth(nowDate); + if (monthFirst.compareTo(startTime) > 0) { + startTime = monthFirst; } + // 当月最后一天 + Date monthLast = DateUtils.getLastDayOfMonth(nowDate); + if (monthLast.compareTo(endTime) < 0) { + endTime = monthLast; + } + List recomOrderList = iAcRecomUpgradeRecordService.listRecomOrder(pkMember, upgradeRuleConfig.getPkRecommendGrade(), upgradeRuleConfig.getRecommendNumber(), startTime, endTime); + // 校验推荐人是否可以升级 + if (CollectionUtil.isEmpty(recomOrderList) + || recomOrderList.size() != upgradeRuleConfig.getRecommendNumber()) { + // 订单撤单后,目前订单不够升级了,需要降级 + CuMember cuMember = CuMember.builder() + .pkId(pkMember) + .pkSettleGrade(recomUpgradeRecord.getPkSettleGrade()) + .build(); + iMemberServiceApi.reduceMemberLevel(cuMember, saOrderExt); + return; + } + // 足够升级,更新升级记录时间 + SaOrder newOrder = recomOrderList.get(recomOrderList.size() - 1); + iMemberServiceApi.changeMemberLevel(saOrderExt, newOrder); } } - return true; } @@ -792,32 +800,16 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl 0) { - return false; - } else { - return true; - } + return iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) <= 0; case BLOOD_STOP: // 血缘禁止 - if (iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0) { - return false; - } else { - return true; - } + return iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) <= 0; case PLACE_ALLWO: // 安置可见 - if (iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0) { - return true; - } else { - return false; - } + return iAcBaseAuthorityService.checkPlaceParent(pkMember, memberCodeList) > 0; case BLOOD_ALLOW: // 血缘可见 - if (iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0) { - return true; - } else { - return false; - } + return iAcBaseAuthorityService.checkParent(pkMember, memberCodeList) > 0; default: } } @@ -862,14 +854,14 @@ public class AcRepurCouponsRuleConfigServiceImpl extends ServiceImpl - + select t.* from ( + select so.* 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 + 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} + and so.order_status = 1 + and so.order_type in (1, 2) + 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}) + order by so.pay_time + ) t + where #{num} >= rownum