JAVA:列表查询-时间条件为空时报错400

问题:前台通过ajax传递时间参数到后台查询报错400

原因:前台传时间若不选择为空字符串,后台对象中属性为timeStamp格式

解决:后台代码通过request获取参数

前台代码:

    //导出Excel
    function excelOut() {
        $.ajax({
            type: "POST",
            url: "/manage/order/download",
            data: {
                mainorderNum: $("#mainorderNum").val(),
                phone: $("#phone").val(),
                deliveryState: $("#deliveryState").val(),
                orderType: $("#orderType").val(),
                orderState: $("#orderState").val(),
                startTime: $("#startTime").val(),
                endTime: $("#endTime").val(),
                goodsId: $("#ddGoods").val()
            },
            dataType: "json",
            success: function (data) {
                if (data.res == 1) {
                    alert("导出成功")
                }else{
                    alert("导出失败")
                }
            }
        });
    }

原controller代码(报错代码)

    /**
     * 下载文件
     *
     * @param
     * @return
     */
    @RequestMapping(value = "download", method = RequestMethod.POST)
    @ResponseBody
    public String downloadExp(DdOrderVo ddOrderVo, HttpServletRequest request) {
        int resmsg=0;
            try {
                Page<DdOrderVo> page  = new Page<>();
                page.setPageSize(99999);
                page.setPageNum(1);
                Page<DdOrderVo> list = ddOrderService.findByPage(ddOrderVo, page);
                List<ExcelSheetPO> excelSheets = new ArrayList<>();
                ExcelSheetPO excelSheetPO = new ExcelSheetPO();
                List<List<Object>> datalist = new ArrayList<>();
                List<Object> firstline = new ArrayList<>();
                firstline.add(0,"主订单号");//mainorderNum
                firstline.add(1,"买家姓名");//addressee
                firstline.add(0,"买家电话");//phone
                firstline.add(0,"买家地址");//province city district address
                firstline.add(0,"订单商品");//goodsName	goodsNum
                firstline.add(0,"快递类型");//expressType
                firstline.add(0,"面单号");//slogisticCode
                datalist.add(firstline);
                for(DdOrderVo d :list.getResults()){
                    List<Object> line = new ArrayList<>();
                    firstline.add(0,d.getMainorderNum());//mainorderNum
                    firstline.add(1,d.getAddressee());//addressee
                    firstline.add(0,d.getPhone());//phone
                    firstline.add(0,d.getProvince()+d.getCity()+d.getDistrict()+d.getAddress());//province city district address
                    List<DdOrderGoodsVo> glist = new ArrayList<>();
                    String gString ="";
                    for(DdOrderGoodsVo g : glist){
                        gString+=g.getGoodsName()+"("+g.getGoodsNum()+")";
                    }
                    firstline.add(0,gString);//goodsName	goodsNum
                    firstline.add(0,d.getExpressType());//expressType"快递类型"
                    firstline.add(0,d.getSlogisticCode());//slogisticCode"面单号"
                    datalist.add(line);
                }
                excelSheetPO.setDataList(datalist);
                String filePath = "C://excelOut.xls";
                createWorkbookAtDisk(V2003, excelSheets,filePath);

                flag = "01";//上传成功

            } catch (Exception e) {
                flag = "03";//上传出错
                e.printStackTrace();
            }
        return (resmsg+"");
    }

新cointroller代码

    /**
     * 下载文件
     *
     * @param
     * @return
     */
    @RequestMapping(value = "download", method = RequestMethod.POST)
    @ResponseBody
    public String downloadExp( HttpServletRequest request) {
        // 判断文件是否为空
        String flag = "02";//上传标志
        int resmsg=0;
        DdOrderVo ddOrderVo = new DdOrderVo();
        //获取查询参数
        String mainorderNum = request.getParameter("mainorderNum");
        String phone = request.getParameter("phone");
        String deliveryState = request.getParameter("deliveryState");
        String orderType = request.getParameter("orderType");
        String orderState = request.getParameter("orderState");
        String startTime = request.getParameter("startTime");
        String endTime = request.getParameter("endTime");
        String goodsId = request.getParameter("goodsId");
        try {

            if (mainorderNum != null && mainorderNum != "") {
                ddOrderVo.setMainorderNum(Long.parseLong(mainorderNum));
            }
            ddOrderVo.setPhone(phone);


            if (orderState != null && orderState != "") {
                ddOrderVo.setOrderState(Integer.parseInt(orderState));
            }
            if (goodsId != null && goodsId != "") {
                ddOrderVo.setGoodsId(Long.parseLong(goodsId));
            }
            if (orderType != null && orderType != "") {
                ddOrderVo.setOrderType(Integer.parseInt(orderType));
            }
            if (deliveryState != null && deliveryState != "") {
                ddOrderVo.setDeliveryState(Integer.parseInt(deliveryState));
            }
            if (startTime != null && startTime != "") {
                ddOrderVo.setStartTime(Timestamp.valueOf(startTime));
            }
            if (endTime != null && endTime != "") {
                ddOrderVo.setEndTime(Timestamp.valueOf(endTime));
            }

            Page<DdOrderVo> page  = new Page<>();
            page.setPageSize(99999);
            page.setPageNum(1);
            Page<DdOrderVo> list = ddOrderService.findByPage(ddOrderVo, page);
            List<ExcelSheetPO> excelSheets = new ArrayList<>();
            ExcelSheetPO excelSheetPO = new ExcelSheetPO();
            List<List<Object>> datalist = new ArrayList<>();
            List<Object> firstline = new ArrayList<>();
            firstline.add(0,"主订单号");//mainorderNum
            firstline.add(1,"买家姓名");//addressee
            firstline.add(0,"买家电话");//phone
            firstline.add(0,"买家地址");//province city district address
            firstline.add(0,"订单商品");//goodsName	goodsNum
            firstline.add(0,"快递类型");//expressType
            firstline.add(0,"面单号");//slogisticCode
            datalist.add(firstline);
            for(DdOrderVo d :list.getResults()){
                List<Object> line = new ArrayList<>();
                firstline.add(0,d.getMainorderNum());//mainorderNum
                firstline.add(1,d.getAddressee());//addressee
                firstline.add(0,d.getPhone());//phone
                firstline.add(0,d.getProvince()+d.getCity()+d.getDistrict()+d.getAddress());//province city district address
                List<DdOrderGoodsVo> glist = new ArrayList<>();
                String gString ="";
                for(DdOrderGoodsVo g : glist){
                    gString+=g.getGoodsName()+"("+g.getGoodsNum()+")";
                }
                firstline.add(0,gString);//goodsName	goodsNum
                firstline.add(0,d.getExpressType());//expressType"快递类型"
                firstline.add(0,d.getSlogisticCode());//slogisticCode"面单号"
                datalist.add(line);
            }
            excelSheetPO.setDataList(datalist);
            String filePath = "C://excelOut.xls";
            createWorkbookAtDisk(V2003, excelSheets,filePath);

            flag = "01";//上传成功

        } catch (Exception e) {
            flag = "03";//上传出错
            e.printStackTrace();
        }
        return (resmsg+"");
    }```

猜你喜欢

转载自blog.csdn.net/u011374582/article/details/83443930