提交 eb6360cd authored 作者: hzh's avatar hzh

用车模块功能实现

上级 44e40bb9
...@@ -16,5 +16,9 @@ public class OrderBookJsycModel { ...@@ -16,5 +16,9 @@ public class OrderBookJsycModel {
* 订单id * 订单id
**/ **/
private String orderId; private String orderId;
/**
* 订单编号
*/
private String orderNo;
} }
...@@ -16,5 +16,9 @@ public class OrderBookYyycModel { ...@@ -16,5 +16,9 @@ public class OrderBookYyycModel {
* 订单id * 订单id
**/ **/
private String orderId; private String orderId;
/**
* 订单编号
*/
private String orderNo;
} }
...@@ -81,7 +81,7 @@ public class VehiclesController extends BaseController { ...@@ -81,7 +81,7 @@ public class VehiclesController extends BaseController {
public R<OrderBookJsycModel> bookOrderJsyc(@RequestBody org.dromara.common.ys.model.req.vehicles.OrderBookJsycModel model) { public R<OrderBookJsycModel> bookOrderJsyc(@RequestBody org.dromara.common.ys.model.req.vehicles.OrderBookJsycModel model) {
model.setTripType(Integer.parseInt(TripType.PUBLIC.getCode())); model.setTripType(Integer.parseInt(TripType.PUBLIC.getCode()));
OrderBookJsycModel order = vehiclesService.bookJsyc(getUserId(), model); OrderBookJsycModel order = vehiclesService.bookJsyc(getUserId(), model);
orderVehiclesService.batchSaveOrder(getUserId(), List.of(order.getOrderId())); orderVehiclesService.saveOrder(getUserId(), order.getOrderId(), order.getOrderNo());
return R.ok(order); return R.ok(order);
} }
...@@ -93,7 +93,7 @@ public class VehiclesController extends BaseController { ...@@ -93,7 +93,7 @@ public class VehiclesController extends BaseController {
public R<OrderBookYyycModel> bookOrderYyyc(@RequestBody org.dromara.common.ys.model.req.vehicles.OrderBookYyycModel model) { public R<OrderBookYyycModel> bookOrderYyyc(@RequestBody org.dromara.common.ys.model.req.vehicles.OrderBookYyycModel model) {
model.setTripType(Integer.parseInt(TripType.PUBLIC.getCode())); model.setTripType(Integer.parseInt(TripType.PUBLIC.getCode()));
OrderBookYyycModel order = vehiclesService.bookYyyc(getUserId(), model); OrderBookYyycModel order = vehiclesService.bookYyyc(getUserId(), model);
orderVehiclesService.batchSaveOrder(getUserId(), List.of(order.getOrderId())); orderVehiclesService.saveOrder(getUserId(), order.getOrderId(), order.getOrderNo());
return R.ok(order); return R.ok(order);
} }
...@@ -122,7 +122,9 @@ public class VehiclesController extends BaseController { ...@@ -122,7 +122,9 @@ public class VehiclesController extends BaseController {
@PostMapping("/order/cancel") @PostMapping("/order/cancel")
public R<OrderCancelModel> orderCancel(@RequestBody org.dromara.common.ys.model.req.vehicles.OrderCancelModel model) { public R<OrderCancelModel> orderCancel(@RequestBody org.dromara.common.ys.model.req.vehicles.OrderCancelModel model) {
OrderCancelModel cancel = vehiclesService.cancel(getUserId(), model); OrderCancelModel cancel = vehiclesService.cancel(getUserId(), model);
orderVehiclesService.batchSaveOrder(getUserId(), List.of(model.getOrderId())); orderVehiclesService.queryList(new OrderVehiclesBo().setOrderId(model.getOrderId())).stream().map(OrderVehiclesVo::getOrderNo).findFirst().ifPresent(orderNo -> {
orderVehiclesService.updateOrderInfo(List.of(orderNo));
});
return R.ok(cancel); return R.ok(cancel);
} }
......
...@@ -36,6 +36,11 @@ public class OrderVehicles extends TenantEntity { ...@@ -36,6 +36,11 @@ public class OrderVehicles extends TenantEntity {
*/ */
private String personCode; private String personCode;
/**
* 订单id
*/
private String orderId;
/** /**
* 订单号 * 订单号
*/ */
......
...@@ -5,6 +5,7 @@ import jakarta.validation.constraints.NotBlank; ...@@ -5,6 +5,7 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
...@@ -17,6 +18,7 @@ import org.dromara.server.domain.OrderVehicles; ...@@ -17,6 +18,7 @@ import org.dromara.server.domain.OrderVehicles;
* @date 2024-11-20 * @date 2024-11-20
*/ */
@Data @Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = OrderVehicles.class, reverseConvertGenerate = false) @AutoMapper(target = OrderVehicles.class, reverseConvertGenerate = false)
public class OrderVehiclesBo extends BaseEntity { public class OrderVehiclesBo extends BaseEntity {
...@@ -33,6 +35,11 @@ public class OrderVehiclesBo extends BaseEntity { ...@@ -33,6 +35,11 @@ public class OrderVehiclesBo extends BaseEntity {
@NotBlank(message = "人员code不能为空", groups = {AddGroup.class, EditGroup.class}) @NotBlank(message = "人员code不能为空", groups = {AddGroup.class, EditGroup.class})
private String personCode; private String personCode;
/**
* 订单id
*/
private String orderId;
/** /**
* 订单号 * 订单号
*/ */
......
...@@ -36,6 +36,12 @@ public class OrderVehiclesVo implements Serializable { ...@@ -36,6 +36,12 @@ public class OrderVehiclesVo implements Serializable {
@ExcelProperty(value = "人员code") @ExcelProperty(value = "人员code")
private String personCode; private String personCode;
/**
* 订单id
*/
private String orderId;
/** /**
* 订单号 * 订单号
*/ */
...@@ -438,5 +444,9 @@ public class OrderVehiclesVo implements Serializable { ...@@ -438,5 +444,9 @@ public class OrderVehiclesVo implements Serializable {
@ExcelProperty(value = "车辆说明") @ExcelProperty(value = "车辆说明")
private String vehiclesDesc; private String vehiclesDesc;
/**
* 差旅信息
*/
private OrderVehiclesBusinessVo business;
} }
...@@ -19,9 +19,10 @@ public interface IOrderVehiclesService extends IBaseService<OrderVehiclesVo, Ord ...@@ -19,9 +19,10 @@ public interface IOrderVehiclesService extends IBaseService<OrderVehiclesVo, Ord
* 批量保存订单 * 批量保存订单
* *
* @param userId 用户id * @param userId 用户id
* @param orderNoList 订单号列表 * @param orderId 订单id
* @param orderNo 订单编码
*/ */
void batchSaveOrder(String userId, List<String> orderNoList); void saveOrder(String userId, String orderId, String orderNo);
/** /**
* 更新火车票信息 * 更新火车票信息
......
...@@ -8,17 +8,16 @@ import lombok.RequiredArgsConstructor; ...@@ -8,17 +8,16 @@ import lombok.RequiredArgsConstructor;
import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.ys.model.res.airport.other.OrderBusinessInfoBean; 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.airport.other.OrderPayInfoBean;
import org.dromara.common.ys.model.res.vehicles.OrderDetailModel; import org.dromara.common.ys.model.res.vehicles.OrderDetailModel;
import org.dromara.common.ys.service.IVehiclesService; import org.dromara.common.ys.service.IVehiclesService;
import org.dromara.server.base.AbstractBaseService; import org.dromara.server.base.AbstractBaseService;
import org.dromara.server.domain.BizUser; import org.dromara.server.domain.*;
import org.dromara.server.domain.OrderVehicles;
import org.dromara.server.domain.OrderVehiclesBusiness;
import org.dromara.server.domain.OrderVehiclesPayInfo;
import org.dromara.server.domain.bo.OrderVehiclesBo; import org.dromara.server.domain.bo.OrderVehiclesBo;
import org.dromara.server.domain.vo.OrderVehiclesVo; import org.dromara.server.domain.vo.*;
import org.dromara.server.mapper.BizUserMapper; import org.dromara.server.mapper.BizUserMapper;
import org.dromara.server.mapper.OrderVehiclesBusinessMapper; import org.dromara.server.mapper.OrderVehiclesBusinessMapper;
import org.dromara.server.mapper.OrderVehiclesMapper; import org.dromara.server.mapper.OrderVehiclesMapper;
...@@ -26,6 +25,7 @@ import org.dromara.server.mapper.OrderVehiclesPayInfoMapper; ...@@ -26,6 +25,7 @@ import org.dromara.server.mapper.OrderVehiclesPayInfoMapper;
import org.dromara.server.service.IOrderVehiclesService; import org.dromara.server.service.IOrderVehiclesService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
...@@ -60,6 +60,7 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV ...@@ -60,6 +60,7 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
LambdaQueryWrapper<OrderVehicles> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<OrderVehicles> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getPersonCode()), OrderVehicles::getPersonCode, bo.getPersonCode()); lqw.eq(StringUtils.isNotBlank(bo.getPersonCode()), OrderVehicles::getPersonCode, bo.getPersonCode());
lqw.eq(StringUtils.isNotBlank(bo.getOrderNo()), OrderVehicles::getOrderNo, bo.getOrderNo()); lqw.eq(StringUtils.isNotBlank(bo.getOrderNo()), OrderVehicles::getOrderNo, bo.getOrderNo());
lqw.eq(StringUtils.isNotBlank(bo.getOrderId()), OrderVehicles::getOrderId, bo.getOrderId());
lqw.eq(StringUtils.isNotBlank(bo.getDeptCode()), OrderVehicles::getDeptCode, bo.getDeptCode()); lqw.eq(StringUtils.isNotBlank(bo.getDeptCode()), OrderVehicles::getDeptCode, bo.getDeptCode());
lqw.eq(StringUtils.isNotBlank(bo.getStartingPoint()), OrderVehicles::getStartingPoint, bo.getStartingPoint()); lqw.eq(StringUtils.isNotBlank(bo.getStartingPoint()), OrderVehicles::getStartingPoint, bo.getStartingPoint());
lqw.like(StringUtils.isNotBlank(bo.getDepartCityName()), OrderVehicles::getDepartCityName, bo.getDepartCityName()); lqw.like(StringUtils.isNotBlank(bo.getDepartCityName()), OrderVehicles::getDepartCityName, bo.getDepartCityName());
...@@ -130,22 +131,31 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV ...@@ -130,22 +131,31 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
} }
@Override @Override
public void batchSaveOrder(String userId, List<String> orderNoList) { public TableDataInfo<OrderVehiclesVo> queryPageList(OrderVehiclesBo bo, PageQuery pageQuery) {
TableDataInfo<OrderVehiclesVo> page = super.queryPageList(bo, pageQuery);
List<OrderVehiclesVo> list = page.getRows();
List<Long> orderIds = StreamUtils.toList(list, OrderVehiclesVo::getId);
orderIds = CollectionUtils.isEmpty(orderIds) ? Arrays.asList(-1L) : orderIds;
List<OrderVehiclesBusinessVo> businessList = businessMapper.selectVoList(new LambdaQueryWrapper<OrderVehiclesBusiness>().in(OrderVehiclesBusiness::getOrderId, orderIds));
list.forEach(item -> {
item.setBusiness(StreamUtils.findFirst(businessList, r -> Objects.equals(r.getOrderId(), item.getId())));
});
return page;
}
@Override
public void saveOrder(String userId, String orderId, String orderNo) {
BizUser user = userMapper.selectOne(new LambdaQueryWrapper<BizUser>().eq(BizUser::getUserNo, userId)); BizUser user = userMapper.selectOne(new LambdaQueryWrapper<BizUser>().eq(BizUser::getUserNo, userId));
if (Objects.isNull(user)) { if (Objects.isNull(user)) {
throw new RuntimeException("用户不存在"); throw new RuntimeException("用户不存在");
} }
List<OrderVehicles> orderList = orderNoList.stream().map(orderNo -> {
OrderVehicles order = new OrderVehicles(); OrderVehicles order = new OrderVehicles();
order.setPersonCode(userId); order.setPersonCode(userId);
order.setOrderNo(orderNo); order.setOrderNo(orderNo);
order.setOrderId(orderId);
order.setTenantId(user.getTenantId()); order.setTenantId(user.getTenantId());
return order; baseMapper.insert(order);
}).toList(); updateOrderInfo(List.of(order.getOrderNo()));
for (OrderVehicles bo : orderList) {
baseMapper.insert(bo);
}
updateOrderInfo(orderNoList);
} }
@Override @Override
...@@ -165,7 +175,7 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV ...@@ -165,7 +175,7 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
scheduledExecutorService.execute(() -> { scheduledExecutorService.execute(() -> {
OrderDetailModel orderModel = vehiclesService.detail(order.getPersonCode(), new org.dromara.common.ys.model.req.vehicles.OrderDetailModel().setOrderNo(order.getOrderNo())); OrderDetailModel orderModel = vehiclesService.detail(order.getPersonCode(), new org.dromara.common.ys.model.req.vehicles.OrderDetailModel().setOrderNo(order.getOrderNo()));
//跟新订单数据 //跟新订单数据
BeanUtil.copyProperties(orderModel, order, "id", "personCode", "activityId"); BeanUtil.copyProperties(orderModel, order, "id", "personCode", "activityId", "orderId", "orderNo");
order.setIsCancel(orderModel.getIscancel()); order.setIsCancel(orderModel.getIscancel());
order.setDdCityId(orderModel.getDdcityId()); order.setDdCityId(orderModel.getDdcityId());
order.setDdCityName(orderModel.getDdcityName()); order.setDdCityName(orderModel.getDdcityName());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论