From b088628cf9be70c36e34032bb0d024548351541b Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 11 三月 2023 17:37:12 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java | 267 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 264 insertions(+), 3 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 a1c64e1..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 @@ -4,11 +4,21 @@ 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; @@ -18,7 +28,13 @@ import org.springframework.web.bind.annotation.RequestParam; 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; @@ -36,6 +52,8 @@ @Autowired private ITOrderService tOrderService; + @Autowired + private ITAppUserService tAppUserService; /** * 跳转到首页 @@ -65,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); } /** @@ -97,7 +204,7 @@ TAppUserDetailOrderResp tAppUserDetailOrderResp = new TAppUserDetailOrderResp(); BeanUtils.copyProperties(tOrder,tAppUserDetailOrderResp); - // 计算总里程 + // TODO 计算总里程 // 计算总时长 @@ -157,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