Browse Source

新版本第一次提交

小么熊🐻 2 years ago
parent
commit
fc31ef06cf
28 changed files with 1057 additions and 72 deletions
  1. 2 0
      jsjp-admin/src/main/java/com/miaxis/app/controller/gzpt/GzptDictDataController.java
  2. 77 8
      jsjp-admin/src/main/java/com/miaxis/app/controller/gzpt/GzptUserInfoController.java
  3. 44 4
      jsjp-admin/src/main/java/com/miaxis/app/controller/wx/WxJsjpController.java
  4. 40 33
      jsjp-admin/src/main/java/com/miaxis/app/controller/wx/WxNotifyController.java
  5. 66 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/domain/GzptSchActivation.java
  6. 60 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/domain/GzptSchPayConfig.java
  7. 65 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/domain/GzptSchPayLog.java
  8. 0 1
      jsjp-service/src/main/java/com/miaxis/newgzpt/domain/GzptVideoVip.java
  9. 22 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/mapper/GzptSchActivationMapper.java
  10. 20 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/mapper/GzptSchPayConfigMapper.java
  11. 20 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/mapper/GzptSchPayLogMapper.java
  12. 22 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/service/IGzptSchActivationService.java
  13. 19 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/service/IGzptSchPayConfigService.java
  14. 20 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/service/IGzptSchPayLogService.java
  15. 4 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/service/IGzptUserInfoService.java
  16. 48 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/service/impl/GzptSchActivationServiceImpl.java
  17. 48 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/service/impl/GzptSchPayConfigServiceImpl.java
  18. 35 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/service/impl/GzptSchPayLogServiceImpl.java
  19. 35 0
      jsjp-service/src/main/java/com/miaxis/newgzpt/vo/GzptSchActivationVO.java
  20. 12 0
      jsjp-service/src/main/java/com/miaxis/order/domain/OrderInfo.java
  21. 5 0
      jsjp-service/src/main/java/com/miaxis/order/service/IOrderInfoService.java
  22. 305 25
      jsjp-service/src/main/java/com/miaxis/order/service/impl/OrderInfoServiceImpl.java
  23. 12 0
      jsjp-service/src/main/java/com/miaxis/wx/domain/WxJsOrder.java
  24. 1 1
      jsjp-service/src/main/java/com/miaxis/wx/dto/WxOrderDTO.java
  25. 28 0
      jsjp-service/src/main/resources/mapper/newgzpt/GzptSchActivationMapper.xml
  26. 13 0
      jsjp-service/src/main/resources/mapper/newgzpt/GzptSchPayConfigMapper.xml
  27. 25 0
      jsjp-service/src/main/resources/mapper/newgzpt/GzptSchPayLogMapper.xml
  28. 9 0
      jsjp-service/src/main/resources/mapper/newgzpt/GzptUserInfoMapper.xml

+ 2 - 0
jsjp-admin/src/main/java/com/miaxis/app/controller/gzpt/GzptDictDataController.java

@@ -61,5 +61,7 @@ public class GzptDictDataController extends BaseController {
     ){
         return Response.success(configService.selectConfigByKey(configKey));
     }
+
+
 }
 

+ 77 - 8
jsjp-admin/src/main/java/com/miaxis/app/controller/gzpt/GzptUserInfoController.java

@@ -7,14 +7,28 @@ import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.domain.entity.UserInfo;
 import com.miaxis.common.exception.CustomException;
 import com.miaxis.common.utils.SecurityUtils;
+import com.miaxis.newgzpt.domain.GzptSchActivation;
+import com.miaxis.newgzpt.domain.GzptSchPayConfig;
 import com.miaxis.newgzpt.domain.GzptUserInfo;
+import com.miaxis.newgzpt.domain.GzptVideoVip;
 import com.miaxis.newgzpt.dto.GzptUserInfoDTO;
+import com.miaxis.newgzpt.dto.GzptVideoVipDTO;
+import com.miaxis.newgzpt.service.IGzptSchActivationService;
+import com.miaxis.newgzpt.service.IGzptSchPayConfigService;
+import com.miaxis.newgzpt.service.IGzptSchPayLogService;
 import com.miaxis.newgzpt.service.IGzptUserInfoService;
+import com.miaxis.newgzpt.vo.GzptSchActivationVO;
+import com.miaxis.newgzpt.vo.GzptVideoVipVO;
+import com.miaxis.wx.domain.WxJsOrder;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
+
 /**
  * <p>
  * 学员基本信息表 前端控制器
@@ -23,23 +37,54 @@ import org.springframework.web.bind.annotation.*;
  * @since 2021-03-09
  */
 @RestController
-@Api(tags = "【小程序-学员基本信息】")
-@RequestMapping(Constants.STUDENT_PREFIX+"/gzpt/userInfo")
+@Api(tags = "【app-学员基本信息】")
+@RequestMapping(Constants.OPEN_PREFIX + "/gzpt/userInfo")
 public class GzptUserInfoController extends BaseController {
 
     @Autowired
-    private IGzptUserInfoService gzptUserInfoService;
+    private IGzptUserInfoService userInfoService;
 
+    @Autowired
+    private IGzptSchPayConfigService schPayConfigService;
 
+    @Autowired
+    private IGzptSchPayLogService schPayLogService;
+
+    @Autowired
+    private IGzptSchActivationService schActivationService;
 
     /**
      * 获取用户id获取详细信息
      */
     @GetMapping
     @ApiOperation("获取学员详细信息")
-    public Response<GzptUserInfo> getInfo(){
+    public Response<GzptUserInfo> getInfo() {
         UserInfo userInfo = SecurityUtils.getLoginUser().getStudent();
-        return Response.success(gzptUserInfoService.getInfoById(userInfo.getGzptUserId()));
+        return Response.success(userInfoService.getInfoById(userInfo.getGzptUserId()));
+    }
+
+
+    /**
+     * 获取用户id获取详细信息
+     */
+    @GetMapping("/activa")
+    @ApiOperation("获取学员合作与激活状态")
+    public Response<GzptSchActivationVO> getSchActivation(GzptVideoVipDTO gzptVideoVipDTO) throws Exception {
+        int isShare = 0;
+        int isActiva = 0;
+        GzptUserInfo gzptUserInfo = userInfoService.getInfoById(gzptVideoVipDTO.getUserId());
+        //获取合作驾校配置表
+        isShare = schPayConfigService.getSchPayConfigByJxbh(gzptUserInfo.getSchool());
+        //如果是合作驾校,查询激活状态
+        if(isShare==1) {
+            isActiva = schActivationService.isSchActivation(gzptUserInfo.getOutId());
+        }
+        GzptSchActivationVO vo = new GzptSchActivationVO();
+        vo.setIsActive(isActiva);  //是否激活
+        vo.setIsShare(isShare);     //是否合作
+        vo.setUserId(gzptVideoVipDTO.getUserId());
+        return Response.success(vo);
+
     }
 
 
@@ -48,9 +93,9 @@ public class GzptUserInfoController extends BaseController {
      */
     @PutMapping(value = "/bind")
     @ApiOperation("绑定学员账号")
-    public Response getUserWxlogin(@RequestBody GzptUserInfoDTO gzptUserInfoDTO){
-        GzptUserInfo gzptUserInfo = gzptUserInfoService.getUserWxlogin(gzptUserInfoDTO);
-        if (gzptUserInfo == null){
+    public Response getUserWxlogin(@RequestBody GzptUserInfoDTO gzptUserInfoDTO) {
+        GzptUserInfo gzptUserInfo = userInfoService.getUserWxlogin(gzptUserInfoDTO);
+        if (gzptUserInfo == null) {
             throw new CustomException("该学员账户不存在或者密码错误");
         }
         //绑定用户与学员关系
@@ -58,5 +103,29 @@ public class GzptUserInfoController extends BaseController {
         student.setGzptUserId(gzptUserInfo.getId());
         return Response.success();
     }
+
+
+
+
+    /**
+     * 获取用户vip信息
+
+    @GetMapping
+    @ApiOperation("获取用户vip信息")
+    public Response<GzptVideoVipVO> getVideoVip(GzptVideoVipDTO gzptVideoVipDTO) throws Exception {
+        GzptVideoVip gzptVideoVip  = gzptVideoVipService.getGzptVideoVipByUserId(gzptVideoVipDTO);
+        GzptVideoVipVO vo = new GzptVideoVipVO();
+        if(gzptVideoVip!=null) {
+            BeanUtils.copyProperties(gzptVideoVip, vo);
+            String sign = getSign(vo.getUserId(), vo.getSubject2(), vo.getSubject3());
+            vo.setSign(sign);
+            return Response.success(vo);
+        } else {
+            return Response.success(vo);
+        }
+    }
+     */
+
+
 }
 

+ 44 - 4
jsjp-admin/src/main/java/com/miaxis/app/controller/wx/WxJsjpController.java

@@ -11,7 +11,12 @@ import com.miaxis.common.core.domain.entity.SysDictData;
 import com.miaxis.common.enums.OrderStatusEnum;
 import com.miaxis.common.exception.CustomException;
 import com.miaxis.common.utils.uuid.CommonUtils;
+import com.miaxis.newgzpt.domain.GzptSchActivation;
+import com.miaxis.newgzpt.domain.GzptSchPayConfig;
 import com.miaxis.newgzpt.domain.GzptUserInfo;
+import com.miaxis.newgzpt.service.IGzptSchActivationService;
+import com.miaxis.newgzpt.service.IGzptSchPayConfigService;
+import com.miaxis.newgzpt.service.IGzptSchPayLogService;
 import com.miaxis.newgzpt.service.IGzptUserInfoService;
 import com.miaxis.system.service.ISysDictDataService;
 import com.miaxis.wx.domain.WxJsOrder;
@@ -41,6 +46,7 @@ import java.io.File;
 import java.security.PrivateKey;
 import java.security.Signature;
 import java.util.Base64;
+import java.util.Date;
 
 import static com.miaxis.common.utils.OrderCodeFactory.getOrderCode;
 
@@ -77,9 +83,14 @@ public class WxJsjpController extends BaseController {
     @Autowired
     private IGzptUserInfoService userInfoService;
 
+    @Autowired
+    private IGzptSchPayLogService schPayLogService;
 
+    @Autowired
+    private IGzptSchPayConfigService schPayConfigService;
 
-
+    @Autowired
+    private IGzptSchActivationService schActivationService;
     /**
      * 微信支付获取预订单id
      */
@@ -89,21 +100,50 @@ public class WxJsjpController extends BaseController {
         SysDictData sysDictData = dictDataService.selectDictDataById(wxOrderDTO.getDictCode());
         String[] values = sysDictData.getDictValue().split(",");
 
+        int isShare = 0;
+
         //创建本地微信订单
         WxJsOrder order = new WxJsOrder();
         GzptUserInfo gzptUserInfo = userInfoService.getInfoById(wxOrderDTO.getUserId());
+        //获取合作驾校配置表
+        isShare = schPayConfigService.getSchPayConfigByJxbh(gzptUserInfo.getSchool());
 
         String orderCode = getOrderCode(gzptUserInfo.getId());
         order.setOutTradeNo(orderCode);
         order.setUserId(gzptUserInfo.getId());
         order.setUserName(gzptUserInfo.getUserName());
         order.setGoodsName(sysDictData.getDictLabel());
-        Double price = Double.parseDouble(values[0])*100;
+        order.setPhoneType(wxOrderDTO.getPhoneType());  //手机类型
+        order.setDqbh(gzptUserInfo.getCity());
+        order.setDqmc(gzptUserInfo.getCityName());
+        order.setSchool(gzptUserInfo.getSchool());
+        order.setSchoolName(gzptUserInfo.getSchoolName());
+        order.setIsShare(isShare);
+        Double price = Double.parseDouble(values[0])*100;   //订单总额
         int b =  new Double(price).intValue();
-        System.out.println(b);
         order.setTotal(b);
-        order.setOrderStatus(OrderStatusEnum.PROCESSING.getCode());
 
+        if(isShare==1) {
+            //如果是合作驾校
+            if (wxOrderDTO.getPhoneType() == 1) { //苹果
+                Double priceApple = Double.parseDouble(values[0]) * 100;   //订单总额
+                int priceAppleInt = new Double(priceApple).intValue();
+                order.setSchoolCommission(priceAppleInt);
+            } else if (wxOrderDTO.getPhoneType() == 2) { //安卓
+                Double priceAndroid = Double.parseDouble(values[0]) * 100;   //订单总额
+                int priceAndroidInt = new Double(priceAndroid).intValue();
+                order.setSchoolCommission(priceAndroidInt);
+            }
+        }
+
+       if("理论计时".equals(sysDictData.getDictLabel())){
+           int isActiva = schActivationService.isSchActivation(gzptUserInfo.getOutId());
+           if(isActiva==1){
+               throw new CustomException(JSONObject.parseObject("该学员已激活,请勿重复操作").get("message").toString());
+           }
+       }
+
+        order.setOrderStatus(OrderStatusEnum.PROCESSING.getCode());
         wxJsOrderService.save(order);
         return Response.success(placeWxOrder(order, sysDictData.getDictLabel()));
 

+ 40 - 33
jsjp-admin/src/main/java/com/miaxis/app/controller/wx/WxNotifyController.java

@@ -97,6 +97,46 @@ public class WxNotifyController {
         return wxNotifyReturnDTO;
     }
 
+
+    @Transactional
+    public void writeNotifyDataToDb(JSONObject jsonObject) {
+        System.out.println(jsonObject);
+        String outTradeNo = jsonObject.getString("out_trade_no");
+        WxJsOrder wxJsOrder = wxJsOrderService.getByOutTradeNo(outTradeNo);
+        if (wxJsOrder == null) {
+            log.error("该订单不存在");
+            return;
+        }
+        if ("SUCCESS".equals(wxJsOrder.getTradeState())) {
+            log.info("订单号为" + wxJsOrder.getOutTradeNo() + "的订单已完成操作,无法重复操作!");
+            return;
+        }
+        wxJsOrder.setTransactionId(jsonObject.getString("transaction_id"));
+        JSONObject amount = jsonObject.getJSONObject("amount");
+        wxJsOrder.setPayerTotal(amount.getInteger("payer_total"));
+        wxJsOrder.setTotal(amount.getInteger("total"));
+        wxJsOrder.setCurrency(amount.getString("currency"));
+        wxJsOrder.setPayerCurrency(amount.getString("payer_currency"));
+        wxJsOrder.setTradeState(jsonObject.getString("trade_state"));
+        wxJsOrder.setBankType(jsonObject.getString("bank_type"));
+        DateTime dateTime = new DateTime(jsonObject.getString("success_time"));
+        wxJsOrder.setSuccessTime(dateTime.toDate());
+        wxJsOrder.setTradeStateDesc(jsonObject.getString("trade_state_desc"));
+        wxJsOrder.setTradeType(jsonObject.getString("trade_type"));
+        wxJsOrder.setAttach(jsonObject.getString("attach"));
+        wxJsOrder.setOrderStatus("2");
+
+        //插入VIP信息
+        //writeVipDataToDb(wxJsOrder);
+//        orderInfoService.writeVipDataToDb(wxJsOrder.getGoodsName(),wxJsOrder.getUserId(),wxJsOrder.getUserName(),wxJsOrder.getOutTradeNo(),wxJsOrder.getTotal(),1,
+//                wxJsOrder.getDqbh(),wxJsOrder.getDqmc(), wxJsOrder.getIsShare(),wxJsOrder.getSchool(),wxJsOrder.getSchoolName(),wxJsOrder.getSchoolCommission(),wxJsOrder.getPhoneType());
+
+        orderInfoService.writeVipDataToDb(wxJsOrder,1);
+
+        wxJsOrderService.updateById(wxJsOrder);
+
+    }
+
     private String getBodyString(HttpServletRequest request) {
         BufferedReader br = null;
         StringBuilder sb = new StringBuilder("");
@@ -355,40 +395,7 @@ public class WxNotifyController {
     }
 
 
-    @Transactional
-    public void writeNotifyDataToDb(JSONObject jsonObject) {
-        System.out.println(jsonObject);
-        String outTradeNo = jsonObject.getString("out_trade_no");
-        WxJsOrder wxJsOrder = wxJsOrderService.getByOutTradeNo(outTradeNo);
-        if (wxJsOrder == null) {
-            log.error("该订单不存在");
-            return;
-        }
-        if ("SUCCESS".equals(wxJsOrder.getTradeState())) {
-            log.info("订单号为" + wxJsOrder.getOutTradeNo() + "的订单已完成操作,无法重复操作!");
-            return;
-        }
-        wxJsOrder.setTransactionId(jsonObject.getString("transaction_id"));
-        JSONObject amount = jsonObject.getJSONObject("amount");
-        wxJsOrder.setPayerTotal(amount.getInteger("payer_total"));
-        wxJsOrder.setTotal(amount.getInteger("total"));
-        wxJsOrder.setCurrency(amount.getString("currency"));
-        wxJsOrder.setPayerCurrency(amount.getString("payer_currency"));
-        wxJsOrder.setTradeState(jsonObject.getString("trade_state"));
-        wxJsOrder.setBankType(jsonObject.getString("bank_type"));
-        DateTime dateTime = new DateTime(jsonObject.getString("success_time"));
-        wxJsOrder.setSuccessTime(dateTime.toDate());
-        wxJsOrder.setTradeStateDesc(jsonObject.getString("trade_state_desc"));
-        wxJsOrder.setTradeType(jsonObject.getString("trade_type"));
-        wxJsOrder.setAttach(jsonObject.getString("attach"));
-        wxJsOrder.setOrderStatus("2");
-
-        //插入VIP信息
-        //writeVipDataToDb(wxJsOrder);
-        orderInfoService.writeVipDataToDb(wxJsOrder.getGoodsName(),wxJsOrder.getUserId(),wxJsOrder.getUserName(),wxJsOrder.getOutTradeNo(),wxJsOrder.getTotal(),1);
-        wxJsOrderService.updateById(wxJsOrder);
 
-    }
 
 
 

+ 66 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/domain/GzptSchActivation.java

@@ -0,0 +1,66 @@
+package com.miaxis.newgzpt.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 视频VIP表
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("GZPT_SCH_Activation")
+@ApiModel(value="GzptSchActivation对象", description="激活记录表")
+public class GzptSchActivation implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Long id;
+
+    @ApiModelProperty(value = "地区编号")
+    @TableField("DQBH")
+    private String dqbh;
+
+    @ApiModelProperty(value = "地区名称")
+    @TableField("DQMC")
+    private String dqmc;
+
+    @ApiModelProperty(value = "驾校编号")
+    @TableField("JXBH")
+    private String jxbh;
+
+    @ApiModelProperty(value = "驾校名称")
+    @TableField("JXMC")
+    private String jxmc;
+
+    @ApiModelProperty(value = "用户ID")
+    @TableField("USER_ID")
+    private Long userId;
+
+    @ApiModelProperty(value = "用户OUT_ID")
+    @TableField("STU_ID")
+    private Long stuId;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField("CRTIME")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date crtime;
+
+
+
+
+}

+ 60 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/domain/GzptSchPayConfig.java

@@ -0,0 +1,60 @@
+package com.miaxis.newgzpt.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 视频VIP表
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("GZPT_SCH_PAY_CONFIG")
+@ApiModel(value="GZPT_SCH_PAY_CONFIG对象", description="合作驾校表")
+public class GzptSchPayConfig implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Long id;
+
+    @ApiModelProperty(value = "地区编号")
+    @TableField("DQBH")
+    private String dqbh;
+
+    @ApiModelProperty(value = "地区名称")
+    @TableField("DQMC")
+    private String dqmc;
+
+    @ApiModelProperty(value = "驾校编号")
+    @TableField("JXBH")
+    private String jxbh;
+
+    @ApiModelProperty(value = "驾校名称")
+    @TableField("JXMC")
+    private String jxmc;
+
+    @ApiModelProperty(value = "开放时间")
+    @TableField("OPEN_TIME")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date openTime;
+
+    @ApiModelProperty(value = "是否打开")
+    @TableField("IS_OPEN")
+    private String isOpen;
+
+
+}

+ 65 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/domain/GzptSchPayLog.java

@@ -0,0 +1,65 @@
+package com.miaxis.newgzpt.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 视频VIP表
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@TableName("GZPT_SCH_PAY_LOG")
+@ApiModel(value="GpztSchPayLog对象", description="支付记录表")
+public class GzptSchPayLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ID")
+    private Long id;
+
+    @ApiModelProperty(value = "学员ID")
+    @TableField("STU_ID")
+    private Long stuId;
+
+    @ApiModelProperty(value = "用户名")
+    @TableField("DQBH")
+    private String dqbh;
+
+    @ApiModelProperty(value = "支付单价")
+    @TableField("PRICE")
+    private Integer price;
+
+    @ApiModelProperty(value = "驾校编号")
+    @TableField("JXBH")
+    private String jxbh;
+
+    @ApiModelProperty(value = "创建时间")
+    @TableField("CRTIME")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date crtime;
+
+    @ApiModelProperty(value = "同步计时平台状态 0 待同步 1 已同步 2 同步失败")
+    @TableField("SYNC")
+    private Integer sync;
+
+    @ApiModelProperty(value = "同步时间")
+    @TableField("SYNCTIME")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date syncTime;
+
+
+}

+ 0 - 1
jsjp-service/src/main/java/com/miaxis/newgzpt/domain/GzptVideoVip.java

@@ -8,7 +8,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.util.Date;

+ 22 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/mapper/GzptSchActivationMapper.java

@@ -0,0 +1,22 @@
+package com.miaxis.newgzpt.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.newgzpt.domain.GzptSchActivation;
+
+/**
+ * <p>
+ * 视频VIP表 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+public interface GzptSchActivationMapper extends BaseMapper<GzptSchActivation> {
+
+
+    void saveSchActivation(GzptSchActivation schActivation);
+
+    GzptSchActivation getSchActivation(Long stuId);
+
+}

+ 20 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/mapper/GzptSchPayConfigMapper.java

@@ -0,0 +1,20 @@
+package com.miaxis.newgzpt.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.newgzpt.domain.GzptSchPayConfig;
+import com.miaxis.newgzpt.domain.GzptSchPayLog;
+
+/**
+ * <p>
+ * 视频VIP表 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+public interface GzptSchPayConfigMapper extends BaseMapper<GzptSchPayConfig> {
+
+    GzptSchPayConfig getSchPayConfigByJxbh(String jxbh);
+
+}

+ 20 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/mapper/GzptSchPayLogMapper.java

@@ -0,0 +1,20 @@
+package com.miaxis.newgzpt.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.newgzpt.domain.GzptSchPayLog;
+
+/**
+ * <p>
+ * 视频VIP表 Mapper 接口
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+public interface GzptSchPayLogMapper extends BaseMapper<GzptSchPayLog> {
+
+
+    void saveSchPayLog(GzptSchPayLog gzptSchPayLog);
+
+}

+ 22 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/service/IGzptSchActivationService.java

@@ -0,0 +1,22 @@
+package com.miaxis.newgzpt.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.newgzpt.domain.GzptSchActivation;
+import com.miaxis.newgzpt.domain.GzptSchPayLog;
+
+/**
+ * <p>
+ * 视频VIP表 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+public interface IGzptSchActivationService extends IService<GzptSchActivation> {
+
+
+    void saveSchActivation(GzptSchActivation gzptSchActivation);
+
+    int isSchActivation(Long stuId);
+}

+ 19 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/service/IGzptSchPayConfigService.java

@@ -0,0 +1,19 @@
+package com.miaxis.newgzpt.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.newgzpt.domain.GzptSchPayConfig;
+import com.miaxis.newgzpt.domain.GzptSchPayLog;
+import com.miaxis.newgzpt.domain.GzptUserInfo;
+
+/**
+ * <p>
+ * 视频VIP表 服务类
+ * </p>
+ */
+public interface IGzptSchPayConfigService extends IService<GzptSchPayConfig> {
+
+
+    int getSchPayConfigByJxbh(String jxbh);
+
+}

+ 20 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/service/IGzptSchPayLogService.java

@@ -0,0 +1,20 @@
+package com.miaxis.newgzpt.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.newgzpt.domain.GzptSchPayLog;
+
+/**
+ * <p>
+ * 视频VIP表 服务类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+public interface IGzptSchPayLogService extends IService<GzptSchPayLog> {
+
+
+    void saveSchPayLog(GzptSchPayLog gpztSchPayLog);
+
+}

+ 4 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/service/IGzptUserInfoService.java

@@ -22,4 +22,8 @@ public interface IGzptUserInfoService extends IService<GzptUserInfo> {
     GzptUserInfo getUserWxlogin(GzptUserInfoDTO userInfoDTO);
 
     GzptUserInfo getInfoById(Long id);
+
+
+
+
 }

+ 48 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/service/impl/GzptSchActivationServiceImpl.java

@@ -0,0 +1,48 @@
+package com.miaxis.newgzpt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.common.annotation.DataSource;
+import com.miaxis.common.enums.DataSourceTypeEnum;
+import com.miaxis.newgzpt.domain.GzptSchActivation;
+import com.miaxis.newgzpt.domain.GzptSchPayLog;
+import com.miaxis.newgzpt.mapper.GzptSchActivationMapper;
+import com.miaxis.newgzpt.mapper.GzptSchPayLogMapper;
+import com.miaxis.newgzpt.service.IGzptSchActivationService;
+import com.miaxis.newgzpt.service.IGzptSchPayLogService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+
+/**
+ * <p>
+ * 视频VIP表 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+@Service
+@DataSource(value = DataSourceTypeEnum.NEWGZPT)
+public class GzptSchActivationServiceImpl extends ServiceImpl<GzptSchActivationMapper, GzptSchActivation> implements IGzptSchActivationService {
+
+
+    @Resource
+    private GzptSchActivationMapper mapper;
+
+
+    @Override
+    public void saveSchActivation(GzptSchActivation schActivation) {
+        mapper.saveSchActivation(schActivation);
+    }
+
+    @Override
+    public int isSchActivation(Long stuId) {
+        GzptSchActivation schActivation= mapper.getSchActivation(stuId);
+        if(schActivation!=null){
+            return 1;
+        } else {
+            return 0;
+        }
+    }
+}

+ 48 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/service/impl/GzptSchPayConfigServiceImpl.java

@@ -0,0 +1,48 @@
+package com.miaxis.newgzpt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.common.annotation.DataSource;
+import com.miaxis.common.enums.DataSourceTypeEnum;
+import com.miaxis.newgzpt.domain.GzptSchPayConfig;
+import com.miaxis.newgzpt.mapper.GzptSchPayConfigMapper;
+import com.miaxis.newgzpt.service.IGzptSchPayConfigService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+
+
+/**
+ * <p>
+ * 视频VIP表 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+@Service
+@DataSource(value = DataSourceTypeEnum.NEWGZPT)
+public class GzptSchPayConfigServiceImpl extends ServiceImpl<GzptSchPayConfigMapper, GzptSchPayConfig> implements IGzptSchPayConfigService {
+
+
+    @Resource
+    private GzptSchPayConfigMapper mapper;
+
+
+    @Override
+    public int getSchPayConfigByJxbh(String jxbh) {
+        GzptSchPayConfig schPayConfig = mapper.getSchPayConfigByJxbh(jxbh);
+        if (schPayConfig != null) { //存在合作
+            if ("1".equals(schPayConfig.getIsOpen())) { // 打开合作
+                schPayConfig.getOpenTime();
+                Date now = new Date();
+                if (now.compareTo(schPayConfig.getOpenTime()) > 0) { //当前时间大于合作时间
+                    return 1;
+                } else {
+                    return 0;
+                }
+            }
+        }
+        return 0;
+    }
+}

+ 35 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/service/impl/GzptSchPayLogServiceImpl.java

@@ -0,0 +1,35 @@
+package com.miaxis.newgzpt.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.common.annotation.DataSource;
+import com.miaxis.common.enums.DataSourceTypeEnum;
+import com.miaxis.newgzpt.domain.GzptSchPayLog;
+import com.miaxis.newgzpt.mapper.GzptSchPayLogMapper;
+import com.miaxis.newgzpt.service.IGzptSchPayLogService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+
+/**
+ * <p>
+ * 视频VIP表 服务实现类
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+@Service
+@DataSource(value = DataSourceTypeEnum.NEWGZPT)
+public class GzptSchPayLogServiceImpl extends ServiceImpl<GzptSchPayLogMapper, GzptSchPayLog> implements IGzptSchPayLogService {
+
+
+    @Resource
+    private GzptSchPayLogMapper mapper;
+
+
+    @Override
+    public void saveSchPayLog(GzptSchPayLog gpztSchPayLog) {
+        mapper.saveSchPayLog(gpztSchPayLog);
+    }
+}

+ 35 - 0
jsjp-service/src/main/java/com/miaxis/newgzpt/vo/GzptSchActivationVO.java

@@ -0,0 +1,35 @@
+package com.miaxis.newgzpt.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 视频VIP表
+ * </p>
+ *
+ * @author ${author}
+ * @since 2022-01-27
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class GzptSchActivationVO implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "用户ID")
+    private Long userId;
+
+    @ApiModelProperty(value = "是否合作  0未合作  1已合作")
+    private int isShare;
+
+    @ApiModelProperty(value = "是否激活  0未激活  1已激活")
+    private int isActive;
+
+}

+ 12 - 0
jsjp-service/src/main/java/com/miaxis/order/domain/OrderInfo.java

@@ -82,6 +82,18 @@ public class OrderInfo extends BaseBusinessEntity{
     @ApiModelProperty(value = "是否分成给驾校 0:不分成  1:分成")
     private int isShare;
 
+    /** 地区编号 */
+    @Excel(name = "地区编号")
+    @TableField("dqbh")
+    @ApiModelProperty(value = "地区编号")
+    private String dqbh;
+
+    /** 地区编号 */
+    @Excel(name = "地区名称")
+    @TableField("dqmc")
+    @ApiModelProperty(value = "地区名称")
+    private String dqmc;
+
     /** 驾校编号 */
     @Excel(name = "驾校编号")
     @TableField("school")

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

@@ -3,6 +3,7 @@ package com.miaxis.order.service;
 import java.util.List;
 import com.miaxis.order.domain.OrderInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.wx.domain.WxJsOrder;
 
 /**
  * 订单信息Service接口
@@ -21,6 +22,10 @@ public interface IOrderInfoService extends IService<OrderInfo>{
 
     OrderInfo getByOutTradeNo(String outTradeNo);
 
+    public void writeVipDataToDb(WxJsOrder order, int phoneType);
+
+   public void writeVipDataToDb(String goodsName,Long userId, String userName, String outTrandeNo,Integer total,Integer payType,String dqbh,String dqmc,int isStare,String school,String schoolName,int schoolCommission,int phoneType);
 
    public void writeVipDataToDb(String goodsName,Long userId, String userName, String outTrandeNo,Integer total,Integer payType);
+
 }

+ 305 - 25
jsjp-service/src/main/java/com/miaxis/order/service/impl/OrderInfoServiceImpl.java

@@ -7,8 +7,17 @@ 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.newgzpt.domain.GzptSchActivation;
+import com.miaxis.newgzpt.domain.GzptSchPayConfig;
+import com.miaxis.newgzpt.domain.GzptSchPayLog;
+import com.miaxis.newgzpt.domain.GzptUserInfo;
+import com.miaxis.newgzpt.service.IGzptSchActivationService;
+import com.miaxis.newgzpt.service.IGzptSchPayConfigService;
+import com.miaxis.newgzpt.service.IGzptSchPayLogService;
+import com.miaxis.newgzpt.service.IGzptUserInfoService;
 import com.miaxis.userInfo.domain.UserVip;
 import com.miaxis.userInfo.service.IUserVipService;
+import com.miaxis.wx.domain.WxJsOrder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.apache.commons.lang3.StringUtils;
@@ -30,6 +39,15 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     @Autowired
     private IUserVipService userVipService;
 
+    @Autowired
+    private IGzptUserInfoService userInfoService;
+
+    @Autowired
+    private IGzptSchActivationService schActivationService;
+
+    @Autowired
+    private IGzptSchPayLogService schPayLogService;
+
     /**
      * 查询订单信息列表
      *
@@ -46,22 +64,54 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         return orderInfoMapper.getByOutTradeNo(outTradeNo);
     }
 
-    public void writeVipDataToDb1(String goodsName, Long userId, String userName, String outTrandeNo, Integer total, Integer payType) {
+
+
+    @Override
+    public void writeVipDataToDb(WxJsOrder order,int payType) {
         long oneYearLong = 1000 * 60 * 60 * 24 * 365l;
         Date now = new Date();
 
+        GzptUserInfo gzptUserInfo = userInfoService.getInfoById(order.getUserId());
         OrderInfo orderInfo = new OrderInfo();
-        orderInfo.setGoodsName(goodsName);
-        orderInfo.setUserId(userId);
-        orderInfo.setOutTradeNo(outTrandeNo);
-        orderInfo.setTotal(total);
+        orderInfo.setGoodsName(order.getGoodsName());
+        orderInfo.setUserId(order.getUserId());
+        orderInfo.setOutTradeNo(order.getOutTradeNo());
+        orderInfo.setTotal(order.getTotal());
         orderInfo.setTradeType(1);
         orderInfo.setSuccessTime(now);
         orderInfo.setPayType(payType);
+        orderInfo.setDqbh(order.getDqbh());
+        orderInfo.setDqmc(order.getDqmc());
+        orderInfo.setIsShare(order.getIsShare());
+        orderInfo.setSchool(order.getSchool());
+        orderInfo.setSchoolName(order.getSchoolName());
+        orderInfo.setSchoolCommission(order.getSchoolCommission());
+        orderInfo.setPhoneType(order.getPhoneType());
 
 
-        if ("科一专项VIP".equals(goodsName)) {
-            UserVip userVip = userVipService.getUserVipByUserId(userId);
+        if("理论计时".equals(orderInfo.getGoodsName())) {
+            //激活操作
+            GzptSchActivation schActivation = new GzptSchActivation();
+            schActivation.setDqbh(order.getDqbh());
+            schActivation.setDqmc(order.getDqmc());
+            schActivation.setJxbh(order.getSchool());
+            schActivation.setJxmc(order.getSchoolName());
+            schActivation.setUserId(order.getUserId());
+            schActivation.setStuId(gzptUserInfo.getOutId());
+            schActivation.setCrtime(new Date());
+            schActivationService.saveSchActivation(schActivation);
+
+            GzptSchPayLog gzptSchPayLog = new GzptSchPayLog();
+            gzptSchPayLog.setStuId(gzptUserInfo.getOutId());
+            gzptSchPayLog.setDqbh(order.getDqbh());
+            gzptSchPayLog.setPrice(order.getTotal());
+            gzptSchPayLog.setJxbh(order.getSchool());
+            gzptSchPayLog.setCrtime(new Date());
+
+
+
+        } else if ("科一专项VIP".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
             if (userVip != null) {
                 //修改会员信息
                 Date km1Date = userVip.getSubject1();
@@ -87,8 +137,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             } else {
                 //新增会员信息
                 UserVip uv = new UserVip();
-                uv.setUserId(userId);
-                uv.setUserName(userName);
+                uv.setUserId(order.getUserId());
+                uv.setUserName(order.getUserName());
                 long x = now.getTime() + oneYearLong;
                 Date km1oneYear = new Date(x);
                 uv.setSubject1(km1oneYear);
@@ -96,8 +146,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 this.save(orderInfo);
             }
 
-        } else if ("科二专项VIP".equals(goodsName)) {
-            UserVip userVip = userVipService.getUserVipByUserId(userId);
+        } else if ("科二专项VIP".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
             if (userVip != null) {
                 //修改会员信息
                 Date km2Date = userVip.getSubject2();
@@ -123,16 +173,16 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             } else {
                 //新增会员信息
                 UserVip uv = new UserVip();
-                uv.setUserId(userId);
-                uv.setUserName(userName);
+                uv.setUserId(order.getUserId());
+                uv.setUserName(order.getUserName());
                 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);
+        } else if ("科三专项VIP".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
             if (userVip != null) {
                 //修改会员信息
                 Date km3Date = userVip.getSubject3();
@@ -158,8 +208,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             } else {
                 //新增会员信息
                 UserVip uv = new UserVip();
-                uv.setUserId(userId);
-                uv.setUserName(userName);
+                uv.setUserId(order.getUserId());
+                uv.setUserName(order.getUserName());
                 long x = now.getTime() + oneYearLong;
                 Date km3oneYear = new Date(x);
                 uv.setSubject3(km3oneYear);
@@ -167,8 +217,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 this.save(orderInfo);
             }
 
-        } else if ("科四专项VIP".equals(goodsName)) {
-            UserVip userVip = userVipService.getUserVipByUserId(userId);
+        } else if ("科四专项VIP".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
             if (userVip != null) {
                 //修改会员信息
                 Date km4Date = userVip.getSubject4();
@@ -194,8 +244,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             } else {
                 //新增会员信息
                 UserVip uv = new UserVip();
-                uv.setUserId(userId);
-                uv.setUserName(userName);
+                uv.setUserId(order.getUserId());
+                uv.setUserName(order.getUserName());
                 long x = now.getTime() + oneYearLong;
                 Date km4oneYear = new Date(x);
                 uv.setSubject4(km4oneYear);
@@ -203,8 +253,8 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
                 this.save(orderInfo);
             }
 
-        } else if ("科目一二三四所有付费权益".equals(goodsName)) {
-            UserVip userVip = userVipService.getUserVipByUserId(userId);
+        } else if ("科目一二三四所有付费权益".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
             if (userVip != null) {
                 //修改会员信息
                 Date km1Date = userVip.getSubject1();
@@ -252,8 +302,231 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
             } else {
                 //新增会员信息
                 UserVip uv = new UserVip();
-                uv.setUserId(userId);
-                uv.setUserName(userName);
+                uv.setUserId(order.getUserId());
+                uv.setUserName(order.getUserName());
+                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);
+            }
+        } else if ("科一+科四VIP".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                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 (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(order.getUserId());
+                uv.setUserName(order.getUserName());
+                long x = now.getTime() + oneYearLong;
+                Date oneYear = new Date(x);
+                uv.setSubject1(oneYear);
+                uv.setSubject4(oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+        } else if ("科二+科三VIP".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                Date km3Date = userVip.getSubject3();
+                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);
+                }
+                userVipService.updateById(userVip);
+                this.save(orderInfo);
+            } else {
+                //新增会员信息
+                UserVip uv = new UserVip();
+                uv.setUserId(order.getUserId());
+                uv.setUserName(order.getUserName());
+                long x = now.getTime() + oneYearLong;
+                Date oneYear = new Date(x);
+                uv.setSubject2(oneYear);
+                uv.setSubject3(oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+        } else if ("科二+科三+科四".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                Date km3Date = userVip.getSubject3();
+                Date km4Date = userVip.getSubject4();
+                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(order.getUserId());
+                uv.setUserName(order.getUserName());
+                long x = now.getTime() + oneYearLong;
+                Date oneYear = new Date(x);
+                uv.setSubject2(oneYear);
+                uv.setSubject3(oneYear);
+                uv.setSubject4(oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+        } else if ("科三+科四VIP".equals(orderInfo.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(orderInfo.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km3Date = userVip.getSubject3();
+                Date km4Date = userVip.getSubject4();
+                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(order.getUserId());
+                uv.setUserName(order.getUserName());
+                long x = now.getTime() + oneYearLong;
+                Date oneYear = new Date(x);
+                uv.setSubject3(oneYear);
+                uv.setSubject4(oneYear);
+                userVipService.save(uv);
+                this.save(orderInfo);
+            }
+        } else if ("全科目超级VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            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(order.getUserId());
+                uv.setUserName(order.getUserName());
                 long x = now.getTime() + oneYearLong;
                 Date oneYear = new Date(x);
                 uv.setSubject1(oneYear);
@@ -267,6 +540,13 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
 
     }
 
+    @Override
+    public void writeVipDataToDb(String goodsName, Long userId, String userName, String outTrandeNo, Integer total, Integer payType, String dqbh, String dqmc, int isStare, String school, String schoolName, int schoolCommission, int phoneType) {
+
+    }
+
+
+    //原来套餐
     @Override
     public void writeVipDataToDb(String goodsName, Long userId, String userName, String outTrandeNo, Integer total, Integer payType) {
         long oneYearLong = 1000 * 60 * 60 * 24 * 365l;

+ 12 - 0
jsjp-service/src/main/java/com/miaxis/wx/domain/WxJsOrder.java

@@ -147,6 +147,18 @@ public class WxJsOrder extends BaseBusinessEntity{
     @ApiModelProperty(value = "订单状态: 1 -进行中 2-购买成功 3-购买失败")
     private String orderStatus;
 
+    /** 地区编号 */
+    @Excel(name = "地区编号")
+    @TableField("dqbh")
+    @ApiModelProperty(value = "地区编号")
+    private String dqbh;
+
+    /** 地区名称 */
+    @Excel(name = "地区名称")
+    @TableField("dqmc")
+    @ApiModelProperty(value = "地区名称")
+    private String dqmc;
+
 
     /** 是否分成 */
     @Excel(name = "是否分成给驾校 0:不分成  1:分成")

+ 1 - 1
jsjp-service/src/main/java/com/miaxis/wx/dto/WxOrderDTO.java

@@ -15,5 +15,5 @@ public class WxOrderDTO {
     private Long userId;
 
     @ApiModelProperty(value = "手机类型",required = true)
-    private Long phoneType;  // 1苹果 2安卓
+    private Integer phoneType;  // 1苹果 2安卓
 }

+ 28 - 0
jsjp-service/src/main/resources/mapper/newgzpt/GzptSchActivationMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.miaxis.newgzpt.mapper.GzptSchActivationMapper">
+
+
+    <insert id="saveSchActivation" parameterType="com.miaxis.newgzpt.domain.GzptSchActivation">
+
+        insert into gzpt_sch_activation (ID, DQBH, DQMC, JXBH, JXMC, USER_ID, STU_ID, CRTIME)
+        VALUES (seq_gzpt_sch_activation.nextval,
+                                             #{dqbh,jdbcType=VARCHAR},
+                                             #{dqmc,jdbcType=VARCHAR},
+                                             #{jxbh,jdbcType=VARCHAR},
+                                             #{jxmc,jdbcType=VARCHAR},
+                                             #{userId},
+                                             #{stuId},
+                                             sysdate)
+    </insert>
+
+
+
+
+    <select id="getSchActivation" resultType="com.miaxis.newgzpt.domain.GzptSchActivation">
+        select * from GZPT_SCH_ACTIVATION where STU_ID = #{stuId}
+    </select>
+
+
+
+</mapper>

+ 13 - 0
jsjp-service/src/main/resources/mapper/newgzpt/GzptSchPayConfigMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.miaxis.newgzpt.mapper.GzptSchPayConfigMapper">
+
+
+    <select id="getSchPayConfigByJxbh"  resultType="com.miaxis.newgzpt.domain.GzptSchPayConfig">
+        select * from GZPT_SCH_PAY_CONFIG where jxbh =#{jxbh}
+    </select>
+
+
+
+
+</mapper>

+ 25 - 0
jsjp-service/src/main/resources/mapper/newgzpt/GzptSchPayLogMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.miaxis.newgzpt.mapper.GzptSchPayLogMapper">
+
+
+    <insert id="saveSchPayLog" parameterType="com.miaxis.newgzpt.domain.GzptSchPayLog">
+        insert into GZPT_SCH_PAY_LOG (ID, STU_ID, DQBH, PRICE, JXBH, CRTIME, SYNC, SYNCTIME) VALUES (SEQ_GZPT_SCH_PAY_LOG.nextval,
+                                                 #{stuId},
+                                                 #{dqbh,jdbcType=VARCHAR},
+                                                 #{price},
+                                                 #{jxbh,jdbcType=VARCHAR},
+                                                 sysdate,
+                                                 null,
+                                                 null)
+    </insert>
+
+
+
+
+
+
+
+
+
+</mapper>

+ 9 - 0
jsjp-service/src/main/resources/mapper/newgzpt/GzptUserInfoMapper.xml

@@ -27,6 +27,15 @@
         </where>
     </select>
 
+
+    <select id="getGzptVideoVipByUserId" resultType="com.miaxis.newgzpt.domain.GzptVideoVip" parameterType="com.miaxis.userInfo.dto.UserVipDTO">
+        select * from GZPT_VIDEO_VIP
+        <where>
+            and user_id = #{userId}
+        </where>
+    </select>
+
+
     <delete id="removeByUserId" parameterType="long">
         delete from user_vip where user_id = #{userId}
     </delete>