From d45923a8b023f9a010fc75f53b13ffca01c573fa Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 22 十二月 2023 10:57:46 +0800 Subject: [PATCH] 更新 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 122 +++++++++++++++++++++++++++------------- 1 files changed, 83 insertions(+), 39 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index e4606e4..b32e85f 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -40,6 +40,8 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.MathContext; +import java.math.RoundingMode; import java.util.*; @Service @@ -174,7 +176,7 @@ public synchronized ResultUtil<BaseWarpper> taxiOrder(OrderTaxi orderTaxi, Integer uid) throws Exception { //定义用户所属公司 UserInfo userInfo1 = userInfoService.selectById(uid); - Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat())); + Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat())); if(null == query){ return ResultUtil.error("出发点暂未开通"); } @@ -233,7 +235,7 @@ if(ToolUtil.isEmpty(userInfo.getPhone())){ return ResultUtil.error("请先绑定手机号码"); } - orderTaxi.setPassengers(userInfo.getName()); + orderTaxi.setPassengers(userInfo.getFirstName() + "." + userInfo.getLastName()); orderTaxi.setPassengersPhone(userInfo.getPhone()); } orderTaxi.setState(1);//待接单 @@ -275,11 +277,11 @@ //调用移动的小号接口 Map<String, String> geocode1 = gdMapGeocodingUtil.geocode(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); Region region = regionMapper.query(geocode1.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")); - } +// 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")); +// } driver.setState(3); driverService.updateById(driver); @@ -483,17 +485,17 @@ * @throws Exception */ @Override - public ResultUtil cancleOrderTaxi(Integer id, Integer payType, Integer cancleId, Integer type) throws Exception { + public ResultUtil cancleOrderTaxi(Integer id, Integer payType, Integer cancleId, Integer type, Integer language) throws Exception { OrderTaxi orderTaxi = this.selectById(id); Integer uid = orderTaxi.getUserId(); UserInfo userInfo = userInfoService.selectById(uid); ResultUtil resultUtil = ResultUtil.success(""); if(null == orderTaxi){ - return ResultUtil.error("取消订单失败,订单信息有误", ""); + return ResultUtil.error((language == 1 ? "订单信息有误" : language == 2 ? "Order-information error" : "Erreur d’information de commande"), ""); } if(orderTaxi.getState() != 12){ - return ResultUtil.error("取消订单失败,不合法的操作", ""); + return ResultUtil.error((language == 1 ? "订单取消失败" : language == 2 ? "Failed to cancel order" : "Échec de l’annulation de la commande"), ""); } OrderCancel orderCancel = null; if(null == cancleId){ @@ -516,7 +518,7 @@ } if(payType == 3){//余额支付 if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){ - return ResultUtil.error("余额不足,无法完成支付", ""); + return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant"); } userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); @@ -607,10 +609,10 @@ * @throws Exception */ @Override - public List<Map<String, Object>> queryCoupon(Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception { + public List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception { OrderTaxi orderTaxi = this.selectById(orderId); - List<Map<String, Object>> list = userCouponRecordService.queryCoupon(uid, orderTaxi.getCompanyId(), 1, 2, orderTaxi.getOrderMoney(), pageNum, size); - List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(uid, orderTaxi.getCompanyId(), 1, 0, orderTaxi.getOrderMoney(), pageNum, size); + List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderTaxi.getCompanyId(), 1, 2, orderTaxi.getOrderMoney(), pageNum, size); + List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderTaxi.getCompanyId(), 1, 0, orderTaxi.getOrderMoney(), pageNum, size); list.addAll(list1); return list; } @@ -624,18 +626,18 @@ * @throws Exception */ @Override - public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer couponId, Integer type) throws Exception { + public ResultUtil payTaxiOrder(Integer payType, Integer orderId, Integer couponId, Integer type, Integer language) throws Exception { OrderTaxi orderTaxi = this.selectById(orderId); if(orderTaxi.getState() == 8 || orderTaxi.getState() == 9){ - return ResultUtil.error("订单已完成支付,不允许重复支付", ""); + return ResultUtil.error("订单已完成支付,不允许重复支付"); } if(orderTaxi.getState() != 7){ - return ResultUtil.error("订单不在待支付状态,不允许支付", ""); + return ResultUtil.error("订单不在待支付状态,不允许支付"); } Integer uid = orderTaxi.getUserId(); Double orderMoney = orderTaxi.getOrderMoney(); UserInfo userInfo = userInfoService.selectById(uid); - ResultUtil resultUtil = ResultUtil.success(new HashMap<>()); + ResultUtil resultUtil = ResultUtil.success(); orderTaxi.setCouponMoney(0D);//初始化历史数据 orderTaxi.setCouponId(null); @@ -644,19 +646,19 @@ if(null != couponId){ userCouponRecord = userCouponRecordService.selectById(couponId); if(userCouponRecord.getCompanyId() != orderTaxi.getCompanyId()){ - return ResultUtil.error("优惠券不能用于此订单", ""); + return ResultUtil.error("优惠券不能用于此订单"); } if(userCouponRecord.getState() == 2){ - return ResultUtil.error("优惠券已使用", ""); + return ResultUtil.error("优惠券已使用"); } if(userCouponRecord.getState() == 3){ - return ResultUtil.error("优惠券已过期", ""); + return ResultUtil.error("优惠券已过期"); } if(userCouponRecord.getCouponUseType() != 0 && userCouponRecord.getCouponUseType() != 2){ - return ResultUtil.error("优惠券不能用于此类型订单", ""); + return ResultUtil.error("优惠券不能用于此类型订单"); } if(userCouponRecord.getCouponType() == 2 && orderMoney.compareTo(userCouponRecord.getFullMoney()) < 0){ - return ResultUtil.error("优惠券不能用于此订单", ""); + return ResultUtil.error("优惠券不能用于此订单"); } orderMoney = orderMoney - userCouponRecord.getMoney(); orderTaxi.setCouponMoney(userCouponRecord.getMoney()); @@ -692,7 +694,7 @@ } if(payType == 3){//余额支付 if(userInfo.getBalance() == null || userInfo.getBalance() < orderMoney){ - return ResultUtil.error("余额不足,无法完成支付", ""); + return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant"); } userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); @@ -730,7 +732,7 @@ c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d);//只有出行金额参与抽成,其余归属司机 } if(company.getIsTaxiFixedOrProportional() == 1){//比例 - d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN); + d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))); c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderTaxi.getCompanyId(), 2, orderTaxi.getId(), 2, d.doubleValue()); @@ -816,12 +818,20 @@ * @throws Exception */ @Override - public List<Map<String, Object>> queryMyOrderList(Integer uid, Integer pageNum, Integer size) throws Exception { + public List<Map<String, Object>> queryMyOrderList(Integer language, Integer uid, Integer pageNum, Integer size) throws Exception { pageNum = (pageNum - 1) * size; List<Map<String, Object>> maps = orderTaxiMapper.queryMyOrderList(uid, pageNum, size); for(Map<String, Object> map : maps){ if(Integer.valueOf(String.valueOf(map.get("state"))) == 11){ map.put("state", map.get("oldState")); + } + if(null != map.get("orderTime")){ + String orderTime = map.get("orderTime").toString(); + map.put("orderTime", DateUtil.conversionFormat(language, orderTime)); + } + if(null != map.get("time")){ + String time = map.get("time").toString(); + map.put("time", DateUtil.conversionFormat1(language, time)); } } return maps; @@ -835,8 +845,15 @@ * @throws Exception */ @Override - public List<Map<String, Object>> queryMyTravelRecord(Integer uid) throws Exception { - return orderTaxiMapper.queryMyTravelRecord(uid); + public List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) throws Exception { + List<Map<String, Object>> list = orderTaxiMapper.queryMyTravelRecord(uid); + for (Map<String, Object> map : list) { + if(null != map.get("time")){ + String time = map.get("time").toString(); + map.put("time", DateUtil.conversionFormat(language, time)); + } + } + return list; } @@ -847,8 +864,15 @@ * @throws Exception */ @Override - public List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception { - return orderTaxiMapper.queryRedEnvelope(uid); + public List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception { + List<Map<String, Object>> list = orderTaxiMapper.queryRedEnvelope(uid); + for (Map<String, Object> map : list) { + if(null != map.get("time")){ + String time = map.get("time").toString(); + map.put("time", DateUtil.conversionFormat(language, time)); + } + } + return list; } @@ -864,11 +888,18 @@ * @throws Exception */ @Override - public List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney, + public List<Map<String, Object>> queryInvoiceOrder(Integer language, Integer type, Date startTime, Date endTime, Double startMoney, Double endMoney, Integer uid) throws Exception { startTime = dateUtil.getStartOrEndDate(startTime, "start"); endTime = dateUtil.getStartOrEndDate(endTime, "end"); - return orderTaxiMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid); + List<Map<String, Object>> list = orderTaxiMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid); + for (Map<String, Object> map : list) { + if(null != map.get("time")){ + String time = map.get("time").toString(); + map.put("time", DateUtil.conversionFormat(language, time)); + } + } + return list; } @@ -878,7 +909,7 @@ * @return */ @Override - public Map<String, Object> queryOrderInfo(Integer orderId) throws Exception{ + public Map<String, Object> queryOrderInfo(Integer language, Integer orderId) throws Exception{ Map<String, Object> map = orderTaxiMapper.queryOrderInfo(orderId); if(null != map && null != map.get("reassignNotice") && Integer.valueOf(String.valueOf(map.get("reassignNotice"))) == 2){//改派完成,重新获取了新的司机数据,开始修改数据防止继续调用 OrderTaxi orderTaxi = this.selectById(orderId); @@ -891,6 +922,19 @@ String driverId = redisUtil.getValue("DEVICE_" + map.get("driverId")); map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1); map.put("orderType", 2); + + if(null != map.get("insertTime")){ + String insertTime = map.get("insertTime").toString(); + map.put("insertTime", DateUtil.conversionFormat(language, insertTime)); + } + if(null != map.get("travelTime")){ + String travelTime = map.get("travelTime").toString(); + map.put("travelTime", DateUtil.conversionFormat1(language, travelTime)); + } + if(null != map.get("arriveTime")){ + String arriveTime = map.get("arriveTime").toString(); + map.put("arriveTime", DateUtil.conversionFormat(language, arriveTime)); + } return map; } @@ -956,8 +1000,8 @@ if(null == distance){ System.err.println("查询距离出错了"); }else{ - d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); - t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; + d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); + t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; } OrderServerWarpper orderServerWarpper = new OrderServerWarpper(); orderServerWarpper.setOrderId(orderTaxi.getId()); @@ -979,8 +1023,8 @@ if(null == distance){ System.err.println("查询距离出错了"); }else{ - d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); - t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; + d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); + t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; } orderServerWarpper.setReservationMileage("0"); orderServerWarpper.setReservationTime("0"); @@ -1151,7 +1195,7 @@ c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(company.getIsTaxiFixedOrProportional() == 1){//比例 - d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN); + d = new BigDecimal(orderTaxi.getTravelMoney()).multiply(new BigDecimal(taxi).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))); c = new BigDecimal(orderTaxi.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderTaxi.getCompanyId(), 2, orderTaxi.getId(), 2, d.doubleValue()); @@ -1262,7 +1306,7 @@ if(ToolUtil.isNotEmpty(vehicle)){ integers = JSON.parseArray(vehicle).toJavaList(Integer.class); } - Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 + Company query = companyCityService.query1(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数 for(int i = 1; i <= querys.size(); i++){ PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0); -- Gitblit v1.7.1