From 1f61b13ac9e766aea061d80148052036ddc4f682 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 11 Apr 2023 14:10:46 +0800
Subject: [PATCH] 后台修改
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java | 77 +++++++++++++++++++++++---------------
1 files changed, 47 insertions(+), 30 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index bc1e7d1..f979cc0 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -326,35 +326,10 @@
orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
orderInfo.setPayTime(new Date());
orderInfo.setPayResult("1");
+ this.baseMapper.updateById(orderInfo);
+ //新增业绩,第一次购买套餐则升级用户为普通会员
- boolean hasTc = false;
- BigDecimal achieveAmount = BigDecimal.ZERO;
- List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId());
- if (CollUtil.isNotEmpty(orderItems)) {
- for (MallOrderItem orderItem : orderItems) {
- MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId());
- MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
- if (mallGoods.getIsNormal() == 2) {
- hasTc = true;
- achieveAmount = achieveAmount.add(sku.getPresentPrice().multiply(new BigDecimal(orderItem.getCnt())));
- }
- }
- }
-
-
- if (hasTc){
- if(achieveAmount.compareTo(BigDecimal.ZERO) > 0) {
- // 添加业绩
- MallAchieveRecord mallAchieveRecord = new MallAchieveRecord();
- mallAchieveRecord.setMemberId(member.getId());
- mallAchieveRecord.setAmount(achieveAmount);
- mallAchieveRecord.setAchieveTime(orderInfo.getPayTime());
- mallAchieveRecord.setOrderId(orderInfo.getId());
- mallAchieveRecord.setIsNormal(2);
- mallAchieveRecord.setPayTime(orderInfo.getPayTime());
- mallAchieveRecordMapper.insert(mallAchieveRecord);
- }
- }
+ addAchieveAndUpdateLevel(orderInfo.getId(),member.getId());
mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
agentProducer.sendAutoLevelUpMsg(member.getId());
@@ -365,7 +340,7 @@
if (orderInfo.getOrderType() != 2) {
throw new FebsException("非积分订单,无法使用积分支付");
}
- payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore");
+ payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "score");
orderInfo.setPayOrderNo(orderInfo.getOrderNo());
orderInfo.setPayMethod("积分支付");
@@ -373,7 +348,7 @@
orderInfo.setPayTime(new Date());
orderInfo.setPayResult("1");
- mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.PRIZE_SCORE.getValue());
+ mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
break;
case "5":
// AgreementSignDto agreementSignDto = new AgreementSignDto();
@@ -451,6 +426,48 @@
return map;
}
+ /**
+ * 新增业绩,第一次购买套餐则升级用户为普通会员
+ * @param orderId
+ * @param memberId
+ */
+ private void addAchieveAndUpdateLevel(Long orderId,Long memberId){
+ MallOrderInfo orderInfo = this.baseMapper.selectById(orderId);
+ MallMember member = memberMapper.selectById(memberId);
+
+ boolean hasTc = false;
+ BigDecimal achieveAmount = BigDecimal.ZERO;
+ List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderId);
+ if (CollUtil.isNotEmpty(orderItems)) {
+ for (MallOrderItem orderItem : orderItems) {
+ MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId());
+ MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
+ if (mallGoods.getIsNormal() == 2) {
+ hasTc = true;
+ achieveAmount = achieveAmount.add(sku.getPresentPrice().multiply(new BigDecimal(orderItem.getCnt())));
+ }
+ }
+ }
+
+ if (hasTc){
+ if(achieveAmount.compareTo(BigDecimal.ZERO) > 0) {
+ // 添加业绩
+ MallAchieveRecord mallAchieveRecord = new MallAchieveRecord();
+ mallAchieveRecord.setMemberId(memberId);
+ mallAchieveRecord.setAmount(achieveAmount);
+ mallAchieveRecord.setAchieveTime(orderInfo.getPayTime());
+ mallAchieveRecord.setOrderId(orderInfo.getId());
+ mallAchieveRecord.setIsNormal(2);
+ mallAchieveRecord.setPayTime(orderInfo.getPayTime());
+ mallAchieveRecordMapper.insert(mallAchieveRecord);
+ }
+ if(member.getLevel().equals(MemberLevelEnum.FANS.getType())){
+ member.setLevel(MemberLevelEnum.NORMAL.getType());
+ memberMapper.updateById(member);
+ }
+ }
+ }
+
public static void main(String[] args) {
String str = "{\"biz_code\":\"JS000000\",\"biz_msg\":\"成功\",\"data\":\"{\\\"order_status\\\":\\\"P2000\\\",\\\"jp_order_no\\\":\\\"100120220826446740396081496064\\\",\\\"err_msg\\\":\\\"短信验证码不符\\\",\\\"err_code\\\":\\\"CP110026\\\",\\\"sign_no\\\":\\\"\\\",\\\"mch_order_no\\\":\\\"NO_2022082618263952399\\\"}\",\"mch_no\":\"888118000001971\",\"rand_str\":\"an2w7ulf5ru6upkk5bdg441kdi3gnpvu\",\"resp_code\":\"SUCCESS\",\"sec_key\":\"\",\"sign\":\"NiJXRTSIZ9xZMUOwEHiEHdZXmgL2cHUU5WUa1NbMRRzui0DIiuZSW4e31LjnBxwVwmy3uuPMP+tqhY8VLyC8uCFOdGdZI7e72VuRvyvaiW7/sqCrsfgPOBEjiGE/CmSMRoEXv9HmqCyNBF6iHSEhQJql5Yge30dQdyB6xFfqjk0=\",\"sign_type\":\"2\"}";
--
Gitblit v1.9.1