feat:模型调整
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
package pers.amos.mall.route.dal.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 固定班次实体(独立库存管理)
|
||||
*/
|
||||
@Data
|
||||
@TableName("fixed_schedule")
|
||||
public class FixedScheduleDO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
private String routeCode;
|
||||
|
||||
/**
|
||||
* 班次编号(唯一)
|
||||
*/
|
||||
private String scheduleCode;
|
||||
|
||||
/**
|
||||
* 库存编码(引用Inventory)
|
||||
*/
|
||||
private String inventoryCode;
|
||||
|
||||
/**
|
||||
* 班次日期
|
||||
*/
|
||||
private String scheduleDate;
|
||||
|
||||
/**
|
||||
* 发车时间
|
||||
*/
|
||||
private String departureTime;
|
||||
|
||||
/**
|
||||
* 到达时间
|
||||
*/
|
||||
private String arrivalTime;
|
||||
|
||||
/**
|
||||
* 班次票价(如果为空则使用线路价格)
|
||||
*/
|
||||
private String price;
|
||||
|
||||
/**
|
||||
* 总座位数
|
||||
*/
|
||||
private Integer totalSeats;
|
||||
|
||||
/**
|
||||
* 可用座位数
|
||||
*/
|
||||
private Integer availableSeats;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
|
||||
@@ -14,47 +14,46 @@ import java.time.LocalDateTime;
|
||||
*/
|
||||
@Data
|
||||
@TableName("inventory")
|
||||
public class Inventory implements Serializable {
|
||||
|
||||
public class InventoryDO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 库存编码(唯一)
|
||||
*/
|
||||
private String inventoryCode;
|
||||
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
private String routeCode;
|
||||
|
||||
|
||||
/**
|
||||
* 班次编码
|
||||
*/
|
||||
private String scheduleCode;
|
||||
|
||||
/**
|
||||
* 总库存
|
||||
*/
|
||||
private Integer totalStock;
|
||||
|
||||
|
||||
/**
|
||||
* 剩余库存
|
||||
*/
|
||||
private Integer remainingStock;
|
||||
|
||||
/**
|
||||
* 乐观锁版本号(防止超卖)
|
||||
*/
|
||||
@Version
|
||||
private Integer version;
|
||||
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@@ -0,0 +1,86 @@
|
||||
package pers.amos.mall.route.dal.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 库存变动日志(固定班次和滚动发车通用)
|
||||
*/
|
||||
@Data
|
||||
@TableName("inventory_log")
|
||||
public class InventoryLogDO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 库存编码(引用Inventory)
|
||||
*/
|
||||
private String inventoryCode;
|
||||
|
||||
/**
|
||||
* 库存类型:FIXED-固定班次,ROLLING-滚动发车
|
||||
*/
|
||||
private String inventoryType;
|
||||
|
||||
/**
|
||||
* 固定班次编号
|
||||
*/
|
||||
private String scheduleCode;
|
||||
|
||||
/**
|
||||
* 滚动班次编号
|
||||
*/
|
||||
private String rollingScheduleCode;
|
||||
|
||||
/**
|
||||
* 线路编号
|
||||
*/
|
||||
private String routeCode;
|
||||
|
||||
/**
|
||||
* 操作类型:LOCK-锁定,UNLOCK-解锁,DEDUCT-扣减,RELEASE-释放
|
||||
*/
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 变动数量
|
||||
*/
|
||||
private Integer quantity;
|
||||
|
||||
/**
|
||||
* 操作前库存
|
||||
*/
|
||||
private Integer beforeQty;
|
||||
|
||||
/**
|
||||
* 操作后库存
|
||||
*/
|
||||
private Integer afterQty;
|
||||
|
||||
/**
|
||||
* 关联订单号
|
||||
*/
|
||||
private String orderNo;
|
||||
|
||||
/**
|
||||
* 操作描述
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
}
|
||||
|
||||
@@ -6,15 +6,14 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 票种规则实体(定价规则)
|
||||
* 滚动发车班次实体(共享库存池)
|
||||
*/
|
||||
@Data
|
||||
@TableName("ticket_rule")
|
||||
public class TicketRule implements Serializable {
|
||||
@TableName("rolling_schedule")
|
||||
public class RollingScheduleDO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@@ -25,50 +24,40 @@ public class TicketRule implements Serializable {
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 规则编码(唯一)
|
||||
* 线路编码
|
||||
*/
|
||||
private String ruleCode;
|
||||
private String routeCode;
|
||||
|
||||
/**
|
||||
* 票种:ADULT-成人票,STUDENT-学生票,CHILD-儿童票,SENIOR-老人票
|
||||
* 滚动班次编号(唯一)
|
||||
*/
|
||||
private String ticketType;
|
||||
private String rollingScheduleCode;
|
||||
|
||||
/**
|
||||
* 规则名称
|
||||
* 库存编码(引用Inventory)
|
||||
*/
|
||||
private String ruleName;
|
||||
private String inventoryCode;
|
||||
|
||||
/**
|
||||
* 规则描述
|
||||
* 班次日期
|
||||
*/
|
||||
private String ruleDescription;
|
||||
private String scheduleDate;
|
||||
|
||||
/**
|
||||
* 折扣率(基于基础票价)
|
||||
*/
|
||||
private BigDecimal discountRate;
|
||||
|
||||
/**
|
||||
* 是否需要身份验证
|
||||
*/
|
||||
private Boolean needVerify;
|
||||
|
||||
/**
|
||||
* 最小年龄限制
|
||||
*/
|
||||
private Integer minAge;
|
||||
|
||||
/**
|
||||
* 最大年龄限制
|
||||
*/
|
||||
private Integer maxAge;
|
||||
|
||||
/**
|
||||
* 状态:1-启用,0-停用
|
||||
* 状态:1-运营中,0-已停运
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 可用座位数
|
||||
*/
|
||||
private Integer availableSeats;
|
||||
|
||||
/**
|
||||
* 已售座位数
|
||||
*/
|
||||
private Integer soldSeats;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@@ -79,3 +68,4 @@ public class TicketRule implements Serializable {
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
package pers.amos.mall.route.dal.dataobject;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
|
||||
/**
|
||||
* 线路实体
|
||||
*/
|
||||
@Data
|
||||
@TableName("route")
|
||||
public class RouteDO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 线路编码(唯一)
|
||||
*/
|
||||
private String routeCode;
|
||||
|
||||
/**
|
||||
* 线路名称
|
||||
*/
|
||||
private String routeName;
|
||||
|
||||
/**
|
||||
* 起点站
|
||||
*/
|
||||
private String startStation;
|
||||
|
||||
/**
|
||||
* 终点站
|
||||
*/
|
||||
private String endStation;
|
||||
|
||||
/**
|
||||
* 里程(公里)
|
||||
*/
|
||||
private Double distance;
|
||||
|
||||
/**
|
||||
* 预计时长(分钟)
|
||||
*/
|
||||
private Integer estimatedDuration;
|
||||
|
||||
/**
|
||||
* 基础票价(成人票)
|
||||
*/
|
||||
private String basePrice;
|
||||
|
||||
/**
|
||||
* 运营模式:FIXED-固定班次,ROLLING-滚动发车
|
||||
*/
|
||||
private String operationMode;
|
||||
|
||||
/**
|
||||
* 滚动发车运营开始时间(仅ROLLING模式有效)
|
||||
*/
|
||||
private String operationStart;
|
||||
|
||||
/**
|
||||
* 滚动发车运营结束时间(仅ROLLING模式有效)
|
||||
*/
|
||||
private String operationEnd;
|
||||
|
||||
/**
|
||||
* 滚动发车间隔(分钟,仅ROLLING模式有效)
|
||||
*/
|
||||
private Integer departureInterval;
|
||||
|
||||
/**
|
||||
* 滚动发车每日总座位数(仅ROLLING模式有效)
|
||||
*/
|
||||
private Integer dailyCapacity;
|
||||
|
||||
/**
|
||||
* 状态:1-运营中,0-停运
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ package pers.amos.mall.route.dal.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import pers.amos.mall.route.dal.dataobject.FixedSchedule;
|
||||
import pers.amos.mall.route.dal.dataobject.FixedScheduleDO;
|
||||
|
||||
/**
|
||||
* 固定班次Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface FixedScheduleMapper extends BaseMapper<FixedSchedule> {
|
||||
public interface FixedScheduleMapper extends BaseMapper<FixedScheduleDO> {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ package pers.amos.mall.route.dal.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryLog;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryLogDO;
|
||||
|
||||
/**
|
||||
* 库存日志Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface InventoryLogMapper extends BaseMapper<InventoryLog> {
|
||||
public interface InventoryLogMapper extends BaseMapper<InventoryLogDO> {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@ package pers.amos.mall.route.dal.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import pers.amos.mall.route.dal.dataobject.Inventory;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryDO;
|
||||
|
||||
/**
|
||||
* 库存Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface InventoryMapper extends BaseMapper<Inventory> {
|
||||
public interface InventoryMapper extends BaseMapper<InventoryDO> {
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@ package pers.amos.mall.route.dal.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import pers.amos.mall.route.dal.dataobject.RollingSchedule;
|
||||
import pers.amos.mall.route.dal.dataobject.RollingScheduleDO;
|
||||
|
||||
/**
|
||||
* 滚动发车班次Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface RollingScheduleMapper extends BaseMapper<RollingSchedule> {
|
||||
public interface RollingScheduleMapper extends BaseMapper<RollingScheduleDO> {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,12 @@ package pers.amos.mall.route.dal.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import pers.amos.mall.route.dal.dataobject.Route;
|
||||
import pers.amos.mall.route.dal.dataobject.RouteDO;
|
||||
|
||||
/**
|
||||
* 线路Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface RouteMapper extends BaseMapper<Route> {
|
||||
public interface RouteMapper extends BaseMapper<RouteDO> {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,11 +2,10 @@ package pers.amos.mall.route.dal.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import pers.amos.mall.route.dal.dataobject.TicketRule;
|
||||
|
||||
/**
|
||||
* 票种规则Mapper
|
||||
*/
|
||||
@Mapper
|
||||
public interface TicketRuleMapper extends BaseMapper<TicketRule> {
|
||||
public interface TicketRuleMapper extends BaseMapper<TicketRuleDO> {
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package pers.amos.mall.route.dal.repository;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import pers.amos.mall.route.dal.dataobject.FixedSchedule;
|
||||
import pers.amos.mall.route.dal.dataobject.FixedScheduleDO;
|
||||
|
||||
/**
|
||||
* 固定班次Repository
|
||||
*/
|
||||
public interface FixedScheduleRepository extends IService<FixedSchedule> {
|
||||
public interface FixedScheduleRepository extends IService<FixedScheduleDO> {
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package pers.amos.mall.route.dal.repository;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryLog;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryLogDO;
|
||||
|
||||
/**
|
||||
* 库存日志Repository
|
||||
*/
|
||||
public interface InventoryLogRepository extends IService<InventoryLog> {
|
||||
public interface InventoryLogRepository extends IService<InventoryLogDO> {
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package pers.amos.mall.route.dal.repository;
|
||||
|
||||
import pers.amos.mall.route.dal.dataobject.Inventory;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryDO;
|
||||
|
||||
/**
|
||||
* 库存仓储接口
|
||||
@@ -10,15 +10,15 @@ public interface InventoryRepository {
|
||||
/**
|
||||
* 根据库存编码查询
|
||||
*/
|
||||
Inventory findByInventoryCode(String inventoryCode);
|
||||
InventoryDO findByInventoryCode(String inventoryCode);
|
||||
|
||||
/**
|
||||
* 保存库存
|
||||
*/
|
||||
void save(Inventory inventory);
|
||||
void save(InventoryDO inventoryDO);
|
||||
|
||||
/**
|
||||
* 更新库存(乐观锁)
|
||||
*/
|
||||
boolean updateWithVersion(Inventory inventory);
|
||||
boolean updateWithVersion(InventoryDO inventoryDO);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package pers.amos.mall.route.dal.repository;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import pers.amos.mall.route.dal.dataobject.RollingSchedule;
|
||||
import pers.amos.mall.route.dal.dataobject.RollingScheduleDO;
|
||||
|
||||
/**
|
||||
* 滚动发车班次Repository
|
||||
*/
|
||||
public interface RollingScheduleRepository extends IService<RollingSchedule> {
|
||||
public interface RollingScheduleRepository extends IService<RollingScheduleDO> {
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package pers.amos.mall.route.dal.repository;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import pers.amos.mall.route.dal.dataobject.Route;
|
||||
import pers.amos.mall.route.dal.dataobject.RouteDO;
|
||||
|
||||
/**
|
||||
* 线路Repository
|
||||
*/
|
||||
public interface RouteRepository extends IService<Route> {
|
||||
public interface RouteRepository extends IService<RouteDO> {
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package pers.amos.mall.route.dal.repository;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import pers.amos.mall.route.dal.dataobject.TicketRule;
|
||||
|
||||
/**
|
||||
* 票种规则Repository
|
||||
*/
|
||||
public interface TicketRuleRepository extends IService<TicketRule> {
|
||||
public interface TicketRuleRepository extends IService<TicketRuleDO> {
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package pers.amos.mall.route.dal.repository.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import pers.amos.mall.route.dal.dataobject.FixedSchedule;
|
||||
import pers.amos.mall.route.dal.dataobject.FixedScheduleDO;
|
||||
import pers.amos.mall.route.dal.mapper.FixedScheduleMapper;
|
||||
import pers.amos.mall.route.dal.repository.FixedScheduleRepository;
|
||||
|
||||
@@ -10,6 +10,6 @@ import pers.amos.mall.route.dal.repository.FixedScheduleRepository;
|
||||
* 固定班次Repository实现
|
||||
*/
|
||||
@Repository
|
||||
public class FixedScheduleRepositoryImpl extends ServiceImpl<FixedScheduleMapper, FixedSchedule> implements FixedScheduleRepository {
|
||||
public class FixedScheduleRepositoryImpl extends ServiceImpl<FixedScheduleMapper, FixedScheduleDO> implements FixedScheduleRepository {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package pers.amos.mall.route.dal.repository.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryLog;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryLogDO;
|
||||
import pers.amos.mall.route.dal.mapper.InventoryLogMapper;
|
||||
import pers.amos.mall.route.dal.repository.InventoryLogRepository;
|
||||
|
||||
@@ -10,6 +10,6 @@ import pers.amos.mall.route.dal.repository.InventoryLogRepository;
|
||||
* 库存日志Repository实现
|
||||
*/
|
||||
@Repository
|
||||
public class InventoryLogRepositoryImpl extends ServiceImpl<InventoryLogMapper, InventoryLog> implements InventoryLogRepository {
|
||||
public class InventoryLogRepositoryImpl extends ServiceImpl<InventoryLogMapper, InventoryLogDO> implements InventoryLogRepository {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package pers.amos.mall.route.dal.repository.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import pers.amos.mall.route.dal.dataobject.RollingSchedule;
|
||||
import pers.amos.mall.route.dal.dataobject.RollingScheduleDO;
|
||||
import pers.amos.mall.route.dal.mapper.RollingScheduleMapper;
|
||||
import pers.amos.mall.route.dal.repository.RollingScheduleRepository;
|
||||
|
||||
@@ -10,6 +10,6 @@ import pers.amos.mall.route.dal.repository.RollingScheduleRepository;
|
||||
* 滚动发车班次Repository实现
|
||||
*/
|
||||
@Repository
|
||||
public class RollingScheduleRepositoryImpl extends ServiceImpl<RollingScheduleMapper, RollingSchedule> implements RollingScheduleRepository {
|
||||
public class RollingScheduleRepositoryImpl extends ServiceImpl<RollingScheduleMapper, RollingScheduleDO> implements RollingScheduleRepository {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package pers.amos.mall.route.dal.repository.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import pers.amos.mall.route.dal.dataobject.Route;
|
||||
import pers.amos.mall.route.dal.dataobject.RouteDO;
|
||||
import pers.amos.mall.route.dal.mapper.RouteMapper;
|
||||
import pers.amos.mall.route.dal.repository.RouteRepository;
|
||||
|
||||
@@ -10,6 +10,6 @@ import pers.amos.mall.route.dal.repository.RouteRepository;
|
||||
* 线路Repository实现
|
||||
*/
|
||||
@Service
|
||||
public class RouteRepositoryImpl extends ServiceImpl<RouteMapper, Route> implements RouteRepository {
|
||||
public class RouteRepositoryImpl extends ServiceImpl<RouteMapper, RouteDO> implements RouteRepository {
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@ package pers.amos.mall.route.dal.repository.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import pers.amos.mall.route.dal.dataobject.TicketRule;
|
||||
import pers.amos.mall.route.dal.mapper.TicketRuleMapper;
|
||||
import pers.amos.mall.route.dal.repository.TicketRuleRepository;
|
||||
|
||||
@@ -10,5 +9,5 @@ import pers.amos.mall.route.dal.repository.TicketRuleRepository;
|
||||
* 票种规则Repository实现
|
||||
*/
|
||||
@Repository
|
||||
public class TicketRuleRepositoryImpl extends ServiceImpl<TicketRuleMapper, TicketRule> implements TicketRuleRepository {
|
||||
public class TicketRuleRepositoryImpl extends ServiceImpl<TicketRuleMapper, TicketRuleDO> implements TicketRuleRepository {
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package pers.amos.mall.route.dal.dataobject;
|
||||
package pers.amos.mall.route.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -15,77 +15,57 @@ import java.time.LocalTime;
|
||||
* 固定班次实体(独立库存管理)
|
||||
*/
|
||||
@Data
|
||||
@TableName("fixed_schedule")
|
||||
public class FixedSchedule implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
private String routeCode;
|
||||
|
||||
|
||||
/**
|
||||
* 班次编号(唯一)
|
||||
*/
|
||||
private String scheduleCode;
|
||||
|
||||
|
||||
/**
|
||||
* 库存编码(引用Inventory)
|
||||
*/
|
||||
private String inventoryCode;
|
||||
|
||||
|
||||
/**
|
||||
* 班次日期
|
||||
*/
|
||||
private LocalDate scheduleDate;
|
||||
|
||||
|
||||
/**
|
||||
* 发车时间
|
||||
*/
|
||||
private LocalTime departureTime;
|
||||
|
||||
|
||||
/**
|
||||
* 到达时间
|
||||
*/
|
||||
private LocalTime arrivalTime;
|
||||
|
||||
|
||||
/**
|
||||
* 班次票价(如果为空则使用线路价格)
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
|
||||
/**
|
||||
* 状态:1-可售,2-售罄,3-已发车,4-已取消
|
||||
* 总座位数
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
private Integer totalSeats;
|
||||
|
||||
/**
|
||||
* 可用座位数
|
||||
*/
|
||||
private Integer availableSeats;
|
||||
|
||||
/**
|
||||
* 已售座位数
|
||||
*/
|
||||
private Integer soldSeats;
|
||||
|
||||
/**
|
||||
* 乐观锁版本号
|
||||
*/
|
||||
private Integer version;
|
||||
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@@ -0,0 +1,50 @@
|
||||
package pers.amos.mall.route.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 库存实体(独立管理,被班次引用)
|
||||
*/
|
||||
@Data
|
||||
public class Inventory implements Serializable {
|
||||
/**
|
||||
* 库存编码(唯一)
|
||||
*/
|
||||
private String inventoryCode;
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
private String routeCode;
|
||||
|
||||
/**
|
||||
* 班次编码
|
||||
*/
|
||||
private String scheduleCode;
|
||||
|
||||
/**
|
||||
* 总库存
|
||||
*/
|
||||
private Integer totalStock;
|
||||
|
||||
/**
|
||||
* 剩余库存
|
||||
*/
|
||||
private Integer remainingStock;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package pers.amos.mall.route.dal.dataobject;
|
||||
package pers.amos.mall.route.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -12,17 +12,8 @@ import java.time.LocalDateTime;
|
||||
* 库存变动日志(固定班次和滚动发车通用)
|
||||
*/
|
||||
@Data
|
||||
@TableName("inventory_log")
|
||||
public class InventoryLog implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 库存编码(引用Inventory)
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
package pers.amos.mall.route.dal.dataobject;
|
||||
package pers.amos.mall.route.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -13,62 +13,48 @@ import java.time.LocalDateTime;
|
||||
* 滚动发车班次实体(共享库存池)
|
||||
*/
|
||||
@Data
|
||||
@TableName("rolling_schedule")
|
||||
public class RollingSchedule implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 线路编码
|
||||
*/
|
||||
private String routeCode;
|
||||
|
||||
|
||||
/**
|
||||
* 滚动班次编号(唯一)
|
||||
*/
|
||||
private String rollingScheduleCode;
|
||||
|
||||
|
||||
/**
|
||||
* 库存编码(引用Inventory)
|
||||
*/
|
||||
private String inventoryCode;
|
||||
|
||||
|
||||
/**
|
||||
* 班次日期
|
||||
*/
|
||||
private LocalDate scheduleDate;
|
||||
|
||||
|
||||
/**
|
||||
* 状态:1-运营中,0-已停运
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
|
||||
/**
|
||||
* 可用座位数
|
||||
*/
|
||||
private Integer availableSeats;
|
||||
|
||||
|
||||
/**
|
||||
* 已售座位数
|
||||
*/
|
||||
private Integer soldSeats;
|
||||
|
||||
/**
|
||||
* 乐观锁版本号
|
||||
*/
|
||||
private Integer version;
|
||||
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
package pers.amos.mall.route.dal.dataobject;
|
||||
package pers.amos.mall.route.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@@ -14,17 +14,8 @@ import java.time.LocalTime;
|
||||
* 线路实体
|
||||
*/
|
||||
@Data
|
||||
@TableName("route")
|
||||
public class Route implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 线路编码(唯一)
|
||||
*/
|
||||
@@ -48,7 +39,7 @@ public class Route implements Serializable {
|
||||
/**
|
||||
* 里程(公里)
|
||||
*/
|
||||
private Integer distance;
|
||||
private Double distance;
|
||||
|
||||
/**
|
||||
* 预计时长(分钟)
|
||||
@@ -60,16 +51,6 @@ public class Route implements Serializable {
|
||||
*/
|
||||
private BigDecimal basePrice;
|
||||
|
||||
/**
|
||||
* 学生票价
|
||||
*/
|
||||
private BigDecimal studentPrice;
|
||||
|
||||
/**
|
||||
* 儿童票价
|
||||
*/
|
||||
private BigDecimal childPrice;
|
||||
|
||||
/**
|
||||
* 运营模式:FIXED-固定班次,ROLLING-滚动发车
|
||||
*/
|
||||
@@ -10,9 +10,9 @@ import pers.amos.mall.common.enums.InventoryOperationTypeEnum;
|
||||
import pers.amos.mall.common.enums.OrderTypeEnum;
|
||||
import pers.amos.mall.common.log.LogUtil;
|
||||
import pers.amos.mall.common.response.Result;
|
||||
import pers.amos.mall.route.dal.dataobject.FixedSchedule;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryLog;
|
||||
import pers.amos.mall.route.dal.dataobject.RollingSchedule;
|
||||
import pers.amos.mall.route.dal.dataobject.FixedScheduleDO;
|
||||
import pers.amos.mall.route.dal.dataobject.InventoryLogDO;
|
||||
import pers.amos.mall.route.dal.dataobject.RollingScheduleDO;
|
||||
import pers.amos.mall.route.dal.repository.FixedScheduleRepository;
|
||||
import pers.amos.mall.route.dal.repository.InventoryLogRepository;
|
||||
import pers.amos.mall.route.dal.repository.RollingScheduleRepository;
|
||||
@@ -73,9 +73,9 @@ public class RouteServiceImpl implements RouteService {
|
||||
// ==================== 固定班次库存操作 ====================
|
||||
|
||||
private Result<Boolean> checkFixedScheduleInventory(InventoryCheckDTO dto) {
|
||||
FixedSchedule schedule = fixedScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(FixedSchedule.class)
|
||||
.eq(FixedSchedule::getScheduleCode, dto.getScheduleCode())
|
||||
FixedScheduleDO schedule = fixedScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(FixedScheduleDO.class)
|
||||
.eq(FixedScheduleDO::getScheduleCode, dto.getScheduleCode())
|
||||
);
|
||||
|
||||
if (schedule == null) {
|
||||
@@ -90,9 +90,9 @@ public class RouteServiceImpl implements RouteService {
|
||||
}
|
||||
|
||||
private Result<Boolean> lockFixedScheduleInventory(InventoryOperationDTO dto) {
|
||||
FixedSchedule schedule = fixedScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(FixedSchedule.class)
|
||||
.eq(FixedSchedule::getScheduleCode, dto.getScheduleCode())
|
||||
FixedScheduleDO schedule = fixedScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(FixedScheduleDO.class)
|
||||
.eq(FixedScheduleDO::getScheduleCode, dto.getScheduleCode())
|
||||
);
|
||||
|
||||
if (schedule == null) {
|
||||
@@ -103,12 +103,12 @@ public class RouteServiceImpl implements RouteService {
|
||||
|
||||
// 乐观锁扣减可用库存
|
||||
boolean success = fixedScheduleRepository.update(
|
||||
Wrappers.lambdaUpdate(FixedSchedule.class)
|
||||
.eq(FixedSchedule::getScheduleCode, dto.getScheduleCode())
|
||||
.eq(FixedSchedule::getVersion, schedule.getVersion())
|
||||
Wrappers.lambdaUpdate(FixedScheduleDO.class)
|
||||
.eq(FixedScheduleDO::getScheduleCode, dto.getScheduleCode())
|
||||
.eq(FixedScheduleDO::getVersion, schedule.getVersion())
|
||||
.setSql("available_seats = available_seats - " + dto.getQuantity())
|
||||
.set(FixedSchedule::getVersion, schedule.getVersion() + 1)
|
||||
.ge(FixedSchedule::getAvailableSeats, dto.getQuantity())
|
||||
.set(FixedScheduleDO::getVersion, schedule.getVersion() + 1)
|
||||
.ge(FixedScheduleDO::getAvailableSeats, dto.getQuantity())
|
||||
);
|
||||
|
||||
if (!success) {
|
||||
@@ -128,9 +128,9 @@ public class RouteServiceImpl implements RouteService {
|
||||
|
||||
private Result<Boolean> deductFixedScheduleInventory(InventoryOperationDTO dto) {
|
||||
// 固定班次在锁定时已经扣减了available_seats,这里只需要增加sold_seats
|
||||
FixedSchedule schedule = fixedScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(FixedSchedule.class)
|
||||
.eq(FixedSchedule::getScheduleCode, dto.getScheduleCode())
|
||||
FixedScheduleDO schedule = fixedScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(FixedScheduleDO.class)
|
||||
.eq(FixedScheduleDO::getScheduleCode, dto.getScheduleCode())
|
||||
);
|
||||
|
||||
if (schedule == null) {
|
||||
@@ -140,8 +140,8 @@ public class RouteServiceImpl implements RouteService {
|
||||
Integer beforeSold = schedule.getSoldSeats();
|
||||
|
||||
fixedScheduleRepository.update(
|
||||
Wrappers.lambdaUpdate(FixedSchedule.class)
|
||||
.eq(FixedSchedule::getScheduleCode, dto.getScheduleCode())
|
||||
Wrappers.lambdaUpdate(FixedScheduleDO.class)
|
||||
.eq(FixedScheduleDO::getScheduleCode, dto.getScheduleCode())
|
||||
.setSql("sold_seats = sold_seats + " + dto.getQuantity())
|
||||
);
|
||||
|
||||
@@ -157,9 +157,9 @@ public class RouteServiceImpl implements RouteService {
|
||||
}
|
||||
|
||||
private Result<Boolean> releaseFixedScheduleInventory(InventoryOperationDTO dto) {
|
||||
FixedSchedule schedule = fixedScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(FixedSchedule.class)
|
||||
.eq(FixedSchedule::getScheduleCode, dto.getScheduleCode())
|
||||
FixedScheduleDO schedule = fixedScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(FixedScheduleDO.class)
|
||||
.eq(FixedScheduleDO::getScheduleCode, dto.getScheduleCode())
|
||||
);
|
||||
|
||||
if (schedule == null) {
|
||||
@@ -170,8 +170,8 @@ public class RouteServiceImpl implements RouteService {
|
||||
|
||||
// 释放库存
|
||||
fixedScheduleRepository.update(
|
||||
Wrappers.lambdaUpdate(FixedSchedule.class)
|
||||
.eq(FixedSchedule::getScheduleCode, dto.getScheduleCode())
|
||||
Wrappers.lambdaUpdate(FixedScheduleDO.class)
|
||||
.eq(FixedScheduleDO::getScheduleCode, dto.getScheduleCode())
|
||||
.setSql("available_seats = available_seats + " + dto.getQuantity())
|
||||
);
|
||||
|
||||
@@ -189,9 +189,9 @@ public class RouteServiceImpl implements RouteService {
|
||||
// ==================== 滚动班次库存操作 ====================
|
||||
|
||||
private Result<Boolean> checkRollingScheduleInventory(InventoryCheckDTO dto) {
|
||||
RollingSchedule schedule = rollingScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(RollingSchedule.class)
|
||||
.eq(RollingSchedule::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
RollingScheduleDO schedule = rollingScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(RollingScheduleDO.class)
|
||||
.eq(RollingScheduleDO::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
);
|
||||
|
||||
if (schedule == null) {
|
||||
@@ -206,9 +206,9 @@ public class RouteServiceImpl implements RouteService {
|
||||
}
|
||||
|
||||
private Result<Boolean> lockRollingScheduleInventory(InventoryOperationDTO dto) {
|
||||
RollingSchedule schedule = rollingScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(RollingSchedule.class)
|
||||
.eq(RollingSchedule::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
RollingScheduleDO schedule = rollingScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(RollingScheduleDO.class)
|
||||
.eq(RollingScheduleDO::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
);
|
||||
|
||||
if (schedule == null) {
|
||||
@@ -219,12 +219,12 @@ public class RouteServiceImpl implements RouteService {
|
||||
|
||||
// 乐观锁扣减共享库存池
|
||||
boolean success = rollingScheduleRepository.update(
|
||||
Wrappers.lambdaUpdate(RollingSchedule.class)
|
||||
.eq(RollingSchedule::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
.eq(RollingSchedule::getVersion, schedule.getVersion())
|
||||
Wrappers.lambdaUpdate(RollingScheduleDO.class)
|
||||
.eq(RollingScheduleDO::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
.eq(RollingScheduleDO::getVersion, schedule.getVersion())
|
||||
.setSql("available_seats = available_seats - " + dto.getQuantity())
|
||||
.set(RollingSchedule::getVersion, schedule.getVersion() + 1)
|
||||
.ge(RollingSchedule::getAvailableSeats, dto.getQuantity())
|
||||
.set(RollingScheduleDO::getVersion, schedule.getVersion() + 1)
|
||||
.ge(RollingScheduleDO::getAvailableSeats, dto.getQuantity())
|
||||
);
|
||||
|
||||
if (!success) {
|
||||
@@ -243,9 +243,9 @@ public class RouteServiceImpl implements RouteService {
|
||||
}
|
||||
|
||||
private Result<Boolean> deductRollingScheduleInventory(InventoryOperationDTO dto) {
|
||||
RollingSchedule schedule = rollingScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(RollingSchedule.class)
|
||||
.eq(RollingSchedule::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
RollingScheduleDO schedule = rollingScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(RollingScheduleDO.class)
|
||||
.eq(RollingScheduleDO::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
);
|
||||
|
||||
if (schedule == null) {
|
||||
@@ -255,8 +255,8 @@ public class RouteServiceImpl implements RouteService {
|
||||
Integer beforeSold = schedule.getSoldSeats();
|
||||
|
||||
rollingScheduleRepository.update(
|
||||
Wrappers.lambdaUpdate(RollingSchedule.class)
|
||||
.eq(RollingSchedule::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
Wrappers.lambdaUpdate(RollingScheduleDO.class)
|
||||
.eq(RollingScheduleDO::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
.setSql("sold_seats = sold_seats + " + dto.getQuantity())
|
||||
);
|
||||
|
||||
@@ -272,9 +272,9 @@ public class RouteServiceImpl implements RouteService {
|
||||
}
|
||||
|
||||
private Result<Boolean> releaseRollingScheduleInventory(InventoryOperationDTO dto) {
|
||||
RollingSchedule schedule = rollingScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(RollingSchedule.class)
|
||||
.eq(RollingSchedule::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
RollingScheduleDO schedule = rollingScheduleRepository.getOne(
|
||||
Wrappers.lambdaQuery(RollingScheduleDO.class)
|
||||
.eq(RollingScheduleDO::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
);
|
||||
|
||||
if (schedule == null) {
|
||||
@@ -285,8 +285,8 @@ public class RouteServiceImpl implements RouteService {
|
||||
|
||||
// 释放库存
|
||||
rollingScheduleRepository.update(
|
||||
Wrappers.lambdaUpdate(RollingSchedule.class)
|
||||
.eq(RollingSchedule::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
Wrappers.lambdaUpdate(RollingScheduleDO.class)
|
||||
.eq(RollingScheduleDO::getRollingScheduleCode, dto.getRollingScheduleCode())
|
||||
.setSql("available_seats = available_seats + " + dto.getQuantity())
|
||||
);
|
||||
|
||||
@@ -307,18 +307,18 @@ public class RouteServiceImpl implements RouteService {
|
||||
String rollingScheduleCode, String operationType,
|
||||
Integer quantity, Integer beforeQty, Integer afterQty,
|
||||
String orderNo, String remark) {
|
||||
InventoryLog inventoryLog = new InventoryLog();
|
||||
inventoryLog.setInventoryType(inventoryType);
|
||||
inventoryLog.setScheduleCode(scheduleCode);
|
||||
inventoryLog.setRollingScheduleCode(rollingScheduleCode);
|
||||
inventoryLog.setOperationType(operationType);
|
||||
inventoryLog.setQuantity(quantity);
|
||||
inventoryLog.setBeforeQty(beforeQty);
|
||||
inventoryLog.setAfterQty(afterQty);
|
||||
inventoryLog.setOrderNo(orderNo);
|
||||
inventoryLog.setRemark(remark);
|
||||
inventoryLog.setCreateTime(LocalDateTime.now());
|
||||
InventoryLogDO inventoryLogDO = new InventoryLogDO();
|
||||
inventoryLogDO.setInventoryType(inventoryType);
|
||||
inventoryLogDO.setScheduleCode(scheduleCode);
|
||||
inventoryLogDO.setRollingScheduleCode(rollingScheduleCode);
|
||||
inventoryLogDO.setOperationType(operationType);
|
||||
inventoryLogDO.setQuantity(quantity);
|
||||
inventoryLogDO.setBeforeQty(beforeQty);
|
||||
inventoryLogDO.setAfterQty(afterQty);
|
||||
inventoryLogDO.setOrderNo(orderNo);
|
||||
inventoryLogDO.setRemark(remark);
|
||||
inventoryLogDO.setCreateTime(LocalDateTime.now());
|
||||
|
||||
inventoryLogRepository.save(inventoryLog);
|
||||
inventoryLogRepository.save(inventoryLogDO);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user