From b79eed290aa7f76545c1ad4b465362cec6b88bc9 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期一, 27 五月 2024 17:24:27 +0800 Subject: [PATCH] 修改 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 158 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 137 insertions(+), 21 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java index ef450be..b51a178 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java @@ -198,6 +198,15 @@ @Autowired private IUserActivityRedenvelopeService userActivityRedenvelopeService; + + @Autowired + private FleetEngineUtil fleetEngineUtil; + + @Resource + private CarModelMapper carModelMapper; + + @Autowired + private ICarService carService; @@ -683,6 +692,26 @@ orderLogistics.setIsDelete(1); this.insert(orderLogistics); + + Integer vehicleId = null; + if(null != orderLogistics.getDriverId()){ + Driver driver = driverService.selectById(orderLogistics.getDriverId()); + vehicleId = driver.getCarId(); + //查询车辆信息,没有则创建信息 + String vehicles = fleetEngineUtil.getVehicles(vehicleId); + if(ToolUtil.isEmpty(vehicles)){ + Car car = carService.selectById(vehicleId); + CarModel carModel = carModelMapper.selectById(car.getCarModelId()); + fleetEngineUtil.createVehicles(carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + fleetEngineUtil.updateVehicles("ONLINE", carModel.getSeat() - 1, car.getCarLicensePlate(), driver.getCarId()); + } + + } + //创建行程数据 + fleetEngineUtil.createTrip(vehicleId, 1, 4, orderLogistics.getId(), + orderLogistics.getStartLat().toString(), orderLogistics.getStartLon().toString(), orderLogistics.getEndLat().toString(), orderLogistics.getEndLon().toString()); + + if(orderSource == 2){//扫码下单 new Thread(new Runnable() { @Override @@ -776,21 +805,21 @@ if(orderLogistics.getState() == 1){ this.pushOrder(orderLogistics); }else{ - //接单后定时任务判断司机是否去接乘客,没有则推送提醒 - CancleOrder cancleOrder = cancleOrderService.query(orderLogistics.getCompanyId()); - if(null != cancleOrder){ - JSONObject object = JSON.parseObject(cancleOrder.getContent()); - long time = object.getInteger("driverTimeout") * 60000L; - new Timer().schedule(new TimerTask() { - @Override - public void run() { - OrderLogistics orderLogistics1 = OrderLogisticsServiceImpl.this.selectById(orderLogistics.getId()); - if(orderLogistics1.getState() == 2){ - pushUtil.pushDriverTimeOut(1, orderLogistics1.getUserId(), orderLogistics1.getId(), 4); - } - } - }, time); - } +// //接单后定时任务判断司机是否去接乘客,没有则推送提醒 +// CancleOrder cancleOrder = cancleOrderService.query(orderLogistics.getCompanyId()); +// if(null != cancleOrder){ +// JSONObject object = JSON.parseObject(cancleOrder.getContent()); +// long time = object.getInteger("driverTimeout") * 60000L; +// new Timer().schedule(new TimerTask() { +// @Override +// public void run() { +// OrderLogistics orderLogistics1 = OrderLogisticsServiceImpl.this.selectById(orderLogistics.getId()); +// if(orderLogistics1.getState() == 2){ +// pushUtil.pushDriverTimeOut(1, orderLogistics1.getUserId(), orderLogistics1.getId(), 4); +// } +// } +// }, time); +// } } @@ -836,7 +865,7 @@ if(null != couponId){ //TODO 待翻译 if(null != redDeduction && 1 == redDeduction){ - return ResultUtil.error(language == 1 ? "优惠券和红包不能同时使用" : language == 2 ? "" : "", ""); + return ResultUtil.error(language == 1 ? "优惠券和红包不能同时使用" : language == 2 ? "Coupons and lucky-promo cannot be used at the same time." : "Les coupons et les bonus ne peuvent pas être utilisés en même temps", ""); } userCouponRecord = userCouponRecordService.selectById(couponId); if(userCouponRecord.getCompanyId() != orderLogistics.getCompanyId()){ @@ -1100,6 +1129,13 @@ title_chinese.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",您在I-GO此订单消费GHS " + orderLogistics.getPayMoney()); Element xcf_chinese = document.getElementById("xcf_chinese"); xcf_chinese.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_chinese = document.getElementById("bcj_chinese"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_chinese.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_chinese_div = document.getElementById("bcj_chinese_div"); + bcj_chinese_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_chinese = document.getElementById("yhq_chinese"); yhq_chinese.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -1160,6 +1196,13 @@ title_english.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip "); Element xcf_english = document.getElementById("xcf_english"); xcf_english.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_english = document.getElementById("bcj_english"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_english.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_english_div = document.getElementById("bcj_english_div"); + bcj_english_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_english = document.getElementById("yhq_english"); yhq_english.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -1220,6 +1263,13 @@ title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande i-go1 le "); Element xcf_french = document.getElementById("xcf_french"); xcf_french.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_french = document.getElementById("bcj_french"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_french.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_french_div = document.getElementById("bcj_french_div"); + bcj_french_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_french = document.getElementById("yhq_french"); yhq_french.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -1503,6 +1553,13 @@ title_chinese.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",您在I-GO此订单消费GHS " + orderLogistics.getPayMoney()); Element xcf_chinese = document.getElementById("xcf_chinese"); xcf_chinese.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_chinese = document.getElementById("bcj_chinese"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_chinese.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_chinese_div = document.getElementById("bcj_chinese_div"); + bcj_chinese_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_chinese = document.getElementById("yhq_chinese"); yhq_chinese.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -1563,6 +1620,13 @@ title_english.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip "); Element xcf_english = document.getElementById("xcf_english"); xcf_english.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_english = document.getElementById("bcj_english"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_english.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_english_div = document.getElementById("bcj_english_div"); + bcj_english_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_english = document.getElementById("yhq_english"); yhq_english.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -1623,6 +1687,13 @@ title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande i-go1 le "); Element xcf_french = document.getElementById("xcf_french"); xcf_french.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_french = document.getElementById("bcj_french"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_french.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_french_div = document.getElementById("bcj_french_div"); + bcj_french_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_french = document.getElementById("yhq_french"); yhq_french.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -2008,6 +2079,13 @@ title_chinese.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",您在I-GO此订单消费GHS " + orderLogistics.getPayMoney()); Element xcf_chinese = document.getElementById("xcf_chinese"); xcf_chinese.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_chinese = document.getElementById("bcj_chinese"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_chinese.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_chinese_div = document.getElementById("bcj_chinese_div"); + bcj_chinese_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_chinese = document.getElementById("yhq_chinese"); yhq_chinese.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -2068,6 +2146,13 @@ title_english.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",You spent GHS " + orderLogistics.getPayMoney() + " on the trip "); Element xcf_english = document.getElementById("xcf_english"); xcf_english.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_english = document.getElementById("bcj_english"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_english.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_english_div = document.getElementById("bcj_english_div"); + bcj_english_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_english = document.getElementById("yhq_english"); yhq_english.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -2128,6 +2213,13 @@ title_french.text(DateUtil.conversionFormat(language, sdf2.format(orderLogistics.getTravelTime())) + ",Vous consommez GHS " + orderLogistics.getPayMoney() + " sur votre commande i-go1 le "); Element xcf_french = document.getElementById("xcf_french"); xcf_french.text("GHS " + new BigDecimal(orderLogistics.getOrderMoney()).setScale(2, RoundingMode.HALF_EVEN)); + Element bcj_french = document.getElementById("bcj_french"); + if(null != orderLogistics.getPriceDifference() && orderLogistics.getPriceDifference() > 0){ + bcj_french.text("GHS " + new BigDecimal(orderLogistics.getPriceDifference()).setScale(2, RoundingMode.HALF_EVEN)); + }else{ + Element bcj_french_div = document.getElementById("bcj_french_div"); + bcj_french_div.remove(); + } if(null != orderLogistics.getCouponMoney() && orderLogistics.getCouponMoney() > 0){ Element yhq_french = document.getElementById("yhq_french"); yhq_french.text("GHS -" + new BigDecimal(orderLogistics.getCouponMoney()).setScale(2, RoundingMode.HALF_EVEN)); @@ -2436,6 +2528,7 @@ orderLogistics.setGetoffAddress(address); orderLogistics.setGetoffTime(new Date()); orderLogistics.setEndServiceTime(new Date()); + orderLogistics.setCancelMidway(1); }else{ orderLogistics.setState(10); } @@ -2447,6 +2540,7 @@ orderLogistics.setGetoffAddress(address); orderLogistics.setGetoffTime(new Date()); orderLogistics.setEndServiceTime(new Date()); + orderLogistics.setCancelMidway(1); } orderLogistics.setOldState(orderLogistics.getState()); orderLogistics.setState(12); @@ -2467,7 +2561,10 @@ driver.setState(2); driverService.updateById(driver); } - + + //修改行程信息 + fleetEngineUtil.updateTrip("CANCELED", null, null, 4, orderLogistics.getId(), null, null, null, null); + //添加消息 systemNoticeService.addSystemNotice(1, language == 1 ? "您已成功取消包裹订单,谢谢使用!" : language == 2 ? "You've cancelled the delivery order successfully, thank you for using I-GO " : "Vous avez annulé la commande de livraison avec succès, merci d’utiliser I-GO", orderLogistics.getUserId(), 1); @@ -2558,6 +2655,26 @@ } if(state == 11){ map.put("state", map.get("oldState")); + } + if(Integer.valueOf(String.valueOf(map.get("state"))) != 8 && Integer.valueOf(String.valueOf(map.get("state"))) != 9){ + map.put("redPacketMoney", null); + map.put("couponMoney", null); + } + if(Integer.valueOf(String.valueOf(map.get("state"))) == 7){ + UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(Integer.valueOf(String.valueOf(map.get("companyId")))); + if(null != query2){ + Integer orderNum=this.selectCount(new EntityWrapper<OrderLogistics>().eq("userId",orderLogistics.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); + if(query2.getDistance()*1000>orderLogistics.getMileage() && query2.getOrderNum()>orderNum){ + Double special = query2.getSpecial(); + orderLogistics.setDiscount(special); + Double orderMoney = orderLogistics.getOrderMoney(); + double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + if(orderMoney.compareTo(v) > 0){ + map.put("discountMoney",orderMoney - v); + } + } + + } } Map<String, String> geocode = gdMapGeocodingUtil.geocode(map.get("startLon").toString(), map.get("startLat").toString()); map.put("startCity", geocode.get("city")); @@ -2925,7 +3042,6 @@ Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + Integer.valueOf(String.valueOf(query.get("effective")))); - userRedPacketRecord.setExpirationTime(calendar.getTime()); userRedPacketRecord.setInsertTime(new Date()); userRedPacketRecord.setCompanyId(Integer.valueOf(String.valueOf(query.get("companyId")))); userRedPacketRecord.setState(0); @@ -2978,7 +3094,7 @@ Element user_chinese = document.getElementById("user_chinese"); user_chinese.text("您好 " + userInfo.getNickName() + ","); Element time_chinese = document.getElementById("time_chinese"); - time_chinese.text("此活动有效期在 " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " 至 " + DateUtil.conversionFormat(language, sdf.format(query.getExpirationTime())) + ",详情请查看I-GO平台"); + time_chinese.text("此活动有效期在 " + DateUtil.conversionFormat(language, sdf.format(id.getStartTime())) + " 至 " + DateUtil.conversionFormat(language, sdf.format(id.getEnable())) + ",详情请查看I-GO平台"); } if(2 == language){ document.getElementById("chinese").remove(); @@ -2987,7 +3103,7 @@ Element user_english = document.getElementById("user_english"); user_english.text("Hello " + userInfo.getNickName() + ","); Element time_english = document.getElementById("time_english"); - time_english.text("You could use it from " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " to " + DateUtil.conversionFormat(language, sdf.format(query.getExpirationTime())) + ",check more details on the app."); + time_english.text("You could use it from " + DateUtil.conversionFormat(language, sdf.format(id.getStartTime())) + " to " + DateUtil.conversionFormat(language, sdf.format(id.getEnable())) + ",check more details on the app."); } if(3 == language){ document.getElementById("chinese").remove(); @@ -2996,7 +3112,7 @@ Element user_french = document.getElementById("user_french"); user_french.text("Bonjour " + userInfo.getNickName() + ","); Element time_french = document.getElementById("time_french"); - time_french.text("Cette promotion est valable du " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " au " + DateUtil.conversionFormat(language, sdf.format(query.getExpirationTime())) + ". Veuillez consulter la plateforme i-go pour plus de détails."); + time_french.text("Cette promotion est valable du " + DateUtil.conversionFormat(language, sdf.format(id.getStartTime())) + " au " + DateUtil.conversionFormat(language, sdf.format(id.getEnable())) + ". Veuillez consulter la plateforme i-go pour plus de détails."); } EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Lucky-promo activities" : "Activités bonus", document.html()); -- Gitblit v1.7.1