From 0b0f2682b308e76a33ce96571dfeb6388d9cd63d Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 05 十一月 2025 13:50:43 +0800
Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/QianYunTong

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java |   33 +++++++++++++++++++++------------
 1 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index 7d18b5e..877a486 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -207,6 +207,9 @@
     @Autowired
     private ICompanyService iCompanyService;
 
+	@Autowired
+	private WeChatUtil weChatUtil;
+
 
 	/**
 	 * 计算支付金额
@@ -851,14 +854,26 @@
 	
 	@Override
 	@Transactional(propagation = Propagation.REQUIRES_NEW)
-	public ResultUtil payCrossCityOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type, String path, String ip) throws Exception {
+	public ResultUtil payCrossCityOrder1(Integer payType, Integer orderId, Integer objectId, Integer objectType, Integer type, String path, String ip, Integer role, String jscode) throws Exception {
 		OrderCrossCity orderCrossCity = this.selectById(orderId);
+		Integer uid = orderCrossCity.getUserId();
+		UserInfo userInfo = userInfoService.selectById(uid);
+		String appletsOpenId = userInfo.getAppletsOpenId();
+		//司机端发起的支付
+		if(null != role && 2 == role){
+			Driver driver = driverService.selectById(orderCrossCity.getDriverId());
+			appletsOpenId = driver.getAppletsOpenId();
+			if(ToolUtil.isNotEmpty(appletsOpenId)){
+				Map<String, String> stringMap = weChatUtil.code2Session(jscode);
+				appletsOpenId = stringMap.get("openid");
+				driver.setAppletsOpenId(appletsOpenId);
+				driverService.updateById(driver);
+			}
+		}
 		if (orderCrossCity.getState() != 7) {
 			return ResultUtil.error("订单已完成支付,不允许重复支付", "");
 		}
-		Integer uid = orderCrossCity.getUserId();
 		Double orderMoney = orderCrossCity.getOrderMoney();
-		UserInfo userInfo = userInfoService.selectById(uid);
 		ResultUtil resultUtil = ResultUtil.success(new Object());
 		orderCrossCity.setCouponMoney(0D);//初始化历史数据
 		orderCrossCity.setCouponId(null);
@@ -1053,7 +1068,7 @@
 
 				List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
 				GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
-				goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId());
+				goodsInfoRequest.setSubOpenId(appletsOpenId);
 				if(0 == orderCrossCity.getRecoveryOrder()){
 					goodsInfoRequest.setProfitSharing("1");
 
@@ -1081,7 +1096,7 @@
 				tradePayOff1Data.setOrderDesc("完成订单");
 				List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
 				GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
-				goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId());
+				goodsInfoRequest.setSubOpenId(appletsOpenId);
 				if(0 == orderCrossCity.getRecoveryOrder()){
 					goodsInfoRequest.setProfitSharing("1");
 				}else{
@@ -1207,13 +1222,7 @@
 		this.updateAllColumnById(orderCrossCity);
 		return resultUtil;
 	}
-	
-	
-	public static void main(String[] args) {
-		double a = 1.189999995;
-		double v = new BigDecimal(a).setScale(2, RoundingMode.HALF_UP).doubleValue();
-		System.out.println(v);
-	}
+
 	
 	@Autowired
 	private AppOrderController appOrderController;

--
Gitblit v1.7.1