提交 124e18cf authored 作者: hzh's avatar hzh

火车票订单导出功能实现

上级 0e945353
package org.dromara.server.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
......@@ -15,7 +14,6 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.server.domain.bo.OrderAirportBo;
import org.dromara.server.domain.vo.OrderAirportExportVo;
import org.dromara.server.domain.vo.OrderAirportVo;
import org.dromara.server.service.IOrderAirportService;
import org.springframework.validation.annotation.Validated;
......@@ -53,9 +51,9 @@ public class OrderAirportController extends BaseController {
@SaCheckPermission("server:orderAirport:export")
@Log(title = "活动机票订单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public R<List<OrderAirportExportVo>> export(OrderAirportBo bo) {
List<OrderAirportVo> list = bizOrderAirportService.queryList(bo);
return R.ok(BeanUtil.copyToList(list, OrderAirportExportVo.class));
public R<List<OrderAirportVo>> export(OrderAirportBo bo) {
bo.setProcessData(true);
return R.ok(bizOrderAirportService.queryList(bo));
}
/**
......
......@@ -8,7 +8,6 @@ import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
......@@ -53,9 +52,9 @@ public class OrderTrainController extends BaseController {
@SaCheckPermission("server:orderTrain:export")
@Log(title = "火车票订单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(OrderTrainBo bo, HttpServletResponse response) {
List<OrderTrainVo> list = orderTrainService.queryList(bo);
ExcelUtil.exportExcel(list, "火车票订单", OrderTrainVo.class, response);
public R<List<OrderTrainVo>> export(OrderTrainBo bo, HttpServletResponse response) {
bo.setProcessData(true);
return R.ok(orderTrainService.queryList(bo));
}
/**
......
package org.dromara.server.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import java.io.Serial;
import java.io.Serializable;
/**
* 活动机票订单视图对象 biz_order_airport
*
* @author hzh
* @date 2024-11-18
*/
@Data
@ExcelIgnoreUnannotated
public class OrderAirportExportVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@ExcelProperty(value = "id")
private Long id;
/**
* 订单号
*/
@ExcelProperty(value = "订单号")
private String orderNo;
/**
* 航班号
*/
@ExcelProperty(value = "航班号")
private String flightNo;
/**
* 航程机场中文,机场名称拼接
*/
@ExcelProperty(value = "航程机场中文,机场名称拼接")
private String voyageAirport;
/**
* 乘机人,多个以,隔开
*/
@ExcelProperty(value = "乘机人,多个以,隔开")
private String psg;
/**
* 人员code
*/
@ExcelProperty(value = "人员code")
private String personCode;
@Translation(type = TransConstant.PERSON_CODE_TO_NICKNAME, mapper = "personCode")
private String personCodeNickName;
/**
* 预订时间,格式:yyyy-MM-dd HH:mm:ss
*/
@ExcelProperty(value = "预订时间,格式:yyyy-MM-dd HH:mm:ss")
private String bookDatetime;
/**
* 起飞日期,格式:YYYY-MM-dd HH:mm
*/
@ExcelProperty(value = "起飞日期,格式:YYYY-MM-dd HH:mm")
private String departDate;
/**
* 订单合计,票面价+机建+燃油+服务费+保险金额
*/
@ExcelProperty(value = "订单合计,票面价+机建+燃油+服务费+保险金额")
private Long orderTotalAmount;
/**
* 服务费合计
*/
@ExcelProperty(value = "服务费合计")
private Long serviceFee;
/**
* 出票时间,格式:yyyy-MM-dd HH:mm:ss
*/
@ExcelProperty(value = "出票时间,格式:yyyy-MM-dd HH:mm:ss")
private String drawDatetime;
/**
* 机建合计
*/
@ExcelProperty(value = "机建合计")
private Long airportFee;
/**
* 订单状态代码
*/
@ExcelProperty(value = "订单状态代码")
private String orderStatus;
/**
* 订单状态名称
*/
@ExcelProperty(value = "订单状态名称")
private String orderStatusName;
/**
* 舱位
*/
@ExcelProperty(value = "舱位")
private String cabin;
/**
* 航程城市中文,城市名称拼接
*/
@ExcelProperty(value = "航程城市中文,城市名称拼接")
private String voyageCity;
/**
* 备注信息
*/
@ExcelProperty(value = "备注信息")
private String bzbz;
/**
* 保险金额
*/
@ExcelProperty(value = "保险金额")
private Long insureAmount;
/**
* 燃油合计
*/
@ExcelProperty(value = "燃油合计")
private Long tax;
/**
* 是否支持协议欠款支付,1是显示 2是不显示
*/
@ExcelProperty(value = "是否支持协议欠款支付,1是显示 2是不显示")
private String sfzcxyqk;
/**
* 票面合计
*/
@ExcelProperty(value = "票面合计")
private Long salePrice;
/**
* 航程,机场三字码拼接
*/
@ExcelProperty(value = "航程,机场三字码拼接")
private String voyage;
}
......@@ -73,7 +73,7 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
lqw.eq(StringUtils.isNotBlank(bo.getProtocolNo()), OrderAirport::getProtocolNo, bo.getProtocolNo());
lqw.eq(StringUtils.isNotBlank(bo.getVoyageAirport()), OrderAirport::getVoyageAirport, bo.getVoyageAirport());
lqw.eq(StringUtils.isNotBlank(bo.getRouteId()), OrderAirport::getRouteId, bo.getRouteId());
lqw.eq(StringUtils.isNotBlank(bo.getPsg()), OrderAirport::getPsg, bo.getPsg());
lqw.like(StringUtils.isNotBlank(bo.getPsg()), OrderAirport::getPsg, bo.getPsg());
lqw.eq(StringUtils.isNotBlank(bo.getIsShowRefund()), OrderAirport::getIsShowRefund, bo.getIsShowRefund());
lqw.eq(StringUtils.isNotBlank(bo.getBookDatetime()), OrderAirport::getBookDatetime, bo.getBookDatetime());
lqw.eq(StringUtils.isNotBlank(bo.getCabin()), OrderAirport::getCabin, bo.getCabin());
......
......@@ -100,11 +100,24 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord
lqw.eq(StringUtils.isNotBlank(bo.getOrderFrom()), OrderTrain::getOrderFrom, bo.getOrderFrom());
lqw.eq(StringUtils.isNotBlank(bo.getTrainAccount()), OrderTrain::getTrainAccount, bo.getTrainAccount());
if (params != null) {
//预定人搜索
String nickName = params.getOrDefault("personCodeNickName", StringUtils.EMPTY).toString();
if (org.apache.commons.lang3.StringUtils.isNotBlank(nickName)) {
lqw.in(OrderTrain::getPersonCode, bizUserService.getPersonCodeListByNickName(nickName));
}
//车次搜索
String trainCode = params.getOrDefault("trainCode", StringUtils.EMPTY).toString();
if (org.apache.commons.lang3.StringUtils.isNotBlank(trainCode)) {
List<OrderTrainRange> trainRangeList = rangeMapper.selectList(
new LambdaQueryWrapper<OrderTrainRange>()
.like(OrderTrainRange::getTrainCode, trainCode)
.select(OrderTrainRange::getOrderNo)
);
lqw.in(OrderTrain::getOrderNo, CollectionUtils.isEmpty(trainRangeList) ? List.of("-1") : StreamUtils.toList(trainRangeList, OrderTrainRange::getOrderNo));
}
//创建时间搜索
String startTime = params.getOrDefault("startTime", StringUtils.EMPTY).toString();
if (StringUtils.isNotEmpty(startTime)) {
lqw.ge(OrderTrain::getBookDate, startTime);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论