| | |
| | | @RequiredArgsConstructor |
| | | public class YCPayController { |
| | | private final OutParkService outParkService; |
| | | private final PayLogService payLogService; |
| | | private final ParkService parkService; |
| | | private final OrderRecordService orderRecordService; |
| | | private final TicketService ticketService; |
| | |
| | | private final WhiteListService whiteListService; |
| | | private final EnterParkService enterParkService; |
| | | private final WXService wxService; |
| | | private final OutParkLogService outParkLogService; |
| | | |
| | | /** |
| | | * 查询订单接口 |
| | |
| | | if(StringUtils.isNotBlank(outPark.getPayCode()) && outPark.getStatus() == 0){ |
| | | String logs = sdf.format(new Date())+" 车牌号为:"+outPark.getCarNo()+",申请缴费2------》\n"; |
| | | writeTxt(logs); |
| | | OutParkLog byOutPark = outParkLogService.getByOutPark(outPark.getCarNo(), outPark.getId()); |
| | | byOutPark.setPayStartTime(LocalDateTime.now()); |
| | | outParkLogService.saveOrUpdate(byOutPark); |
| | | return R.ok(null,"跳转邢台银行支付"); |
| | | }else if(StringUtils.isNotBlank(outPark.getPayCode()) && outPark.getStatus() == 1){ |
| | | return R.failed("已缴费"); |
| | |
| | | }else { |
| | | outPark.setPrice(outPark.getPrice()-enterPark.getPrice()); |
| | | outParkService.updateById(outPark); |
| | | OutParkLog byOutPark = outParkLogService.getByOutPark(outPark.getCarNo(), outPark.getId()); |
| | | byOutPark.setPayStartTime(LocalDateTime.now()); |
| | | outParkLogService.saveOrUpdate(byOutPark); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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"); |
| | |
| | | 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"); |
| | |
| | | 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 { |
| | | OutParkLog byOutPark = outParkLogService.getByOutPark(byPayCode.getCarNo(), byPayCode.getId()); |
| | | byOutPark.setPayEndTime(LocalDateTime.now()); |
| | | outParkLogService.saveOrUpdate(byOutPark); |
| | | 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")){ |
| | | //交易成功,超时,未明,稍后发起查询 |
| | |
| | | //更新出场 |
| | | public void updateOutPark(Integer outParkId, String status){ |
| | | OutPark outPark = outParkService.getById(outParkId); |
| | | if(outPark!=null){ |
| | | if(outPark!=null && outPark.getEnterTime() !=null){ |
| | | if(status.equals("03")){ |
| | | outPark.setStatus(1); |
| | | outParkService.saveOrUpdate(outPark); |