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