From 07db109f450b6c8a78ac69da49a8f9a893da20c3 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期一, 02 九月 2024 17:53:02 +0800
Subject: [PATCH] 修改bug和翻译
---
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 476 ++++++++++++++++++++++++++++++++---------------------------
1 files changed, 259 insertions(+), 217 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 326a9cf..bb180e9 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
@@ -23,6 +23,9 @@
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
+import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
+import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo;
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
import com.stylefeng.guns.modular.system.warpper.OrderServerWarpper;
import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
@@ -235,10 +238,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;
}
@@ -254,15 +257,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);
@@ -271,19 +274,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());
@@ -316,7 +319,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){//支付宝支付
@@ -325,12 +328,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());
@@ -361,7 +364,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());
@@ -375,9 +378,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, "");
+ pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0, "");
}
}).start();
@@ -435,7 +437,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());
@@ -449,9 +451,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, "");
+ pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0, "");
}
}).start();
@@ -575,11 +576,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){
@@ -692,8 +693,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);
@@ -726,13 +743,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);
@@ -749,7 +766,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);
@@ -768,70 +785,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;
}
@@ -973,10 +990,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){
@@ -990,10 +1004,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);
@@ -1105,27 +1119,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;
}
@@ -1136,8 +1172,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;
}
@@ -1171,93 +1214,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);
@@ -1295,8 +1338,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());
@@ -1318,8 +1361,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");
@@ -1354,11 +1397,10 @@
if(ToolUtil.isEmpty(serverCarModelIds)){
return ResultUtil.error("请选择服务车型");
}
- Map<String, String> geocode = gdMapGeocodingUtil.geocode(startLon, startLat);
- boolean b = openCityService.openCity(geocode.get("districtCode"));
- if(!b){
- return ResultUtil.error("起点暂未开通");
- }
+// boolean b = openCityService.openCity(Double.valueOf(startLat), Double.valueOf(startLon));
+// if(!b){
+// return ResultUtil.error("起点暂未开通");
+// }
String[] split = serverCarModelIds.split(",");
List<Map<String, Integer>> list = new ArrayList<>();
@@ -1412,7 +1454,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("出发点暂未开通");
}
@@ -1466,7 +1508,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);//待接单
@@ -1538,7 +1580,7 @@
if(ToolUtil.isEmpty(userInfo.getPhone())){
return ResultUtil.error("请先绑定手机号码");
}
- orderPrivateCar.setPassengers(userInfo.getName());
+ orderPrivateCar.setPassengers(userInfo.getFirstName() + "." + userInfo.getLastName());
orderPrivateCar.setPassengersPhone(userInfo.getPhone());
}
orderPrivateCar.setState(1);
@@ -1552,7 +1594,7 @@
orderPrivateCarMapper.insert(orderPrivateCar);
//添加消息
- systemNoticeService.addSystemNotice(1, "您的专车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1);
+ systemNoticeService.addSystemNotice(1, "您的打车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1);
BaseWarpper baseWarpper = new BaseWarpper();
baseWarpper.setId(orderPrivateCar.getId());
@@ -1582,7 +1624,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++){
//订单被抢后的处理
@@ -1616,7 +1658,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();//计算占比转成整数(下标截取)
@@ -1632,7 +1674,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(), "");
}
}
@@ -1651,7 +1693,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++){
//处理订单被抢
@@ -1703,7 +1745,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(), "");
}
}
--
Gitblit v1.7.1