添加订单相关能力

This commit is contained in:
zk
2026-05-14 20:45:03 +08:00
parent bc9694fbec
commit 9312c07f21
21 changed files with 877 additions and 0 deletions
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.MemberFuncItem;
/**
* 会员-功能权限配置 Mapper
*
* @author zk
*/
@Mapper
public interface MemberFuncItemMapper extends CommonMapper<MemberFuncItem> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.MemberOrder;
/**
* 会员订单 Mapper
*
* @author zk
*/
@Mapper
public interface MemberOrderMapper extends CommonMapper<MemberOrder> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.MemberProduct;
/**
* 会员商品 Mapper
*
* @author zk
*/
@Mapper
public interface MemberProductMapper extends CommonMapper<MemberProduct> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.MemberRouteItem;
/**
* 会员-菜单权限配置 Mapper
*
* @author zk
*/
@Mapper
public interface MemberRouteItemMapper extends CommonMapper<MemberRouteItem> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.MemberUser;
/**
* 用户会员状态 Mapper
*
* @author zk
*/
@Mapper
public interface MemberUserMapper extends CommonMapper<MemberUser> {
}
@@ -0,0 +1,14 @@
package org.jiayunet.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.jiayunet.pojo.po.PayWechatFlow;
/**
* 微信支付流水 Mapper
*
* @author zk
*/
@Mapper
public interface PayWechatFlowMapper extends CommonMapper<PayWechatFlow> {
}
@@ -0,0 +1,29 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 会员-功能权限配置表(bg_member_func_item
* <p>全局配置,定义会员包含哪些功能权限及次数限制</p>
*
* @author zk
*/
@Data
@TableName(value = "bg_member_func_item")
public class MemberFuncItem {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 功能权限编码,关联 bg_func_permission.func_code */
private String funcCode;
/** 0=不限次 1=限次 */
private Integer countLimit;
/** 发放次数,countLimit=1时有值 */
private Integer addCount;
}
@@ -0,0 +1,55 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 会员订单表(bg_member_order
* <p>记录用户购买会员商品的订单信息</p>
*
* @author zk
*/
@Data
@TableName(value = "bg_member_order")
public class MemberOrder {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 订单编号,"OP" + id */
private String orderNo;
/** 下单用户 */
private Long userId;
/** 关联 bg_member_product.id */
private Long productId;
/** 实付金额(分) */
private Integer payAmount;
/** 支付渠道 1=微信 2=支付宝 */
private Integer payChannel;
/** 订单状态 0=待支付 1=已支付 2=已退款 3=已关闭 */
private Integer status;
/** 支付时间 */
private Instant payTime;
/** 退款时间(预留) */
private Instant refundTime;
/** 退款金额(分,预留) */
private Integer refundAmount;
/** 下单时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
}
@@ -0,0 +1,63 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 会员商品表(bg_member_product
* <p>定义会员套餐的名称、价格、时长等商业属性</p>
*
* @author zk
*/
@Data
@TableName(value = "bg_member_product")
public class MemberProduct {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 商品名称 */
private String productName;
/** 标签,如"限时优惠"、"最划算" */
private String tag;
/** 主推标识 0=否 1=是 */
private Integer isFeatured;
/** 购买按钮文字,如"立即开通" */
private String buyButtonText;
/** 实付价格(分) */
private Integer price;
/** 划线价(分) */
private Integer originalPrice;
/** 折算月价(分) */
private Integer monthlyPrice;
/** 有效天数 */
private Integer durationDays;
/** 排序,越小越靠前 */
private Integer sortOrder;
/** 状态 0=下架 1=上架 */
private Integer status;
/** 创建时间 */
private Instant createTime;
/** 更新时间 */
private Instant updateTime;
/** 逻辑删除 0=正常 非0=已删除 */
@TableLogic(value = "0", delval = "new()")
private Long isDelete;
}
@@ -0,0 +1,23 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 会员-菜单权限配置表(bg_member_route_item
* <p>全局配置,定义会员解锁哪些菜单</p>
*
* @author zk
*/
@Data
@TableName(value = "bg_member_route_item")
public class MemberRouteItem {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 路由菜单ID,关联 bg_route_menu.id */
private Long routeId;
}
@@ -0,0 +1,34 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 用户会员状态表(bg_member_user
* <p>记录用户的会员到期时间,用于展示会员状态</p>
*
* @author zk
*/
@Data
@TableName(value = "bg_member_user")
public class MemberUser {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 用户ID */
private Long userId;
/** 会员到期时间 */
private Instant expireTime;
/** 首次开通时间 */
private Instant createTime;
/** 最近续费时间 */
private Instant updateTime;
}
@@ -0,0 +1,49 @@
package org.jiayunet.pojo.po;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.time.Instant;
/**
* 微信支付流水表(bg_pay_wechat_flow
* <p>记录微信支付的下单和回调信息</p>
*
* @author zk
*/
@Data
@TableName(value = "bg_pay_wechat_flow")
public class PayWechatFlow {
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/** 订单类型,member=会员订单,后续可扩展其他业务类型 */
private String orderType;
/** 商户订单号,对应微信 out_trade_no,关联业务订单表 */
private String orderNo;
/** 微信支付订单号,支付成功后由回调返回 */
private String transactionId;
/** 订单金额(分),对应微信 amount.total */
private Integer total;
/** 流水状态 0=待支付 1=已支付 2=已关闭 */
private Integer status;
/** 支付成功时间,系统收到成功回调的时间 */
private Instant successTime;
/** 回调解密后的原始JSON完整数据,用于问题排查 */
private String notifyData;
/** 记录创建时间(下单时写入) */
private Instant createTime;
/** 记录更新时间(回调时更新) */
private Instant updateTime;
}