Prechádzať zdrojové kódy

1、修改订单创建CardNumber的参数来源
2、优化缴费项目配置
3、添加部分日志打印

Bingo 4 rokov pred
rodič
commit
cb503fda38

+ 3 - 6
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/PayController.java

@@ -3,14 +3,10 @@ package com.chuanghai.smartschool.tuitionpayment.controller;
 import com.chuanghai.smartschool.tuitionpayment.common.utils.CommonResult;
 import com.chuanghai.smartschool.tuitionpayment.service.PayService;
 import com.chuanghai.smartschool.tuitionpayment.vo.WechatJsApiPayParamVO;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestHeader;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -20,6 +16,7 @@ import javax.servlet.http.HttpServletRequest;
  * @email codingliang@gmail.com
  * @date 2021-08-12 15:52:41
  */
+@Slf4j
 @Controller
 @RequestMapping({"pay","tuitionpayment/pay"})
 public class PayController {

+ 11 - 5
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/PayItemController.java

@@ -140,11 +140,17 @@ public class PayItemController {
             }
             bankItemDetailController.saveBankDetail(itemName, ReceiveBankItemDetailTOList);
         }
-
-
-        //将催缴发送请求计数器归零
-        payItem.setRequestCount("0");
-
+        //查询对应项目的配置
+        PayItem dateBaseItem = queryByItemNameSetting(payItem.getItemName()).getData();
+        //配置相同则不修改请求的计数器
+        if (payItem.getItemAsk().equals(dateBaseItem.getItemAsk()) && payItem.getItemAskDay().equals(dateBaseItem.getItemAskDay())&&
+                payItem.getItemExcept().equals(dateBaseItem.getItemExcept() && payItem.getItemAskCount().equals(dateBaseItem.getItemAskCount()))) {
+            //将催缴发送请求计数器归零
+            payItem.setRequestCount(dateBaseItem.getRequestCount());
+        }else {
+            //将催缴发送请求计数器归零
+            payItem.setRequestCount("0");
+        }
         payItemService.updateById(payItem);
         return CommonResult.ok().setResult(Boolean.TRUE);
     }

+ 7 - 2
src/main/java/com/chuanghai/smartschool/tuitionpayment/controller/WechatController.java

@@ -718,22 +718,27 @@ public class WechatController {
     /**
      * 每天执行一次催缴 下午15点
      */
-    // @Scheduled(fixedDelay = 20000)
+ //    @Scheduled(fixedDelay = 20000)
     @Scheduled(cron = "0 0 15 * * ?")
     public void autoTiming() {
 
         List<PayItem> payItemList = payItemService.list();
         for (int i = 0; i < payItemList.size(); i++) {
+
             PayItem payItem = (PayItem) payItemList.get(i);
             String itemName = payItem.getItemName();
             Boolean itemAsk = payItem.getItemAsk();
+
             Integer itemAskDay = Integer.parseInt(payItem.getItemAskDay());
+
             //获取设置的请求次数
             Integer itemAskCount = Integer.parseInt(payItem.getItemAskCount());
+
             //获取本请求成功的次数
             Integer count = Integer.parseInt(payItem.getRequestCount());
             if (itemAsk) {
-                if ((count < itemAskCount) && (askCount % itemAskDay == 0)) {
+
+                if (askCount != 0 && (count < itemAskCount) && (askCount % itemAskDay == 0)) {
                     askPay(itemName);
                     count += 1;
                     payItem.setRequestCount(String.valueOf(count));

+ 9 - 1
src/main/java/com/chuanghai/smartschool/tuitionpayment/service/impl/PayOrderServiceImpl.java

@@ -375,8 +375,16 @@ public class PayOrderServiceImpl extends ServiceImpl<PayOrderDao, PayOrderEntity
         //记录遍历的次数
         for (int m = 0; m < orderReceiveTOS.size(); m++) {
             OrderReceiveTO orderReceiveTO = orderReceiveTOS.get(m);
-            String cardNumber1 = orderReceiveTO.getCardNumber();
+
             PayOrderReceiveVO payOrderReceiveVO1 = orderReceiveTO.getPayOrderReceiveVO();
+            QueryWrapper<PayableInfoEntity> infoOrder = new QueryWrapper<>();
+            infoOrder.eq("id", payOrderReceiveVO1.getId());
+            PayableInfoEntity infoEntity = payableInfoService.getOne(infoOrder);
+            //通过前端传递的缴费订单的ID查询 对应的card_number
+            String cardNumber1 = infoEntity.getCardNumber();
+            log.info("创建订单的参数【{}】", orderReceiveTO);
+            log.info("通过缴费订单【{}】查询的CardNumber【{}】", payOrderReceiveVO1.getId(), cardNumber1);
+            System.out.println();
             String studentNo = payOrderReceiveVO1.getStudentNo();
             String dorm = payOrderReceiveVO1.getDorm();
             if (!StringUtils.hasText(dorm)) {

+ 2 - 1
src/main/java/com/chuanghai/smartschool/tuitionpayment/service/impl/PayServiceImpl.java

@@ -85,7 +85,7 @@ public class PayServiceImpl implements PayService {
         // 查询订单
         PayOrderEntity payOrder = payOrderService.getByOrderNo(orderNo);
         secondOrderNo = secondOrderNo.equals("") == true ? "1" : secondOrderNo;
-        log.info("第二次支付使用的订单号 ----secondOrderNo【{}】", secondOrderNo);
+        log.info("建行第二次支付使用的订单号-----【{}】,建行第二次支付使用的订单号 ----secondOrderNo【{}】",orderNo, secondOrderNo);
         if (!PayMethod.CCB_PAY.getCode().equals(payOrder.getPayMethod())) {
             throw new RRException(BizCodeEnume.NOT_CCB_PAY_ORDER);
         }
@@ -383,6 +383,7 @@ public class PayServiceImpl implements PayService {
      */
     @Override
     public String jxnxsSuccess(String orderNo, String secondOrderNo) {
+        log.info("农商银行回调的第一笔订单编号【{}】, 第二笔订单编号【{}】",orderNo, secondOrderNo);
         return wechatConfig.getFontendUrl() + "/#/pages/payState/payState?orderNo=" + orderNo + "&secondOrderNo=" + secondOrderNo;
     }