From f519185656a36159dfad0ba27e83528176827105 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期三, 13 十二月 2023 13:40:22 +0800
Subject: [PATCH] 修改
---
src/main/java/com/boying/service/impl/PayLogServiceImpl.java | 38 +++++++++
src/main/java/com/boying/service/PayLogService.java | 19 ++++
src/main/java/com/boying/entity/PayLog.java | 67 ++++++++++++++++
src/main/java/com/boying/mapper/PayLogMapper.java | 16 ++++
src/main/java/com/boying/controller/phone/YCPayController.java | 62 +++++++++------
5 files changed, 178 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/boying/controller/phone/YCPayController.java b/src/main/java/com/boying/controller/phone/YCPayController.java
index 6d91a67..349ba82 100644
--- a/src/main/java/com/boying/controller/phone/YCPayController.java
+++ b/src/main/java/com/boying/controller/phone/YCPayController.java
@@ -49,6 +49,7 @@
@RequiredArgsConstructor
public class YCPayController {
private final OutParkService outParkService;
+ private final PayLogService payLogService;
private final ParkService parkService;
private final OrderRecordService orderRecordService;
private final TicketService ticketService;
@@ -273,13 +274,15 @@
String respTxnTime = (String)map1.get("respTxnTime");
Map map2 = gson.fromJson(respData, Map.class);
String qrCode = (String)map2.get("qrCode");
- outPark.setCode2(respTxnSsn);
- outPark.setQrCode(qrCode);
- outPark.setPayTime(LocalDateTime.now());
- outPark.setTxnOrderId(outPark.getId()+""+format);
- outPark.setTxnOrderTime(format);
- outPark.setRespTxnTime(respTxnTime);
- outParkService.updateById(outPark);
+ PayLog payLog = new PayLog();
+ payLog.setOutParkId(outPark.getId());
+ payLog.setCode2(respTxnSsn);
+ payLog.setQrCode(qrCode);
+ payLog.setPayTime(LocalDateTime.now());
+ payLog.setTxnOrderId(outPark.getId()+""+format);
+ payLog.setTxnOrderTime(format);
+ payLog.setRespTxnTime(respTxnTime);
+ payLogService.save(payLog);
return R.ok(null,qrCode);
}
String respMsg = (String)map1.get("respMsg");
@@ -372,12 +375,14 @@
resultMap.put("signType",signType);
resultMap.put("package",package1);
resultMap.put("paySign",paySign);
- outPark.setCode2(respTxnSsn);
- outPark.setPayTime(LocalDateTime.now());
- outPark.setTxnOrderId(outPark.getId()+""+format);
- outPark.setTxnOrderTime(format);
- outPark.setRespTxnTime(respTxnTime);
- outParkService.updateById(outPark);
+ PayLog payLog = new PayLog();
+ payLog.setOutParkId(outPark.getId());
+ payLog.setCode2(respTxnSsn);
+ payLog.setPayTime(LocalDateTime.now());
+ payLog.setTxnOrderId(outPark.getId()+""+format);
+ payLog.setTxnOrderTime(format);
+ payLog.setRespTxnTime(respTxnTime);
+ payLogService.save(payLog);
return R.ok(resultMap,null);
}
String respMsg = (String)map1.get("respMsg");
@@ -435,19 +440,28 @@
if(respCode != null){
if(respCode.equals("0000")){
//浜ゆ槗鎴愬姛,鏍规嵁娴佹按鍙锋煡璇㈠嚭鍦鸿褰�
- OutPark byPayCode = outParkService.findByPayCode(respTxnSsn);
- writeTxt2(byPayCode.getId()+"鏀跺埌鍥炴墽\n");
- if(byPayCode == null){
- return R.failed("鏈煡璇㈠埌璁㈠崟");
+ PayLog payLog = payLogService.findByPayCode(respTxnSsn);
+ if(payLog == null){
+ return R.failed("鏈煡璇㈠埌娴佹按璁板綍");
}else {
- updateOrderRecord((long)byPayCode.getId(),"03");
- List<EnterPark> byCarNo = enterParkService.findByCarNo(byPayCode.getCarNo(),byPayCode.getParkId());
- if(byCarNo.size()>0){
- EnterPark enterPark = byCarNo.get(0);
- enterPark.setIsPay(1);
- enterParkService.updateById(enterPark);
+ OutPark byPayCode = outParkService.getById(payLog.getOutParkId());
+ writeTxt2(byPayCode.getId()+"鏀跺埌鍥炴墽\n");
+ if(byPayCode == null){
+ return R.failed("鏈煡璇㈠埌璁㈠崟");
+ }else {
+ if(byPayCode.getStatus() == 1){
+ return R.ok(null,"璁㈠崟宸叉敮浠�");
+ }else {
+ updateOrderRecord((long)byPayCode.getId(),"03");
+ List<EnterPark> byCarNo = enterParkService.findByCarNo(byPayCode.getCarNo(),byPayCode.getParkId());
+ if(byCarNo.size()>0){
+ EnterPark enterPark = byCarNo.get(0);
+ enterPark.setIsPay(1);
+ enterParkService.updateById(enterPark);
+ }
+ return R.ok(null,"鍥炶皟鎴愬姛");
+ }
}
- return R.ok(null,"鍥炶皟鎴愬姛");
}
}else if(respCode.equals("0002") || respCode.equals("0003") || respCode.equals("0003") || respCode.equals("0012")){
//浜ゆ槗鎴愬姛锛岃秴鏃讹紝鏈槑锛岀◢鍚庡彂璧锋煡璇�
diff --git a/src/main/java/com/boying/entity/PayLog.java b/src/main/java/com/boying/entity/PayLog.java
new file mode 100644
index 0000000..bb44a0c
--- /dev/null
+++ b/src/main/java/com/boying/entity/PayLog.java
@@ -0,0 +1,67 @@
+package com.boying.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.boying.common.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.persistence.Entity;
+import java.time.LocalDateTime;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName PayLog.java
+ * @Description TODO
+ * @createTime 2023骞�12鏈�12鏃� 17:06:00
+ */
+@Data
+@TableName("pay_log")
+@javax.persistence.Table(name = "pay_log")
+@Entity
+@org.hibernate.annotations.Table(appliesTo = "pay_log", comment = "鏀粯鏃ュ織琛�")
+@ApiModel(value = "鏀粯鏃ュ織琛�")
+public class PayLog extends BaseEntity<PayLog> {
+
+ /**
+ * 鍑哄満琛╥d
+ */
+ private Integer outParkId;
+ /**
+ * 娴佹按鍙�
+ */
+ private String code2;
+
+
+ /**
+ * 鍟嗘埛娴佹按鍙�
+ */
+ private String txnOrderId;
+
+ /**
+ * 鍟嗘埛浜ゆ槗鏃堕棿
+ */
+ private String txnOrderTime;
+
+ /**
+ * 骞冲彴浜ゆ槗鏃堕棿
+ */
+ private String respTxnTime;
+
+
+ /**
+ * 缂存鐮�
+ */
+ private String payCode;
+
+ private String qrCode;
+
+ /**
+ * 鏀粯鏃堕棿
+ */
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private LocalDateTime payTime;
+}
diff --git a/src/main/java/com/boying/mapper/PayLogMapper.java b/src/main/java/com/boying/mapper/PayLogMapper.java
new file mode 100644
index 0000000..14b37e1
--- /dev/null
+++ b/src/main/java/com/boying/mapper/PayLogMapper.java
@@ -0,0 +1,16 @@
+package com.boying.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.boying.entity.PayLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName PayLogMapper.java
+ * @Description TODO
+ * @createTime 2023骞�12鏈�12鏃� 17:36:00
+ */
+@Mapper
+public interface PayLogMapper extends BaseMapper<PayLog> {
+}
diff --git a/src/main/java/com/boying/service/PayLogService.java b/src/main/java/com/boying/service/PayLogService.java
new file mode 100644
index 0000000..0c63047
--- /dev/null
+++ b/src/main/java/com/boying/service/PayLogService.java
@@ -0,0 +1,19 @@
+package com.boying.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.boying.entity.PayLog;
+
+import java.util.List;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName PayLogService.java
+ * @Description TODO
+ * @createTime 2023骞�12鏈�12鏃� 17:35:00
+ */
+public interface PayLogService extends IService<PayLog> {
+
+ PayLog findByPayCode(String payCode);
+
+}
diff --git a/src/main/java/com/boying/service/impl/PayLogServiceImpl.java b/src/main/java/com/boying/service/impl/PayLogServiceImpl.java
new file mode 100644
index 0000000..a613fb5
--- /dev/null
+++ b/src/main/java/com/boying/service/impl/PayLogServiceImpl.java
@@ -0,0 +1,38 @@
+package com.boying.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.boying.entity.OutPark;
+import com.boying.entity.PayLog;
+import com.boying.mapper.PayLogMapper;
+import com.boying.service.PayLogService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName PayLogServiceImpl.java
+ * @Description TODO
+ * @createTime 2023骞�12鏈�12鏃� 17:35:00
+ */
+@Service
+@AllArgsConstructor
+public class PayLogServiceImpl extends ServiceImpl<PayLogMapper, PayLog> implements PayLogService {
+
+ @Override
+ public PayLog findByPayCode(String payCode) {
+ QueryWrapper<PayLog> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(PayLog::getCode2,payCode)
+ .orderByDesc(PayLog::getCreateTime);
+ List<PayLog> payLogs = list(wrapper);
+ if(payLogs.size()>0){
+ return payLogs.get(0);
+ }else{
+ return null;
+ }
+ }
+}
--
Gitblit v1.9.1