From cbc307682c0ca48d59e7b539d6a2ae58d49cabe1 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期三, 20 八月 2025 22:33:02 +0800 Subject: [PATCH] refactor(driver): 重构司机端收入查询逻辑 --- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 42 insertions(+), 11 deletions(-) diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 37c3447..7f873d4 100644 --- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -43,6 +43,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @@ -74,6 +75,8 @@ @Resource private UserInfoMapper userInfoMapper; + @Autowired + private IOpenCityService openCityService; @Autowired private DateUtil dateUtil; @@ -148,6 +151,9 @@ private IMerchantCouponService merchantCouponService; @Autowired private QrCodeConfiguration qrCodeConfiguration; + + @Autowired + private TDriverPromotionActivityService driverPromotionActivityService; @Value("${pushMinistryOfTransport}") private boolean pushMinistryOfTransport; @@ -232,7 +238,8 @@ map.put("orderNumber", orderCrossCity.getOrderNum()); map.put("totalMoney", new BigDecimal(totalMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); map.put("serverMoney", new BigDecimal(serverMoney).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - Phone phone = phoneMapper.queryInfo(orderCrossCity.getCompanyId(), 1); + OpenCity openCity = openCityService.openCity1(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString()); + Phone phone = phoneMapper.queryInfo(openCity.getId(), 1, 1); map.put("emergencyCall", null != phone ? phone.getPhone() : "110"); map.put("orders", JSON.toJSONString(order)); @@ -367,6 +374,7 @@ pushUtil.removeTask(orderId, 3);//删除定时任务,结束推送数据 systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderCrossCity.getUserId(), 1); + promotion(orderId); break; } this.updateById(orderCrossCity); @@ -382,7 +390,29 @@ return ResultUtil.success(); } + public void promotion(Integer orderId) { + OrderCrossCity orderCrossCity = this.baseMapper.selectById(orderId); + UserInfo userInfo = userInfoMapper.selectById(orderCrossCity.getUserId()); + if(orderCrossCity.getPromotionDriverId()!=null ){ + String registAreaCode = userInfo.getRegistAreaCode(); + TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 3 + ", bizType) limit 1")); + System.out.println("ddddd"+tDriverPromotionActivity); + if(tDriverPromotionActivity!=null){ + Double payMoney = orderCrossCity.getPayMoney(); + System.out.println(payMoney); + BigDecimal bigDecimal = tDriverPromotionActivity.getCommissionRatio().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(payMoney)).setScale(2, RoundingMode.HALF_UP); + System.out.println(bigDecimal); + orderCrossCity.setPromotionDriverId(userInfo.getBindDriverId()); + orderCrossCity.setPromotionMoney(bigDecimal); + orderCrossCity.setPromotionActivityId(tDriverPromotionActivity.getId()); + orderCrossCity.setSuccessTime(new Date()); + this.baseMapper.updateById(orderCrossCity); + } + } + + + } /** * 获取订单明细 * @param orderId @@ -541,16 +571,16 @@ orderCrossCity.setIsReassign(1); orderCrossCity.setLineShiftDriverId(orderCrossCityWarpper.getLineShiftDriverId()); //调用高德创建轨迹 - String s = gdFalconUtil.selectTerminal(driver.getPhone()); - String track = gdFalconUtil.createTrack(s); - orderCrossCity.setTrackId(track); +// String s = gdFalconUtil.selectTerminal(driver.getPhone()); +// String track = gdFalconUtil.createTrack(s); +// orderCrossCity.setTrackId(track); //调用移动的小号接口 - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); - if(String.valueOf(map.get("code")).equals("200")){ - orderCrossCity.setTelX(map.get("telX")); - orderCrossCity.setBindId(map.get("bindId")); - } +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderCrossCity.setTelX(map.get("telX")); +// orderCrossCity.setBindId(map.get("bindId")); +// } if(orderCrossCityWarpper.getTravelMode() == 2){//包车 // orderCrossCity.setSeatNumber(lineShiftDriver.getLaveSeatNumber()); // orderCrossCity.setPeopleNumber(lineShiftDriver.getLaveSeat()); @@ -853,7 +883,8 @@ UserInfo userInfo = userInfoMapper.selectById(orderCrossCity.getUserId()); - SysIntegral query1 = sysIntegralMapper.query(orderCrossCity.getCompanyId()); + OpenCity openCity = openCityService.openCity1(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString()); + SysIntegral query1 = sysIntegralMapper.query(openCity.getId()); userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 userInfoMapper.updateById(userInfo); System.out.println("==============userInfo修改完毕==================="+userInfo); @@ -911,7 +942,7 @@ String lat = orderPosition.getLat(); OrderCrossCity order = this.selectById(orderId); if(null == order){ - System.err.println("订单数据异常:" + orderId); + System.err.println("跨城订单数据异常:" + orderId); return false; } -- Gitblit v1.7.1