提交 8e729c5b authored 作者: hzh's avatar hzh

用车订单功能实现

上级 8bdaa5b1
...@@ -15,4 +15,9 @@ public interface RemoteOrderService { ...@@ -15,4 +15,9 @@ public interface RemoteOrderService {
*/ */
void updateTrainOrder(); void updateTrainOrder();
/**
* 更新用车订单
*/
void updateVehicleOrder();
} }
package org.dromara.common.ys.constant.vehicles;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author wenhe
*/
@Getter
@AllArgsConstructor
public enum OrderStatus {
//订单状态0已预订 1已派车 2改派中 3司机出发 4司机到达 5开始服务 6结束服务 7司机取消 8乘客取消 9已拒单
WAIT_DISPATCH("0", "已预订"),
DRIVER_SEND("1", "已派车"),
CHANGE_ORDER("2", "改派中"),
DRIVER_ARRIVE("3", "司机出发"),
DRIVER_ARRIVE_SUCCESS("4", "司机到达"),
SERVICE_START("5", "开始服务"),
SERVICE_END("6", "结束服务"),
DRIVER_CANCEL("7", "司机取消"),
PASSENGER_CANCEL("8", "乘客取消"),
REJECT_ORDER("9", "已拒单");
private final String code;
private final String desc;
}
package org.dromara.job.snailjob;
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
import com.aizuda.snailjob.client.model.ExecuteResult;
import lombok.AllArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.server.api.RemoteOrderService;
import org.springframework.stereotype.Component;
/**
* @author hzh
* @date 2024-11-18
*/
@AllArgsConstructor
@Component
@JobExecutor(name = "orderVehicleJobExecutor")
public class OrderVehicleJobExecutor {
@DubboReference
private RemoteOrderService remoteOrderService;
public ExecuteResult jobExecute(JobArgs jobArgs) {
remoteOrderService.updateVehicleOrder();
return ExecuteResult.success("更新成功");
}
}
...@@ -4,6 +4,8 @@ package org.dromara.server.controller.vehicle; ...@@ -4,6 +4,8 @@ package org.dromara.server.controller.vehicle;
import io.seata.spring.annotation.GlobalTransactional; import io.seata.spring.annotation.GlobalTransactional;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.ys.common.PageInfo; import org.dromara.common.ys.common.PageInfo;
import org.dromara.common.ys.constant.TripType; import org.dromara.common.ys.constant.TripType;
import org.dromara.common.ys.model.req.vehicles.EstimateJsycPriceModel; import org.dromara.common.ys.model.req.vehicles.EstimateJsycPriceModel;
...@@ -12,6 +14,9 @@ import org.dromara.common.ys.model.req.vehicles.OrderDetailModel; ...@@ -12,6 +14,9 @@ import org.dromara.common.ys.model.req.vehicles.OrderDetailModel;
import org.dromara.common.ys.model.res.vehicles.*; import org.dromara.common.ys.model.res.vehicles.*;
import org.dromara.common.ys.service.IVehiclesService; import org.dromara.common.ys.service.IVehiclesService;
import org.dromara.server.base.BaseController; import org.dromara.server.base.BaseController;
import org.dromara.server.domain.bo.OrderVehiclesBo;
import org.dromara.server.domain.vo.OrderVehiclesVo;
import org.dromara.server.service.IOrderVehiclesService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
...@@ -27,6 +32,7 @@ import java.util.List; ...@@ -27,6 +32,7 @@ import java.util.List;
public class VehiclesController extends BaseController { public class VehiclesController extends BaseController {
private final IVehiclesService vehiclesService; private final IVehiclesService vehiclesService;
private final IOrderVehiclesService orderVehiclesService;
/** /**
* 即时用车查询 * 即时用车查询
...@@ -75,6 +81,7 @@ public class VehiclesController extends BaseController { ...@@ -75,6 +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()));
return R.ok(order); return R.ok(order);
} }
...@@ -86,13 +93,14 @@ public class VehiclesController extends BaseController { ...@@ -86,13 +93,14 @@ 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()));
return R.ok(order); return R.ok(order);
} }
/** /**
* 获取司机位置 * 获取司机位置
*/ */
@GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class) @GlobalTransactional(timeoutMills = 600000)
@GetMapping("/order/getDriverLocation") @GetMapping("/order/getDriverLocation")
public R<DriverLocationModel> getDriverLocation(org.dromara.common.ys.model.req.vehicles.DriverLocationModel model) { public R<DriverLocationModel> getDriverLocation(org.dromara.common.ys.model.req.vehicles.DriverLocationModel model) {
return R.ok(vehiclesService.getDriverLocation(getUserId(), model)); return R.ok(vehiclesService.getDriverLocation(getUserId(), model));
...@@ -101,7 +109,7 @@ public class VehiclesController extends BaseController { ...@@ -101,7 +109,7 @@ public class VehiclesController extends BaseController {
/** /**
* 获取罚金金额 * 获取罚金金额
*/ */
@GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class) @GlobalTransactional(timeoutMills = 600000)
@GetMapping("/order/getCancelFee") @GetMapping("/order/getCancelFee")
public R<CancelFeeModel> getCancelFee(org.dromara.common.ys.model.req.vehicles.CancelFeeModel model) { public R<CancelFeeModel> getCancelFee(org.dromara.common.ys.model.req.vehicles.CancelFeeModel model) {
return R.ok(vehiclesService.getCancelFee(getUserId(), model)); return R.ok(vehiclesService.getCancelFee(getUserId(), model));
...@@ -113,7 +121,9 @@ public class VehiclesController extends BaseController { ...@@ -113,7 +121,9 @@ public class VehiclesController extends BaseController {
@GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class) @GlobalTransactional(timeoutMills = 600000, rollbackFor = Exception.class)
@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) {
return R.ok(vehiclesService.cancel(getUserId(), model)); OrderCancelModel cancel = vehiclesService.cancel(getUserId(), model);
orderVehiclesService.batchSaveOrder(getUserId(), List.of(model.getOrderId()));
return R.ok(cancel);
} }
...@@ -126,4 +136,13 @@ public class VehiclesController extends BaseController { ...@@ -126,4 +136,13 @@ public class VehiclesController extends BaseController {
return R.ok(vehiclesService.getCancelReasonList(getUserId())); return R.ok(vehiclesService.getCancelReasonList(getUserId()));
} }
/**
* 订单列表(本地)
*/
@GetMapping("/local/orderList")
public R<TableDataInfo<OrderVehiclesVo>> list(OrderVehiclesBo bo, PageQuery pageQuery) {
bo.setPersonCode(getUserId());
return R.ok(orderVehiclesService.queryPageList(bo, pageQuery));
}
} }
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.tenant.core.TenantEntity; import org.dromara.common.tenant.core.TenantEntity;
import java.io.Serial; import java.io.Serial;
...@@ -17,6 +18,7 @@ import java.io.Serial; ...@@ -17,6 +18,7 @@ import java.io.Serial;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_order_vehicles") @TableName("biz_order_vehicles")
public class OrderVehicles extends TenantEntity { public class OrderVehicles extends TenantEntity {
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.tenant.core.TenantEntity; import org.dromara.common.tenant.core.TenantEntity;
import java.io.Serial; import java.io.Serial;
...@@ -17,6 +18,7 @@ import java.io.Serial; ...@@ -17,6 +18,7 @@ import java.io.Serial;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_order_vehicles_business") @TableName("biz_order_vehicles_business")
public class OrderVehiclesBusiness extends TenantEntity { public class OrderVehiclesBusiness extends TenantEntity {
......
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.dromara.common.tenant.core.TenantEntity; import org.dromara.common.tenant.core.TenantEntity;
import java.io.Serial; import java.io.Serial;
...@@ -17,6 +18,7 @@ import java.io.Serial; ...@@ -17,6 +18,7 @@ import java.io.Serial;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("biz_order_vehicles_pay_info") @TableName("biz_order_vehicles_pay_info")
public class OrderVehiclesPayInfo extends TenantEntity { public class OrderVehiclesPayInfo extends TenantEntity {
......
...@@ -7,10 +7,13 @@ import org.dromara.common.ys.constant.airport.OrderStatus; ...@@ -7,10 +7,13 @@ import org.dromara.common.ys.constant.airport.OrderStatus;
import org.dromara.server.api.RemoteOrderService; import org.dromara.server.api.RemoteOrderService;
import org.dromara.server.domain.bo.OrderAirportBo; import org.dromara.server.domain.bo.OrderAirportBo;
import org.dromara.server.domain.bo.OrderTrainBo; import org.dromara.server.domain.bo.OrderTrainBo;
import org.dromara.server.domain.bo.OrderVehiclesBo;
import org.dromara.server.domain.vo.OrderAirportVo; import org.dromara.server.domain.vo.OrderAirportVo;
import org.dromara.server.domain.vo.OrderTrainVo; import org.dromara.server.domain.vo.OrderTrainVo;
import org.dromara.server.domain.vo.OrderVehiclesVo;
import org.dromara.server.service.IOrderAirportService; import org.dromara.server.service.IOrderAirportService;
import org.dromara.server.service.IOrderTrainService; import org.dromara.server.service.IOrderTrainService;
import org.dromara.server.service.IOrderVehiclesService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.Arrays;
...@@ -29,6 +32,7 @@ public class RemoteOrderServiceImpl implements RemoteOrderService { ...@@ -29,6 +32,7 @@ public class RemoteOrderServiceImpl implements RemoteOrderService {
private final IOrderAirportService orderAirportService; private final IOrderAirportService orderAirportService;
private final IOrderTrainService orderTrainService; private final IOrderTrainService orderTrainService;
private final IOrderVehiclesService orderVehiclesService;
/** /**
...@@ -67,4 +71,22 @@ public class RemoteOrderServiceImpl implements RemoteOrderService { ...@@ -67,4 +71,22 @@ public class RemoteOrderServiceImpl implements RemoteOrderService {
orderList.stream().filter(item -> !TRAIN_ORDER_STATUS_LIST.contains(item.getOrderStatus())).map(OrderTrainVo::getOrderNo).collect(Collectors.toList()) orderList.stream().filter(item -> !TRAIN_ORDER_STATUS_LIST.contains(item.getOrderStatus())).map(OrderTrainVo::getOrderNo).collect(Collectors.toList())
); );
} }
/**
* 不需要更新的用车订单状态
*/
private static final List<String> VEHICLES_ORDER_STATUS_LIST = Arrays.asList(
org.dromara.common.ys.constant.vehicles.OrderStatus.SERVICE_END.getCode(),
org.dromara.common.ys.constant.vehicles.OrderStatus.DRIVER_CANCEL.getCode(),
org.dromara.common.ys.constant.vehicles.OrderStatus.PASSENGER_CANCEL.getCode(),
org.dromara.common.ys.constant.vehicles.OrderStatus.REJECT_ORDER.getCode()
);
@Override
public void updateVehicleOrder() {
List<OrderVehiclesVo> orderList = orderVehiclesService.queryList(new OrderVehiclesBo());
orderVehiclesService.updateOrderInfo(
orderList.stream().filter(item -> !VEHICLES_ORDER_STATUS_LIST.contains(item.getOrderStatus())).map(OrderVehiclesVo::getOrderNo).collect(Collectors.toList())
);
}
} }
...@@ -5,6 +5,8 @@ import org.dromara.server.domain.OrderVehicles; ...@@ -5,6 +5,8 @@ import org.dromara.server.domain.OrderVehicles;
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.OrderVehiclesVo;
import java.util.List;
/** /**
* 用车订单Service接口 * 用车订单Service接口
* *
...@@ -13,5 +15,19 @@ import org.dromara.server.domain.vo.OrderVehiclesVo; ...@@ -13,5 +15,19 @@ import org.dromara.server.domain.vo.OrderVehiclesVo;
*/ */
public interface IOrderVehiclesService extends IBaseService<OrderVehiclesVo, OrderVehiclesBo, OrderVehicles> { public interface IOrderVehiclesService extends IBaseService<OrderVehiclesVo, OrderVehiclesBo, OrderVehicles> {
/**
* 批量保存订单
*
* @param userId 用户id
* @param orderNoList 订单号列表
*/
void batchSaveOrder(String userId, List<String> orderNoList);
/**
* 更新火车票信息
*
* @param orderNoList 订单号列表
*/
void updateOrderInfo(List<String> orderNoList);
} }
...@@ -197,7 +197,7 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord ...@@ -197,7 +197,7 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord
entity.setTenantId(order.getTenantId()); entity.setTenantId(order.getTenantId());
return entity; return entity;
}); });
BeanUtil.copyProperties(range, orderPay, "id", "orderId", "orderNo"); BeanUtil.copyProperties(pay, orderPay, "id", "orderId", "orderNo");
orderPay.setPayMethod(pay.getPayMothed()); orderPay.setPayMethod(pay.getPayMothed());
orderPay.setPayMethodName(pay.getPayMothedName()); orderPay.setPayMethodName(pay.getPayMothedName());
orderPay.setPaySubjectName(pay.getPay_subjectName()); orderPay.setPaySubjectName(pay.getPay_subjectName());
...@@ -241,7 +241,7 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord ...@@ -241,7 +241,7 @@ public class OrderTrainServiceImpl extends AbstractBaseService<OrderTrainVo, Ord
entity.setTenantId(order.getTenantId()); entity.setTenantId(order.getTenantId());
return entity; return entity;
}); });
BeanUtil.copyProperties(range, orderBusiness, "id", "orderId", "orderNo"); BeanUtil.copyProperties(business, orderBusiness, "id", "orderId", "orderNo");
orderBusiness.setLinkMan(business.getLink_Man()); orderBusiness.setLinkMan(business.getLink_Man());
orderBusiness.setViolateItemCode(business.getViolateitemCode()); orderBusiness.setViolateItemCode(business.getViolateitemCode());
orderBusiness.setLinkMobile(business.getLink_mobile()); orderBusiness.setLinkMobile(business.getLink_mobile());
......
package org.dromara.server.service.impl; package org.dromara.server.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
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.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.base.AbstractBaseService; import org.dromara.server.base.AbstractBaseService;
import org.dromara.server.domain.BizUser;
import org.dromara.server.domain.OrderVehicles; 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.OrderVehiclesVo;
import org.dromara.server.mapper.BizUserMapper;
import org.dromara.server.mapper.OrderVehiclesBusinessMapper;
import org.dromara.server.mapper.OrderVehiclesMapper; import org.dromara.server.mapper.OrderVehiclesMapper;
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.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ScheduledExecutorService;
/** /**
* 用车订单Service业务层处理 * 用车订单Service业务层处理
...@@ -26,6 +42,12 @@ import java.util.Map; ...@@ -26,6 +42,12 @@ import java.util.Map;
public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesVo, OrderVehiclesBo, OrderVehicles> implements IOrderVehiclesService { public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesVo, OrderVehiclesBo, OrderVehicles> implements IOrderVehiclesService {
private final OrderVehiclesMapper baseMapper; private final OrderVehiclesMapper baseMapper;
private final OrderVehiclesBusinessMapper businessMapper;
private final OrderVehiclesPayInfoMapper payInfoMapper;
private final IVehiclesService vehiclesService;
private final BizUserMapper userMapper;
private final ScheduledExecutorService scheduledExecutorService;
@Override @Override
public BaseMapperPlus<OrderVehicles, OrderVehiclesVo> mapper() { public BaseMapperPlus<OrderVehicles, OrderVehiclesVo> mapper() {
...@@ -107,4 +129,93 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV ...@@ -107,4 +129,93 @@ public class OrderVehiclesServiceImpl extends AbstractBaseService<OrderVehiclesV
return lqw; return lqw;
} }
@Override
public void batchSaveOrder(String userId, List<String> orderNoList) {
BizUser user = userMapper.selectOne(new LambdaQueryWrapper<BizUser>().eq(BizUser::getUserNo, userId));
if (Objects.isNull(user)) {
throw new RuntimeException("用户不存在");
}
List<OrderVehicles> orderList = orderNoList.stream().map(orderNo -> {
OrderVehicles order = new OrderVehicles();
order.setPersonCode(userId);
order.setOrderNo(orderNo);
order.setTenantId(user.getTenantId());
return order;
}).toList();
for (OrderVehicles bo : orderList) {
baseMapper.insert(bo);
}
updateOrderInfo(orderNoList);
}
@Override
public void updateOrderInfo(List<String> orderNoList) {
if (CollectionUtils.isEmpty(orderNoList)) {
return;
}
List<OrderVehicles> orderList = baseMapper.selectList(new LambdaQueryWrapper<OrderVehicles>().in(OrderVehicles::getOrderNo, orderNoList));
List<Long> orderIds = StreamUtils.toList(orderList, OrderVehicles::getId);
if (CollectionUtils.isEmpty(orderIds)) {
return;
}
List<OrderVehiclesBusiness> orderBusinessList = businessMapper.selectList(new LambdaQueryWrapper<OrderVehiclesBusiness>().in(OrderVehiclesBusiness::getOrderId, orderIds));
List<OrderVehiclesPayInfo> orderPayInfoList = payInfoMapper.selectList(new LambdaQueryWrapper<OrderVehiclesPayInfo>().in(OrderVehiclesPayInfo::getOrderId, orderIds));
//更新数据
orderList.forEach(order -> {
scheduledExecutorService.execute(() -> {
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");
order.setIsCancel(orderModel.getIscancel());
order.setDdCityId(orderModel.getDdcityId());
order.setDdCityName(orderModel.getDdcityName());
order.setFlightNo(orderModel.getFlightno());
order.setScDdPoi(orderModel.getScddPoi());
order.setXcDdPoi(orderModel.getXcddPoi());
baseMapper.updateById(order);
//跟新支付信息集合
List<OrderPayInfoBean> payInfoList = orderModel.getVehiclePayList();
if (CollectionUtils.isNotEmpty(payInfoList)) {
for (OrderPayInfoBean payInfo : payInfoList) {
OrderVehiclesPayInfo orderPayInfo = orderPayInfoList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId()) && org.apache.commons.lang3.StringUtils.equals(item.getPayBillNo(), payInfo.getPayBillno())).findFirst().orElseGet(
() -> {
OrderVehiclesPayInfo entity = new OrderVehiclesPayInfo()
.setOrderId(order.getId())
.setOrderNo(order.getOrderNo());
entity.setTenantId(order.getTenantId());
return entity;
});
BeanUtil.copyProperties(payInfo, orderPayInfo, "id", "orderId", "orderNo");
orderPayInfo.setPayBillNo(payInfo.getPayBillno());
orderPayInfo.setPayMethodName(payInfo.getPayMothedName());
if (Objects.isNull(orderPayInfo.getId())) {
payInfoMapper.insert(orderPayInfo);
} else {
payInfoMapper.updateById(orderPayInfo);
}
}
}
//跟新差旅信息
OrderBusinessInfoBean business = orderModel.getBusiness();
if (Objects.nonNull(business)) {
OrderVehiclesBusiness orderBusiness = orderBusinessList.stream().filter(item -> Objects.equals(item.getOrderId(), order.getId())).findFirst().orElseGet(
() -> {
OrderVehiclesBusiness entity = new OrderVehiclesBusiness()
.setOrderId(order.getId())
.setOrderNo(order.getOrderNo());
entity.setTenantId(order.getTenantId());
return entity;
});
BeanUtil.copyProperties(business, orderBusiness, "id", "orderId", "orderNo");
orderBusiness.setViolateItemCode(business.getViolateitemCode());
orderBusiness.setViolateItem(business.getViolateitem());
if (Objects.isNull(orderBusiness.getId())) {
businessMapper.insert(orderBusiness);
} else {
businessMapper.updateById(orderBusiness);
}
}
});
});
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论