存酒接口
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
|
||||
package com.czg.account.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import java.io.Serial;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 用户存酒 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-02-27
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ShopStorageDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 酒品名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 酒品图
|
||||
*/
|
||||
private String imgUrl;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* 0:已取完;1:未取完;2:已过期
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 到期时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime expTime;
|
||||
|
||||
/**
|
||||
* 存酒时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime savTime;
|
||||
|
||||
/**
|
||||
* 用户Id
|
||||
*/
|
||||
private Integer userId;
|
||||
|
||||
/**
|
||||
* 用户头像
|
||||
*/
|
||||
private String headImg;
|
||||
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 用户电话
|
||||
*/
|
||||
private String telphone;
|
||||
|
||||
/**
|
||||
* 店铺id
|
||||
*/
|
||||
private Integer shopId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
package com.czg.product.dto;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import java.io.Serial;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 存取酒记录表 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-02-27
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ShopStorageRecordDTO implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 存酒信息id
|
||||
*/
|
||||
private Integer storageId;
|
||||
|
||||
/**
|
||||
* 记录
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime time;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.product.dto.storage;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
@Data
|
||||
public class CountStorageDTO {
|
||||
private String name;
|
||||
private String imgUrl;
|
||||
private Long savNum;
|
||||
private Long expNum;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.czg.product.dto.storage;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
@Data
|
||||
public class ShopStorageAddDTO {
|
||||
/**
|
||||
* shopUser的userId不是主键id
|
||||
*/
|
||||
@NotNull(message = "用户id不为空")
|
||||
private Long userId;
|
||||
/**
|
||||
* 酒品id
|
||||
*/
|
||||
@NotNull(message = "酒品id不为空")
|
||||
private Long shopStorageGoodId;
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@NotNull(message = "数量不为空")
|
||||
@Min(value = 1, message = "数量不能小于1")
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* 多少天后过期,默认一天
|
||||
*/
|
||||
private Integer expDay;
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.czg.product.dto.storage;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
@Data
|
||||
public class ShopStorageEditDTO {
|
||||
/**
|
||||
* 存酒id
|
||||
*/
|
||||
@NotNull(message = "存酒id不为空")
|
||||
private Integer id;
|
||||
/**
|
||||
* 正数为存酒反之为取酒
|
||||
*/
|
||||
@NotNull(message = "数量不为空")
|
||||
private Integer num;
|
||||
}
|
||||
@@ -1,11 +1,12 @@
|
||||
|
||||
package com.czg.account.dto.storage;
|
||||
package com.czg.product.dto.storage;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import java.io.Serial;
|
||||
|
||||
import com.czg.validator.group.InsertGroup;
|
||||
import com.czg.validator.group.UpdateGroup;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
@@ -32,19 +33,19 @@ public class ShopStorageGoodDTO {
|
||||
/**
|
||||
* 酒品名
|
||||
*/
|
||||
@NotEmpty(message = "酒品名不为空")
|
||||
@NotEmpty(message = "酒品名不为空", groups = {UpdateGroup.class, InsertGroup.class})
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
@NotEmpty(message = "酒品名不为空")
|
||||
@NotEmpty(message = "酒品名不为空", groups = {UpdateGroup.class, InsertGroup.class})
|
||||
private String imgUrl;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@NotEmpty(message = "单位不为空")
|
||||
@NotEmpty(message = "单位不为空", groups = {UpdateGroup.class, InsertGroup.class})
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
@@ -57,4 +58,6 @@ public class ShopStorageGoodDTO {
|
||||
*/
|
||||
private Integer source;
|
||||
|
||||
private Long prodId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package com.czg.product.entity;
|
||||
|
||||
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;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* 用户存酒 实体类。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-02-27
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("tb_shop_storage")
|
||||
@Accessors(chain = true)
|
||||
public class ShopStorage implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 酒品名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 酒品图
|
||||
*/
|
||||
private String imgUrl;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer num;
|
||||
|
||||
/**
|
||||
* 0:已取完;1:未取完;2:已过期
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 到期时间
|
||||
*/
|
||||
private LocalDateTime expTime;
|
||||
|
||||
/**
|
||||
* 存酒时间
|
||||
*/
|
||||
private LocalDateTime savTime;
|
||||
|
||||
/**
|
||||
* 用户Id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 用户头像
|
||||
*/
|
||||
private String headImg;
|
||||
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 用户电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 店铺id
|
||||
*/
|
||||
private Long shopId;
|
||||
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.czg.account.entity;
|
||||
package com.czg.product.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.czg.product.entity;
|
||||
|
||||
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-27
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("tb_shop_storage_record")
|
||||
public class ShopStorageRecord implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 存酒信息id
|
||||
*/
|
||||
private Long storageId;
|
||||
|
||||
/**
|
||||
* 记录
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
private LocalDateTime time;
|
||||
|
||||
}
|
||||
@@ -1,8 +1,11 @@
|
||||
package com.czg.account.service;
|
||||
package com.czg.product.service;
|
||||
|
||||
import com.czg.account.dto.storage.ShopStorageGoodDTO;
|
||||
import com.czg.product.dto.storage.ShopStorageAddDTO;
|
||||
import com.czg.product.dto.storage.ShopStorageGoodDTO;
|
||||
import com.czg.product.entity.ShopStorage;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.account.entity.ShopStorageGood;
|
||||
import com.czg.product.entity.ShopStorageGood;
|
||||
|
||||
/**
|
||||
* 酒品表 服务层。
|
||||
@@ -15,4 +18,5 @@ public interface ShopStorageGoodService extends IService<ShopStorageGood> {
|
||||
Boolean edit(Long shopId, ShopStorageGoodDTO shopStorageGoodDTO);
|
||||
|
||||
Boolean saveInfo(Long shopId, ShopStorageGoodDTO shopStorageGoodDTO);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.product.service;
|
||||
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.product.entity.ShopStorageRecord;
|
||||
|
||||
/**
|
||||
* 存取酒记录表 服务层。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-02-27
|
||||
*/
|
||||
public interface ShopStorageRecordService extends IService<ShopStorageRecord> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.czg.product.service;
|
||||
|
||||
import com.czg.product.dto.storage.CountStorageDTO;
|
||||
import com.czg.product.dto.storage.ShopStorageAddDTO;
|
||||
import com.czg.product.dto.storage.ShopStorageEditDTO;
|
||||
import com.czg.product.entity.ShopStorageRecord;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.product.entity.ShopStorage;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 用户存酒 服务层。
|
||||
*
|
||||
* @author zs
|
||||
* @since 2025-02-27
|
||||
*/
|
||||
public interface ShopStorageService extends IService<ShopStorage> {
|
||||
|
||||
Page<ShopStorage> pageInfo(Long shopId, String key, String phone, Integer status);
|
||||
|
||||
Boolean add(Long shopId, ShopStorageAddDTO shopStorageAddDTO);
|
||||
|
||||
Boolean edit(Long shopId, ShopStorageEditDTO shopStorageEditDTO);
|
||||
|
||||
List<ShopStorageRecord> getRecord(Long shopId, Integer id);
|
||||
|
||||
List<CountStorageDTO> countRecord(Long shopId);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user