package com.peanut.modules.book.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.peanut.common.utils.HttpsUtil; import com.peanut.common.utils.R; import com.peanut.modules.book.entity.ExpressCompany; import com.peanut.modules.book.entity.ExpressOrder; import com.peanut.modules.book.service.ExpressCompanyService; import com.peanut.modules.book.service.ExpressOrderService; import com.peanut.modules.book.to.ExpressPrintDto; import com.peanut.modules.book.vo.ExpressCompanyVo; import com.peanut.modules.book.vo.response.PrintTemplateVo; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Description: 快递 Controller * @Author: Cauchy * @CreateTime: 2023/10/16 */ @Slf4j @RestController @RequestMapping("/express") public class ExpressController { @Autowired private ExpressCompanyService expressCompanyService; @Autowired private ExpressOrderService expressOrderService; /** * 获取快递公司列表 * * @return R */ @RequestMapping(path = "/getExpressCompanyList", method = RequestMethod.GET) public R getExpressCompanyList() { List expressCompanyList = expressCompanyService.getExpressCompanyList(); return R.ok().put("result", expressCompanyList); } /** * 获取面单列表 * @param expressPrintDto * @return */ @RequestMapping("/getExpressPrints") public R getExpressPrints(@RequestBody ExpressPrintDto expressPrintDto) throws IOException { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(expressPrintDto.getExpressOrderSn()),ExpressOrder::getExpressOrderSn,expressPrintDto.getExpressOrderSn()); if(expressPrintDto.getDate()!=null&&expressPrintDto.getDate()!=""){ String startDate = expressPrintDto.getDate()+" 00:00:00"; String endDate = expressPrintDto.getDate()+" 23:59:59"; wrapper.between(ExpressOrder::getCreateTime,startDate,endDate); } wrapper.eq(expressPrintDto.getType()!=0,ExpressOrder::getTemplatePrinted,expressPrintDto.getType()==1?1:0); wrapper.orderByDesc(ExpressOrder::getCreateTime); Page expressOrderPage = expressOrderService.getBaseMapper().selectPage(new Page<>(expressPrintDto.getPage(), expressPrintDto.getLimit()), wrapper); for (ExpressOrder e :expressOrderPage.getRecords()){ if(e.getPrintTemplate()!=null){ String c_string = HttpsUtil.getHttps(e.getPrintTemplate()); e.setPrintString(c_string); } } return R.ok().put("page",expressOrderPage); } /** * 获取快递面单列表(废弃) * * @return R */ @RequestMapping(path = "/getPrintTemplateList", method = RequestMethod.GET) public R getPrintTemplate(@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage) { Page expressOrderPage = new Page<>(currentPage, pageSize); QueryWrapper expressOrderQueryWrapper = new QueryWrapper<>(); int totalDataSize = expressOrderService.count(expressOrderQueryWrapper); int totalPage = totalDataSize / pageSize + 1; Page page = expressOrderService.page(expressOrderPage, expressOrderQueryWrapper); List expressOrderList = page.getRecords(); List data = new ArrayList<>(); for (ExpressOrder expressOrder : expressOrderList) { PrintTemplateVo vo = new PrintTemplateVo(); QueryWrapper expressCompanyQueryWrapper = new QueryWrapper<>(); expressCompanyQueryWrapper.eq("code", expressOrder.getExpressCompanyCode()); ExpressCompany expressCompany = expressCompanyService.getOne(expressCompanyQueryWrapper); vo.setExpressCompanyCode(expressCompany.getName()); vo.setPrintTemplate(expressOrder.getPrintTemplate()); vo.setExpressOrderSn(expressOrder.getExpressOrderSn()); vo.setTemplatedPrinted(vo.getTemplatedPrinted()); data.add(vo); } Map result = new HashMap<>(); result.put("data", data); result.put("currentPage", currentPage); result.put("pageSize", pageSize); result.put("totalDataSize", totalDataSize); result.put("totalPage", totalPage); return R.ok().put("result", result); } @RequestMapping(value = "/printTemplate", method = RequestMethod.POST) public R printTemplate(@RequestBody List expressOrderIdList) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.set("template_printed", 1); updateWrapper.in("id", expressOrderIdList); expressOrderService.update(updateWrapper); return R.ok(); } }