瀏覽代碼

Merge remote-tracking branch 'origin/master'

Althars123 2 年之前
父節點
當前提交
fd9d4b06a7

+ 1 - 1
jsjp-admin/src/main/java/com/miaxis/pc/PcOrderInfoController.java

@@ -95,7 +95,7 @@ public class PcOrderInfoController extends BaseController{
         WxJsOrder order = wxJsOrderService.getByOutTradeNo(outTradeNo);
         refundRecordService.refund(order,refundCode,reason);
         //TODO 取消会员
-
+        orderInfoService.refundOrder(order);
 
         return Response.success();
     }

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

@@ -19,4 +19,5 @@ public interface GzptSchActivationMapper extends BaseMapper<GzptSchActivation> {
 
     GzptSchActivation getSchActivation(Long stuId);
 
+    void delSchActivation(Long stuId);
 }

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

@@ -19,4 +19,6 @@ public interface IGzptSchActivationService extends IService<GzptSchActivation> {
     void saveSchActivation(GzptSchActivation gzptSchActivation);
 
     int isSchActivation(Long stuId);
+
+    void delSchActivation(Long stuId);
 }

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

@@ -45,4 +45,9 @@ public class GzptSchActivationServiceImpl extends ServiceImpl<GzptSchActivationM
             return 0;
         }
     }
+
+    @Override
+    public void delSchActivation(Long stuId) {
+        mapper.delSchActivation(stuId);
+    }
 }

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

@@ -30,4 +30,6 @@ public interface IOrderInfoService extends IService<OrderInfo> {
     public void writeVipDataToDb(String goodsName, Long userId, String userName, String outTrandeNo, Integer total, Integer payType);
 
     List<QuerySchoolOrderListVo> selectSchoolOrderInfoList(QuerySchoolOrderListDTO schoolOrderListDTO);
+
+    public void refundOrder(WxJsOrder order);
 }

+ 414 - 4
jsjp-service/src/main/java/com/miaxis/order/service/impl/OrderInfoServiceImpl.java

@@ -88,7 +88,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
 
         GzptUserInfo userInfo = userInfoService.getInfoById(order.getUserId());
         int isActiva = schActivationService.isSchActivation(userInfo.getOutId());
-        if ("理论计时".equals(order.getGoodsName())) {
+        if ("理论实操计时".equals(order.getGoodsName())) {
             //激活操作
             if(isActiva!=1) {
                 saveActiva(order, userInfo);
@@ -922,7 +922,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         int isShare = schPayConfigService.isSchPayConfigByJxbh(userInfo.getSchool());
         if (isShare == 1) {
             //如果是合作驾校插入消费记录表
-            savePayLog(order, userInfo);
+            savePayLog(order, userInfo,1);
         }
     }
 
@@ -1379,20 +1379,425 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
     }
 
 
+    public void refundOrder(WxJsOrder order) {
+        long oneYearLong = 1000 * 60 * 60 * 24 * 365l;
+        Date now = new Date();
+
+        GzptUserInfo userInfo = userInfoService.getInfoById(order.getUserId());
+        int isActiva = schActivationService.isSchActivation(userInfo.getOutId());
+        if ("理论实操计时".equals(order.getGoodsName())) {
+            //删除激活
+            if(isActiva!=1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科一专项VIP(含计时)".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                if (km1Date != null) {  //存在会员时间
+                    long x = km1Date.getTime() - oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                    userVipService.updateById(userVip);
+                }
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科一专项VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                if (km1Date != null) {  //存在会员时间
+                    long x = km1Date.getTime() - oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                    userVipService.updateById(userVip);
+                }
+            }
+        } else if ("科二专项VIP(含计时)".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                    userVipService.updateById(userVip);
+                }
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科二专项VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                    userVipService.updateById(userVip);
+                }
+            }
+        } else if ("科三专项VIP(含计时)".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                    userVipService.updateById(userVip);
+                }
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科三专项VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                    userVipService.updateById(userVip);
+                }
+            }
+        } else if ("科四专项VIP(含计时)".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                    userVipService.updateById(userVip);
+                }
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科四专项VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                    userVipService.updateById(userVip);
+                }
+            }
+        } else if ("科目一二三四所有付费权益".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                if (km1Date != null) {  //存在会员时间
+                    long x = km1Date.getTime() - oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                }
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                }
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+        } else if ("科一+科四VIP(含计时)".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                if (km1Date != null) {  //存在会员时间
+                    long x = km1Date.getTime() - oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                }
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科一+科四VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                if (km1Date != null) {  //存在会员时间
+                    long x = km1Date.getTime() - oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                }
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+        } else if ("科二+科三VIP(含计时)".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                }
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科二+科三VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                }
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+        } else if ("科二+科三+科四(含计时)".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                }
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科二+科三+科四".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                }
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+        } else if ("科三+科四VIP(含计时)".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("科三+科四VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+        } else if ("全科目超级VIP(含计时)".equals(order.getGoodsName())){
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                if (km1Date != null) {  //存在会员时间
+                    long x = km1Date.getTime() - oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                }
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                }
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        } else if ("全科目超级VIP".equals(order.getGoodsName())) {
+            UserVip userVip = userVipService.getUserVipByUserId(order.getUserId());
+            if (userVip != null) {
+                //修改会员信息
+                Date km1Date = userVip.getSubject1();
+                if (km1Date != null) {  //存在会员时间
+                    long x = km1Date.getTime() - oneYearLong;
+                    Date km1oneYear = new Date(x);
+                    userVip.setSubject1(km1oneYear);
+                }
+                Date km2Date = userVip.getSubject2();
+                if (km2Date != null) {  //存在会员时间
+                    long x = km2Date.getTime() - oneYearLong;
+                    Date km2oneYear = new Date(x);
+                    userVip.setSubject2(km2oneYear);
+                }
+                Date km3Date = userVip.getSubject3();
+                if (km3Date != null) {  //存在会员时间
+                    long x = km3Date.getTime() - oneYearLong;
+                    Date km3oneYear = new Date(x);
+                    userVip.setSubject3(km3oneYear);
+                }
+
+                Date km4Date = userVip.getSubject4();
+                if (km4Date != null) {  //存在会员时间
+                    long x = km4Date.getTime() - oneYearLong;
+                    Date km4oneYear = new Date(x);
+                    userVip.setSubject4(km4oneYear);
+                }
+                userVipService.updateById(userVip);
+            }
+            //删除激活
+            if(isActiva==1) {
+                delActiva(userInfo.getOutId());
+            }
+        }
+        int isShare = schPayConfigService.isSchPayConfigByJxbh(userInfo.getSchool());
+        if (isShare == 1) {
+            //如果是合作驾校插入消费记录表
+            savePayLog(order, userInfo,2);
+        }
+    }
+
+
 
     /**
      * 插入支付记录
      * @param order
      * @param gzptUserInfo
      */
-    private void savePayLog(WxJsOrder order, GzptUserInfo gzptUserInfo) {
+    private void savePayLog(WxJsOrder order, GzptUserInfo gzptUserInfo,int state) {
         GzptSchPayLog schPayLog = new GzptSchPayLog();
         schPayLog.setStuId(gzptUserInfo.getOutId());
         schPayLog.setDqbh(order.getDqbh());
         schPayLog.setPrice(order.getTotal());
         schPayLog.setJxbh(order.getSchool());
         schPayLog.setCrtime(new Date());
-        schPayLog.setState(1); // 1充值  2退款
+        schPayLog.setState(state); // 1充值  2退款
         schPayLogService.saveSchPayLog(schPayLog);
     }
 
@@ -1412,4 +1817,9 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
         schActivation.setCrtime(new Date());
         schActivationService.saveSchActivation(schActivation);
     }
+
+    private void delActiva(Long stuId) {
+        schActivationService.delSchActivation(stuId);
+    }
+
 }

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

@@ -24,5 +24,10 @@
     </select>
 
 
+    <delete id="delSchActivationByStuId" parameterType="Long">
+        delete GZPT_SCH_ACTIVATION where STU_ID = #{stuId}
+    </delete>
+
+
 
 </mapper>