提交 0e945353 authored 作者: hzh's avatar hzh

机票订单导出功能实现

上级 35c44370
......@@ -142,6 +142,14 @@ public interface RemoteUserService {
*/
List<Long> selectUserIdsByRoleIds(List<Long> roleIds);
/**
* 根据用户昵称查询userIds
*
* @param nickName 用户昵称
* @return 用户ids
*/
List<Long> selectUserIdsByNickName(String nickName);
/**
* 根据手机号查询租户id集合
*
......
package org.dromara.server.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import jakarta.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
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;
......@@ -16,6 +15,7 @@ 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 +53,9 @@ public class OrderAirportController extends BaseController {
@SaCheckPermission("server:orderAirport:export")
@Log(title = "活动机票订单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(OrderAirportBo bo, HttpServletResponse response) {
public R<List<OrderAirportExportVo>> export(OrderAirportBo bo) {
List<OrderAirportVo> list = bizOrderAirportService.queryList(bo);
ExcelUtil.exportExcel(list, "活动机票订单", OrderAirportVo.class, response);
return R.ok(BeanUtil.copyToList(list, OrderAirportExportVo.class));
}
/**
......
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;
}
......@@ -5,6 +5,8 @@ import org.dromara.server.domain.BizUser;
import org.dromara.server.domain.bo.BizUserBo;
import org.dromara.server.domain.vo.BizUserVo;
import java.util.List;
/**
* 云上用户信息Service接口
*
......@@ -13,4 +15,12 @@ import org.dromara.server.domain.vo.BizUserVo;
*/
public interface IBizUserService extends IBaseService<BizUserVo, BizUserBo, BizUser> {
/**
* 根据 用户昵称查询personCode集合
*
* @param nickName 昵称
* @return personCode集合
*/
List<String> getPersonCodeListByNickName(String nickName);
}
package org.dromara.server.service.impl;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.service.AbstractBaseService;
......@@ -11,8 +13,10 @@ import org.dromara.server.domain.bo.BizUserBo;
import org.dromara.server.domain.vo.BizUserVo;
import org.dromara.server.mapper.BizUserMapper;
import org.dromara.server.service.IBizUserService;
import org.dromara.system.api.RemoteUserService;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
......@@ -26,6 +30,7 @@ import java.util.Map;
public class BizUserServiceImpl extends AbstractBaseService<BizUserVo, BizUserBo, BizUser> implements IBizUserService {
private final BizUserMapper baseMapper;
private final RemoteUserService remoteUserService;
@Override
public BaseMapperPlus<BizUser, BizUserVo> mapper() {
......@@ -44,4 +49,14 @@ public class BizUserServiceImpl extends AbstractBaseService<BizUserVo, BizUserBo
return lqw;
}
@Override
public List<String> getPersonCodeListByNickName(String nickName) {
if (org.apache.commons.lang3.StringUtils.isBlank(nickName)) {
return List.of();
}
List<Long> userIds = remoteUserService.selectUserIdsByNickName(nickName);
List<BizUser> userList = baseMapper.selectList(new LambdaQueryWrapper<BizUser>()
.in(BizUser::getSystemUserId, userIds));
return CollectionUtils.isEmpty(userList) ? List.of("-1") : StreamUtils.toList(userList, BizUser::getUserNo);
}
}
......@@ -17,6 +17,7 @@ import org.dromara.server.domain.bo.OrderAirportBo;
import org.dromara.server.domain.vo.OrderAirportRangeVo;
import org.dromara.server.domain.vo.OrderAirportVo;
import org.dromara.server.mapper.*;
import org.dromara.server.service.IBizUserService;
import org.dromara.server.service.IOrderAirportService;
import org.springframework.stereotype.Service;
......@@ -45,6 +46,7 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
private final IAirportService airportService;
private final BizUserMapper userMapper;
private final ScheduledExecutorService scheduledExecutorService;
private final IBizUserService bizUserService;
@Override
public BaseMapperPlus<OrderAirport, OrderAirportVo> mapper() {
......@@ -75,10 +77,10 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
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());
lqw.eq(StringUtils.isNotBlank(bo.getIsShowCancelApproval()), OrderAirport::getIsShowCancelApproval, bo.getIsShowCancelApproval());
lqw.like(StringUtils.isNotBlank(bo.getIsShowCancelApproval()), OrderAirport::getIsShowCancelApproval, bo.getIsShowCancelApproval());
lqw.eq(StringUtils.isNotBlank(bo.getPnrNo()), OrderAirport::getPnrNo, bo.getPnrNo());
lqw.eq(StringUtils.isNotBlank(bo.getOrderStatus()), OrderAirport::getOrderStatus, bo.getOrderStatus());
lqw.eq(StringUtils.isNotBlank(bo.getFlightNo()), OrderAirport::getFlightNo, bo.getFlightNo());
lqw.like(StringUtils.isNotBlank(bo.getFlightNo()), OrderAirport::getFlightNo, bo.getFlightNo());
lqw.eq(StringUtils.isNotBlank(bo.getIsShowPay()), OrderAirport::getIsShowPay, bo.getIsShowPay());
lqw.eq(StringUtils.isNotBlank(bo.getVoyageCity()), OrderAirport::getVoyageCity, bo.getVoyageCity());
lqw.eq(StringUtils.isNotBlank(bo.getBzbz()), OrderAirport::getBzbz, bo.getBzbz());
......@@ -99,6 +101,11 @@ public class OrderAirportServiceImpl extends AbstractBaseService<OrderAirportVo,
lqw.eq(StringUtils.isNotBlank(bo.getOrderFrom()), OrderAirport::getOrderFrom, bo.getOrderFrom());
lqw.eq(bo.getAirportFee() != null, OrderAirport::getAirportFee, bo.getAirportFee());
if (params != null) {
String nickName = params.getOrDefault("personCodeNickName", StringUtils.EMPTY).toString();
if (org.apache.commons.lang3.StringUtils.isNotBlank(nickName)) {
lqw.in(OrderAirport::getPersonCode, bizUserService.getPersonCodeListByNickName(nickName));
}
String startTime = params.getOrDefault("startTime", StringUtils.EMPTY).toString();
if (StringUtils.isNotEmpty(startTime)) {
lqw.ge(OrderAirport::getBookDatetime, startTime);
......
......@@ -19,6 +19,7 @@ import org.dromara.server.domain.*;
import org.dromara.server.domain.bo.OrderHotelBo;
import org.dromara.server.domain.vo.OrderHotelVo;
import org.dromara.server.mapper.*;
import org.dromara.server.service.IBizUserService;
import org.dromara.server.service.IOrderHotelService;
import org.springframework.stereotype.Service;
......@@ -45,6 +46,7 @@ public class OrderHotelServiceImpl extends AbstractBaseService<OrderHotelVo, Ord
private final IHotelService hotelService;
private final BizUserMapper userMapper;
private final ScheduledExecutorService scheduledExecutorService;
private final IBizUserService bizUserService;
@Override
public BaseMapperPlus<OrderHotel, OrderHotelVo> mapper() {
......@@ -84,6 +86,11 @@ public class OrderHotelServiceImpl extends AbstractBaseService<OrderHotelVo, Ord
lqw.eq(StringUtils.isNotBlank(bo.getBookingRule()), OrderHotel::getBookingRule, bo.getBookingRule());
lqw.eq(StringUtils.isNotBlank(bo.getCheckInDate()), OrderHotel::getCheckInDate, bo.getCheckInDate());
if (params != null) {
String nickName = params.getOrDefault("personCodeNickName", StringUtils.EMPTY).toString();
if (org.apache.commons.lang3.StringUtils.isNotBlank(nickName)) {
lqw.in(OrderHotel::getPersonCode, bizUserService.getPersonCodeListByNickName(nickName));
}
String startTime = params.getOrDefault("startTime", StringUtils.EMPTY).toString();
if (StringUtils.isNotEmpty(startTime)) {
lqw.ge(OrderHotel::getBookDate, startTime);
......
......@@ -23,6 +23,7 @@ import org.dromara.server.domain.vo.OrderTrainRangeVo;
import org.dromara.server.domain.vo.OrderTrainTicketVo;
import org.dromara.server.domain.vo.OrderTrainVo;
import org.dromara.server.mapper.*;
import org.dromara.server.service.IBizUserService;
import org.dromara.server.service.IOrderTrainService;
import org.springframework.stereotype.Service;
......@@ -51,6 +52,7 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord
private final ITrainService trainService;
private final BizUserMapper userMapper;
private final ScheduledExecutorService scheduledExecutorService;
private final IBizUserService bizUserService;
@Override
......@@ -98,6 +100,11 @@ 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 startTime = params.getOrDefault("startTime", StringUtils.EMPTY).toString();
if (StringUtils.isNotEmpty(startTime)) {
lqw.ge(OrderTrain::getBookDate, startTime);
......
......@@ -13,10 +13,7 @@ import org.dromara.common.ys.model.res.airport.other.OrderBusinessInfoBean;
import org.dromara.common.ys.model.res.airport.other.OrderPayInfoBean;
import org.dromara.common.ys.model.res.vehicles.OrderDetailModel;
import org.dromara.common.ys.service.IVehiclesService;
import org.dromara.server.domain.BizUser;
import org.dromara.server.domain.OrderVehicles;
import org.dromara.server.domain.OrderVehiclesBusiness;
import org.dromara.server.domain.OrderVehiclesPayInfo;
import org.dromara.server.domain.*;
import org.dromara.server.domain.bo.OrderVehiclesBo;
import org.dromara.server.domain.vo.OrderVehiclesBusinessVo;
import org.dromara.server.domain.vo.OrderVehiclesVo;
......@@ -24,6 +21,7 @@ import org.dromara.server.mapper.BizUserMapper;
import org.dromara.server.mapper.OrderVehiclesBusinessMapper;
import org.dromara.server.mapper.OrderVehiclesMapper;
import org.dromara.server.mapper.OrderVehiclesPayInfoMapper;
import org.dromara.server.service.IBizUserService;
import org.dromara.server.service.IOrderVehiclesService;
import org.springframework.stereotype.Service;
......@@ -49,6 +47,7 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
private final IVehiclesService vehiclesService;
private final BizUserMapper userMapper;
private final ScheduledExecutorService scheduledExecutorService;
private final IBizUserService bizUserService;
@Override
public BaseMapperPlus<OrderVehicles, OrderVehiclesVo> mapper() {
......@@ -129,6 +128,11 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
lqw.eq(StringUtils.isNotBlank(bo.getArriveAirport()), OrderVehicles::getArriveAirport, bo.getArriveAirport());
lqw.eq(StringUtils.isNotBlank(bo.getVehiclesDesc()), OrderVehicles::getVehiclesDesc, bo.getVehiclesDesc());
if (params != null) {
String nickName = params.getOrDefault("personCodeNickName", StringUtils.EMPTY).toString();
if (org.apache.commons.lang3.StringUtils.isNotBlank(nickName)) {
lqw.in(OrderVehicles::getPersonCode, bizUserService.getPersonCodeListByNickName(nickName));
}
String startTime = params.getOrDefault("startTime", StringUtils.EMPTY).toString();
if (StringUtils.isNotEmpty(startTime)) {
lqw.ge(OrderVehicles::getBookDate, startTime);
......
......@@ -353,6 +353,17 @@ public class RemoteUserServiceImpl implements RemoteUserService {
return userService.selectUserIdsByRoleIds(roleIds);
}
/**
* 根据用户昵称查询userIds
*
* @param nickName 用户昵称
* @return 用户ids
*/
@Override
public List<Long> selectUserIdsByNickName(String nickName) {
return userService.selectUserIdsByNickName(nickName);
}
/**
* 通过用户id集合查询用户信息列表
*
......
......@@ -282,4 +282,11 @@ public interface ISysUserService {
*/
void saveOrUpdateYsUser(SysUser sysUser);
/**
* 根据用户昵称查询userIds
*
* @param nickName 用户昵称
* @return 用户ids
*/
List<Long> selectUserIdsByNickName(String nickName);
}
......@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.constant.UserConstants;
......@@ -676,4 +677,21 @@ public class SysUserServiceImpl implements ISysUserService {
return ObjectUtil.isNull(sysUser) ? null : sysUser.getEmail();
}
/**
* 根据用户昵称查询userIds
*
* @param nickName 用户昵称
* @return 用户ids
*/
@Override
public List<Long> selectUserIdsByNickName(String nickName) {
if (StringUtils.isBlank(nickName)) {
return List.of(-1L);
}
List<SysUser> userList = baseMapper.selectList(
new LambdaQueryWrapper<SysUser>()
.like(SysUser::getNickName, nickName)
);
return CollectionUtils.isEmpty(userList) ? List.of(-1L) : StreamUtils.toList(userList, SysUser::getUserId);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论