From e52227b01983146f2e3c81dc575141d8b9889497 Mon Sep 17 00:00:00 2001 From: yanghb <yanghb> Date: 星期五, 21 四月 2023 10:16:30 +0800 Subject: [PATCH] 代码调整 --- DriverTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 121 +++++++++------------------------------- 1 files changed, 28 insertions(+), 93 deletions(-) diff --git a/DriverTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/DriverTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index c45903e..7b7a4c3 100644 --- a/DriverTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/DriverTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -2,20 +2,21 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; import com.stylefeng.guns.modular.system.dao.RegionMapper; -import com.stylefeng.guns.modular.system.model.*; +import com.stylefeng.guns.modular.system.model.Driver; +import com.stylefeng.guns.modular.system.model.OrderPosition; +import com.stylefeng.guns.modular.system.model.Region; +import com.stylefeng.guns.modular.system.model.UserRedPacketRecord; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.*; import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper; import com.stylefeng.guns.modular.taxi.model.OrderTaxi; import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; -import io.swagger.annotations.ApiImplicitParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Isolation; @@ -27,6 +28,7 @@ import java.util.*; @Service +@Transactional(isolation = Isolation.READ_UNCOMMITTED, propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class OrderTaxiServiceImpl extends ServiceImpl<OrderTaxiMapper, OrderTaxi> implements IOrderTaxiService { @Resource @@ -36,7 +38,13 @@ private IDriverService driverService; @Autowired + private IUserRedPacketRecordService userRedPacketRecordService; + + @Autowired private PushUtil pushUtil; + + @Autowired + private GDMapElectricFenceUtil gdMapElectricFenceUtil; @Autowired private GDFalconUtil gdFalconUtil; @@ -56,17 +64,14 @@ @Autowired private GeodesyUtil geodesyUtil; + @Resource + private RegionMapper regionMapper; + @Autowired private GDMapGeocodingUtil gdMapGeocodingUtil; @Autowired private IOrderPrivateCarService orderPrivateCarService; - - @Autowired - private ICompanyService companyService; - - @Autowired - private IOrderAdditionalFeeService orderAdditionalFeeService; @@ -179,7 +184,9 @@ orderTaxi.setTrackId(track); //调用移动的小号接口 - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); + Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); + Region region = regionMapper.query(geocode.get("districtCode")); + Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); if(String.valueOf(map.get("code")).equals("200")){ orderTaxi.setTelX(map.get("telX")); orderTaxi.setBindId(map.get("bindId")); @@ -194,7 +201,7 @@ .eq("userId", orderTaxi.getUserId()) .ne("state", 1) .eq("crossCityOrderId", orderTaxi.getCrossCityOrderId()) - .eq("place", orderTaxi.getPlace()).ne("id", orderTaxi.getId()) + .eq("place", orderTaxi.getPlace()) ); List<OrderPrivateCar> list1 = orderPrivateCarService.selectList( new EntityWrapper<OrderPrivateCar>() @@ -241,8 +248,8 @@ } }).start(); - systemNoticeService.addSystemNotice(2, "您已成功抢得出租车订单,请及时联系客户!", orderTaxi.getDriverId(), 1); - systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderTaxi.getUserId(), 1); + systemNoticeService.addSystemNotice(2, "您已成功抢得出租车订单,请及时联系客户!", orderTaxi.getDriverId()); + systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderTaxi.getUserId()); return ResultUtil.success(); } @@ -326,8 +333,8 @@ } }).start(); - systemNoticeService.addSystemNotice(2, "您已成功抢得出租车订单,请及时联系客户!", orderTaxi.getDriverId(), 1); - systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderTaxi.getUserId(), 1); + systemNoticeService.addSystemNotice(2, "您已成功抢得出租车订单,请及时联系客户!", orderTaxi.getDriverId()); + systemNoticeService.addSystemNotice(1, "您的订单已指派给" + driver.getName().substring(0, 1) + "师傅,请保持电话畅通!", orderTaxi.getUserId()); return ResultUtil.success(); } @@ -362,12 +369,12 @@ case 3://出发前往预约点 orderTaxi.setState(3); orderTaxi.setSetOutTime(new Date()); - systemNoticeService.addSystemNotice(1, "司机已出发,请耐心等待", orderTaxi.getUserId(), 1); + systemNoticeService.addSystemNotice(1, "司机已出发,请耐心等待", orderTaxi.getUserId()); break; case 4://到达预约点,等待客户上车 orderTaxi.setState(4); orderTaxi.setArriveTime(new Date()); - systemNoticeService.addSystemNotice(1, "司机已到达您设置的预约地点,请及时上车", orderTaxi.getUserId(), 1); + systemNoticeService.addSystemNotice(1, "司机已到达您设置的预约地点,请及时上车", orderTaxi.getUserId()); break; case 5://开始服务 orderTaxi.setBoardingLon(lon); @@ -388,7 +395,7 @@ orderTaxi.setEndServiceTime(new Date()); pushUtil.removeTask(orderId, 2);//删除定时任务,结束推送数据 - systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderTaxi.getUserId(), 1); + systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderTaxi.getUserId()); break; } this.updateById(orderTaxi); @@ -453,46 +460,6 @@ } - - @Override - public ResultUtil confirmFees1(Integer orderId, Integer type, Double travelFee, String additionalFee) throws Exception { - OrderTaxi orderTaxi = this.selectById(orderId); - orderTaxi.setPayManner(type); - if(type == 2){//其他支付,不需要操作,直接完成订单 - orderTaxi.setOrderMoney(0D); - orderTaxi.setTravelMoney(0D); - orderTaxi.setParkMoney(0D); - orderTaxi.setRoadTollMoney(0D); - orderTaxi.setHolidayFee(0D); - orderTaxi.setRedPacketMoney(0D); - orderTaxi.setCouponMoney(0D); - orderTaxi.setDiscount(0D); - orderTaxi.setDiscountMoney(0D); - orderTaxi.setPayMoney(0D); - orderTaxi.setState(8); - }else{ - orderTaxi = this.setMoney1(orderTaxi, travelFee, additionalFee); - orderTaxi.setState(7); - } - this.updateById(orderTaxi); - - //回滚司机状态为空闲 - Driver driver = driverService.selectById(orderTaxi.getDriverId()); - driver.setState(2); - driverService.updateById(driver); - - OrderTaxi finalOrderTaxi = orderTaxi; - new Thread(new Runnable() { - @Override - public void run() { - pushUtil.pushOrderState(1, finalOrderTaxi.getUserId(), finalOrderTaxi.getId(), 2, finalOrderTaxi.getState()); - pushUtil.pushOrderState(2, finalOrderTaxi.getDriverId(), finalOrderTaxi.getId(), 2, finalOrderTaxi.getState()); - } - }).start(); - return ResultUtil.success(); - } - - /** * 确认费用(车载端) * @param orderId @@ -519,7 +486,7 @@ this.updateById(orderTaxi); pushUtil.removeTask(orderId, 2);//删除定时任务,结束推送数据 - systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderTaxi.getUserId(), 1); + systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderTaxi.getUserId()); //回滚司机状态为空闲 Driver driver = driverService.selectById(orderTaxi.getDriverId()); @@ -612,7 +579,7 @@ this.updateById(orderTaxi); pushUtil.removeTask(orderId, 2);//删除定时任务,结束推送数据 - systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderTaxi.getUserId(), 1); + systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderTaxi.getUserId()); //回滚司机状态为空闲 Driver driver = driverService.selectById(orderTaxi.getDriverId()); @@ -753,39 +720,7 @@ orderTaxi.setTravelMoney(travelFee); orderTaxi.setParkMoney(parkingFee); orderTaxi.setRoadTollMoney(crossingFee); - BigDecimal sum = new BigDecimal(null == travelFee ? 0 : travelFee).add(new BigDecimal(null == parkingFee ? 0 : parkingFee)) - .add(new BigDecimal(null == crossingFee ? 0 : crossingFee)).add(new BigDecimal(null == orderTaxi.getTipMoney() ? 0 : orderTaxi.getTipMoney())); - orderTaxi.setOrderMoney(sum.setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - return orderTaxi; - } - - - public OrderTaxi setMoney1(OrderTaxi orderTaxi, Double travelFee, String additionalFee) throws Exception{ - orderTaxi.setTravelMoney(travelFee); - orderTaxi.setParkMoney(0D); - orderTaxi.setRoadTollMoney(0D); - Company company = companyService.selectById(orderTaxi.getCompanyId()); - BigDecimal t = new BigDecimal(0); - if(ToolUtil.isNotEmpty(additionalFee)){//附加费 - JSONArray jsonArray = JSON.parseArray(additionalFee); - for(int i = 0; i < jsonArray.size(); i++){ - JSONObject jsonObject = jsonArray.getJSONObject(i); - Integer id = jsonObject.getInteger("id"); - Double amount = jsonObject.getDouble("amount"); - OrderAdditionalFee orderAdditionalFee = new OrderAdditionalFee(); - orderAdditionalFee.setOrderType(2); - orderAdditionalFee.setOrderId(orderTaxi.getId()); - orderAdditionalFee.setAdditionalFeeId(id); - orderAdditionalFee.setAmount(amount); - orderAdditionalFeeService.insert(orderAdditionalFee); - t = t.add(new BigDecimal(amount)); - } - } - - orderTaxi.setHolidayFee(null == company.getHolidayFee() ? 0D : company.getHolidayFee()); - BigDecimal sum = new BigDecimal(null == travelFee ? 0 : travelFee).add(new BigDecimal(0)) - .add(new BigDecimal(0)).add(new BigDecimal(orderTaxi.getHolidayFee())) - .add(new BigDecimal(null == orderTaxi.getTipMoney() ? 0 : orderTaxi.getTipMoney())).add(t); + BigDecimal sum = new BigDecimal(travelFee).add(new BigDecimal(parkingFee)).add(new BigDecimal(crossingFee)).add(new BigDecimal(orderTaxi.getTipMoney())); orderTaxi.setOrderMoney(sum.setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); return orderTaxi; } -- Gitblit v1.7.1