Bladeren bron

苹果支付

小么熊🐻 2 jaren geleden
bovenliggende
commit
6b9ce170b7

+ 4 - 3
jsjp-admin/src/main/java/com/miaxis/app/controller/applePay/ApplePayController.java

@@ -10,6 +10,7 @@ import com.miaxis.common.core.controller.BaseController;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.exception.CustomException;
 import com.miaxis.common.utils.IosVerifyUtil;
+import com.miaxis.order.service.IOrderInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -43,7 +44,8 @@ public class ApplePayController extends BaseController {
     @Autowired
     private IApplepayOrderService applepayOrderService;
 
-
+    @Autowired
+    private IOrderInfoService orderInfoService;
 
     /**
      * TransactionID:苹果配置的产品id
@@ -78,10 +80,9 @@ public class ApplePayController extends BaseController {
                     JSONObject jo = in_app.getJSONObject(i);
                     ApplepayOrder applepayOrder = JSONObject.toJavaObject(jo,ApplepayOrder.class);
                     applepayOrderService.save(applepayOrder);
-                    //todo 订单主表数据持久化
+                    orderInfoService.writeVipDataToDb(applepayOrder.getGoodsName(),applepayOrder.getUserId(),applepayOrder.getUserName(),applepayOrder.getTransactionId(),applepayOrder.getTotal(),3);
                 }
                 //todo 业务处理
-
             }else{
                 throw new CustomException("订单支付异常");
             }

+ 3 - 119
jsjp-admin/src/main/java/com/miaxis/app/controller/wx/WxNotifyController.java

@@ -384,133 +384,17 @@ public class WxNotifyController {
         wxJsOrder.setOrderStatus("2");
 
         //插入VIP信息
-        writeVipDataToDb2(wxJsOrder);
+        writeVipDataToDb(wxJsOrder);
+        orderInfoService.writeVipDataToDb(wxJsOrder.getGoodsName(),wxJsOrder.getUserId(),wxJsOrder.getUserName(),wxJsOrder.getOutTradeNo(),wxJsOrder.getTotal(),1);
         wxJsOrderService.updateById(wxJsOrder);
 
     }
 
 
-    @Transactional
-    public void writeVipDataToDb(WxJsOrder wxJsOrder) {
-        long oneYearLong = 1000 * 60 * 60 * 24 * 365l;
-        Date now = new Date();
-
-        if ("科目二视频".equals(wxJsOrder.getGoodsName())) {
-            GzptVideoVipDTO gzptVideoVipDTO = new GzptVideoVipDTO();
-            gzptVideoVipDTO.setUserId(wxJsOrder.getUserId());
-            GzptVideoVip gv = videoVipService.getGzptVideoVipByUserIdForLocal(gzptVideoVipDTO);
-            if (gv != null) {
-                //修改会员信息
-                Date km2Date = gv.getSubject2();
-                if (km2Date != null) {  //存在会员时间
-                    if (km2Date.compareTo(now) < 0) {  //会员已过期
-                        long x = now.getTime() + oneYearLong;
-                        Date km2oneYear = new Date(x);
-                        gv.setSubject2(km2oneYear);
-                        videoVipService.updateGzptVideoVipByUserId(gv);
-                    } else {  //会员时间延长
-                        long x = km2Date.getTime() + oneYearLong;
-                        Date km2oneYear = new Date(x);
-                        gv.setSubject2(km2oneYear);
-                        videoVipService.updateGzptVideoVipByUserId(gv);
-                    }
-                } else {
-                    long x = now.getTime() + oneYearLong;
-                    Date km2oneYear = new Date(x);
-                    gv.setSubject2(km2oneYear);
-                    videoVipService.updateGzptVideoVipByUserId(gv);
-                }
-            } else {
-                //新增会员信息
-                GzptVideoVip videoVip = new GzptVideoVip();
-                videoVip.setUserId(wxJsOrder.getUserId());
-                videoVip.setUserName(wxJsOrder.getUserName());
-                long x = now.getTime() + oneYearLong;
-                Date km2oneYear = new Date(x);
-                videoVip.setSubject2(km2oneYear);
-                videoVipService.saveGzptVideoVip(videoVip);
-            }
-
-        } else if ("科目三视频".equals(wxJsOrder.getGoodsName())) {
-            GzptVideoVipDTO gzptVideoVipDTO = new GzptVideoVipDTO();
-            gzptVideoVipDTO.setUserId(wxJsOrder.getUserId());
-            GzptVideoVip gv = videoVipService.getGzptVideoVipByUserIdForLocal(gzptVideoVipDTO);
-            if (gv != null) {
-                //修改会员信息
-                Date km3Date = gv.getSubject3();
-                if (km3Date != null) {  //存在会员时间
-                    if (km3Date.compareTo(now) < 0) {  //会员已过期
-                        long x = now.getTime() + oneYearLong;
-                        Date km3oneYear = new Date(x);
-                        gv.setSubject3(km3oneYear);
-                        videoVipService.updateGzptVideoVipByUserId(gv);
-                    } else {  //会员时间延长
-                        long x = km3Date.getTime() + oneYearLong;
-                        Date km3oneYear = new Date(x);
-                        gv.setSubject3(km3oneYear);
-                        videoVipService.updateGzptVideoVipByUserId(gv);
-                    }
-                } else {
-                    long x = now.getTime() + oneYearLong;
-                    Date km3oneYear = new Date(x);
-                    gv.setSubject3(km3oneYear);
-                    videoVipService.updateGzptVideoVipByUserId(gv);
-                }
-            } else {
-                //新增会员信息
-                GzptVideoVip videoVip = new GzptVideoVip();
-                videoVip.setUserId(wxJsOrder.getUserId());
-                videoVip.setUserName(wxJsOrder.getUserName());
-                long x = now.getTime() + oneYearLong;
-                Date km3oneYear = new Date(x);
-                videoVip.setSubject3(km3oneYear);
-                videoVipService.saveGzptVideoVip(videoVip);
-            }
-
-        } else if ("全套实操视频".equals(wxJsOrder.getGoodsName())) {
-            GzptVideoVipDTO gzptVideoVipDTO = new GzptVideoVipDTO();
-            gzptVideoVipDTO.setUserId(wxJsOrder.getUserId());
-            GzptVideoVip gv = videoVipService.getGzptVideoVipByUserIdForLocal(gzptVideoVipDTO);
-            if (gv != null) {
-                //修改会员信息
-                Date km2Date = gv.getSubject2();
-                Date km3Date = gv.getSubject3();
-                if (km2Date != null) { //科目二处理
-                    long x = km2Date.getTime() + oneYearLong;
-                    Date km2oneYear = new Date(x);
-                    gv.setSubject2(km2oneYear);
-                } else {
-                    long x = now.getTime() + oneYearLong;
-                    Date km2oneYear = new Date(x);
-                    gv.setSubject2(km2oneYear);
-                }
-                if (km3Date != null) { //科目三处理
-                    long x = km3Date.getTime() + oneYearLong;
-                    Date km3oneYear = new Date(x);
-                    gv.setSubject3(km3oneYear);
-                } else {
-                    long x = now.getTime() + oneYearLong;
-                    Date km3oneYear = new Date(x);
-                    gv.setSubject3(km3oneYear);
-                }
-                videoVipService.updateGzptVideoVipByUserId(gv);
-            } else {
-                //新增会员信息
-                GzptVideoVip videoVip = new GzptVideoVip();
-                videoVip.setUserId(wxJsOrder.getUserId());
-                videoVip.setUserName(wxJsOrder.getUserName());
-                long x = now.getTime() + oneYearLong;
-                Date oneYear = new Date(x);
-                videoVip.setSubject2(oneYear);
-                videoVip.setSubject3(oneYear);
-                videoVipService.saveGzptVideoVip(videoVip);
-            }
-        }
-    }
 
 
     @Transactional
-    public void writeVipDataToDb2(WxJsOrder wxJsOrder) {
+    public void writeVipDataToDb(WxJsOrder wxJsOrder) {
         long oneYearLong = 1000 * 60 * 60 * 24 * 365l;
         Date now = new Date();
         OrderInfo orderInfo = new OrderInfo();

+ 28 - 17
jsjp-service/src/main/java/com/miaxis/applepay/domain/ApplepayOrder.java

@@ -46,6 +46,14 @@ public class ApplepayOrder extends BaseBusinessEntity{
     @ApiModelProperty(value = "商品标识符")
     private String productId;
 
+    /** 商品名称 */
+    @Excel(name = "商品名称")
+    @TableField("goods_name")
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
+
+
+
     /** 数量 */
     @Excel(name = "数量")
     @TableField("quantity")
@@ -66,26 +74,29 @@ public class ApplepayOrder extends BaseBusinessEntity{
     @ApiModelProperty(value = "原始购买日期")
     private String originalPurchaseDate;
 
-    public void setId(Long id){
-        this.id = id;
-    }
+    /** 用户ID */
+    @Excel(name = "用户ID")
+    @TableField("user_id")
+    @ApiModelProperty(value = "user_id")
+    private Long userId;
+
+    /** 用户姓名 */
+    @Excel(name = "用户姓名")
+    @TableField("user_name")
+    @ApiModelProperty(value = "user_name")
+    private String userName;
+
+
+    /** 订单总金额,单位为分。 */
+    @Excel(name = "订单总金额,单位为分。")
+    @TableField("total")
+    @ApiModelProperty(value = "订单总金额,单位为分。")
+    private Integer total;
+
+
 
 
 
 
 
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("transactionId", getTransactionId())
-            .append("originalTransactionId", getOriginalTransactionId())
-            .append("productId", getProductId())
-            .append("quantity", getQuantity())
-            .append("purchaseDate", getPurchaseDate())
-            .append("originalPurchaseDate", getOriginalPurchaseDate())
-            .append("createTime", getCreateTime())
-            .append("updateTime", getUpdateTime())
-            .toString();
-    }
 }

+ 8 - 0
jsjp-service/src/main/java/com/miaxis/applepay/dto/ApplePayDTO.java

@@ -20,9 +20,17 @@ public class ApplePayDTO {
     @ApiModelProperty(value = "类型 0-正式环境 1-沙盒测试")
     private int type;
 
+    @ApiModelProperty(value = "用户ID")
+    private Long userId;
 
+    @ApiModelProperty(value = "用户姓名")
+    private String userName;
 
+    @ApiModelProperty(value = "商品名称")
+    private String goodsName;
 
+    @ApiModelProperty(value = "总价格")
+    private Integer total;
 
 
 

+ 3 - 0
jsjp-service/src/main/java/com/miaxis/order/service/IOrderInfoService.java

@@ -20,4 +20,7 @@ public interface IOrderInfoService extends IService<OrderInfo>{
     public List<OrderInfo> selectOrderInfoList(OrderInfo orderInfo);
 
     OrderInfo getByOutTradeNo(String outTradeNo);
+
+
+   public void writeVipDataToDb(String goodsName,Long userId, String userName, String outTrandeNo,Integer total,Integer payType);
 }

+ 228 - 0
jsjp-service/src/main/java/com/miaxis/order/service/impl/OrderInfoServiceImpl.java

@@ -1,10 +1,13 @@
 package com.miaxis.order.service.impl;
 
+import java.util.Date;
 import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.miaxis.common.utils.DateUtils;
+import com.miaxis.userInfo.domain.UserVip;
+import com.miaxis.userInfo.service.IUserVipService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.apache.commons.lang3.StringUtils;
@@ -23,6 +26,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     @Autowired
     private OrderInfoMapper orderInfoMapper;
 
+    @Autowired
+    private IUserVipService userVipService;
+
     /**
      * 查询订单信息列表
      *
@@ -38,4 +44,226 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     public OrderInfo getByOutTradeNo(String outTradeNo) {
         return orderInfoMapper.getByOutTradeNo(outTradeNo);
     }
+
+    @Override
+    public void writeVipDataToDb(String goodsName,Long userId, String userName, String outTrandeNo,Integer total,Integer payType) {
+        long oneYearLong = 1000 * 60 * 60 * 24 * 365l;
+        Date now = new Date();
+
+        OrderInfo orderInfo = new OrderInfo();
+        orderInfo.setGoodsName(goodsName);
+        orderInfo.setUserId(userId);
+        orderInfo.setOutTradeNo(outTrandeNo);
+        orderInfo.setTotal(total);
+        orderInfo.setTradeType(1);
+        orderInfo.setSuccessTime(now);
+        orderInfo.setPayType(payType);
+
+
+        if ("科一专项VIP".equals(goodsName)) {
+            UserVip userVip = userVipService.getUserVipByUserId(userId);
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                if (km1Date != null) {  //存在会员时间
+                    if (km1Date.compareTo(now) < 0) {  //会员已过期
+                        long x = now.getTime() + oneYearLong;
+                        Date km1oneYear = new Date(x);
+                        userVip.setSubject1(km1oneYear);
+                    } else {  //会员时间延长
+                        long x = km1Date.getTime() + oneYearLong;
+                        Date km1oneYear = new Date(x);
+                        userVip.setSubject1(km1oneYear);
+                    }
+                    userVipService.updateById(userVip);
+                    this.save(orderInfo);
+                } else {
+                    long x = now.getTime() + oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                    userVipService.updateById(userVip);
+                    this.save(orderInfo);
+                }
+            } else {
+                //新增会员信息
+                UserVip uv = new UserVip();
+                uv.setUserId(userId);
+                uv.setUserName(userName);
+                long x = now.getTime() + oneYearLong;
+                Date km1oneYear = new Date(x);
+                uv.setSubject1(km1oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+
+        } else if ("科二专项VIP".equals(goodsName)) {
+            UserVip userVip = userVipService.getUserVipByUserId(userId);
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    if (km2Date.compareTo(now) < 0) {  //会员已过期
+                        long x = now.getTime() + oneYearLong;
+                        Date km2oneYear = new Date(x);
+                        userVip.setSubject2(km2oneYear);
+                    } else {  //会员时间延长
+                        long x = km2Date.getTime() + oneYearLong;
+                        Date km2oneYear = new Date(x);
+                        userVip.setSubject2(km2oneYear);
+                    }
+                    userVipService.updateById(userVip);
+                    this.save(orderInfo);
+                } else {
+                    long x = now.getTime() + oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                    userVipService.updateById(userVip);
+                    this.save(orderInfo);
+                }
+            } else {
+                //新增会员信息
+                UserVip uv = new UserVip();
+                uv.setUserId(userId);
+                uv.setUserName(userName);
+                long x = now.getTime() + oneYearLong;
+                Date km2oneYear = new Date(x);
+                uv.setSubject2(km2oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+        } else if ("科三专项VIP".equals(goodsName)) {
+            UserVip userVip = userVipService.getUserVipByUserId(userId);
+            if (userVip != null) {
+                //修改会员信息
+                Date km3Date = userVip.getSubject2();
+                if (km3Date != null) {  //存在会员时间
+                    if (km3Date.compareTo(now) < 0) {  //会员已过期
+                        long x = now.getTime() + oneYearLong;
+                        Date km3oneYear = new Date(x);
+                        userVip.setSubject3(km3oneYear);
+                    } else {  //会员时间延长
+                        long x = km3Date.getTime() + oneYearLong;
+                        Date km3oneYear = new Date(x);
+                        userVip.setSubject3(km3oneYear);
+                    }
+                    userVipService.updateById(userVip);
+                    this.save(orderInfo);
+                } else {
+                    long x = now.getTime() + oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                    userVipService.updateById(userVip);
+                    this.save(orderInfo);
+                }
+            } else {
+                //新增会员信息
+                UserVip uv = new UserVip();
+                uv.setUserId(userId);
+                uv.setUserName(userName);
+                long x = now.getTime() + oneYearLong;
+                Date km3oneYear = new Date(x);
+                uv.setSubject3(km3oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+
+        } else if ("科四专项VIP".equals(goodsName)) {
+            UserVip userVip = userVipService.getUserVipByUserId(userId);
+            if (userVip != null) {
+                //修改会员信息
+                Date km4Date = userVip.getSubject2();
+                if (km4Date != null) {  //存在会员时间
+                    if (km4Date.compareTo(now) < 0) {  //会员已过期
+                        long x = now.getTime() + oneYearLong;
+                        Date km4oneYear = new Date(x);
+                        userVip.setSubject4(km4oneYear);
+                    } else {  //会员时间延长
+                        long x = km4Date.getTime() + oneYearLong;
+                        Date km4oneYear = new Date(x);
+                        userVip.setSubject4(km4oneYear);
+                    }
+                    userVipService.updateById(userVip);
+                    this.save(orderInfo);
+                } else {
+                    long x = now.getTime() + oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                    userVipService.updateById(userVip);
+                    this.save(orderInfo);
+                }
+            } else {
+                //新增会员信息
+                UserVip uv = new UserVip();
+                uv.setUserId(userId);
+                uv.setUserName(userName);
+                long x = now.getTime() + oneYearLong;
+                Date km4oneYear = new Date(x);
+                uv.setSubject4(km4oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+
+        } else if ("科目一二三四所有付费权益".equals(goodsName)) {
+            UserVip userVip = userVipService.getUserVipByUserId(userId);
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                Date km2Date = userVip.getSubject2();
+                Date km3Date = userVip.getSubject3();
+                Date km4Date = userVip.getSubject4();
+                if (km1Date != null) { //科目一处理
+                    long x = km1Date.getTime() + oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                } else {
+                    long x = now.getTime() + oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                }
+                if (km2Date != null) { //科目二处理
+                    long x = km2Date.getTime() + oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                } else {
+                    long x = now.getTime() + oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                }
+                if (km3Date != null) { //科目三处理
+                    long x = km3Date.getTime() + oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                } else {
+                    long x = now.getTime() + oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+                if (km4Date != null) { //科目四处理
+                    long x = km4Date.getTime() + oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                } else {
+                    long x = now.getTime() + oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+                this.save(orderInfo);
+            } else {
+                //新增会员信息
+                UserVip uv = new UserVip();
+                uv.setUserId(userId);
+                uv.setUserName(userName);
+                long x = now.getTime() + oneYearLong;
+                Date oneYear = new Date(x);
+                uv.setSubject1(oneYear);
+                uv.setSubject2(oneYear);
+                uv.setSubject3(oneYear);
+                uv.setSubject4(oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+        }
+
+    }
 }