xuhy
2024-11-06 31f0fc0b71679e36053029c3b35012b9d139b854
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
@@ -47,11 +47,9 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDateTime;
@@ -756,6 +754,33 @@
//        return R.ok(list);
//    }
    @ApiOperation(value = "导入模板下载", tags = {"管理后台"})
    @PostMapping(value = "/importTemplate")
    public R<String> importTemplate(HttpServletResponse response) throws Exception {
        List<FrozenBuckleImportDTO> list = new ArrayList<>();
        FrozenBuckleImportDTO bean = new FrozenBuckleImportDTO();
        bean.setSiteName("站点名称");
        bean.setServeName("服务信息");
        bean.setReservationName("预约姓名");
        bean.setReservationPhone("预约电话");
        bean.setProvince("省份");
        bean.setCity("市");
        bean.setArea("区");
        bean.setReservationAddress("详细地址");
        bean.setCustClass("上门时间");
        bean.setServerName("服务人员");
        bean.setReservationRemark("备注");
        list.add(bean);
        // 这里URLEncoder.encode可以防止中文乱码
        String fileName = URLEncoder.encode("订单导入模板", "UTF-8");
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
        EasyExcel.write(response.getOutputStream(), FrozenBuckleImportDTO.class).sheet("订单导入模板").doWrite(list);
        return R.ok("下载成功!");
    }
    /**
     * 管理后台-订单导入
     */
@@ -831,6 +856,8 @@
            Site site = sites.stream().filter(e -> e.getSiteName().equals(frozenBuckleImportDTO.getSiteName())).findFirst().orElse(null);
            if(Objects.nonNull(site)){
                order.setSiteId(site.getId());
            }else {
                return R.fail("站点信息不存在");
            }
            // 师傅信息
            if (StringUtils.hasLength(order.getServerName())) {
@@ -838,6 +865,8 @@
                if(Objects.nonNull(masterWorker)){
                    order.setServerId(masterWorker.getId());
                    order.setServerPhone(masterWorker.getPhone());
                }else {
                    return R.fail("师傅信息不存在");
                }
                order.setAcceptTime(new Date());
                // 待上门
@@ -855,6 +884,8 @@
            if(Objects.nonNull(recoveryServe)){
                order.setServeId(recoveryServe.getId());
                order.setServePrice(recoveryServe.getDefaultPrice());
            }else {
                return R.fail("回收服务不存在");
            }
            RecoveryServePrice one = recoveryServePriceService.lambdaQuery().eq(RecoveryServePrice::getCity, order.getCityCode()).eq(RecoveryServePrice::getRecoveryServeId, order.getServeId()).eq(BaseEntity::getIsDelete, 0).one();
            if (one==null) {