puzhibing
2023-03-11 b088628cf9be70c36e34032bb0d024548351541b
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCancelOrderController.java
New file
@@ -0,0 +1,201 @@
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<TOrderResp> 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();
        }
    }
}