From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 16 五月 2025 10:27:41 +0800 Subject: [PATCH] 修改文档bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 473 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 259 insertions(+), 214 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 268c22d..d0b3323 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -55,6 +55,7 @@ import java.math.MathContext; import java.math.RoundingMode; import java.util.*; +import java.util.stream.Collectors; import static com.stylefeng.guns.modular.taxi.service.impl.OrderTaxiServiceImpl.orderIds; @@ -238,10 +239,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 { OrderCrossCity orderCrossCity = this.selectById(orderId); - List<Map<String, Object>> list = userCouponRecordService.queryCoupon(uid, orderCrossCity.getCompanyId(), 1, 3, orderCrossCity.getOrderMoney(), pageNum, size); - List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(uid, orderCrossCity.getCompanyId(), 1, 0, orderCrossCity.getOrderMoney(), pageNum, size); + List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderCrossCity.getCompanyId(), 1, 3, orderCrossCity.getOrderMoney(), pageNum, size); + List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderCrossCity.getCompanyId(), 1, 0, orderCrossCity.getOrderMoney(), pageNum, size); list.addAll(list1); return list; } @@ -257,15 +258,15 @@ * @throws Exception */ @Override - public ResultUtil payCrossCityOrder(Integer payType, Integer orderId, Integer couponId, Integer type) throws Exception { + public ResultUtil payCrossCityOrder(Integer payType, Integer orderId, Integer couponId, Integer type, Integer language) throws Exception { OrderCrossCity orderCrossCity = this.selectById(orderId); if(orderCrossCity.getState() != 7){ - return ResultUtil.error("订单已完成支付,不允许重复支付", ""); + return ResultUtil.error("订单已完成支付,不允许重复支付"); } Integer uid = orderCrossCity.getUserId(); Double orderMoney = orderCrossCity.getOrderMoney(); UserInfo userInfo = userInfoService.selectById(uid); - ResultUtil resultUtil = ResultUtil.success(new HashMap<>()); + ResultUtil resultUtil = ResultUtil.success(); orderCrossCity.setCouponMoney(0D);//初始化历史数据 orderCrossCity.setCouponId(null); @@ -274,19 +275,19 @@ if(null != couponId){ userCouponRecord = userCouponRecordService.selectById(couponId); if(userCouponRecord.getCompanyId() != orderCrossCity.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() != 3){ - 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(); orderCrossCity.setCouponMoney(userCouponRecord.getMoney()); @@ -319,7 +320,7 @@ paymentRecordService.saveData(1, null, null, orderId, 3, 1, orderMoney, null, 1);//添加预支付数据 resultUtil = resultUtil; }else{ - resultUtil = ResultUtil.error("获取支付信息失败", ""); + resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement"); } } if(payType == 2){//支付宝支付 @@ -328,12 +329,12 @@ paymentRecordService.saveData(1, null, null, orderId, 3, 2, orderMoney, null, 1);//添加预支付数据 resultUtil = resultUtil; }else{ - resultUtil = ResultUtil.error("获取支付信息失败", ""); + resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement"); } } 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()); @@ -364,7 +365,7 @@ //添加已收入明细 Line line = lineService.selectById(orderCrossCity.getLineId()); Double speMoney = Double.valueOf(line.getRakeRate()); - BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入 + BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));//企业收入 BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入 incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue()); incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue()); @@ -378,9 +379,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - pushUtil.pushDriverPosition(orderCrossCity.getId(), 3); + pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0, "", "user"); } }).start(); @@ -438,7 +438,7 @@ //添加已收入明细 Line line = lineService.selectById(orderCrossCity.getLineId()); Double speMoney = Double.valueOf(line.getRakeRate()); - BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入 + BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));//企业收入 BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入 incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue()); incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue()); @@ -452,9 +452,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - pushUtil.pushDriverPosition(orderCrossCity.getId(), 3); + pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0, "", "user"); } }).start(); @@ -578,11 +577,11 @@ //调用移动的小号接口 Map<String, String> geocode = gdMapGeocodingUtil.geocode(orderCrossCity.getStartLon().toString(), orderCrossCity.getStartLat().toString()); Region region = regionMapper.query(geocode.get("districtCode")); - Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); - if(String.valueOf(map.get("code")).equals("200")){ - orderCrossCity.setTelX(map.get("telX")); - orderCrossCity.setBindId(map.get("bindId")); - } +// Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderCrossCity.getPassengersPhone(), driver.getPhone(), Integer.valueOf(region.getCitycode().substring(1))); +// if(String.valueOf(map.get("code")).equals("200")){ +// orderCrossCity.setTelX(map.get("telX")); +// orderCrossCity.setBindId(map.get("bindId")); +// } this.insert(orderCrossCity); if(driver.getState() == 2){ @@ -695,8 +694,24 @@ * @throws Exception */ @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 = orderCrossCityMapper.queryOrderInfo(orderId); + 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)); + } + if(null != map.get("travelTime1")){ + String travelTime1 = map.get("travelTime1").toString(); + map.put("travelTime1", DateUtil.conversionFormat(language, travelTime1)); + } if(null != map.get("reassignNotice") && Integer.valueOf(String.valueOf(map.get("reassignNotice"))) == 2){//改派完成,重新获取了新的司机数据,开始修改数据防止继续调用 OrderCrossCity orderCrossCity = this.selectById(orderId); orderCrossCity.setReassignNotice(0); @@ -729,13 +744,13 @@ return ResultUtil.error("获取数据失败,订单信息有误"); } double amount = 0; - CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); - if(null != orderCrossCity.getDriverId() && - (orderCrossCity.getSnatchOrderTime().getTime() + query.getMinuteNum() * 60 * 1000) < new Date().getTime()){//收费的情况 - if(null != query){ - amount += query.getMoney(); - } - } +// CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); +// if(null != orderCrossCity.getDriverId() && +// (orderCrossCity.getSnatchOrderTime().getTime() + query.getMinuteNum() * 60 * 1000) < new Date().getTime()){//收费的情况 +// if(null != query){ +// amount += query.getMoney(); +// } +// } BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setAmount(amount); return ResultUtil.success(baseWarpper); @@ -752,7 +767,7 @@ * @throws Exception */ @Override - public ResultUtil cancleOrderCrossCity(Integer id, Integer payType, Integer cancleId, Integer type) throws Exception { + public ResultUtil cancleOrderCrossCity(Integer id, Integer payType, Integer cancleId, Integer type, Integer language) throws Exception { OrderCrossCity orderCrossCity = this.selectById(id); Integer uid = orderCrossCity.getUserId(); UserInfo userInfo = userInfoService.selectById(uid); @@ -771,70 +786,70 @@ orderCancel = orderCancelService.selectById(cancleId); } - CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); - if(null != query){ - if(payType == 1){//微信支付 - orderCancel.setPayType(1); - orderCancelService.updateById(orderCancel); - resultUtil = payMoneyUtil.weixinpay("订单取消",id +"",id + "_3_fei",query.getMoney()+"","/base/wxCancelOrderTaxi","JSAPI",userInfo.getAppletsOpenId()); - if(resultUtil.getCode()==200){ - paymentRecordService.saveData(1, null, null, id, 3, 1, query.getMoney(), null, 1);//添加预支付数据 - resultUtil = resultUtil; - }else{ - resultUtil = ResultUtil.error("获取支付信息失败", ""); - } - } - if(payType == 2){//支付宝支付 - orderCancel.setPayType(2); - orderCancelService.updateById(orderCancel); - resultUtil = payMoneyUtil.alipay("订单取消","订单取消",id + ",3",query.getMoney()+"","/base/aliCancelOrderTaxi"); - if(resultUtil.getCode()==200){ - paymentRecordService.saveData(1, null, null, id, 3, 2, query.getMoney(), null, 1);//添加预支付数据 - resultUtil = resultUtil; - }else{ - resultUtil = ResultUtil.error("获取支付信息失败", ""); - } - } - if(payType == 3){//余额支付 - if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){ - return ResultUtil.error("余额不足,无法完成支付", ""); - } - - userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - //添加交易明细 - transactionDetailsService.saveData(uid, "取消订单", query.getMoney(), 2, 1, 1, 3, id); - userInfoService.updateById(userInfo); - - //解除小号绑定 - if(orderCrossCity.getBindId() != null){ - chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX()); - } - - orderCrossCity.setState(10); - orderCrossCity.setTelX(""); - orderCrossCity.setBindId(""); - this.updateById(orderCrossCity); - - orderCancel.setState(2); - orderCancel.setPayType(3); - orderCancelService.updateById(orderCancel); - - //添加已收入明细 - incomeService.saveData(1, orderCrossCity.getCompanyId(), 3, orderCrossCity.getId(), 3, query.getMoney()); - - this.deleteTask(id);//删除定时任务 - -// new Thread(new Runnable() { -// @Override -// public void run() { -// pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); -// } -// }).start(); - - //添加消息 - systemNoticeService.addSystemNotice(1, "您已使用余额成功支付取消订单费用,谢谢使用!", orderCrossCity.getUserId(), 1); - } - } +// CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); +// if(null != query){ +// if(payType == 1){//微信支付 +// orderCancel.setPayType(1); +// orderCancelService.updateById(orderCancel); +// resultUtil = payMoneyUtil.weixinpay("订单取消",id +"",id + "_3_fei",query.getMoney()+"","/base/wxCancelOrderTaxi","JSAPI",userInfo.getAppletsOpenId()); +// if(resultUtil.getCode()==200){ +// paymentRecordService.saveData(1, null, null, id, 3, 1, query.getMoney(), null, 1);//添加预支付数据 +// resultUtil = resultUtil; +// }else{ +// resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement", ""); +// } +// } +// if(payType == 2){//支付宝支付 +// orderCancel.setPayType(2); +// orderCancelService.updateById(orderCancel); +// resultUtil = payMoneyUtil.alipay("订单取消","订单取消",id + ",3",query.getMoney()+"","/base/aliCancelOrderTaxi"); +// if(resultUtil.getCode()==200){ +// paymentRecordService.saveData(1, null, null, id, 3, 2, query.getMoney(), null, 1);//添加预支付数据 +// resultUtil = resultUtil; +// }else{ +// resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement", ""); +// } +// } +// if(payType == 3){//余额支付 +// if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){ +// 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()); +// //添加交易明细 +// transactionDetailsService.saveData(uid, "取消订单", query.getMoney(), 2, 1, 1, 3, id); +// userInfoService.updateById(userInfo); +// +// //解除小号绑定 +// if(orderCrossCity.getBindId() != null){ +// chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX()); +// } +// +// orderCrossCity.setState(10); +// orderCrossCity.setTelX(""); +// orderCrossCity.setBindId(""); +// this.updateById(orderCrossCity); +// +// orderCancel.setState(2); +// orderCancel.setPayType(3); +// orderCancelService.updateById(orderCancel); +// +// //添加已收入明细 +// incomeService.saveData(1, orderCrossCity.getCompanyId(), 3, orderCrossCity.getId(), 3, query.getMoney()); +// +// this.deleteTask(id);//删除定时任务 +// +//// new Thread(new Runnable() { +//// @Override +//// public void run() { +//// pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); +//// } +//// }).start(); +// +// //添加消息 +// systemNoticeService.addSystemNotice(1, "您已使用余额成功支付取消订单费用,谢谢使用!", orderCrossCity.getUserId(), 1); +// } +// } return resultUtil; } @@ -976,10 +991,7 @@ }else{//随机金额 Double startMoney = Double.valueOf(String.valueOf(query.get("startMoney"))); Double endMoney = Double.valueOf(String.valueOf(query.get("endMoney"))); - int i = new BigDecimal(endMoney).subtract(new BigDecimal(startMoney)).intValue(); - Random random = new Random(); - int num = random.nextInt(i); - money = new BigDecimal(startMoney).add(new BigDecimal(num)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + money = new BigDecimal(startMoney + (Math.random() * (endMoney - startMoney))).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); } //判断当前红包是否大于剩余可领取总金额 if(money.compareTo(Double.valueOf(query.get("lavePrice").toString())) > 0){ @@ -993,10 +1005,10 @@ //添加临时红包数据 UserRedPacketRecord userRedPacketRecord = new UserRedPacketRecord(); userRedPacketRecord.setMoney(money); + userRedPacketRecord.setRemainingAmount(money); 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); @@ -1108,27 +1120,49 @@ * @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 = orderCrossCityMapper.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; } @Override - public List<Map<String, Object>> queryMyTravelRecord(Integer uid) { - return orderCrossCityMapper.queryMyTravelRecord(uid); + public List<Map<String, Object>> queryMyTravelRecord(Integer language, Integer uid) { + List<Map<String, Object>> list = orderCrossCityMapper.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; } @Override - public List<Map<String, Object>> queryInvoiceOrder(Integer type, Date startTime, Date endTime, Double startMoney, Double endMoney, Integer uid) throws Exception { + 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 orderCrossCityMapper.queryInvoiceOrder(type, startTime, endTime, startMoney, endMoney, uid); + List<Map<String, Object>> list = orderCrossCityMapper.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; } @@ -1139,8 +1173,15 @@ * @throws Exception */ @Override - public List<Map<String, Object>> queryRedEnvelope(Integer uid) throws Exception { - return orderCrossCityMapper.queryRedEnvelope(uid); + public List<Map<String, Object>> queryRedEnvelope(Integer language, Integer uid) throws Exception { + List<Map<String, Object>> list = orderCrossCityMapper.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; } @@ -1157,9 +1198,10 @@ public ResultUtil addCancle(Integer id, String reason, String remark, Integer uid) throws Exception { if(ToolUtil.isNotEmpty(remark)){ if(ToolUtil.isNotEmpty(remark)){ + remark = remark.toLowerCase(); List<SensitiveWords> sensitiveWords = sensitiveWordsMapper.selectList(null); - for(SensitiveWords s : sensitiveWords){ - remark = remark.replaceAll(s.getContent(), "***"); + for(SensitiveWords s : sensitiveWords) { + remark = remark.replaceAll(s.getContent().toLowerCase(), "***"); } } } @@ -1174,93 +1216,93 @@ } //还原座位 - CancleOrder query1 = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); - if (null != query1) { - integer = orderCancelService.saveData(id, 3, reason, remark, null, null, 2, 1, uid); - orderCrossCity.setState(10); - this.updateById(orderCrossCity); - - if(orderCrossCity.getState() != 7){//已经支付的情况推送给司机提醒 - new Thread(new Runnable() { - @Override - public void run() { - pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - System.err.println("推送取消操作---------------------"); - } - }).start(); - } - - //修改司机座位 - LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId()); - lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber()); - lineShiftDriver.setLaveSeatNumber(lineShiftDriver.getLaveSeatNumber() + (orderCrossCity.getTravelMode() == 1 ? "," : "") + orderCrossCity.getSeatNumber()); - lineShiftDriverMapper.updateById(lineShiftDriver); - - //修改司机为空闲 - List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryByDriverId(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11); - if(orderCrossCities.size() == 0){ - Driver driver = driverService.selectById(orderCrossCity.getDriverId()); - driver.setState(2); - driverService.updateById(driver); - } - }else{ - return ResultUtil.error("请完善后台取消规则设置"); - } - - //已支付的情况下进行退款操作 - if(null != orderCrossCity.getPayType() && null != orderCrossCity.getPayMoney()){ - if(orderCrossCity.getPayType() == 3){//余额支付 - UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId()); - userInfo.setBalance(userInfo.getBalance() + orderCrossCity.getPayMoney()); - userInfoService.updateById(userInfo); - //添加交易明细 - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, id); - }else{ - PaymentRecord query = paymentRecordService.query(1, null, null, id, 3, null, 2); - if(null == query){ - return ResultUtil.error("订单还未进行支付"); - } - if(orderCrossCity.getPayType() == 1){ - payMoneyUtil.wxRefund(query.getCode(),id + ",3",query.getAmount()+"",query.getAmount()+"",""); - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); - }else{ - payMoneyUtil.aliRefund(query.getCode(),query.getAmount()+""); - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); - } - /*Map<String, Object> merrefund = icbcPayUtil.merrefund(query.getCode(), "", query.getAmount(), id + "_3", orderCrossCity.getOrderNum()); - if(Integer.valueOf(merrefund.get("code").toString()) == 0){ - Map<String, Object> refundqry = icbcPayUtil.refundqry("", query.getCode(), orderCrossCity.getOrderNum()); - if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 0){//成功 - //添加交易明细 - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); - } - if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 1){//失败 - return ResultUtil.error("订单取消失败(退款不成功)"); - } - if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 2){//未知 - return ResultUtil.error("退款返回未知异常"); - } - }*/ - } - - //添加负的收入明细 - List<Income> incomes = incomeService.selectList(new EntityWrapper<Income>().eq("type", 2).eq("incomeId", id).eq("orderType", 3)); - for(Income income : incomes){ - if(income.getUserType() == 2){//处理司机的收入 - Driver driver = driverService.selectById(income.getObjectId()); - driver.setBalance(driver.getBalance() - income.getMoney()); - driver.setBusinessMoney(driver.getBusinessMoney() - income.getMoney()); - driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - income.getMoney()); - driverService.updateById(driver); - } - Income income1 = new Income(); - BeanUtils.copyProperties(income, income1); - income1.setMoney(income.getMoney() * -1); - income1.setId(null); - income1.setInsertTime(new Date()); - incomeService.insert(income1); - } - } +// CancleOrder query1 = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); +// if (null != query1) { +// integer = orderCancelService.saveData(id, 3, reason, remark, null, null, 2, 1, uid); +// orderCrossCity.setState(10); +// this.updateById(orderCrossCity); +// +// if(orderCrossCity.getState() != 7){//已经支付的情况推送给司机提醒 +// new Thread(new Runnable() { +// @Override +// public void run() { +// pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); +// System.err.println("推送取消操作---------------------"); +// } +// }).start(); +// } +// +// //修改司机座位 +// LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId()); +// lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber()); +// lineShiftDriver.setLaveSeatNumber(lineShiftDriver.getLaveSeatNumber() + (orderCrossCity.getTravelMode() == 1 ? "," : "") + orderCrossCity.getSeatNumber()); +// lineShiftDriverMapper.updateById(lineShiftDriver); +// +// //修改司机为空闲 +// List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryByDriverId(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11); +// if(orderCrossCities.size() == 0){ +// Driver driver = driverService.selectById(orderCrossCity.getDriverId()); +// driver.setState(2); +// driverService.updateById(driver); +// } +// }else{ +// return ResultUtil.error("请完善后台取消规则设置"); +// } +// +// //已支付的情况下进行退款操作 +// if(null != orderCrossCity.getPayType() && null != orderCrossCity.getPayMoney()){ +// if(orderCrossCity.getPayType() == 3){//余额支付 +// UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId()); +// userInfo.setBalance(userInfo.getBalance() + orderCrossCity.getPayMoney()); +// userInfoService.updateById(userInfo); +// //添加交易明细 +// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, id); +// }else{ +// PaymentRecord query = paymentRecordService.query(1, null, null, id, 3, null, 2); +// if(null == query){ +// return ResultUtil.error("订单还未进行支付"); +// } +// if(orderCrossCity.getPayType() == 1){ +// payMoneyUtil.wxRefund(query.getCode(),id + ",3",query.getAmount()+"",query.getAmount()+"",""); +// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); +// }else{ +// payMoneyUtil.aliRefund(query.getCode(),query.getAmount()+""); +// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); +// } +// /*Map<String, Object> merrefund = icbcPayUtil.merrefund(query.getCode(), "", query.getAmount(), id + "_3", orderCrossCity.getOrderNum()); +// if(Integer.valueOf(merrefund.get("code").toString()) == 0){ +// Map<String, Object> refundqry = icbcPayUtil.refundqry("", query.getCode(), orderCrossCity.getOrderNum()); +// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 0){//成功 +// //添加交易明细 +// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); +// } +// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 1){//失败 +// return ResultUtil.error("订单取消失败(退款不成功)"); +// } +// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 2){//未知 +// return ResultUtil.error("退款返回未知异常"); +// } +// }*/ +// } +// +// //添加负的收入明细 +// List<Income> incomes = incomeService.selectList(new EntityWrapper<Income>().eq("type", 2).eq("incomeId", id).eq("orderType", 3)); +// for(Income income : incomes){ +// if(income.getUserType() == 2){//处理司机的收入 +// Driver driver = driverService.selectById(income.getObjectId()); +// driver.setBalance(driver.getBalance() - income.getMoney()); +// driver.setBusinessMoney(driver.getBusinessMoney() - income.getMoney()); +// driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - income.getMoney()); +// driverService.updateById(driver); +// } +// Income income1 = new Income(); +// BeanUtils.copyProperties(income, income1); +// income1.setMoney(income.getMoney() * -1); +// income1.setId(null); +// income1.setInsertTime(new Date()); +// incomeService.insert(income1); +// } +// } //添加消息 systemNoticeService.addSystemNotice(1, "您已成功取消出行订单,谢谢使用!", orderCrossCity.getUserId(), 1); @@ -1298,8 +1340,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(orderCrossCity.getId()); @@ -1321,8 +1363,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"); @@ -1414,7 +1456,7 @@ //定义用户所属公司 OrderTaxi orderTaxi = new OrderTaxi(); UserInfo userInfo1 = userInfoService.selectById(uid); - Company query = companyCityService.query(startLon, startLat); + Company query = companyCityService.query1(uid, startLon, startLat); if(null == query){ return ResultUtil.error("出发点暂未开通"); } @@ -1468,7 +1510,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);//待接单 @@ -1540,7 +1582,7 @@ if(ToolUtil.isEmpty(userInfo.getPhone())){ return ResultUtil.error("请先绑定手机号码"); } - orderPrivateCar.setPassengers(userInfo.getName()); + orderPrivateCar.setPassengers(ToolUtil.isNotEmpty(userInfo.getFirstName()) ? userInfo.getFirstName() + "." + userInfo.getLastName() : ""); orderPrivateCar.setPassengersPhone(userInfo.getPhone()); } orderPrivateCar.setState(1); @@ -1548,13 +1590,16 @@ orderPrivateCar.setTravelTime(travelTime); orderPrivateCar.setOrderType(reservation); orderPrivateCar.setOrderSource(orderSource); + String tripId = redisUtil.getValue("trip" + uid); + orderPrivateCar.setTripId(tripId); + orderPrivateCar.setIsover(0); orderPrivateCar.setIsReassign(1); orderPrivateCar.setIsDelete(1); orderPrivateCarMapper.insert(orderPrivateCar); //添加消息 - systemNoticeService.addSystemNotice(1, "您的专车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1); + systemNoticeService.addSystemNotice(1, "您的打车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1); BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setId(orderPrivateCar.getId()); @@ -1584,7 +1629,7 @@ if(orderType == 1){//专车 OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId); OrderPrivateCarServiceImpl.orderIds.add(orderPrivateCar.getId());//添加记录,防止调用接口重复提醒无人接单 - Company query = companyCityService.query(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 + Company query = companyCityService.query1(orderPrivateCar.getUserId(), String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数 for(int i = 1; i <= querys.size(); i++){ //订单被抢后的处理 @@ -1618,7 +1663,7 @@ //开始进行推送的处理 PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0); //获取空闲司机 - List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 + List<Driver> list = driverService.queryIdleDriver(orderPrivateCar.getUserId(), 1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 if(list.size() > 0){ double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取) @@ -1634,7 +1679,7 @@ if(bo){ continue; } - pushUtil.pushOrderState(2, driver.getId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), pushOrder.getPushTime()); + pushUtil.pushOrderState(2, driver.getId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), pushOrder.getPushTime(), "", "user"); } } @@ -1653,7 +1698,7 @@ if(orderType == 2){//出租车 OrderTaxi orderTaxi = orderTaxiMapper.selectById(orderId); OrderTaxiServiceImpl.orderIds.add(orderTaxi.getId());//添加记录,防止调用接口重复提醒无人接单 - Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 + Company query = companyCityService.query1(orderTaxi.getUserId(), 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++){ //处理订单被抢 @@ -1705,7 +1750,7 @@ } - pushUtil.pushOrderState(2, driver.getId(), orderTaxi.getId(), 2, orderTaxi.getState(), pushOrder.getPushTime()); + pushUtil.pushOrderState(2, driver.getId(), orderTaxi.getId(), 2, orderTaxi.getState(), pushOrder.getPushTime(), "", "user"); } } -- Gitblit v1.7.1