Pārlūkot izejas kodu

车辆到闸道口自动查询出车辆

qzyReal 3 gadi atpakaļ
vecāks
revīzija
7d53fab0cc

+ 4 - 4
app/apis/api.js

@@ -110,12 +110,12 @@ export default {
 	getUnitList() {
 		return ajax.get('/TbUnit/getList')
 	},
-	getPrePay(data) {
-		return ajax.get('/wx/pre-pay', data)
-	},
 	// getPrePay(data) {
-	// 	return ajax.get('/jh/init-pay', data)
+	// 	return ajax.get('/wx/pre-pay', data)
 	// },
+	getPrePay(data) {
+		return ajax.get('/jh/init-pay', data)
+	},
 	getRedirectUrl(data) {
 		return ajax.get('/wx/getRedirectUrl', data)
 	},

+ 1 - 1
app/utils/request.js

@@ -1,5 +1,5 @@
 const server = 'http://127.0.0.1:8099/pro';
-// const server = 'http://pco.aseanbusiness.cn/pro';
+// const server = 'https://pco.aseanbusiness.cn/pro';
 // const server = 'https://dxkaa1.bgigc.com/pro';
 
 import common from '../common/js/common.js';

+ 8 - 0
sp-admin/sa-view/tb-business-car/tb-business-car-list.html

@@ -37,6 +37,14 @@
 							<el-option label="未离场" value="3"> </el-option>
 						</el-select>
 					</div>
+					<div class="c-item" style="width: 120px;">
+						<label class="c-label">车辆颜色:</label>
+						<el-select v-model="p.color" placeholder="请选择">
+							<el-option label="-全部-" value="1"> </el-option>
+							<el-option label="已离场" value="2"> </el-option>
+							<el-option label="未离场" value="3"> </el-option>
+						</el-select>
+					</div>
 				</el-form>
 				<el-form>
 					<div class="c-item">

+ 1 - 1
sp-admin/static/sa.js

@@ -14,7 +14,7 @@ var sa = {
 	}
 	// 服务器测试环境
 	var cfg_test = {
-		api_url: 'http://pco.aseanbusiness.cn/pro',
+		api_url: 'https://pco.aseanbusiness.cn/pro',
 		web_url: 'http://www.baidu.com'
 	}
 	// 正式生产环境

+ 1 - 0
sp-server/app.pid

@@ -0,0 +1 @@
+6392

+ 4 - 1
sp-server/pom.xml

@@ -45,7 +45,10 @@
             <artifactId>pagehelper-spring-boot-starter</artifactId>
             <version>1.2.13</version>
         </dependency>
-        
+		<dependency>
+			<groupId>org.springframework.retry</groupId>
+			<artifactId>spring-retry</artifactId>
+		</dependency>
 		<!-- mysql -->
 		<dependency>
 			<groupId>mysql</groupId>

+ 20 - 1
sp-server/src/main/java/com/pj/api/jh/api/JhController.java

@@ -1,11 +1,13 @@
 package com.pj.api.jh.api;
 
 import cn.hutool.core.util.XmlUtil;
+import com.pj.api.jh.bo.JhNotifyBO;
 import com.pj.api.jh.service.JhService;
 import com.pj.utils.sg.AjaxJson;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -29,9 +31,26 @@ public class JhController {
 
     @Resource
     JhService jhService;
+
     @RequestMapping(value = "init-pay")
-    public AjaxJson prePay( HttpServletRequest request) throws Exception {
+    public AjaxJson prePay(HttpServletRequest request) throws Exception {
         return AjaxJson.getSuccessData(jhService.initPay(request));
     }
+    @RequestMapping(value = "notify")
+    public String notifyResult(JhNotifyBO bo) {
+        jhService.notifyResult(bo);
+        return "SUCCESS";
+    }
+
+
+    @RequestMapping(value = "check-pay-result")
+    public AjaxJson checkPayResult(@RequestParam String outTradeNo) {
+        return AjaxJson.getSuccessData(jhService.checkPayResult(outTradeNo));
+    }
+
+    @RequestMapping(value = "refund")
+    public AjaxJson refund(@RequestParam String outTradeNo) {
+        return AjaxJson.getSuccessData(jhService.checkPayResult(outTradeNo));
+    }
 
 }

+ 22 - 0
sp-server/src/main/java/com/pj/api/jh/bo/JhNotifyBO.java

@@ -0,0 +1,22 @@
+package com.pj.api.jh.bo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+@Data
+public class JhNotifyBO implements Serializable {
+    private String businessMerchantNo;
+    private String orderPrice;
+    private String outTradeNo;
+    private String bankOrderNo;
+    private String productName;
+    private String productType;
+    private String tradeStatus;
+    private String successTime;
+    private String orderTime;
+    private String trxNo;
+    private String remark;
+    private String sign;
+    private String attach;
+    private String bankTrxNo;
+}

+ 47 - 21
sp-server/src/main/java/com/pj/api/jh/service/JhService.java

@@ -3,19 +3,21 @@ package com.pj.api.jh.service;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.crypto.SecureUtil;
 import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import cn.hutool.log.StaticLog;
-import com.pj.api.jh.MerchantApiUtil;
-import com.pj.api.wx.WxUtils;
+import com.pj.api.jh.utils.JhHttpUtils;
+import com.pj.api.jh.utils.MerchantApiUtil;
+import com.pj.api.jh.bo.JhNotifyBO;
 import com.pj.api.wx.bo.Attach;
+import com.pj.api.wx.bo.NotifyBO;
 import com.pj.api.wx.service.WxService;
 import com.pj.current.config.JhConfig;
 import com.pj.current.config.MyConfig;
-import com.pj.current.config.WxConfig;
+import com.pj.current.config.PartConfig;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -23,10 +25,8 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Set;
 
 /**
  * @Auther: lzm
@@ -39,27 +39,29 @@ import java.util.Set;
 public class JhService {
 
     @Resource
-    WxConfig wxConfig;
-    @Resource
     MyConfig myConfig;
     @Resource
     JhConfig jhConfig;
     @Resource
-    WxUtils wxUtils;
+    PartConfig partConfig;
     @Resource
     WxService wxService;
 
+    @Resource
+    JhHttpUtils jhHttpUtils;
+
     public JSONObject initPay(HttpServletRequest request) throws Exception {
         String money = request.getParameter("money");
-//        String openid = request.getParameter("openid");
-        String openid = "oDWvn5w-hVkzUuKeY7OBXBV_l1rU";
+        String openid = request.getParameter("openid");
+        String desc = request.getParameter("desc");
         String businessId = request.getParameter("b");
         String c = request.getParameter("c");
         String a = request.getParameter("a");
         Attach atchMap = new Attach();
         atchMap.setC(c).setB(businessId).setA(a);
         String out_trade_no = RandomUtil.randomString(30);
-        Map<String, String> params = new HashMap<>();
+        StaticLog.info("outTradeNo:{}",out_trade_no);
+        Map<String, Object> params = new HashMap<>();
         params.put("attach", JSONUtil.toJsonStr(atchMap));
         params.put("productType", jhConfig.getProductType());
         params.put("businessMerchantNo", jhConfig.getBusinessMerchantNo());
@@ -67,26 +69,23 @@ public class JhService {
         params.put("merchantNo", jhConfig.getBusinessMerchantNo());
         params.put("tradeType", jhConfig.getTradeType());
         params.put("subTradeType", "");
-//        String total_free = money+"";
-        String total_free = "0.01";
+        String total_free = partConfig.isTestEnv() ? "0.01" : money + "";
         log.info("order price:{}", total_free);
         params.put("orderPrice", total_free);
         params.put("outTradeNo", out_trade_no);
-        params.put("productName", "业务订单支付");
+        params.put("productName", desc);
         params.put("orderIp", WxService.getIpAddress(request));
         String now = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
         params.put("orderTime", now);
         params.put("returnUrl", "");
-        params.put("notifyUrl", myConfig.getDomain() + "/wx/notify");
-        params.put("remark", "业务订单支付");
+        params.put("notifyUrl", myConfig.getDomain() + "/jh/notify");
+        params.put("remark", desc);
         String paySecrit = jhConfig.getPaySecret();
         String sign = MerchantApiUtil.getSign(params, paySecrit);
         params.put("sign", sign);
-
         String jsonParam = JSONUtil.toJsonStr(params);
         String initPayUrl = jhConfig.getServerUrl() + "/uaps-web-gateway/cnpPay/initPay";
-        String result = HttpUtil.createPost(initPayUrl).header("Content-Type", "application/json").body(jsonParam)
-                .execute().body();
+        String result = jhHttpUtils.postJson(initPayUrl,jsonParam);
         StaticLog.info("调用聚合支付返回:{}", result);
         JSONObject jsonResult = JSONUtil.parseObj(result);
         if (StrUtil.equals("0000", jsonResult.get("resultCode").toString())) {
@@ -94,10 +93,37 @@ public class JhService {
             String p = payMessage.getStr("package");
             Map<String, String> r = wxService.getPayP(payMessage.getStr("timeStamp"), payMessage.getStr("nonceStr"), openid, p);
             StaticLog.info("re:{}", JSONUtil.toJsonStr(r));
-            return JSONUtil.parseObj(payMessage);
+            JSONObject object = JSONUtil.parseObj(payMessage);
+            object.set("outTradeNo", out_trade_no);
+            return object;
         }
         throw new Exception("支付信息有误");
     }
 
 
+    public JSONObject checkPayResult(String outTradeNo) {
+        String url = jhConfig.getServerUrl() + "/uaps-web-gateway/query/singleOrder";
+        Map<String, Object> params = new HashMap<>();
+        params.put("businessMerchantNo", jhConfig.getBusinessMerchantNo());
+        params.put("outTradeNo", outTradeNo);
+        String paySecrit = jhConfig.getPaySecret();
+        String sign = MerchantApiUtil.getSign(params, paySecrit);
+        params.put("sign", sign);
+        String result = jhHttpUtils.postForm(url,params);
+        StaticLog.info("调用聚合支付查询支付接口返回:{}", result);
+        return JSONUtil.parseObj(result);
+    }
+    @Async
+    public void notifyResult(JhNotifyBO bo) {
+        StaticLog.info("聚合支付回调:{}", JSONUtil.toJsonStr(bo));
+        if (!"SUCCESS".equals(bo.getTradeStatus().toUpperCase())){
+            return;
+        }
+        NotifyBO notifyBO=new NotifyBO();
+        notifyBO.setOutTradeNo(bo.getOutTradeNo())
+                .setAttach(bo.getAttach())
+                .setTransactionId(bo.getBankTrxNo())
+        .setTotalFee(NumberUtil.mul(bo.getOrderPrice(),100+"").toString());
+        wxService.WxNotify(notifyBO);
+    }
 }

+ 39 - 0
sp-server/src/main/java/com/pj/api/jh/utils/JhHttpUtils.java

@@ -0,0 +1,39 @@
+package com.pj.api.jh.utils;
+
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.retry.annotation.Backoff;
+import org.springframework.retry.annotation.Retryable;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+@Component
+@Slf4j
+public class JhHttpUtils {
+
+    @Retryable(maxAttempts = 10, backoff = @Backoff(delay = 1000, maxDelay = 1200))
+    public String postJson(String url, String body) {
+        log.info("开始请求接口:{},{}", url, body);
+        String resp = HttpUtil.createPost(url)
+                .header("Content-Type", "application/json")
+                .setConnectionTimeout(3000).setReadTimeout(2000)
+                .body(body)
+                .execute().body();
+        log.info("接口返回:{},{}", url, resp);
+        return resp;
+    }
+
+    @Retryable(maxAttempts = 10, backoff = @Backoff(delay = 1000, maxDelay = 1200))
+    public String postForm(String url, Map<String, Object> params) {
+        log.info("开始请求接口:{},{}", url, JSONUtil.toJsonStr(params));
+        String resp = HttpUtil.createPost(url)
+                .setConnectionTimeout(3000).setReadTimeout(2000)
+                .form(params)
+                .execute().body();
+        log.info("接口返回:{},{}", url, resp);
+        return resp;
+    }
+}

+ 3 - 3
sp-server/src/main/java/com/pj/api/jh/MerchantApiUtil.java → sp-server/src/main/java/com/pj/api/jh/utils/MerchantApiUtil.java

@@ -1,4 +1,4 @@
-package com.pj.api.jh;
+package com.pj.api.jh.utils;
 
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.SecureUtil;
@@ -27,7 +27,7 @@ public class MerchantApiUtil {
      *            签名密钥
      * @return
      */
-    public static String getSign(Map<String, String> paramMap, String paySecret) {
+    public static String getSign(Map<String, Object> paramMap, String paySecret) {
         SortedMap<String, Object> smap = new TreeMap<String, Object>(paramMap);
         if (smap.get("sign") != null) {
             smap.remove("sign");
@@ -56,7 +56,7 @@ public class MerchantApiUtil {
      *            原始签名密文
      * @return
      */
-    public static boolean isRightSign(Map<String, String> paramMap, String paySecret, String signStr) {
+    public static boolean isRightSign(Map<String, Object> paramMap, String paySecret, String signStr) {
 
         if (StrUtil.isBlank(signStr)) {
             return false;

+ 8 - 1
sp-server/src/main/java/com/pj/api/open/service/OpenService.java

@@ -137,6 +137,7 @@ public class OpenService {
                 tbBusinessCar.setRealOutTime(now).setTimeUpdate(now).setOutChannel(channel);
                 tbBusinessCarService.updateById(tbBusinessCar);
                 CoverBase64ToUrl(image, tbBusinessCar.getId(), 2);
+                RedisUtil.del(channel);
                 return ResultJson.success();
             }
         }
@@ -145,9 +146,11 @@ public class OpenService {
             tbBusinessCar.setRealOutTime(now).setTimeUpdate(now).setOutChannel(channel);
             tbBusinessCarService.updateById(tbBusinessCar);
             CoverBase64ToUrl(image, tbBusinessCar.getId(), 2);
+            RedisUtil.del(channel);
             return ResultJson.success();
         }
         if (tbBusinessCar.getIsLock() == 1) {
+            RedisUtil.setByMINUTES(channel, carNo,2);
             return ResultJson.error("车辆已锁定");
         }
         String businessId = tbBusinessCar.getBusinessId();
@@ -162,13 +165,14 @@ public class OpenService {
 //        double dif = price.subtract(tbBusinessCar.getMoney()).doubleValue();
         double dif = price.doubleValue();
         if (dif > 0) {
-            RedisUtil.set(channel, carNo);
+            RedisUtil.setByMINUTES(channel, carNo,1);
             return ResultJson.error("请缴停车费" + dif + "元");
         }
         if (StrUtil.isEmpty(businessId)) {
             tbBusinessCar.setRealOutTime(now).setOutChannel(channel).setTimeUpdate(now);
             tbBusinessCarService.updateById(tbBusinessCar);
             CoverBase64ToUrl(image, tbBusinessCar.getId(), 2);
+            RedisUtil.del(channel);
             return ResultJson.success();
         }
         TbBusiness business = tbBusinessService.getById(businessId);
@@ -182,16 +186,19 @@ public class OpenService {
 
         if (!CAR_LIST.contains(StrUtil.sub(carNo, 0, 1))) {
             if (!business.getItemPrice().equals(itemPayPrice) && business.getCustomerType() != 2) {
+                RedisUtil.setByMINUTES(channel, carNo,2);
                 return ResultJson.error("请缴纳业务费用");
             }
         }
 
         if (TbBusiness.BusinessType.CAR_DISINCLE.getCode().equals(business.getBusinessType()) && !business.getItemPrice().equals(itemPayPrice)) {
+            RedisUtil.setByMINUTES(channel, carNo,1);
             return ResultJson.error("请缴纳业务费用");
         }
         tbBusinessCar.setRealOutTime(now).setOutChannel(channel).setTimeUpdate(now);
         tbBusinessCarService.updateById(tbBusinessCar);
         CoverBase64ToUrl(image, tbBusinessCar.getId(), 2);
+        RedisUtil.del(channel);
         return ResultJson.success();
     }
 

+ 17 - 11
sp-server/src/main/java/com/pj/api/service/ApiService.java

@@ -136,9 +136,9 @@ public class ApiService {
             TbBusiness tbBusiness = tbBusinessService.getById(businessId);
             return tbBusiness.getAdminConfirmInput() == 1;
         }).collect(Collectors.toList());
-       List<TbBusinessCar>cars= tbBusinessCarService.findTheNoBusinessCar(carNo);
-       //过滤掉不用缴费的车
-       list.addAll(cars);
+        List<TbBusinessCar> cars = tbBusinessCarService.findTheNoBusinessCar(carNo);
+        //过滤掉不用缴费的车
+        list.addAll(cars);
         return list;
     }
 
@@ -153,18 +153,24 @@ public class ApiService {
     public Map<String, Object> getPartCarByChannel(String channel) {
         Map<String, Object> result = new HashMap<>();
         String carNo = RedisUtil.get(channel);
-        TbBusinessCar tbBusinessCar = tbBusinessCarService.findInBuNoOutAndNotPay(carNo);
+        if (StrUtil.isEmpty(carNo)) {
+            return result;
+        }
+        TbBusinessCar tbBusinessCar = tbBusinessCarService.findTheLastRecord(carNo);
         if (tbBusinessCar == null) {
             return result;
         }
         Date now = new Date();
-        BigDecimal price = tbBusinessService.calculationPartMoney(tbBusinessCar.getRealInTime(), now);
-        BigDecimal dif = price.subtract(tbBusinessCar.getMoney());
+        Date startTime = tbBusinessCar.getRealInTime();
+        if (tbBusinessCar.getPayTime() != null) {
+            startTime = tbBusinessCar.getPayTime();
+        }
+        BigDecimal price = tbBusinessService.calculationPartMoney(startTime, now);
         Map<String, Object> car = new HashMap<>();
         car.put("id", tbBusinessCar.getId());
         car.put("carNo", tbBusinessCar.getCarNo());
-        car.put("price", dif);
-        result.put("total", dif);
+        car.put("price", price);
+        result.put("total", price);
         result.put("cars", Collections.singleton(car));
         return result;
     }
@@ -244,7 +250,7 @@ public class ApiService {
         TbBusiness tbBusiness = tbBusinessService.getById(tbBusinessItem.getBusinessId());
         MsgDataBO msgDataBO = new MsgDataBO("订单号:" + tbBusinessItem.getNo(), tbCostomer.getName(), DateUtil.now(), tbBusiness.getGoodsName() + "(" + tbBusinessItem.getItemTypeName() + tbBusinessItem.getItemName() + ")");
         spAdminList.stream().filter(admin -> StrUtil.isNotEmpty(admin.getOpenid())).forEach(admin -> {
-            String detailUrl = myConfig.getWebDomain() + "/pages/business-order/business-item?id=" + tbBusiness.getId() +"&itemId="+tbBusinessItem.getId()+ "&openid=" + openid;
+            String detailUrl = myConfig.getWebDomain() + "/pages/business-order/business-item?id=" + tbBusiness.getId() + "&itemId=" + tbBusinessItem.getId() + "&openid=" + openid;
             log.info("admin confirm business:[{}]", detailUrl);
             wxService.sendTemplateMsg(wxConfig.getBusinessPickTemplate(), admin.getOpenid(), msgDataBO, detailUrl);
         });
@@ -267,7 +273,7 @@ public class ApiService {
         }
         db = new TbBusinessCar();
         TbCar tbCar = tbCarService.findByCardNo(carNo);
-        db.setCarNo(carNo).setIsLock(0).setCarCompany(tbCar!=null?tbCar.getCustomerName():"临时");
+        db.setCarNo(carNo).setIsLock(0).setCarCompany(tbCar != null ? tbCar.getCustomerName() : "临时");
         TbBusiness tbBusiness = new TbBusiness();
         if (StpUserUtil.isLogin()) {
             String customerId = StpUserUtil.getCustomerId();
@@ -306,7 +312,7 @@ public class ApiService {
         }
         tbBusinessService.save(tbBusiness);
         db.setBusinessId(tbBusiness.getId())
-        .setNo(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmm")) + RandomUtil.randomNumbers(4));
+                .setNo(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmm")) + RandomUtil.randomNumbers(4));
         tbBusinessCarService.save(db);
         itemList.forEach(tbBusinessItem -> tbBusinessItem.setBusinessId(tbBusiness.getId()));
         tbBusinessItemService.saveBatch(itemList);

+ 1 - 0
sp-server/src/main/java/com/pj/api/wx/api/WxController.java

@@ -26,6 +26,7 @@ public class WxController {
 
     @RequestMapping(value = "notify")
     public void notify(@RequestBody NotifyBO notifyBO, HttpServletResponse response) throws Exception{
+        log.info("wx pay notify;{}", JSONUtil.toJsonStr(notifyBO));
         response.setContentType("application/json");
         response.setCharacterEncoding("UTF-8");
         Writer writer = response.getWriter();

+ 2 - 0
sp-server/src/main/java/com/pj/api/wx/bo/NotifyBO.java

@@ -3,9 +3,11 @@ package com.pj.api.wx.bo;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
 import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
 @JacksonXmlRootElement(localName = "xml")
 @Data
+@Accessors(chain = true)
 public class NotifyBO {
 
 

+ 6 - 15
sp-server/src/main/java/com/pj/api/wx/service/WxService.java

@@ -129,7 +129,9 @@ public class WxService {
             vo.setPayUrl(webUrl == null ? "" : webUrl.toString())
                     .setPrePayId(preId)
                     .setTradeType(tradeType);
-            return getPayParams(openid, preId);
+            Map<String, String> payParams = getPayParams(openid, preId);
+            payParams.put("outTradeNo", out_trade_no);
+            return payParams;
         }
         throw new Exception("支付信息有误");
     }
@@ -182,7 +184,7 @@ public class WxService {
     TimedCache<String, Integer> NotifyCache = CacheUtil.newTimedCache(360000);
 
     @Async
-    public void WxNotify(NotifyBO notifyBO) throws Exception {
+    public void WxNotify(NotifyBO notifyBO)  {
         String outTradeNo = notifyBO.getOutTradeNo();
         if (NotifyCache.get(outTradeNo) != null) {
             return;
@@ -190,9 +192,6 @@ public class WxService {
         NotifyCache.put(outTradeNo, 1);
         String total_fee = notifyBO.getTotalFee();
         BigDecimal money = new BigDecimal(total_fee).divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP);
-        log.info("wx pay notify;{}", JSONUtil.toJsonStr(notifyBO));
-        String tradeNo = notifyBO.getOutTradeNo();
-        tradeNo = StrUtil.subBefore(tradeNo, "_", true);
         String attachStr = notifyBO.getAttach();
         String transactionId = notifyBO.getTransactionId();
         Date now = new Date();
@@ -225,16 +224,6 @@ public class WxService {
                         .setPayNo(transactionId);
                 tbBusiness.setPayStatus(tbBusiness.getPayMoney().equals(tbBusiness.getTotalMoney()) ? 3 : 4);
                 tbBusinessService.updateById(tbBusiness);
-                TbPayRecord payRecord = new TbPayRecord();
-                TbCostomer tbCostomer = tbCostomerService.getById(tbBusiness.getCustomerId());
-                payRecord.setCreateTime(now)
-                        .setOutTradeNo(tradeNo)
-                        .setTransactionId(transactionId)
-                        .setPayMoney(money);
-                if (tbCostomer != null) {
-                    payRecord.setCustomerId(tbCostomer.getId()).setCustomerName(tbCostomer.getName());
-                }
-                tbPayRecordService.save(payRecord);
             }
             String a = attach.getA();
             if (StrUtil.isNotEmpty(a)) {
@@ -244,6 +233,8 @@ public class WxService {
         }
     }
 
+
+
     public String getRedirectUrl(String path, String state) {
         String redirectUrl = myConfig.getWebDomain() + path;
         String encoderUrl = URLDecoder.decode(redirectUrl, Charset.forName("utf-8"));

+ 0 - 1
sp-server/src/main/java/com/pj/current/satoken/SaTokenConfigure.java

@@ -62,7 +62,6 @@ public class SaTokenConfigure implements WebMvcConfigurer {
         			
         			// 如果是预检请求,则立即返回到前端 
         			SaRouter.match(SaHttpMethod.OPTIONS)
-        				.free(r -> System.out.println("--------OPTIONS预检请求,不做处理"))
         				.back();
         		})
         		;

+ 1 - 1
sp-server/src/main/java/com/pj/project/tb_business/TbBusinessService.java

@@ -498,7 +498,7 @@ public class TbBusinessService extends ServiceImpl<TbBusinessMapper, TbBusiness>
             BigDecimal partMoney = new BigDecimal("0");
             String carNo = tbBusinessCar.getCarNo().substring(0, 1);
             if (inTime != null && CAR_LIST.contains(carNo)) {
-                if (tbBusinessCar.getPay()==1){
+                if (tbBusinessCar.getPay()==1&&tbBusinessCar.getPayTime()!=null){
                     inTime=tbBusinessCar.getPayTime();
                 }
                 partMoney = this.calculationPartMoney(inTime, now);