zhijiezhao 3 years ago
parent
commit
ffd9e91d08

+ 9 - 0
src/main/java/com/caimei365/order/controller/PayNonOrderApi.java

@@ -228,6 +228,9 @@ public class PayNonOrderApi {
     @ApiOperation("购买价值优惠券-微信线上支付")
     @PostMapping("/coupon/wechat")
     public ResponseJson<JSONObject> payCouponByWeChat(PayCouponDto payCouponDto, @RequestHeader HttpHeaders headers) {
+        if (null == payCouponDto.getSource()) {
+            return ResponseJson.error("领取渠道不能为空!", null);
+        }
         if (null == payCouponDto.getCouponId()) {
             return ResponseJson.error("优惠券Id不能为空!", null);
         }
@@ -252,6 +255,9 @@ public class PayNonOrderApi {
     @ApiOperation("购买价值优惠券-支付宝线上支付")
     @PostMapping("/coupon/alipay")
     public ResponseJson<JSONObject> payCouponByAlipay(PayCouponDto payCouponDto, @RequestHeader HttpHeaders headers) {
+        if (null == payCouponDto.getSource()) {
+            return ResponseJson.error("领取渠道不能为空!", null);
+        }
         if (null == payCouponDto.getCouponId()) {
             return ResponseJson.error("优惠券Id不能为空!", null);
         }
@@ -275,6 +281,9 @@ public class PayNonOrderApi {
     @ApiOperation("购买价值优惠券-银联线上支付")
     @PostMapping("/coupon/union")
     public ResponseJson<JSONObject> payCouponByUnionPay(PayCouponDto payCouponDto, @RequestHeader HttpHeaders headers) {
+        if (null == payCouponDto.getSource()) {
+            return ResponseJson.error("领取渠道不能为空!", null);
+        }
         if (null == payCouponDto.getUserId()) {
             return ResponseJson.error("用户id不能为空!", null);
         }

+ 5 - 0
src/main/java/com/caimei365/order/model/bo/PayParamBo.java

@@ -89,4 +89,9 @@ public class PayParamBo implements Serializable {
      * 购买优惠券id
      */
     private Integer couponId;
+    /**
+     *  1小程序 2网站
+     */
+    @ApiModelProperty("领取渠道1小程序 2网站")
+    private Integer source;
 }

+ 6 - 0
src/main/java/com/caimei365/order/model/dto/PayCouponDto.java

@@ -45,4 +45,10 @@ public class PayCouponDto implements Serializable {
      */
     @ApiModelProperty("用户类型(银联支付使用)企业:ENTERPRISE,个人:USER")
     private String userType;
+
+    /**
+     *  1小程序 2网站
+     */
+    @ApiModelProperty("领取渠道1小程序 2网站")
+    private Integer source;
 }

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

@@ -802,8 +802,8 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
         payParam.setPayType("GATEWAY_UNIONPAY");
         // 获取会员套餐价格
         Double price = payOrderMapper.getCouponPrice(payCouponDto.getCouponId());
-        if("ENTERPRISE".equals(payCouponDto.getUserType())&&price<=8){
-            return ResponseJson.error("企业网银支付金额低于手续费!",null);
+        if ("ENTERPRISE".equals(payCouponDto.getUserType()) && price <= 8) {
+            return ResponseJson.error("企业网银支付金额低于手续费!", null);
         }
         payParam.setPayAmount(MathUtil.mul(price, 100).intValue());
         payParam.setNotifyUrl(couponUrl);
@@ -840,7 +840,7 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
             json.put("product", product);
             //支付类型
             String payType = PayUtil.getPayTypeId(payParam.getPayType(), payParam.getUserType());
-            String attach = payParam.getCouponId() + "," + payParam.getUserId() + "," + payParam.getCouponRecordId() + "," + payType;
+            String attach = payParam.getCouponId() + "," + payParam.getUserId() + "," + payParam.getCouponRecordId() + "," + payType + "," + payParam.getSource();
             json.put("attach", attach);
             // 价值优惠券默认公账专票,彩美信息
             List<Map<String, String>> list = new ArrayList<>();
@@ -934,6 +934,7 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
         int userId = 0;
         int recordId = 0;
         int payType = 0;
+        int source = 0;
         try {
             // 优惠券Id
             couponId = Integer.parseInt(split[0]);
@@ -943,15 +944,19 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
             recordId = Integer.parseInt(split[2]);
             // 支付方式
             payType = Integer.parseInt(split[3]);
+            //购买渠道
+            source=Integer.parseInt(split[4]);
         } catch (NumberFormatException e) {
             log.info("【购买优惠券异步回调】>>>>>>>>>>>>>>获取回调参数解析失败!");
         }
         //cm_coupon_club数据库修改
         CouponClubPo couponClubPo = new CouponClubPo();
+        couponClubPo.setSource(source);
         couponClubPo.setUserId(userId);
         couponClubPo.setCouponId(couponId);
         couponClubPo.setStatus("1");
         couponClubPo.setDelFlag("0");
+        couponClubPo.setCreateDate(new Date());
         orderClubMapper.insertCouponClub(couponClubPo);
         // 改历史记录支付状态
         payOrderMapper.updateCouponRecord(recordId);