From bf0d3beb840ea1fa6cc117bc6ba569d89e880e15 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期二, 07 三月 2023 13:40:30 +0800
Subject: [PATCH] 新增邮储对接接口
---
src/main/java/com/boying/controller/phone/YCPayController.java | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 239 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/boying/controller/phone/YCPayController.java b/src/main/java/com/boying/controller/phone/YCPayController.java
new file mode 100644
index 0000000..8d18b3b
--- /dev/null
+++ b/src/main/java/com/boying/controller/phone/YCPayController.java
@@ -0,0 +1,239 @@
+package com.boying.controller.phone;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.boying.common.R;
+import com.boying.common.SystemConfigProperties;
+import com.boying.entity.*;
+import com.boying.service.*;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author kdq
+ * @version 1.0.0
+ * @ClassName YCPayController.java
+ * @Description 閭偍瀵规帴鏀粯鎺ュ彛
+ * @createTime 2023骞�03鏈�07鏃� 08:22:00
+ */
+@RestController
+@RequestMapping("/ffzf/api")
+@RequiredArgsConstructor
+public class YCPayController {
+ private final OutParkService outParkService;
+ private final OrderRecordService orderRecordService;
+ private final TicketService ticketService;
+ private final TicketBlackService ticketBlackService;
+ private final SystemConfigProperties systemConfigProperties;
+ private final WhiteListService whiteListService;
+
+ /**
+ * 鏌ヨ璁㈠崟鎺ュ彛
+ * @param queryId
+ * @return
+ */
+ @GetMapping("/getByQueryId")
+ public Object getByQueryId(Long queryId){
+ OutPark byId = outParkService.getById(queryId);
+ return R.ok(byId,"璇锋眰鎴愬姛");
+ }
+
+ /**
+ * 缂存涔�
+ */
+ @PostMapping("park")
+ public Object park(Long id){
+ OutPark outPark = outParkService.getById(id);
+ if(outPark.getPrice()==0){
+ updateOutPark(outPark.getId(),"03");
+ return R.failed("鏈鍋滆溅鏃犻渶鏀粯璐圭敤");
+ }
+
+ //鍒ゆ柇鏄惁鍦ㄧ櫧鍚嶅崟
+ QueryWrapper<WhiteList> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(WhiteList::getCarNo,outPark.getCarNo());
+ List<WhiteList> all = whiteListService.list(wrapper);
+ for(WhiteList w : all){
+ if(w.getType()==0){
+ updateOutPark(outPark.getId(),"03");
+ return R.failed("鏈鍋滆溅鏃犻渶鏀粯璐圭敤!");
+ }else{
+ if(w.getParkId()!=null){
+ if(w.getEndTime()!=null){
+ if(w.getParkId().equals(outPark.getParkId())&&System.currentTimeMillis()<w.getEndTime().getTime()){
+ updateOutPark(outPark.getId(),"03");
+ return R.failed("鏈鍋滆溅鏃犻渶鏀粯璐圭敤!");
+ }
+ }
+ }
+ }
+ }
+ if(outPark.getStatus() == 0){
+ return R.ok("璺宠浆閭偍鏀粯", "https://hbfs.govpay.ccb.com/online/fssm?fee=130000000001&PyfScnCgycd=01&pyfTpcd=3&BNo="+outPark.getPayCode());
+ }else if(outPark.getStatus() == 1){
+ return R.failed("宸茬即璐�");
+ }else {
+ return R.failed("绯荤粺寮傚父");
+ }
+ }
+
+ /**
+ * 鏀粯鍥炶皟鎺ュ彛
+ * @param queryId
+ * @return
+ */
+ @GetMapping("/result")
+ public Object result(Long queryId,int success,int msg){
+ OutPark byId = outParkService.getById(queryId);
+ if(byId == null){
+ return R.failed("鏈煡璇㈠埌璁㈠崟");
+ }else {
+ //淇敼璁㈠崟鐘舵�� 0鎴愬姛
+ if(success==0){
+ updateOrderRecord(queryId,"03");
+ return R.ok(null,"璇锋眰鎴愬姛");
+ }else {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
+ String logs = sdf.format(new Date())+" 鍑哄満id涓猴細"+queryId+",缂磋垂澶辫触------銆媆n";
+ logs += "鍥炴墽鍘熷洜锛�"+msg+",\n";
+ writeTxt(logs);
+ }
+ }
+ return R.ok(byId,"璇锋眰鎴愬姛");
+ }
+
+ /**
+ * 瀵硅处鎺ュ彛
+ * @param checkDate,tranDate,fileName
+ * @return
+ */
+ @GetMapping("/checkbill")
+ public Object checkbill(String checkDate,String tranDate,String fileName){
+ checkDate=checkDate.replaceAll("-","");
+ String name = "E:\\Bank_PSBC_"+checkDate+".txt";
+ File file = new File(name);
+ Boolean aBoolean = judeFileExists(file);
+ if(aBoolean){
+ return R.ok();
+ }else {
+ return R.failed(null,"鏂囦欢涓嶅瓨鍦�");
+ }
+ }
+
+
+
+ //鏇存柊璁㈠崟璁板綍
+ public void updateOrderRecord(Long queryId,String status){
+ QueryWrapper<OrderRecord> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(OrderRecord::getQueryId,queryId)
+ .orderByDesc(OrderRecord::getCreateTime);
+ List<OrderRecord> all = orderRecordService.list(wrapper);
+ if(all.size()>=1){
+ OrderRecord orderRecord = all.get(0);
+ if(status.equals("01")){
+ orderRecord.setStatus(0);
+ }
+ if(status.equals("03")){
+ orderRecord.setStatus(1);
+ }
+ if(status.equals("04")||status.equals("05")||status.equals("06")){
+ orderRecord.setStatus(2);
+ }
+ orderRecordService.saveOrUpdate(orderRecord);
+ if(orderRecord.getType()==0){
+ updateTicket(orderRecord.getQueryId(),status);
+ }else{
+ updateOutPark(orderRecord.getQueryId(),status);
+ }
+ }
+ }
+
+ //鏇存柊缃氬崟鐨勭姸鎬�
+ public void updateTicket(Integer ticketId,String status){
+ Ticket ticket = ticketService.getById(ticketId);
+ if(ticket!=null){
+ if(status.equals("01")){
+ ticket.setPayStatus(0);
+ }
+ if(status.equals("03")){
+ ticket.setPayStatus(1);
+ dealCar(ticket.getCarNo());
+ }
+ if(status.equals("04")||status.equals("05")||status.equals("06")){
+ ticket.setPayStatus(2);
+ }
+ ticketService.saveOrUpdate(ticket);
+ }
+ }
+
+ //鏇存柊缃氬崟缂磋垂鐘舵��
+ private void dealCar(String carNo){
+ QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(Ticket::getCarNo,carNo)
+ .eq(Ticket::getPayStatus,1);
+ List<Ticket> tickets = ticketService.list(wrapper);
+ if(tickets.size()==0){
+ //鏇存柊缂磋垂鐘舵��
+ QueryWrapper<TicketBlack> wrapper1 = new QueryWrapper<>();
+ wrapper1.lambda()
+ .eq(TicketBlack::getCarNo,carNo);
+ List<TicketBlack> all = ticketBlackService.list(wrapper1);
+ for(TicketBlack ticketBlack:all){
+ ticketBlack.setStatus(1);
+ ticketBlack.setBlackType(0);
+ ticketBlackService.saveOrUpdate(ticketBlack);
+ }
+ }
+ }
+
+
+ //鏇存柊鍑哄満
+ public void updateOutPark(Integer outParkId, String status){
+ OutPark outPark = outParkService.getById(outParkId);
+ if(outPark!=null){
+ if(status.equals("03")){
+ outPark.setStatus(1);
+ outParkService.saveOrUpdate(outPark);
+ }
+ }
+ }
+
+ //鍒ゆ柇鏂囦欢鏄惁瀛樺湪
+ public Boolean judeFileExists(File file){
+ if(file.exists()){
+ return true;
+ }else {
+ return false;
+ }
+ }
+
+ private void writeTxt( String txt)
+ {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ try
+ {
+ FileWriter f = new FileWriter(systemConfigProperties.getLogPath()+"鏀粯鏃ュ織"+sdf.format(new Date())+".txt",true);
+ BufferedWriter bw=new BufferedWriter(f);
+ bw.write(txt);
+ bw.newLine();
+ bw.close();
+ }
+ catch(Exception e)
+ {
+ System.out.println("鎵撳嵃閿欒");
+ }
+ }
+}
--
Gitblit v1.9.1