From e9fec855200d3abfda6c2e737e63ed7477abcbf7 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 28 四月 2025 17:44:51 +0800 Subject: [PATCH] 增加新功能 --- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index 90c24ec..d9ece58 100644 --- a/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -48,6 +48,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.MathContext; import java.math.RoundingMode; import java.util.*; @@ -359,7 +360,7 @@ return ResultUtil.error("计算行驶距离失败"); } double d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); - double t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + double t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); double amount = setMoney2(query.getId(), d, t); if(warpper.getPayManner() == 2){//其他支付,不需要操作,直接完成订单 amount = amount + (new BigDecimal(Math.random()).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); @@ -809,9 +810,25 @@ UserInfo userInfo = userInfoService.selectById(uid); map.put("balance", userInfo.getBalance()); OrderTaxi orderTaxi = this.selectById(orderId); - int i = userCouponRecordService.queryAvailable(uid, null, 1, 2, orderTaxi.getOrderMoney()); - i = i + userCouponRecordService.queryAvailable(uid, null, 1, 0, orderTaxi.getOrderMoney()); - map.put("coupon", i); + Driver driver = driverService.selectById(orderTaxi.getDriverId()); + Integer companyId = driver.getCompanyId(); + List<CompanyCity> companyCityList = companyCityService.selectList(new EntityWrapper<CompanyCity>().eq("companyId", companyId)); + List<Map<String, Integer>> cityCode = new ArrayList<>(); + for (CompanyCity companyCity : companyCityList) { + Map<String, Integer> city = new HashMap<>(); + if(ToolUtil.isNotEmpty(companyCity.getAreaCode())){ + city.put("code", Integer.valueOf(companyCity.getAreaCode())); + }else if(ToolUtil.isEmpty(companyCity.getAreaCode()) && ToolUtil.isNotEmpty(companyCity.getCityCode())){ + city.put("code", Integer.valueOf(companyCity.getCityCode())); + }else if(ToolUtil.isEmpty(companyCity.getCityCode()) && ToolUtil.isNotEmpty(companyCity.getProvinceCode())){ + city.put("code", Integer.valueOf(companyCity.getProvinceCode())); + } + cityCode.add(city); + } + List<Map<String, Object>> list = userCouponRecordService.queryCoupon1(uid, JSON.toJSONString(cityCode), 1, 2, orderTaxi.getOrderMoney(), null, null); + List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon1(uid, JSON.toJSONString(cityCode), 1, 0, orderTaxi.getOrderMoney(), null, null); + list.addAll(list1); + map.put("coupon", list.size()); return map; } @@ -838,6 +855,7 @@ }else if(ToolUtil.isEmpty(companyCity.getCityCode()) && ToolUtil.isNotEmpty(companyCity.getProvinceCode())){ city.put("code", Integer.valueOf(companyCity.getProvinceCode())); } + cityCode.add(city); } List<Map<String, Object>> list = userCouponRecordService.queryCoupon1(uid, JSON.toJSONString(cityCode), 1, 2, orderTaxi.getOrderMoney(), pageNum, size); List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon1(uid, JSON.toJSONString(cityCode), 1, 0, orderTaxi.getOrderMoney(), pageNum, size); @@ -1260,6 +1278,7 @@ OrderServerWarpper orderServerWarpper = new OrderServerWarpper(); orderServerWarpper.setOrderId(orderTaxi.getId()); orderServerWarpper.setOrderType(2); + orderServerWarpper.setPayManner(orderTaxi.getPayManner()); orderServerWarpper.setState(orderTaxi.getState()); orderServerWarpper.setLon(null != value ? value.split(",")[1] : "0.0"); orderServerWarpper.setLat(null != value ? value.split(",")[0] : "0.0"); -- Gitblit v1.7.1