From 2ac8ec95387490c5ccfa0b1724e412dc9aadf4a8 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期日, 09 七月 2023 06:23:53 +0800 Subject: [PATCH] 更新支付功能 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 104 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 60 insertions(+), 44 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index ae11f11..bedb5b1 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -123,9 +123,6 @@ private IPaymentRecordService paymentRecordService; @Autowired - private PayMoneyUtil payMoneyUtil; - - @Autowired private ITransactionDetailsService transactionDetailsService; @Autowired @@ -150,15 +147,6 @@ private RedisUtil redisUtil; @Autowired - private GDFalconUtil gdFalconUtil; - - @Autowired - private GDMapGeocodingUtil gdMapGeocodingUtil; - - @Autowired - private GDMapElectricFenceUtil gdMapElectricFenceUtil; - - @Autowired private IOrderPositionService orderPositionService; @Autowired @@ -166,9 +154,6 @@ @Autowired private IAssignOrderService assignOrderService; - - @Autowired - private ALiSendSms aLiSendSms; @Resource private CarMapper carMapper; @@ -178,6 +163,9 @@ @Autowired private IOrderLogisticsService orderLogisticsService; + + @Autowired + private IBankCardService bankCardService; @Value("${filePath}") @@ -610,17 +598,17 @@ * @throws Exception */ @Override - public ResultUtil cancleOrderPrivateCar(Integer id, Integer payType, String accountNumber, Integer cancleId, Integer type, Integer language) throws Exception { + public ResultUtil cancleOrderPrivateCar(Integer id, Integer payType, Integer bankCardId, Integer cancleId, Integer type, Integer language) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(id); Integer uid = orderPrivateCar.getUserId(); UserInfo userInfo = userInfoService.selectById(uid); ResultUtil resultUtil = ResultUtil.success(""); if(null == orderPrivateCar){ - return ResultUtil.error("取消订单失败,订单信息有误", ""); + return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Order cancellation failed because the order information is incorrect" : "Annulation échouée, informations de commande incorrectes", ""); } if(orderPrivateCar.getState() != 12){ - return ResultUtil.error("取消订单失败,不合法的操作", ""); + return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Order cancellation failed, illegal operation" : "Annulation de la commande échouée, opération illégale", ""); } OrderCancel orderCancel = null; if(null == cancleId || cancleId==0){ @@ -631,15 +619,15 @@ CancleOrder query = cancleOrderService.query(orderPrivateCar.getOrderType(), 1, orderPrivateCar.getCompanyId()); if(null != query){ - if(payType == 1){//线上支付 + if(payType == 1){//手机支付 orderCancel.setPayType(1); orderCancelService.updateById(orderCancel); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); - String merchantTransactionId = sdf.format(new Date()) + "1" + id; + String merchantTransactionId = sdf.format(new Date()) + "1" + language + id; CheckoutRequest checkoutRequest = new CheckoutRequest(); checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone())); checkoutRequest.setCustomerEmail(userInfo.getEmail()); - checkoutRequest.setAccountNumber(accountNumber); + checkoutRequest.setAccountNumber(userInfo.getPhone()); checkoutRequest.setCustomerFirstName(userInfo.getFirstName()); checkoutRequest.setCustomerLastName(userInfo.getLastName()); checkoutRequest.setRequestAmount(query.getMoney()); @@ -652,6 +640,31 @@ resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ paymentRecordService.saveData(1, null, null, id, 1, 1, query.getMoney(), null, 1);//添加预支付数据 + } + + } + if(payType == 2){//银行卡支付 + orderCancel.setPayType(2); + orderCancelService.updateById(orderCancel); + BankCard bankCard = bankCardService.selectById(bankCardId); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String merchantTransactionId = sdf.format(new Date()) + "1" + id; + CheckoutRequest checkoutRequest = new CheckoutRequest(); + checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode())); + checkoutRequest.setCustomerEmail(userInfo.getEmail()); + checkoutRequest.setAccountNumber(bankCard.getCode()); + checkoutRequest.setCustomerFirstName(bankCard.getFirstName()); + checkoutRequest.setCustomerLastName(bankCard.getLastName()); + checkoutRequest.setRequestAmount(query.getMoney()); + checkoutRequest.setMerchantTransactionId(merchantTransactionId); + checkoutRequest.setRequestDescription("Cancel a trip"); + checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelOrderTaxi"); + checkoutRequest.setPendingRedirectUrl(""); + checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun"); + checkoutRequest.setFailRedirectUrl("https://www.baidu.com"); + resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); + if(resultUtil.getCode()==200){ + paymentRecordService.saveData(1, null, null, id, 1, 2, query.getMoney(), null, 1);//添加预支付数据 } } @@ -696,8 +709,8 @@ //添加消息 systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用余额成功支付取消订单费用,谢谢使用!" : language == 2 - ? "You have successfully paid the cancellation fee with the balance, thank you for using!" - : "Vous avez utilisé le solde pour payer avec succès les frais d’annulation de commande. Merci d’utiliser!", orderPrivateCar.getUserId(), 1); + ? "You have successfully paid the cancellation fee, thank you for using!" + : "Vous avez payé avec succès les frais d’annulation de commande, merci d’utiliser!", orderPrivateCar.getUserId(), 1); } } return resultUtil; @@ -814,7 +827,7 @@ } @Override - public ResultUtil payPrivateCarOrder(Integer payType, String accountNumber, Integer orderId, Integer couponId, Integer type, Integer language) throws Exception { + public ResultUtil payPrivateCarOrder(Integer payType, Integer bankCardId, Integer orderId, Integer couponId, Integer type, Integer language) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(orderId); if(orderPrivateCar.getState() == 8 || orderPrivateCar.getState() == 9){ return ResultUtil.error("订单已完成支付,不允许重复支付"); @@ -904,14 +917,15 @@ } if(payType == 2){//银行卡支付 + BankCard bankCard = bankCardService.selectById(bankCardId); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String merchantTransactionId = sdf.format(new Date()) + "1" + language + orderId; CheckoutRequest checkoutRequest = new CheckoutRequest(); - checkoutRequest.setMsisdn(Long.valueOf(accountNumber)); + checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode())); checkoutRequest.setCustomerEmail(userInfo.getEmail()); - checkoutRequest.setAccountNumber(accountNumber); - checkoutRequest.setCustomerFirstName(userInfo.getFirstName()); - checkoutRequest.setCustomerLastName(userInfo.getLastName()); + checkoutRequest.setAccountNumber(bankCard.getCode()); + checkoutRequest.setCustomerFirstName(bankCard.getFirstName()); + checkoutRequest.setCustomerLastName(bankCard.getLastName()); checkoutRequest.setRequestAmount(orderMoney); checkoutRequest.setMerchantTransactionId(merchantTransactionId); checkoutRequest.setRequestDescription("Travel completion payment"); @@ -922,7 +936,7 @@ resultUtil = TinggPayUtil.checkoutRequest(checkoutRequest); if(resultUtil.getCode()==200){ - paymentRecordService.saveData(1, null, null, orderId, 1, 1, orderMoney, null, 1);//添加预支付数据 + paymentRecordService.saveData(1, null, null, orderId, 1, 2, orderMoney, null, 1);//添加预支付数据 }else{ resultUtil = ResultUtil.error("支付失败"); } @@ -1098,9 +1112,9 @@ } }).start(); - systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用余额成功完成出行订单支付,谢谢使用!" : language == 2 - ? "You have successfully completed the payment of travel order with the balance, thank you for using!" - : "Vous avez utilisé le solde pour compléter le paiement de la commande de voyage avec succès. Merci d’utiliser!", uid, 1); + systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功完成出行订单支付,谢谢使用!" : language == 2 + ? "You have successfully completed the travel order payment, thank you for using!" + : "Vous avez complété avec succès le paiement de votre commande de voyage. Merci d’utiliser!", orderPrivateCar.getUserId(), 1); } @@ -1271,9 +1285,9 @@ } }).start(); - systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用现金成功完成出行订单支付,谢谢使用!" : language == 2 - ? "You have successfully completed the payment of travel order with cash, thank you for using!" - : "Vous avez utilisé de l’argent pour compléter avec succès le paiement de votre commande de voyage. Merci d’utiliser!", uid, 1); + systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功完成出行订单支付,谢谢使用!" : language == 2 + ? "You have successfully completed the travel order payment, thank you for using!" + : "Vous avez complété avec succès le paiement de votre commande de voyage. Merci d’utiliser!", orderPrivateCar.getUserId(), 1); } this.updateAllColumnById(orderPrivateCar); @@ -1397,13 +1411,12 @@ * 取消订单支付后的处理 * @param id 订单=id * @param order_id 工行支付单号 - * @param type 1=微信,2=支付宝 * @throws Exception */ @Override - public void payCancelOrderPrivateCar(Integer id, String order_id, Integer type) throws Exception { + public void payCancelOrderPrivateCar(Integer id, String order_id, Integer language) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(id); - PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(id), 1, type, 1); + PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(id), 1, null, 1); if(null != query){ //添加交易明细 transactionDetailsService.saveData(orderPrivateCar.getUserId(), "取消订单", query.getAmount(), 2, 1, 1, 1, query.getOrderId()); @@ -1449,21 +1462,23 @@ // }).start(); //添加消息 - systemNoticeService.addSystemNotice(1, "您已使用" + (type == 1 ? "微信" : "支付宝") + "成功支付取消订单费用,谢谢使用!", orderPrivateCar.getUserId(), 1); + systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用余额成功支付取消订单费用,谢谢使用!" : language == 2 + ? "You have successfully paid the cancellation fee, thank you for using!" + : "Vous avez payé avec succès les frais d’annulation de commande, merci d’utiliser!", orderPrivateCar.getUserId(), 1); }else{ System.err.println("预支付数据异常(orderId = " + id + ")"); } } @Override - public void payOrderPrivateCarCallback(Integer id, String order_id, Integer type, Integer language) throws Exception { + public void payOrderPrivateCarCallback(Integer id, String order_id, Integer language) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(id); - PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(id), 1, type, 1); + PaymentRecord query = paymentRecordService.query(1, null, null, id, 1, null, 1); if(null != query){ //添加交易明细 transactionDetailsService.saveData(orderPrivateCar.getUserId(), "完成订单", query.getAmount(), 2, 1, 1, 1, query.getOrderId()); orderPrivateCar.setState(8); - orderPrivateCar.setPayType(type); + orderPrivateCar.setPayType(query.getPayType()); orderPrivateCar.setOrderMoney(orderPrivateCar.getOrderMoney()+orderPrivateCar.getFreeMoney().doubleValue()); orderPrivateCar.setPayMoney(query.getAmount()); this.updateById(orderPrivateCar); @@ -1632,8 +1647,9 @@ } }).start(); - - systemNoticeService.addSystemNotice(1, "您已使用" + (type == 1 ? "微信" : "支付宝") + "成功完成出行订单支付,谢谢使用!", orderPrivateCar.getUserId(), 1); + systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功完成出行订单支付,谢谢使用!" : language == 2 + ? "You have successfully completed the travel order payment, thank you for using!" + : "Vous avez complété avec succès le paiement de votre commande de voyage. Merci d’utiliser!", orderPrivateCar.getUserId(), 1); }else{ System.err.println("预支付数据异常(orderId = " + id + ")"); } -- Gitblit v1.7.1