126 lines
5.4 KiB
Java
126 lines
5.4 KiB
Java
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<ExpressCompanyVo> expressCompanyList = expressCompanyService.getExpressCompanyList();
|
|
return R.ok().put("result", expressCompanyList);
|
|
}
|
|
|
|
/**
|
|
* 获取面单列表
|
|
* @param expressPrintDto
|
|
* @return
|
|
*/
|
|
@RequestMapping("/getExpressPrints")
|
|
public R getExpressPrints(@RequestBody ExpressPrintDto expressPrintDto) throws IOException {
|
|
LambdaQueryWrapper<ExpressOrder> 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<ExpressOrder> 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<ExpressOrder> expressOrderPage = new Page<>(currentPage, pageSize);
|
|
QueryWrapper<ExpressOrder> expressOrderQueryWrapper = new QueryWrapper<>();
|
|
|
|
int totalDataSize = expressOrderService.count(expressOrderQueryWrapper);
|
|
int totalPage = totalDataSize / pageSize + 1;
|
|
Page<ExpressOrder> page = expressOrderService.page(expressOrderPage, expressOrderQueryWrapper);
|
|
List<ExpressOrder> expressOrderList = page.getRecords();
|
|
List<PrintTemplateVo> data = new ArrayList<>();
|
|
for (ExpressOrder expressOrder : expressOrderList) {
|
|
PrintTemplateVo vo = new PrintTemplateVo();
|
|
QueryWrapper<ExpressCompany> 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<String, Object> 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<Integer> expressOrderIdList) {
|
|
UpdateWrapper<ExpressOrder> updateWrapper = new UpdateWrapper<>();
|
|
updateWrapper.set("template_printed", 1);
|
|
updateWrapper.in("id", expressOrderIdList);
|
|
expressOrderService.update(updateWrapper);
|
|
return R.ok();
|
|
}
|
|
}
|