package com.stylefeng.guns.modular.system.controller.general; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; import io.swagger.annotations.ApiOperation; import org.apache.poi.hssf.usermodel.HSSFWorkbook; 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.RequestParam; import com.stylefeng.guns.modular.system.model.TCancelOrder; import com.stylefeng.guns.modular.system.service.ITCancelOrderService; import javax.servlet.http.HttpServletResponse; import java.io.OutputStream; import java.math.BigDecimal; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Objects; /** * 控制器 * * @author fengshuonan * @Date 2023-02-27 15:52:01 */ @Controller @RequestMapping("/tCancelOrder") public class TCancelOrderController extends BaseController { private String PREFIX = "/system/tCancelOrder/"; @Autowired private ITCancelOrderService tCancelOrderService; /** * 跳转到首页 */ @RequestMapping("") public String index() { return PREFIX + "tCancelOrder.html"; } /** * 跳转到添加 */ @RequestMapping("/tCancelOrder_add") public String tCancelOrderAdd() { return PREFIX + "tCancelOrder_add.html"; } /** * 跳转到修改 */ @RequestMapping("/tCancelOrder_update/{tCancelOrderId}") public String tCancelOrderUpdate(@PathVariable Integer tCancelOrderId, Model model) { TCancelOrder tCancelOrder = tCancelOrderService.selectById(tCancelOrderId); model.addAttribute("item",tCancelOrder); LogObjectHolder.me().set(tCancelOrder); return PREFIX + "tCancelOrder_edit.html"; } /** * 跳转详情页面 */ @RequestMapping("/cancelOrderDetail") public String cancelOrderDetail(Integer cancelOrderId, Model model) { tCancelOrderService.cancelOrderDetail(cancelOrderId,model); return PREFIX + "tCancelOrderDetail.html"; } /** * 获取列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String condition) { return tCancelOrderService.selectList(null); } /** * 获取列表 */ @ApiOperation(value = "获取取消订单列表") @RequestMapping(value = "/cancelOrderList") @ResponseBody public Object cancelOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName) { return tCancelOrderService.getCancelOrderList(createTime, code, source, userName, userPhone, state, driverName); } /** * 获取取消订单列表(订单异常详情页面使用) */ @ApiOperation(value = "获取取消订单列表(订单异常详情页面使用)") @RequestMapping(value = "/userCancelOrderList") @ResponseBody public Object userCancelOrderList(Integer userId,Integer orderId) { return tCancelOrderService.userCancelOrderList(userId,orderId); } /** * 新增 */ @RequestMapping(value = "/add") @ResponseBody public Object add(TCancelOrder tCancelOrder) { tCancelOrderService.insert(tCancelOrder); return SUCCESS_TIP; } /** * 删除 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tCancelOrderId) { tCancelOrderService.deleteById(tCancelOrderId); return SUCCESS_TIP; } /** * 修改 */ @RequestMapping(value = "/update") @ResponseBody public Object update(TCancelOrder tCancelOrder) { tCancelOrderService.updateById(tCancelOrder); return SUCCESS_TIP; } /** * 详情 */ @RequestMapping(value = "/detail/{tCancelOrderId}") @ResponseBody public Object detail(@PathVariable("tCancelOrderId") Integer tCancelOrderId) { return tCancelOrderService.selectById(tCancelOrderId); } @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 = "CancelOrderInfo"+time1+".xls"; String[] title = new String[] {"下单时间","订单编号","订单来源","下单用户昵称", "下单用户手机","起点地址","终点地址","接单司机","司机电话","转单原因","取消时间"}; List orderList = tCancelOrderService.getCancelOrderList(createTime, code, source, userName, userPhone, state, driverName); 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.getPlaceTime()); 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] = d.getUserName(); values[i][4] = d.getUserPhone(); values[i][5] = d.getStartAddress(); values[i][6] = d.getEndAddress(); values[i][7] = d.getDriverName(); values[i][8] = d.getDriverPhone(); values[i][9] = d.getCause(); values[i][10] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getCreateTime()); } 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(); } } }