From fe28f61386ca4eb318b00dee21add98eb0882fc8 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 28 四月 2025 18:37:34 +0800 Subject: [PATCH] 增加新功能 --- UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 39 +++++++++++++++++++++++++++++++++------ 1 files changed, 33 insertions(+), 6 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..c0ff11a 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,29 @@ 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, Object>> cityCode = new ArrayList<>(); + List<Region> regions = regionMapper.selectList(null); + for (CompanyCity companyCity : companyCityList) { + Map<String, Object> city = new HashMap<>(); + if(ToolUtil.isNotEmpty(companyCity.getAreaCode())){ + city.put("code", Integer.valueOf(companyCity.getAreaCode())); + city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getAreaCode())).findFirst().get().getName()); + }else if(ToolUtil.isEmpty(companyCity.getAreaCode()) && ToolUtil.isNotEmpty(companyCity.getCityCode())){ + city.put("code", Integer.valueOf(companyCity.getCityCode())); + city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getCityCode())).findFirst().get().getName()); + }else if(ToolUtil.isEmpty(companyCity.getCityCode()) && ToolUtil.isNotEmpty(companyCity.getProvinceCode())){ + city.put("code", Integer.valueOf(companyCity.getProvinceCode())); + city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getProvinceCode())).findFirst().get().getName()); + } + 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; } @@ -828,16 +849,21 @@ 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<>(); + List<Map<String, Object>> cityCode = new ArrayList<>(); + List<Region> regions = regionMapper.selectList(null); for (CompanyCity companyCity : companyCityList) { - Map<String, Integer> city = new HashMap<>(); + Map<String, Object> city = new HashMap<>(); if(ToolUtil.isNotEmpty(companyCity.getAreaCode())){ city.put("code", Integer.valueOf(companyCity.getAreaCode())); + city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getAreaCode())).findFirst().get().getName()); }else if(ToolUtil.isEmpty(companyCity.getAreaCode()) && ToolUtil.isNotEmpty(companyCity.getCityCode())){ city.put("code", Integer.valueOf(companyCity.getCityCode())); + city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getCityCode())).findFirst().get().getName()); }else if(ToolUtil.isEmpty(companyCity.getCityCode()) && ToolUtil.isNotEmpty(companyCity.getProvinceCode())){ city.put("code", Integer.valueOf(companyCity.getProvinceCode())); + city.put("name", regions.stream().filter(s->s.getCode().equals(companyCity.getProvinceCode())).findFirst().get().getName()); } + 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 +1286,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