From d0c8bb3267a8a666b9a7ad1ae406c88b2fceff58 Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期四, 08 六月 2023 10:16:11 +0800 Subject: [PATCH] 修改 --- src/main/java/com/boying/controller/phone/PayController.java | 106 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 95 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..e696599 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 { @@ -167,7 +167,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(); } @@ -381,6 +381,92 @@ } + /** + * 缂存涔� + */ + @PostMapping("zhifa") + public Object zhifa(Long 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.getStatus() == 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.getStatus() == 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 { + return null; + } + } + + @@ -392,24 +478,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 +503,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 +592,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