From 031c21e5014edce49894eabb748a36847253fb2f Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 20 七月 2023 23:23:06 +0800
Subject: [PATCH] 修改bug
---
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 112 insertions(+), 8 deletions(-)
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
index 32062da..4b70b58 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java
@@ -2,25 +2,34 @@
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.base.controller.BaseController;
import com.stylefeng.guns.core.base.tips.SuccessTip;
import com.stylefeng.guns.core.log.LogObjectHolder;
+import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.system.controller.resp.TAppUserDetailOrderResp;
import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp;
import com.stylefeng.guns.modular.system.controller.resp.TOrderResp;
import com.stylefeng.guns.modular.system.controller.util.ExcelUtil;
+import com.stylefeng.guns.modular.system.enums.OrderStateEnum;
import com.stylefeng.guns.modular.system.model.TAppUser;
import com.stylefeng.guns.modular.system.model.TDriver;
import com.stylefeng.guns.modular.system.model.TOrder;
+import com.stylefeng.guns.modular.system.model.TOrderPosition;
import com.stylefeng.guns.modular.system.service.ITAppUserService;
+import com.stylefeng.guns.modular.system.service.ITCancelOrderService;
+import com.stylefeng.guns.modular.system.service.ITDriverService;
import com.stylefeng.guns.modular.system.service.ITOrderService;
+import com.stylefeng.guns.modular.system.util.RedisUtil;
+import com.stylefeng.guns.modular.system.util.ResultUtil;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
@@ -29,7 +38,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
-import java.io.OutputStream;
+import java.io.*;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -54,6 +63,17 @@
private ITOrderService tOrderService;
@Autowired
private ITAppUserService tAppUserService;
+ @Autowired
+ private ITCancelOrderService tCancelOrderService;
+
+ @Autowired
+ private RedisUtil redisUtil;
+
+ @Autowired
+ private ITDriverService driverService;
+
+ @Value("${filePath}")
+ private String filePath;
/**
* 跳转到首页
@@ -122,6 +142,24 @@
}
/**
+ * 跳转详情页面
+ */
+ @RequestMapping("/orderDetail")
+ public String orderDetail(Integer orderId, Model model) {
+ tOrderService.orderDetail(orderId,model);
+ return PREFIX + "tOrderDetail.html";
+ }
+
+ /**
+ * 跳转异常详情页面
+ */
+ @RequestMapping("/orderExceptionDetail")
+ public String orderExceptionDetail(Integer orderId, Model model) {
+ tOrderService.orderExceptionDetail(orderId,model);
+ return PREFIX + "tOrderExceptionDetail.html";
+ }
+
+ /**
* 获取列表
*/
@ApiOperation(value = "用户获取订单列表")
@@ -132,6 +170,7 @@
if(Objects.nonNull(userId)){
wrapper.eq("user_id",userId);
}
+ wrapper.orderBy("createTime",false);
return tOrderService.selectList(wrapper);
}
@@ -164,7 +203,8 @@
String userPhone,
Integer state,
String driverName) {
- return tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,2);
+// return tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,2);
+ return tCancelOrderService.getCancelOrderList(createTime, code, source, userName, userPhone, state, driverName);
}
/**
@@ -179,23 +219,79 @@
EntityWrapper<TOrder> wrapper = new EntityWrapper<>();
if(Objects.nonNull(userId)){
- wrapper.eq("user_id",userId);
+ wrapper.eq("userId",userId);
}
List<TOrder> tOrders = tOrderService.selectList(wrapper);
for (TOrder tOrder : tOrders) {
TAppUserDetailOrderResp tAppUserDetailOrderResp = new TAppUserDetailOrderResp();
BeanUtils.copyProperties(tOrder,tAppUserDetailOrderResp);
- // TODO 计算总里程
-
+ // 计算总里程
+ if(Objects.nonNull(tOrder.getActualMileage())){
+ tAppUserDetailOrderResp.setMileageSum(tOrder.getActualMileage()/1000);
+ }
// 计算总时长
- long travelTimeSum = DateUtil.between(tAppUserDetailOrderResp.getBoardingTime(), tAppUserDetailOrderResp.getGetoffTime(), DateUnit.MINUTE);
+ long travelTimeSum = 0;
+ if(Objects.nonNull(tAppUserDetailOrderResp.getBoardingTime()) && Objects.nonNull(tAppUserDetailOrderResp.getGetoffTime())){
+ travelTimeSum = DateUtil.between(tAppUserDetailOrderResp.getBoardingTime(), tAppUserDetailOrderResp.getGetoffTime(), DateUnit.MINUTE);
+ }
tAppUserDetailOrderResp.setTravelTimeSum(Integer.valueOf(Long.toString(travelTimeSum)));
list.add(tAppUserDetailOrderResp);
}
return list;
+ }
+
+
+
+ @RequestMapping(value = "/getOrderTrack")
+ @ResponseBody
+ public ResultUtil getOrderTrack(Integer orderDetailId){
+ if(ToolUtil.isNotEmpty(orderDetailId)){
+ try {
+ //将数据存储到文件中
+ File file = new File(filePath + orderDetailId + ".json");
+ if(!file.exists()){
+ return ResultUtil.success(new ArrayList<>());
+ }
+ //读取文件(字符流)
+ BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
+ //循环取出数据
+ String str = null;
+ StringBuffer sb = new StringBuffer();
+ while ((str = in.readLine()) != null) {
+ sb.append(str);
+ }
+ List<TOrderPosition> list = JSONArray.parseArray(sb.toString(), TOrderPosition.class);
+ return ResultUtil.success(list);
+ }catch (Exception e){
+ e.printStackTrace();
+ return ResultUtil.runErr();
+ }
+ }else {
+ return ResultUtil.paranErr();
+ }
+ }
+
+
+
+ /**
+ * 关闭订单
+ */
+ @RequestMapping(value = "/cancelOrderUpdate")
+ @ResponseBody
+ public Object cancelOrderUpdate(@RequestParam Integer tOrderId) {
+ TOrder tOrder = tOrderService.selectById(tOrderId);
+ tOrder.setState(OrderStateEnum.CANCELED.getCode());
+ tOrderService.updateById(tOrder);
+ if(null != tOrder.getDriverId()){
+ redisUtil.delSetValue("orderService", tOrder.getId().toString());
+ TDriver tDriver = driverService.selectById(tOrder.getDriverId());
+ tDriver.setServerStatus(1);
+ driverService.updateById(tDriver);
+ }
+ return SUCCESS_TIP;
}
@@ -277,7 +373,11 @@
}else if(2 == source1){
values[i][2] = "司机创建";
}
- values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+ if(Objects.nonNull(d.getStartTime())){
+ values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+ }else {
+ values[i][3] = "";
+ }
values[i][4] = d.getUserName();
values[i][5] = d.getUserPhone();
values[i][6] = d.getStartAddress();
@@ -354,7 +454,11 @@
}else if(2 == source1){
values[i][2] = "司机创建";
}
- values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+ if(Objects.nonNull(d.getStartTime())){
+ values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+ }else {
+ values[i][3] = "";
+ }
values[i][4] = d.getUserName();
values[i][5] = d.getUserPhone();
values[i][6] = d.getStartAddress();
--
Gitblit v1.7.1