Merge remote-tracking branch 'origin/master'

This commit is contained in:
Tankaikai
2025-02-20 16:04:09 +08:00
62 changed files with 1436 additions and 511 deletions

View File

@@ -0,0 +1,14 @@
package com.czg.account.dto;
import lombok.Data;
/**
* @author ww
* @description
*/
@Data
public class ShopActivateCouponDTO {
private Long id;
private Integer num;
private String name;
}

View File

@@ -14,12 +14,14 @@ import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 活动 实体类。
*
* @author ww
* @since 2025-02-17
* @since 2025-02-20
*/
@Data
@Builder
@@ -55,17 +57,14 @@ public class ShopActivateDTO implements Serializable {
/**
* 是否赠送优惠卷 0否 1是
*/
private Integer isGiftCoupon = 0;
private Integer isGiftCoupon;
private List<ShopActivateCouponDTO> couponList;
/**
* 优惠卷id
* 优惠卷信息{卷id数量}
*/
private Long couponId;
/**
* 优惠卷数量
*/
private Integer num;
private String coupons;
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;

View File

@@ -17,5 +17,6 @@ public class PadDetailEditDTO {
@NotNull(message = "tb_pad_product_categoryId不为空")
private Long id;
private Long padLayoutId;
private Integer sort;
private List<Long> productIdList = new ArrayList<>();
}

View File

@@ -0,0 +1,94 @@
package com.czg.account.dto.print;
import com.alibaba.fastjson2.annotation.JSONField;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import java.io.Serial;
import java.time.LocalDateTime;
/**
* @author Administrator
*/
@Data
public class PrinterAddDTO {
/**
* 设备名称
*/
@NotBlank(message = "设备名称不为空")
private String name;
/**
* 现在打印机支持USB 和 网络、蓝牙
*/
@NotBlank
private String connectionType;
/**
* ip地址
*/
private String address;
/**
* 端口
*/
private String port;
/**
* 打印类型分类label标签cash小票kitchen出品
*/
private String subType;
/**
* 打印机品牌
*/
@NotBlank(message = "打印机品牌不为空")
private String contentType;
/**
* 打印分类Id
*/
private String categoryIds;
/**
* 分类
*/
private String categoryList;
/**
* 排序
*/
private Integer sort;
/**
* 小票尺寸 58mm 80mm
*/
private String receiptSize;
/**
* 分类打印 0-所有 1-部分分类 2-部分商品
*/
@NotBlank(message = "打印分类不为空")
private String classifyPrint;
/**
* 打印数量 c1m1^2=顾客+商家[2张] m1^1=商家[1张] c1^1顾客[1张] c2m1^3顾客2+商家1[3张]
*/
@NotBlank(message = "打印数量不为空")
private String printQty;
/**
* 打印方式 all-全部打印 normal-仅打印结账单「前台」one-仅打印制作单「厨房」
*/
@NotBlank(message = "打印方式不为空")
private String printMethod;
/**
* 打印类型JSON数组 refund-确认退款单 handover-交班单 queue-排队取号
*/
@NotBlank(message = "打印类型不为空")
private String printType;
}

View File

@@ -0,0 +1,13 @@
package com.czg.account.dto.print;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* @author Administrator
*/
@Data
public class PrinterDelDTO {
@NotNull(message = "打印机id不为空")
private Long id;
}

View File

@@ -0,0 +1,89 @@
package com.czg.account.dto.print;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* @author Administrator
*/
@Data
public class PrinterEditDTO {
@NotNull(message = "打印机id不为空")
private Long id;
/**
* 设备名称
*/
private String name;
/**
* 现在打印机支持USB 和 网络、蓝牙
*/
private String connectionType;
/**
* ip地址
*/
private String address;
/**
* 端口
*/
private String port;
/**
* 打印类型分类label标签cash小票kitchen出品
*/
private String subType;
/**
* 打印机品牌
*/
private String contentType;
/**
* 打印分类Id
*/
private String categoryIds;
/**
* 分类
*/
private String categoryList;
/**
* 排序
*/
private Integer sort;
/**
* 小票尺寸 58mm 80mm
*/
private String receiptSize;
/**
* 分类打印 0-所有 1-部分分类 2-部分商品
*/
private String classifyPrint;
/**
* 打印数量 c1m1^2=顾客+商家[2张] m1^1=商家[1张] c1^1顾客[1张] c2m1^3顾客2+商家1[3张]
*/
private String printQty;
/**
* 打印方式 all-全部打印 normal-仅打印结账单「前台」one-仅打印制作单「厨房」
*/
private String printMethod;
/**
* 打印类型JSON数组 refund-确认退款单 handover-交班单 queue-排队取号
*/
private String printType;
/**
* 打印机状态 online在线
*/
private String status;
}

View File

@@ -1,11 +1,9 @@
package com.czg.account.dto.shopinfo;
import com.mybatisflex.annotation.Column;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author Administrator
@@ -207,11 +205,6 @@ public class ShopInfoEditDTO {
private String address;
/**
* 积分群体 all-所有 vip-仅针对会员
*/
private String consumeColony;
/**
* 小程序码(零点八零首页)
*/

View File

@@ -0,0 +1,96 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 积分基本设置 实体类。
*
* @author ww
* @since 2025-02-20
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_points_basic_setting")
public class PointsBasicSetting implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 店铺id
*/
@Id(keyType = KeyType.Auto)
private Long shopId;
/**
* 开启消费赠送积分 1-开启 0-关闭
*/
private Integer enableRewards;
/**
* 赠积分适用群体 all-全部 vip-仅会员
*/
private String rewardsGroup;
/**
* 每消费xx元赠送1积分
*/
private BigDecimal consumeAmount;
/**
* 开启下单积分抵扣 1-开启 0-关闭
*/
private Integer enableDeduction;
/**
* 抵扣适用群体 all-全部 vip-仅会员
*/
private String deductionGroup;
/**
* 下单实付抵扣门槛
*/
private BigDecimal minPaymentAmount;
/**
* 下单最高抵扣比例
*/
private BigDecimal maxDeductionRatio;
/**
* 下单抵扣积分比例 1元=?积分
*/
private Integer equivalentPoints;
/**
* 开启积分商城
*/
private Integer enablePointsMall;
/**
* 浏览模式 list-列表 grid-宫格
*/
private String browseMode;
/**
* 创建时间
*/
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,122 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 打印机设备 实体类。
*
* @author zs
* @since 2025-02-20
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_print_machine")
public class PrintMachine implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Auto)
private Integer id;
/**
* 设备名称
*/
private String name;
/**
* 现在打印机支持USB 和 网络、蓝牙
*/
private String connectionType;
/**
* ip地址
*/
private String address;
/**
* 端口
*/
private String port;
/**
* 打印类型分类label标签cash小票kitchen出品
*/
private String subType;
/**
* 状态 online
*/
private Integer status;
/**
* 店铺Id
*/
private String shopId;
/**
* 分类Id
*/
private String categoryIds;
/**
* 现在打印机支持USB 和 网络两种
*/
private String contentType;
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
/**
* 分类
*/
private String categoryList;
/**
* 排序
*/
private Integer sort;
/**
* 小票尺寸 58mm 80mm
*/
private String receiptSize;
/**
* 分类打印 0-所有 1-部分分类 2-部分商品
*/
private String classifyPrint;
/**
* 打印数量 c1m1^2=顾客+商家[2张] m1^1=商家[1张] c1^1顾客[1张] c2m1^3顾客2+商家1[3张]
*/
private String printQty;
/**
* 打印方式 all-全部打印 normal-仅打印结账单「前台」one-仅打印制作单「厨房」
*/
private String printMethod;
/**
* 打印类型JSON数组 refund-确认退款单 handover-交班单 queue-排队取号
*/
private String printType;
}

View File

@@ -18,7 +18,7 @@ import java.time.LocalDateTime;
* 活动 实体类。
*
* @author ww
* @since 2025-02-17
* @since 2025-02-20
*/
@Data
@Builder
@@ -56,14 +56,9 @@ public class ShopActivate implements Serializable {
private Integer isGiftCoupon;
/**
* 优惠卷id
* 优惠卷信息{卷id数量}
*/
private Long couponId;
/**
* 优惠卷数量
*/
private Integer num;
private String coupons;
@Column(onInsertValue = "now()")
private LocalDateTime createTime;

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@@ -19,14 +20,14 @@ import lombok.NoArgsConstructor;
* 活动商品赠送记录表 实体类
*
* @author ww
* @since 2025-02-17
* @since 2025-02-20
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_activate_in_record")
public class ShopActivateInRecord implements Serializable {
@Table("tb_shop_activate_coupon_record")
public class ShopActivateCouponRecord implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@@ -69,16 +70,6 @@ public class ShopActivateInRecord implements Serializable {
*/
private BigDecimal discountAmount;
/**
* 赠送数量
*/
private Integer num;
/**
* 未使用数量
*/
private Integer overNum;
/**
* 店铺id
*/
@@ -109,9 +100,13 @@ public class ShopActivateInRecord implements Serializable {
private String couponJson;
/**
* invited/activate
*/
private String source;
/**
* 已使用 used
* 未使用 not_used
* 已过期 expired
*/
private String status;
}

View File

@@ -1,79 +0,0 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 活动赠送商品使用记录表 实体类。
*
* @author ww
* @since 2025-02-17
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_activate_out_record")
public class ShopActivateOutRecord implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Auto)
private Long id;
private Long shopId;
/**
* 订单id
*/
private Long orderId;
/**
* 商品赠送Id tb_activate_in_record的id
*/
private Long giveId;
/**
* 会员id
*/
private Long vipUserId;
/**
* 1-满减 2-商品
*/
private Integer type;
/**
* 使用数量
*/
private Integer useNum;
/**
* 退单量
*/
private Integer refNum;
/**
* 新建: create 完成: closed, 取消cancel,
*/
private String status;
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
}

View File

@@ -4,21 +4,23 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Time;
import java.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 优惠券 实体类。
*
* @author ww
* @since 2025-02-17
* @since 2025-02-20
*/
@Data
@Builder
@@ -36,17 +38,22 @@ public class ShopCoupon implements Serializable {
@Id(keyType = KeyType.Auto)
private Long id;
/**
* 状态0-关闭 1 正常
*/
private Integer status;
private Long shopId;
/**
* 名称(无意义)
*/
private String title;
private Long shopId;
/**
* 1-满减 2-商品
*/
private Integer type;
/**
* 状态0-关闭 1 正常
*/
private Integer status;
/**
* 已使用数量
@@ -71,7 +78,7 @@ public class ShopCoupon implements Serializable {
/**
* 有效天数
*/
private Long validDays;
private Integer validDays;
/**
* 隔多少天生效
@@ -99,19 +106,14 @@ public class ShopCoupon implements Serializable {
private String useTimeType;
/**
* 可用开始时间 00:00
* 可用开始时间
*/
private String useStartTime;
private Time useStartTime;
/**
* 可用结束时间 23:59
* 可用结束时间
*/
private String useEndTime;
/**
* 1-满减 2-商品
*/
private Integer type;
private Time useEndTime;
/**
* 满多少金额
@@ -123,6 +125,11 @@ public class ShopCoupon implements Serializable {
*/
private BigDecimal discountAmount;
/**
* 商品id
*/
private Long proId;
/**
* 描述
*/

View File

@@ -1,56 +0,0 @@
package com.czg.account.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 活动赠送商品表 实体类。
*
* @author ww
* @since 2025-02-18
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_coupon_product")
public class ShopCouponProduct implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Auto)
private Long id;
/**
* 活动Id
*/
private Long couponId;
/**
* 商品id
*/
private Long productId;
/**
* 数量
*/
private Integer num;
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
}

View File

@@ -90,7 +90,11 @@ public class ShopInfo implements Serializable {
* 店铺简介
*/
private String detail;
/**
* 注册类型
* 快餐版 先付 munchies
* 餐饮版 先付/后付 restaurant
*/
private String registerType;
/**
@@ -224,11 +228,6 @@ public class ShopInfo implements Serializable {
*/
private Integer isMemberPrice;
/**
* 积分群体 all-所有 vip-仅针对会员
*/
private String consumeColony;
/**
* 就餐模式 堂食 dine-in 外带 take-out
*/

View File

@@ -0,0 +1,14 @@
package com.czg.account.service;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.PointsBasicSetting;
/**
* 积分基本设置 服务层。
*
* @author ww
* @since 2025-02-20
*/
public interface PointsBasicSettingService extends IService<PointsBasicSetting> {
}

View File

@@ -0,0 +1,21 @@
package com.czg.account.service;
import com.czg.account.dto.print.PrinterAddDTO;
import com.czg.account.dto.print.PrinterEditDTO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.PrintMachine;
/**
* 打印机设备 服务层。
*
* @author zs
* @since 2025-02-20
*/
public interface PrintMachineService extends IService<PrintMachine> {
boolean add(Long shopId, PrinterAddDTO printerAddDTO);
Boolean edit(Long shopId, PrinterEditDTO printerEditDTO);
}

View File

@@ -0,0 +1,14 @@
package com.czg.account.service;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.ShopActivateCouponRecord;
/**
* 活动商品赠送记录表 服务层。
*
* @author ww
* @since 2025-02-20
*/
public interface ShopActivateCouponRecordService extends IService<ShopActivateCouponRecord> {
}

View File

@@ -1,14 +0,0 @@
package com.czg.account.service;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.ShopActivateInRecord;
/**
* 活动商品赠送记录表 服务层。
*
* @author ww
* @since 2025-02-17
*/
public interface ShopActivateInRecordService extends IService<ShopActivateInRecord> {
}

View File

@@ -1,14 +0,0 @@
package com.czg.account.service;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.ShopActivateOutRecord;
/**
* 活动赠送商品使用记录表 服务层。
*
* @author ww
* @since 2025-02-17
*/
public interface ShopActivateOutRecordService extends IService<ShopActivateOutRecord> {
}

View File

@@ -1,14 +0,0 @@
package com.czg.account.service;
import com.czg.account.entity.ShopCouponProduct;
import com.mybatisflex.core.service.IService;
/**
* 活动赠送商品表 服务层。
*
* @author ww
* @since 2025-02-18
*/
public interface ShopCouponProductService extends IService<ShopCouponProduct> {
}

View File

@@ -1,7 +1,6 @@
package com.czg.account.service;
import com.czg.account.dto.ShopCouponDTO;
import com.czg.account.entity.ShopActivateOutRecord;
import com.czg.account.entity.ShopCoupon;
import com.mybatisflex.core.service.IService;
@@ -20,7 +19,6 @@ public interface ShopCouponService extends IService<ShopCoupon> {
*
* @param shopId 店铺id
* @param status 状态 0 未使用 1已使用 -1已过期
* @return
*/
List<ShopCoupon> getList(Long shopId, Integer status);
ShopCouponDTO getCouponById(ShopCouponDTO couponDTO);
@@ -31,9 +29,9 @@ public interface ShopCouponService extends IService<ShopCoupon> {
Boolean delete(Long id);
Boolean find(Long id);
Boolean use(Integer shopId, Integer orderId, Integer vipUserId, List<ShopActivateOutRecord> param);
Boolean use(Integer shopId, Integer orderId, Integer vipUserId);
Boolean refund(List<ShopActivateOutRecord> param);
Boolean refund();

View File

@@ -2,10 +2,11 @@ package com.czg.account.service;
import com.czg.account.dto.table.ShopTableAddDTO;
import com.czg.account.dto.table.ShopTableBindDTO;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.czg.account.entity.ShopTable;
import com.mybatisflex.core.service.IService;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.io.IOException;
@@ -19,6 +20,8 @@ public interface ShopTableService extends IService<ShopTable> {
Boolean add(Long shopId, ShopTableAddDTO shopTableAddDTO);
ShopTable getOneByTableCode(@NotNull Long shopId,@NotBlank String tableCode);
void createQrCode(Long shopId, Integer num, HttpServletResponse response) throws IOException;
Boolean bind(Long shopId, ShopTableBindDTO shopTableBindDTO);

View File

@@ -1,20 +0,0 @@
package com.czg.account.vo;
import lombok.Data;
/**
* @author ww
* @description
*/
@Data
public class CouponProductVo {
/**
* 商品id
*/
private Long productId;
/**
* 数量
*/
private Integer num;
}

View File

@@ -0,0 +1,140 @@
package com.czg.order.dto;
import cn.hutool.core.util.StrUtil;
import jakarta.validation.constraints.NotBlank;
import lombok.*;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 订单表 实体类。
*
* @author ww
* @since 2025-02-13
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderInfoAddDTO implements Serializable {
private Long orderId;
/**
* 店铺Id
*/
private Long shopId;
private Long userId;
/**
* 用餐人数
*/
private Integer seatNum;
/**
* 打包费
*/
private BigDecimal packFee;
/**
* 订单原金额(包含打包费+餐位费) 不含折扣价格
*/
private BigDecimal originAmount;
/**
* 折扣比例(计算时 向上取整保留 两位小数)
*/
private BigDecimal discountRatio;
/**
* 手动优惠金额
*/
private BigDecimal discountAmount;
/**
* 商品优惠券抵扣金额
*/
private BigDecimal productCouponDiscountAmount;
/**
* 满减优惠券抵扣金额
*/
private BigDecimal fullCouponDiscountAmount;
/**
* 用户使用的卡券
*/
private String couponInfoList;
/**
* 订单金额
*/
private BigDecimal orderAmount;
/**
* 积分抵扣金额(tb_points_basic_setting表)
*/
private BigDecimal pointsDiscountAmount;
/**
* 使用的积分数量 (扣除各类折扣 enable_deduction后使用)
*/
private BigDecimal pointsNum;
/**
* 台桌Id
*/
@NotBlank(message = "台桌码不能为空")
private String tableCode;
/**
* 订单类型-
* cash收银(除小程序以外 都属于收银)
* miniapp小程序
*/
private String orderType;
/**
* 平台类型 pc 收银机客户端 wechat 微信小程序 alipay 支付宝小程序 admin-pc PC管理端 admin-app APP管理端
*/
private String platformType;
/**
* 用餐模式 堂食 dine-in 外带 take-out 外卖 take-away
*/
@NotBlank(message = "用餐模式不能为空")
private String eatModel;
/**
* 支付模式: afterPay 后付费 normal 正常模式
*/
@NotBlank(message = "付款模式不能为空")
private String payMode;
/**
* 备注
*/
private String remark;
/**
* 当前订单下单次数
*/
private Integer placeNum;
/**
* 是否等叫 0 否 1 等叫
*/
private boolean waitCall;
/**
* 是否使用会员价
*/
private boolean vipPrice;
public Integer getSeatNum() {
return seatNum == null ? 0 : seatNum;
}
public String getEatModel() {
return StrUtil.isBlank(eatModel) ? "dine-in" : eatModel;
}
public BigDecimal getPointsNum() {
return pointsNum == null ? BigDecimal.ZERO : pointsNum;
}
}

View File

@@ -0,0 +1,131 @@
package com.czg.order.entity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 购物车 实体类。
*
* @author ww
* @since 2025-02-20
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_cashier_cart")
public class CashierCart implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@Id(keyType = KeyType.Auto)
private Long id;
/**
* 店铺Id
*/
private Long shopId;
/**
* skuId
*/
private Long skuId;
/**
* 商品Id
*/
private Long productId;
/**
* 商品名称(临时菜使用)
*/
private String productName;
/**
* 规格描述(临时菜使用)
*/
private String skuName;
/**
* 数量
*/
private BigDecimal number;
/**
* 台桌桌码
* 平台类型
* 小程序为 桌码
* 其余为
* 收银机客户端 PC+唯一值
* PC管理端 APC+唯一值
* APP管理端 APP+唯一值
*/
private String tableCode;
/**
* 是否打包
*/
private Integer isPack;
/**
* 是否赠送
*/
private Integer isGift;
/**
* 是否是临时菜
*/
private Integer isTemporary;
/**
* 单品改价金额
*/
private BigDecimal discountSaleAmount;
/**
* 改价备注
*/
private String discountSaleNote;
/**
* 是否打票
*/
private Integer isPrint;
/**
* 是否等叫
*/
private Integer isWaitCall;
/**
* 套餐商品选择信息
*/
private String proGroupInfo;
/**
* 备注
*/
private String remark;
@Column(onInsertValue = "now()")
private LocalDateTime createTime;
@Column(onInsertValue = "now()", onUpdateValue = "now()")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,23 @@
package com.czg.order.service;
import com.czg.order.entity.OrderDetail;
import com.mybatisflex.core.service.IService;
import com.czg.order.entity.CashierCart;
import jakarta.validation.constraints.NotBlank;
import java.util.List;
/**
* 购物车 服务层。
*
* @author ww
* @since 2025-02-20
*/
public interface CashierCartService extends IService<CashierCart> {
/**
* 获取到的结果 是针对tb_order_detail的
* @param tableCode 桌码
*/
List<OrderDetail> getCartByTableCode(@NotBlank String tableCode);
}

View File

@@ -1,9 +1,11 @@
package com.czg.order.service;
import com.alibaba.fastjson2.JSONObject;
import com.czg.order.dto.OrderInfoAddDTO;
import com.czg.order.dto.OrderInfoQueryDTO;
import com.czg.order.entity.OrderInfo;
import com.czg.order.enums.PayEnums;
import com.czg.order.vo.OrderInfoCreateVo;
import com.czg.order.vo.OrderInfoVo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
@@ -22,6 +24,7 @@ import java.time.LocalDateTime;
public interface OrderInfoService extends IService<OrderInfo> {
Page<OrderInfoVo> getOrderByPage(OrderInfoQueryDTO param);
OrderInfoCreateVo createOrder(OrderInfoAddDTO param);
void payCallBackOrder(@NotBlank String orderNo, @NotNull JSONObject resultJson);

View File

@@ -0,0 +1,11 @@
package com.czg.order.vo;
import lombok.Data;
/**
* @author ww
* @description
*/
@Data
public class OrderInfoCreateVo {
}