feat:领域&模型调整

This commit is contained in:
amos
2025-12-10 14:23:37 +08:00
parent c5a6d1e458
commit 14206fad6b
18 changed files with 374 additions and 94 deletions

View File

@@ -0,0 +1,55 @@
package pers.amos.mall.perform.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("ticket_invalid_log")
public class TicketInvalidLog implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 凭证编号
*/
private String ticketNo;
/**
* 订单号
*/
private String orderNo;
/**
* 用户编号
*/
private String userNo;
/**
* 失效类型EXPIRED-过期失效REFUNDED-退款失效CANCELLED-取消失效
*/
private String invalidType;
/**
* 失效原因
*/
private String invalidReason;
/**
* 创建时间
*/
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,12 @@
package pers.amos.mall.perform.dal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import pers.amos.mall.perform.dal.dataobject.TicketInvalidLog;
/**
* 凭证失效流水Mapper
*/
@Mapper
public interface TicketInvalidLogMapper extends BaseMapper<TicketInvalidLog> {
}

View File

@@ -0,0 +1,26 @@
package pers.amos.mall.perform.dal.repository;
import pers.amos.mall.perform.dal.dataobject.TicketInvalidLog;
import java.util.List;
/**
* 凭证失效流水仓储接口
*/
public interface TicketInvalidLogRepository {
/**
* 根据凭证编号查询失效记录
*/
List<TicketInvalidLog> findByTicketNo(String ticketNo);
/**
* 根据订单号查询失效记录
*/
List<TicketInvalidLog> findByOrderNo(String orderNo);
/**
* 保存失效记录
*/
void save(TicketInvalidLog ticketInvalidLog);
}

View File

@@ -1,15 +0,0 @@
package pers.amos.mall.perform.dal.repository.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Repository;
import pers.amos.mall.perform.dal.dataobject.TicketRule;
import pers.amos.mall.perform.dal.mapper.TicketRuleMapper;
import pers.amos.mall.perform.dal.repository.TicketRuleRepository;
/**
* 车票规则Repository实现
*/
@Repository
public class TicketRuleRepositoryImpl extends ServiceImpl<TicketRuleMapper, TicketRule> implements TicketRuleRepository {
}

View File

@@ -3,7 +3,6 @@ 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 com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;
import java.io.Serializable;
@@ -37,6 +36,11 @@ public class FixedSchedule implements Serializable {
*/
private String scheduleCode;
/**
* 库存编码引用Inventory
*/
private String inventoryCode;
/**
* 班次日期
*/
@@ -52,21 +56,6 @@ public class FixedSchedule implements Serializable {
*/
private LocalTime arrivalTime;
/**
* 总座位数
*/
private Integer totalSeats;
/**
* 可售座位数(可用库存)
*/
private Integer availableSeats;
/**
* 已售座位数
*/
private Integer soldSeats;
/**
* 班次票价(如果为空则使用线路价格)
*/
@@ -77,12 +66,6 @@ public class FixedSchedule implements Serializable {
*/
private Integer status;
/**
* 乐观锁版本号(防止超卖)
*/
@Version
private Integer version;
/**
* 创建时间
*/

View File

@@ -0,0 +1,62 @@
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 com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 库存实体(独立管理,被班次引用)
*/
@Data
@TableName("inventory")
public class Inventory implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 库存编码(唯一)
*/
private String inventoryCode;
/**
* 线路编码
*/
private String routeCode;
/**
* 总库存
*/
private Integer totalStock;
/**
* 剩余库存
*/
private Integer remainingStock;
/**
* 乐观锁版本号(防止超卖)
*/
@Version
private Integer version;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@@ -24,19 +24,14 @@ public class InventoryLog implements Serializable {
private Long id;
/**
* 库存类型FIXED-固定班次ROLLING-滚动发车
* 库存编码引用Inventory
*/
private String inventoryType;
private String inventoryCode;
/**
* 固定班次编号inventoryType=FIXED时使用
* 线路编号
*/
private String scheduleCode;
/**
* 滚动班次编号inventoryType=ROLLING时使用
*/
private String rollingScheduleCode;
private String routeCode;
/**
* 操作类型LOCK-锁定UNLOCK-解锁DEDUCT-扣减RELEASE-释放

View File

@@ -3,7 +3,6 @@ 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 com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;
import java.io.Serializable;
@@ -35,37 +34,21 @@ public class RollingSchedule implements Serializable {
*/
private String rollingScheduleCode;
/**
* 库存编码引用Inventory
*/
private String inventoryCode;
/**
* 班次日期
*/
private LocalDate scheduleDate;
/**
* 总座位数(共享库存池)
*/
private Integer totalCapacity;
/**
* 可售座位数
*/
private Integer availableSeats;
/**
* 已售座位数
*/
private Integer soldSeats;
/**
* 状态1-运营中0-已停运
*/
private Integer status;
/**
* 乐观锁版本号(防止超卖)
*/
@Version
private Integer version;
/**
* 创建时间
*/

View File

@@ -1,4 +1,4 @@
package pers.amos.mall.perform.dal.dataobject;
package pers.amos.mall.route.dal.dataobject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -10,7 +10,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 票规则实体
* 规则实体定价规则
*/
@Data
@TableName("ticket_rule")
@@ -30,7 +30,7 @@ public class TicketRule implements Serializable {
private String ruleCode;
/**
* 票种ADULT-成人票STUDENT-学生票CHILD-儿童票
* 票种ADULT-成人票STUDENT-学生票CHILD-儿童票SENIOR-老人票
*/
private String ticketType;
@@ -79,4 +79,3 @@ public class TicketRule implements Serializable {
*/
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,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.Inventory;
/**
* 库存Mapper
*/
@Mapper
public interface InventoryMapper extends BaseMapper<Inventory> {
}

View File

@@ -1,13 +1,12 @@
package pers.amos.mall.perform.dal.mapper;
package pers.amos.mall.route.dal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import pers.amos.mall.perform.dal.dataobject.TicketRule;
import pers.amos.mall.route.dal.dataobject.TicketRule;
/**
* 票规则Mapper
* 规则Mapper
*/
@Mapper
public interface TicketRuleMapper extends BaseMapper<TicketRule> {
}

View File

@@ -0,0 +1,24 @@
package pers.amos.mall.route.dal.repository;
import pers.amos.mall.route.dal.dataobject.Inventory;
/**
* 库存仓储接口
*/
public interface InventoryRepository {
/**
* 根据库存编码查询
*/
Inventory findByInventoryCode(String inventoryCode);
/**
* 保存库存
*/
void save(Inventory inventory);
/**
* 更新库存(乐观锁)
*/
boolean updateWithVersion(Inventory inventory);
}

View File

@@ -1,11 +1,10 @@
package pers.amos.mall.perform.dal.repository;
package pers.amos.mall.route.dal.repository;
import com.baomidou.mybatisplus.extension.service.IService;
import pers.amos.mall.perform.dal.dataobject.TicketRule;
import pers.amos.mall.route.dal.dataobject.TicketRule;
/**
* 票规则Repository
* 规则Repository
*/
public interface TicketRuleRepository extends IService<TicketRule> {
}

View File

@@ -0,0 +1,14 @@
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;
/**
* 票种规则Repository实现
*/
@Repository
public class TicketRuleRepositoryImpl extends ServiceImpl<TicketRuleMapper, TicketRule> implements TicketRuleRepository {
}

View File

@@ -10,7 +10,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 退款记录实体订单1:N退款单支持部分退款
* 退款实体订单1:N退款单支持部分退款
*/
@Data
@TableName("refund")
@@ -24,21 +24,31 @@ public class Refund implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
/**
* 订单号
*/
private String orderNo;
/**
* 退款单号(唯一)
*/
private String refundNo;
/**
* 退款车票号(部分退款时指定具体车票)
* 订单号
*/
private String orderNo;
/**
* 用户编号
*/
private String userNo;
/**
* 凭证编号(部分退款时指定具体凭证)
*/
private String ticketNo;
/**
* 退款支付单号
*/
private String refundPaymentNo;
/**
* 退款数量
*/
@@ -55,7 +65,7 @@ public class Refund implements Serializable {
private BigDecimal refundFee;
/**
* 实际退款金额
* 实际退款金额(退款金额 - 手续费)
*/
private BigDecimal actualRefundAmount;
@@ -65,15 +75,10 @@ public class Refund implements Serializable {
private String refundReason;
/**
* 退款状态PENDING-待退款SUCCESS-成功FAILED-失败
* 退款状态PENDING-待退款,PROCESSING-退款中,SUCCESS-已退款FAILED-退款失败
*/
private String refundStatus;
/**
* 退款时间
*/
private LocalDateTime refundTime;
/**
* 创建时间
*/

View File

@@ -0,0 +1,86 @@
package pers.amos.mall.trade.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;
/**
* 退款支付单实体退款单1:1退款支付单
*/
@Data
@TableName("refund_payment")
public class RefundPayment implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(type = IdType.AUTO)
private Long id;
/**
* 退款支付单号(唯一)
*/
private String refundPaymentNo;
/**
* 退款单号
*/
private String refundNo;
/**
* 订单号
*/
private String orderNo;
/**
* 用户编号
*/
private String userNo;
/**
* 凭证编号
*/
private String ticketNo;
/**
* 退款金额
*/
private BigDecimal refundAmount;
/**
* 退款方式ALIPAY-支付宝WECHAT-微信
*/
private String refundMethod;
/**
* 退款状态PENDING-退款中SUCCESS-已退款FAILED-退款失败
*/
private String refundStatus;
/**
* 外部退款流水号(第三方支付返回)
*/
private String externalRefundNo;
/**
* 退款完成时间
*/
private LocalDateTime refundTime;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,12 @@
package pers.amos.mall.trade.dal.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import pers.amos.mall.trade.dal.dataobject.RefundPayment;
/**
* 退款支付单Mapper
*/
@Mapper
public interface RefundPaymentMapper extends BaseMapper<RefundPayment> {
}

View File

@@ -0,0 +1,29 @@
package pers.amos.mall.trade.dal.repository;
import pers.amos.mall.trade.dal.dataobject.RefundPayment;
/**
* 退款支付单仓储接口
*/
public interface RefundPaymentRepository {
/**
* 根据退款支付单号查询
*/
RefundPayment findByRefundPaymentNo(String refundPaymentNo);
/**
* 根据退款单号查询
*/
RefundPayment findByRefundNo(String refundNo);
/**
* 保存退款支付单
*/
void save(RefundPayment refundPayment);
/**
* 更新退款支付单
*/
void update(RefundPayment refundPayment);
}