From 85f5baee0e3d255860395278dcb5cbb5cc766023 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期一, 10 七月 2023 15:13:37 +0800
Subject: [PATCH] 修改

---
 src/main/java/com/boying/controller/phone/PayController.java |  128 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 117 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/boying/controller/phone/PayController.java b/src/main/java/com/boying/controller/phone/PayController.java
index 5480726..03b4ff2 100644
--- a/src/main/java/com/boying/controller/phone/PayController.java
+++ b/src/main/java/com/boying/controller/phone/PayController.java
@@ -42,7 +42,7 @@
  * @createTime 2022骞�11鏈�22鏃� 15:19:00
  */
 @RestController
-@RequestMapping("ffPay")
+@RequestMapping("ffzf/ffPay")
 @RequiredArgsConstructor
 public class PayController extends BaseController {
 
@@ -53,6 +53,7 @@
     private final SystemConfigProperties systemConfigProperties;
     private final ParkService parkService;
     private final WhiteListService whiteListService;
+    private final NowPayOrderService nowPayOrderService;
 
     static String payKey = "df937eda27cb4a59a12347966678e232";
     static String paySecret = "9e3b2f387b5b4232a9c782affc9c36ed";
@@ -167,7 +168,7 @@
     @PostMapping("result")
     public String result(HttpServletRequest request, String payKey, String payerTypeCode, String payerNum, String payCode, Double amt, String status, String errorInfo, String sign, String signType) throws Exception{
         try {
-            updateOrderRecord(payCode,status);
+           // updateOrderRecord(payCode,status);
         }catch (Exception e){
          e.printStackTrace();
         }
@@ -382,6 +383,113 @@
 
 
 
+    /**
+     * 鑾峰彇鎵ф硶id
+     */
+    @PostMapping("getZhifaId")
+    public Object getZhifaId(){
+        QueryWrapper<NowPayOrder> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(NowPayOrder::getType,0)
+                .orderByDesc(NowPayOrder::getCreateTime)
+                .last(" limit 1");
+        NowPayOrder one = nowPayOrderService.getOne(wrapper);
+        if(one == null){
+            return R.failed(null,"鏆傛棤缂磋垂椤圭洰");
+        }else {
+            return R.ok(ticketService.getById(one.getQueryId()));
+        }
+    }
+
+    /**
+     * 缂存涔�
+     */
+    @PostMapping("zhifa")
+    public Object zhifa(Long id){
+        System.out.println(id+"寮�濮嬬即璐�");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
+        String logs = sdf.format(new Date())+"寮�濮嬫壂鐮佺即璐�------銆媆n";
+        logs += "缃氬崟琛╥d涓猴細"+id+",\n";
+        Ticket ticket =  ticketService.getById(id);
+        if(ticket.getMoney()==0){
+            updateTicket(ticket.getId(),"03");
+            logs += "鏀粯閲戦涓�0,\n";
+            writeTxt(logs);
+            return R.failed("鏈綒鍗曟棤闇�鏀粯璐圭敤");
+        }
+        if(StringUtils.isNotBlank(ticket.getPayCode()) && ticket.getPayStatus() == 0){
+            return R.ok("鐢熸垚鐢靛瓙缃氬崟缂存鐮�", "https://hbfs.govpay.ccb.com/online/fssm?fee=130000000001&PyfScnCgycd=01&pyfTpcd=3&BNo="+ticket.getPayCode());
+        }else if(StringUtils.isNotBlank(ticket.getPayCode()) && ticket.getPayStatus() == 1){
+            return R.failed("宸茬即璐�");
+        }
+        if(StringUtils.isBlank(ticket.getPayCode())){
+            return R.ok("鐢熸垚鐢靛瓙缃氬崟缂存鐮�", getPayUrl2(ticket));
+        }else {
+            return R.failed("鍑洪敊");
+        }
+
+    }
+
+    /**
+     * 鑾峰彇缂存鐮�
+     * @param ticket
+     * @return
+     */
+    public String getPayUrl2(Ticket ticket){
+        String urlIP = systemConfigProperties.getIp4();
+        String applyetcketnum = systemConfigProperties.getAPPLYETCKETNUM();
+        //鐢宠缂存涔�,鍞竴鐮佷负鍑哄満id+鏃堕棿鎴�
+        String idStr = ticket.getId()+"";
+        String dateStr = DateUtil.currentSeconds()+"";
+        String l = idStr + dateStr;
+        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
+        String format = sdf2.format(new Date());
+        List< ApplyTicket.detail> details = new ArrayList<>();
+        ApplyTicket.detail detail = new ApplyTicket.detail();
+        detail.setItemstandardtype("");
+        detail.setAmount(1);
+        detail.setAmt(ticket.getMoney());
+        detail.setIncitemcode("050114");
+        detail.setMeasureunit("");
+        details.add(detail);
+
+        ApplyTicket applyTicket = new ApplyTicket();
+        applyTicket.setBusinum(l);
+        applyTicket.setFilldate(format);
+        applyTicket.setPayer(ticket.getCarNo());
+        applyTicket.setPayeraccount("");
+        applyTicket.setPayerbank("");
+        applyTicket.setPayerphonenumber("18888888888");
+        applyTicket.setPayee("娌冲寳鐪佽储鏀垮巺");
+        applyTicket.setAmt(ticket.getMoney());
+        applyTicket.setMemo("");
+        applyTicket.setOverdate("");
+        applyTicket.setState(1);
+        applyTicket.setDetails(details);
+        String jsonStr = JSON.toJSONString(applyTicket, SerializerFeature.WriteDateUseDateFormat);
+        Map<String, Object> map = JSON.parseObject(jsonStr, new TypeReference<Map<String, Object>>() {});
+        RestTemplate restTemplate = new RestTemplate();
+        ResponseEntity<ReturnData> entity = restTemplate.postForEntity(urlIP+applyetcketnum, HTTPEntityUtil.setEntity(map), ReturnData.class);
+        if(entity.getBody().getCode() == 1){
+            System.out.println("鏀粯鐢宠缂存鐮佽繑鍥炰负锛�"+entity.getBody());
+            Object o = entity.getBody().getData().get(0);
+            String s = JSON.toJSONString(o);
+            Map<String,Object> map1 = (Map)JSON.parse(s);
+            String payurl = (String)map1.get("payurl");
+            String eticketnum = (String)map1.get("eticketnum");
+            ticket.setPayCode(eticketnum);
+            ticket.setCode2(l);
+            ticketService.saveOrUpdate(ticket);
+            addOrderRecord2(ticket);
+            return payurl+eticketnum;
+        }else {
+            System.out.println("鏀粯鐢宠缂存鐮佽繑鍥炰负锛�"+entity);
+            return null;
+        }
+    }
+
+
+
 
 
 
@@ -392,24 +500,23 @@
          */
 
 
+
     //鏇存柊璁㈠崟璁板綍
-    public void updateOrderRecord(String payCode,String status){
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH_mm_ss");
-        String s = sdf.format(new Date())+"鏇存柊璁㈠崟璁板綍锛歱ayCode===="+payCode+",status==="+status+",\n";
+    public void updateOrderRecord(Integer queryId,String status){
         QueryWrapper<OrderRecord> wrapper = new QueryWrapper<>();
         wrapper.lambda()
-                .eq(OrderRecord::getPayCode,payCode)
+                .eq(OrderRecord::getQueryId,queryId)
                 .orderByDesc(OrderRecord::getCreateTime);
         List<OrderRecord> all = orderRecordService.list(wrapper);
-        s += "鏌ヨ鍒拌鍗曡褰曚负锛�"+all.size()+"鏉★紝\n";
         if(all.size()>=1){
             OrderRecord orderRecord = all.get(0);
-            s += "鏌ヨ鍒拌鍗曚负锛�"+orderRecord.getId()+"锛孿n";
             if(status.equals("01")){
                 orderRecord.setStatus(0);
             }
             if(status.equals("03")){
                 orderRecord.setStatus(1);
+                //娴嬭瘯鐜锛屾殏鏃舵妸寮�绁ㄨ缃负2
+                orderRecord.setTicketStatus(2);
             }
             if(status.equals("04")||status.equals("05")||status.equals("06")){
                 orderRecord.setStatus(2);
@@ -418,12 +525,9 @@
             if(orderRecord.getType()==0){
                 updateTicket(orderRecord.getQueryId(),status);
             }else{
-                s += "淇敼鍑哄満琛細"+orderRecord.getQueryId()+"锛宻tatus==="+status+",\n";
-                writeTxt(s);
                 updateOutPark(orderRecord.getQueryId(),status);
             }
         }
-        writeTxt(s);
     }
 
     //鏇存柊缃氬崟鐨勭姸鎬�
@@ -510,9 +614,11 @@
         orderRecord.setAddress(ticket.getAddress());
         orderRecord.setCarNo(ticket.getCarNo());
         orderRecord.setCode(ticket.getCode());
+        orderRecord.setCode2(ticket.getCode2());
         orderRecord.setMoney(ticket.getMoney());
         orderRecord.setQueryId(ticket.getId());
         orderRecord.setType(0);
+        orderRecord.setTicketStatus(2);
         orderRecord.setPayCode(ticket.getPayCode());
         orderRecordService.saveOrUpdate(orderRecord);
     }

--
Gitblit v1.9.1