From a73f1ac7a2d006b207f06534604100e01f6119a5 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期四, 21 八月 2025 01:12:16 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/QianYunTong --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java | 111 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 58 insertions(+), 53 deletions(-) diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java index 5aa9a5d..d1e9ea2 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java @@ -845,12 +845,15 @@ } return ResultUtil.error("异常"); } + + + //用户取消退款 public void userCancelTuik(OrderRide orderRide){ if(orderRide.getState()==2){//用户已经支付了订单但司机没有接单 orderRide.setTuiMoney(orderRide.getMoney()); } - if(orderRide.getTuiMoney()>0){ + if(null != orderRide.getTuiMoney() && orderRide.getTuiMoney()>0){ Financial financial= financialService.selectOne(new EntityWrapper<Financial>().eq("orderNum",orderRide.getOrderNum())); String finNum=OrdersUtil.getOrderNoForPrefix("fin"); //todo 退款金额大于0需要退款 @@ -903,57 +906,58 @@ return ResultUtil.paranErr("orderId不能为空"); } OrderTravel orderTravel=orderTravelService.selectById(orderId); - if(orderTravel!=null){ - if(orderTravel.getState()==6){ - return ResultUtil.error("该订单已取消"); + if(null == orderTravel){ + return ResultUtil.error("无效的订单ID"); + } + if(orderTravel.getState()==6){ + return ResultUtil.error("该订单已取消"); + } + DriverRide driverRide=driverRideService.selectById(orderTravel.getDriverId()); + if(orderTravel.getServiceMoney()!=null && orderTravel.getServiceMoney()>0){ + /*todo 更新司机余额*/ + driverRide.setBalance(driverRide.getBalance()-orderTravel.getServiceMoney()); + driverRideService.updateById(driverRide); + /* 更新司机用户余额(用户和司机用户一个账号余额)*/ + UserInfo userInfo=userInfoService.selectOne(new EntityWrapper<UserInfo>().eq("driverId",orderTravel.getDriverId())); + if(userInfo!=null){ + //用户余额可以为负数 + userInfo.setBalance(userInfo.getBalance()-orderTravel.getServiceMoney()); + userInfoService.updateById(userInfo); } - DriverRide driverRide=driverRideService.selectById(orderTravel.getDriverId()); - if(orderTravel.getServiceMoney()!=null && orderTravel.getServiceMoney()>0){ - /*todo 更新司机余额*/ - driverRide.setBalance(driverRide.getBalance()-orderTravel.getServiceMoney()); - driverRideService.updateById(driverRide); - /* 更新司机用户余额(用户和司机用户一个账号余额)*/ - UserInfo userInfo=userInfoService.selectOne(new EntityWrapper<UserInfo>().eq("driverId",orderTravel.getDriverId())); - if(userInfo!=null){ - //用户余额可以为负数 - userInfo.setBalance(userInfo.getBalance()-orderTravel.getServiceMoney()); - userInfoService.updateById(userInfo); - } - /*财务明细*/ - Financial f=new Financial(); - f.setAddTime(new Date()); - f.setType(1);//类型 1=收入 2=支出 - f.setMoney(orderTravel.getServiceMoney()); - f.setPwType(9);//9=顺风车取消服务费 - f.setOrderNum(orderTravel.getOrderNum()); - String finNum=OrdersUtil.getOrderNoForPrefix("fin"); - f.setLsType(finNum); - f.setUserId(driverRide.getUserId()); - f.setOrderType(4); - f.setLx(1); - financialService.insert(f); - //司机取消给用户推送 - } - /*添加系统消息*/ - try { - systemNoticeService.addSystemNotice(1, "您从"+orderTravel.getStartName()+"到"+orderTravel.getEndName()+"的顺风车行程已取消", driverRide.getUserId(), 1); - } catch (Exception e) { - throw new RuntimeException(e); - } - orderTravel.setState(6);//取消状态 - orderTravelService.updateById(orderTravel); - //todo 推送 - /*司机接单给用户发送消息*/ - OrderRide orderRide=orderRideService.selectOne(new EntityWrapper<OrderRide>().eq("travelId",orderId)); - if(orderRide!=null) { - pushUtil.pushOrderState(1, orderRide.getUserId(), orderRide.getId(), 8, 6, null); - } - //取消乘客订单 - if(orderRide!=null && orderRide.getState()!=6){ - orderRide.setTuiMoney(orderRide.getMoney()); - orderRideService.updateById(orderRide); - userCancelTuik(orderRide); - } + /*财务明细*/ + Financial f=new Financial(); + f.setAddTime(new Date()); + f.setType(1);//类型 1=收入 2=支出 + f.setMoney(orderTravel.getServiceMoney()); + f.setPwType(9);//9=顺风车取消服务费 + f.setOrderNum(orderTravel.getOrderNum()); + String finNum=OrdersUtil.getOrderNoForPrefix("fin"); + f.setLsType(finNum); + f.setUserId(driverRide.getUserId()); + f.setOrderType(4); + f.setLx(1); + financialService.insert(f); + //司机取消给用户推送 + } + /*添加系统消息*/ + try { + systemNoticeService.addSystemNotice(1, "您从"+orderTravel.getStartName()+"到"+orderTravel.getEndName()+"的顺风车行程已取消", driverRide.getUserId(), 1); + } catch (Exception e) { + throw new RuntimeException(e); + } + orderTravel.setState(6);//取消状态 + orderTravelService.updateById(orderTravel); + //todo 推送 + /*司机接单给用户发送消息*/ + OrderRide orderRide=orderRideService.selectOne(new EntityWrapper<OrderRide>().eq("travelId",orderId)); + if(orderRide!=null) { + pushUtil.pushOrderState(1, orderRide.getUserId(), orderRide.getId(), 8, 6, null); + } + //取消乘客订单 + if(orderRide!=null && orderRide.getState()!=6){ + orderRide.setTuiMoney(orderRide.getMoney()); + orderRideService.updateById(orderRide); + userCancelTuik(orderRide); } return ResultUtil.success(""); @@ -1024,6 +1028,7 @@ /*修改用户接单数和司机提成*/ UserInfo userInfo=userInfoService.selectById(driverRide.getUserId()); userInfo.setBalance(userInfo.getBalance()+(orderRide.getMoney()-orderRide.getPlatformMoney())); + userInfo.setTotalOrders(userInfo.getTotalOrders() + 1); userInfoService.updateById(userInfo); Financial f=new Financial(); f.setAddTime(new Date()); @@ -1139,8 +1144,8 @@ DriverRide driverRide=driverRideService.selectById(driverId); if(driverRide!=null){ /*计算司机的评分*/ - driverRide.setEvaluateNum(driverRide.getEvaluateNum()+1); - driverRide.setEvaluateScore(driverRide.getEvaluateScore()+score); + driverRide.setEvaluateNum((null != driverRide.getEvaluateNum() ? driverRide.getEvaluateNum() : 0 )+1); + driverRide.setEvaluateScore((null == driverRide.getEvaluateScore() ? 0 : driverRide.getEvaluateScore())+score); driverRideService.updateById(driverRide); } /*标记订单已评价*/ -- Gitblit v1.7.1