소스 검색

Merge remote-tracking branch 'origin/developerA' into developerA

# Conflicts:
#	src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java
Aslee 3 년 전
부모
커밋
ccf44e430c

+ 5 - 3
src/main/java/com/caimei365/order/service/impl/PayNonOrderServiceImpl.java

@@ -17,6 +17,7 @@ import com.caimei365.order.model.po.UserVipPo;
 import com.caimei365.order.model.vo.DiscernReceiptVo;
 import com.caimei365.order.model.vo.OrderPayLinkVo;
 import com.caimei365.order.service.PayNonOrderService;
+import com.caimei365.order.utils.CodeUtil;
 import com.caimei365.order.utils.MathUtil;
 import com.caimei365.order.utils.PayUtil;
 import com.caimei365.order.utils.pay.RSAUtil;
@@ -553,9 +554,9 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
             // 用户Id
             userId = Integer.parseInt(split[1]);
             // 购买历史记录Id
-            recordId = Integer.valueOf(split[2]);
+            recordId = Integer.parseInt(split[2]);
             // 支付方式
-            payType = Integer.valueOf(split[3]);
+            payType = Integer.parseInt(split[3]);
         } catch (NumberFormatException e) {
             log.info("【升级超级会员异步回调】>>>>>>>>>>>>>>获取回调参数解析失败!");
         }
@@ -656,7 +657,8 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
         long time = System.currentTimeMillis() / 1000;
         json.put("time", time);
         //商户退款流水号,由商户自行生成,必须唯一
-        String merchantRefundNo = payVipDto.getCode() + payVipDto.getVipRecordId() + "##" + discernReceipt.getId();
+        String randomLetter = CodeUtil.randomLetter(6);
+        String merchantRefundNo = payVipDto.getVipRecordId() + payVipDto.getCode() +  randomLetter + "##" + discernReceipt.getId();
         json.put("merchantRefundNo", merchantRefundNo);
         //退款金额,单位分,必须大于0
         double refundAmt = MathUtil.mul(discernReceipt.getAssociateAmount(), 100).doubleValue();

+ 8 - 1
src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java

@@ -785,7 +785,7 @@ public class PayOrderServiceImpl implements PayOrderService {
             log.info("【支付异步回调】>>>>>>>>>>>>>>>>>>>>>>>>>>订单商品充值余额(insert[cm_user_balance_record])orderId:" + orderId);
         }
 
-        // 线上支付与自主下单送豆
+        // 线上支付与自主下单送豆(已全部收款),最后一笔线上支付成功后,赠送200采美豆
         if (3 == order.getReceiptStatus() && 0 == order.getSecondHandOrderFlag()) {
             UserBeansHistoryPo beansHistory = new UserBeansHistoryPo();
             beansHistory.setUserId(order.getUserId());
@@ -806,6 +806,7 @@ public class PayOrderServiceImpl implements PayOrderService {
             // 自主下单且没有促销活动送豆
             Integer orderPromotionsId = payOrderMapper.getOrderPromotionsId(order.getOrderId());
             if (1 == order.getOrderType() && null == orderPromotionsId) {
+                // 机构自主下单,根据订单总额的价格区间赠送采美豆数量规则
                 Double payTotalFee = order.getPayTotalFee();
                 int num;
                 if (MathUtil.compare(1000, payTotalFee) > -1) {
@@ -825,6 +826,12 @@ public class PayOrderServiceImpl implements PayOrderService {
                 } else {
                     num = 20000;
                 }
+                // 超级会员用户标识
+                Integer svipUserId = baseMapper.getSvipUserIdByUserId(order.getUserId());
+                if (null != svipUserId && svipUserId.equals(order.getUserId())){
+                    // 超级会员用户采美豆翻倍
+                    num = num * 2;
+                }
                 beansHistory.setBeansType(5);
                 beansHistory.setNum(num);
                 if (num > 0) {