From 7d914d51a902b3013a8ae27ee48239821d766e4d Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 16 三月 2023 18:23:51 +0800
Subject: [PATCH] 基础信息管理:公告
---
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java | 286 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 277 insertions(+), 9 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 e29171a..8fb8b15 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
@@ -1,22 +1,40 @@
package com.stylefeng.guns.modular.system.controller.general;
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
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.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.model.TAppUser;
+import com.stylefeng.guns.modular.system.model.TDriver;
+import com.stylefeng.guns.modular.system.model.TOrder;
+import com.stylefeng.guns.modular.system.service.ITAppUserService;
+import com.stylefeng.guns.modular.system.service.ITOrderService;
+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.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.beans.factory.annotation.Autowired;
-import com.stylefeng.guns.core.log.LogObjectHolder;
+import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
-import com.stylefeng.guns.modular.system.model.TOrder;
-import com.stylefeng.guns.modular.system.service.ITOrderService;
+import org.springframework.web.bind.annotation.ResponseBody;
+import javax.servlet.http.HttpServletResponse;
+import java.io.OutputStream;
+import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -34,6 +52,8 @@
@Autowired
private ITOrderService tOrderService;
+ @Autowired
+ private ITAppUserService tAppUserService;
/**
* 跳转到首页
@@ -63,17 +83,106 @@
}
/**
+ * 跳转异常页面
+ * @return
+ */
+ @RequestMapping("/tOrder-exception")
+ public String tOrderException(Model model) {
+ return PREFIX + "tOrderException.html";
+ }
+
+ /**
+ * 跳转到首页
+ */
+ @RequestMapping("/cancelOrder")
+ public String cancelOrder() {
+ return PREFIX + "tCancelOrder.html";
+ }
+
+ /**
+ * 跳转冻结页面
+ * @return
+ */
+ @RequestMapping("/tOrderException_start_and_stop")
+ public String tAppUserStartAndStop( Integer id,
+ Model model) {
+
+ // 查询订单
+ TOrder tOrder = tOrderService.selectById(id);
+ TAppUser tAppUser = new TAppUser();
+ if(Objects.nonNull(tOrder)){
+ tAppUser = tAppUserService.selectById(tOrder.getUserId());
+ }
+
+ model.addAttribute("id",id);
+ if(Objects.nonNull(tAppUser)){
+ model.addAttribute("status",tAppUser.getStatus());
+ }
+ return PREFIX + "tOrderStartAndStopException.html";
+ }
+
+ /**
+ * 跳转详情页面
+ */
+ @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 = "获取订单列表")
+ @ApiOperation(value = "用户获取订单列表")
@RequestMapping(value = "/list")
@ResponseBody
- public Object list(String condition,Integer userId) {
+ public Object list(Integer userId) {
EntityWrapper<TOrder> wrapper = new EntityWrapper<>();
if(Objects.nonNull(userId)){
wrapper.eq("user_id",userId);
}
return tOrderService.selectList(wrapper);
+ }
+
+ /**
+ * 获取列表
+ */
+ @ApiOperation(value = "获取订单列表")
+ @RequestMapping(value = "/orderList")
+ @ResponseBody
+ public Object orderList(String createTime,
+ String code,
+ Integer source,
+ String userName,
+ String userPhone,
+ Integer state,
+ String driverName) {
+ return tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,1);
+ }
+
+ /**
+ * 获取列表
+ */
+ @ApiOperation(value = "获取订单异常列表")
+ @RequestMapping(value = "/orderExceptionList")
+ @ResponseBody
+ public Object orderExceptionList(String createTime,
+ String code,
+ Integer source,
+ String userName,
+ String userPhone,
+ Integer state,
+ String driverName) {
+ return tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,2);
}
/**
@@ -95,7 +204,12 @@
TAppUserDetailOrderResp tAppUserDetailOrderResp = new TAppUserDetailOrderResp();
BeanUtils.copyProperties(tOrder,tAppUserDetailOrderResp);
- // TODO 查询里程数等参数
+ // TODO 计算总里程
+
+
+ // 计算总时长
+ long travelTimeSum = DateUtil.between(tAppUserDetailOrderResp.getBoardingTime(), tAppUserDetailOrderResp.getGetoffTime(), DateUnit.MINUTE);
+ tAppUserDetailOrderResp.setTravelTimeSum(Integer.valueOf(Long.toString(travelTimeSum)));
list.add(tAppUserDetailOrderResp);
}
@@ -150,4 +264,158 @@
public Object detail(@PathVariable("tOrderId") Integer tOrderId) {
return tOrderService.selectById(tOrderId);
}
+
+ @ApiOperation(value = "导出订单列表",notes="导出订单列表")
+ @RequestMapping(value = "/export")
+ @ResponseBody
+ public void export(String createTime,
+ String code,
+ Integer source,
+ String userName,
+ String userPhone,
+ Integer state,
+ String driverName,HttpServletResponse response) {
+ try {
+ Date date = new Date();
+ DateFormat format = new SimpleDateFormat("yyyyMMdd");
+ String time1 = format.format(date);
+ String fileName = "OrderInfo"+time1+".xls";
+ String[] title = new String[] {"下单时间","订单编号","订单来源","开始服务时间","下单用户昵称",
+ "下单用户手机","起点地址","终点地址","接单司机","司机电话","预估价","取消次数","订单状态"};
+ List<TOrderResp> orderList = tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,1);
+ String[][] values = new String[orderList.size()][];
+ for (int i = 0; i < orderList.size(); i++) {
+ TOrderResp d = orderList.get(i);
+ values[i] = new String[title.length];
+ values[i][0] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getCreateTime());
+ values[i][1] = d.getCode();
+ Integer source1 = d.getSource();
+ if(1 == source1){
+ values[i][2] = "小程序";
+ }else if(2 == source1){
+ values[i][2] = "司机创建";
+ }
+ values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+ values[i][4] = d.getUserName();
+ values[i][5] = d.getUserPhone();
+ values[i][6] = d.getStartAddress();
+ values[i][7] = d.getEndAddress();
+ values[i][8] = d.getDriverName();
+ values[i][9] = d.getDriverPhone();
+ values[i][10] = String.valueOf(Objects.nonNull(d.getEstimatedPrice())?d.getEstimatedPrice(): BigDecimal.ZERO);
+ values[i][11] = String.valueOf(d.getCancelCount());
+ Integer status1 = d.getState();
+ if(101 == status1){
+ values[i][12] = "待接单";
+ }else if(102 == status1){
+ values[i][12] = "已接单";
+ }else if(103 == status1){
+ values[i][12] = "前往预约点";
+ }else if(104 == status1){
+ values[i][12] = "到达预约点";
+ }else if(105 == status1){
+ values[i][12] = "开始服务";
+ }else if(106 == status1){
+ values[i][12] = "到达目的地";
+ }else if(107 == status1){
+ values[i][12] = "待支付";
+ }else if(108 == status1){
+ values[i][12] = "待评价";
+ }else if(109 == status1){
+ values[i][12] = "已完成";
+ }else if(201 == status1){
+ values[i][12] = "转单中";
+ }else if(301 == status1){
+ values[i][12] = "已取消";
+ }else if(401 == status1){
+ values[i][12] = "等待中";
+ }
+ }
+ HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null);
+ ExcelUtil.setResponseHeader(response, fileName);
+ OutputStream os = response.getOutputStream();
+ wb.write(os);
+ os.flush();
+ os.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ @ApiOperation(value = "导出订单列表",notes="导出订单列表")
+ @RequestMapping(value = "/export-exception")
+ @ResponseBody
+ public void exportException(String createTime,
+ String code,
+ Integer source,
+ String userName,
+ String userPhone,
+ Integer state,
+ String driverName,HttpServletResponse response) {
+ try {
+ Date date = new Date();
+ DateFormat format = new SimpleDateFormat("yyyyMMdd");
+ String time1 = format.format(date);
+ String fileName = "OrderExceptionInfo"+time1+".xls";
+ String[] title = new String[] {"下单时间","订单编号","订单来源","乘车时间","下单用户昵称",
+ "下单用户手机","起点","终点","接单司机","司机电话","预估价格","取消次数","订单状态"};
+ List<TOrderResp> orderList = tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,1);
+ String[][] values = new String[orderList.size()][];
+ for (int i = 0; i < orderList.size(); i++) {
+ TOrderResp d = orderList.get(i);
+ values[i] = new String[title.length];
+ values[i][0] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getCreateTime());
+ values[i][1] = d.getCode();
+ Integer source1 = d.getSource();
+ if(1 == source1){
+ values[i][2] = "小程序";
+ }else if(2 == source1){
+ values[i][2] = "司机创建";
+ }
+ values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime());
+ values[i][4] = d.getUserName();
+ values[i][5] = d.getUserPhone();
+ values[i][6] = d.getStartAddress();
+ values[i][7] = d.getEndAddress();
+ values[i][8] = d.getDriverName();
+ values[i][9] = d.getDriverPhone();
+ values[i][10] = String.valueOf(Objects.nonNull(d.getEstimatedPrice())?d.getEstimatedPrice(): BigDecimal.ZERO);
+ values[i][11] = String.valueOf(d.getCancelCount());
+ Integer status1 = d.getState();
+ if(101 == status1){
+ values[i][12] = "待接单";
+ }else if(102 == status1){
+ values[i][12] = "已接单";
+ }else if(103 == status1){
+ values[i][12] = "前往预约点";
+ }else if(104 == status1){
+ values[i][12] = "到达预约点";
+ }else if(105 == status1){
+ values[i][12] = "开始服务";
+ }else if(106 == status1){
+ values[i][12] = "到达目的地";
+ }else if(107 == status1){
+ values[i][12] = "待支付";
+ }else if(108 == status1){
+ values[i][12] = "待评价";
+ }else if(109 == status1){
+ values[i][12] = "已完成";
+ }else if(201 == status1){
+ values[i][12] = "转单中";
+ }else if(301 == status1){
+ values[i][12] = "已取消";
+ }else if(401 == status1){
+ values[i][12] = "等待中";
+ }
+ }
+ HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null);
+ ExcelUtil.setResponseHeader(response, fileName);
+ OutputStream os = response.getOutputStream();
+ wb.write(os);
+ os.flush();
+ os.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
--
Gitblit v1.7.1