Merge pull request '王佳龙1' (#9) from 王佳龙 into main
commit
6e4aac4952
@ -0,0 +1,37 @@
|
|||||||
|
HELP.md
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target
|
||||||
|
/.mvn/
|
||||||
|
|
||||||
|
### STS ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
*.log
|
||||||
|
*.jar
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>com.shasnzhu</groupId>
|
||||||
|
<artifactId>superMarket-backend</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
|
||||||
|
<!--父工程-->
|
||||||
|
<parent>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
|
<version>2.3.2.RELEASE</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<!--mysql驱动-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>mysql</groupId>
|
||||||
|
<artifactId>mysql-connector-java</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!--druid启动依赖-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>druid-spring-boot-starter</artifactId>
|
||||||
|
<version>1.2.11</version>
|
||||||
|
</dependency>
|
||||||
|
<!--mybatis plus启动依赖-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||||
|
<version>3.5.2</version>
|
||||||
|
</dependency>
|
||||||
|
<!--web启动依赖-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!--fastjson-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>fastjson</artifactId>
|
||||||
|
<version>1.2.71</version>
|
||||||
|
</dependency>
|
||||||
|
<!--参数校验-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-validation</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!--redis启动依赖-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!--密码加密工具类-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mindrot</groupId>
|
||||||
|
<artifactId>jbcrypt</artifactId>
|
||||||
|
<version>0.4</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>commons-io</groupId>
|
||||||
|
<artifactId>commons-io</artifactId>
|
||||||
|
<version>2.6</version>
|
||||||
|
</dependency>
|
||||||
|
<!-- lombok-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<version>1.18.10</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
@ -0,0 +1,35 @@
|
|||||||
|
package com.shanzhu.market.common.advice;
|
||||||
|
|
||||||
|
import com.shanzhu.market.common.constants.HttpStatus; // 导入HTTP状态码常量类
|
||||||
|
import com.shanzhu.market.common.exception.BusinessException; // 导入业务异常类
|
||||||
|
import com.shanzhu.market.common.web.response.JsonResult; // 导入JSON结果封装类
|
||||||
|
import org.springframework.web.bind.annotation.ExceptionHandler; // 导入异常处理器注解
|
||||||
|
import org.springframework.web.bind.annotation.RestControllerAdvice; // 导入REST控制器增强注解
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统一异常处理类的基类
|
||||||
|
*/
|
||||||
|
@RestControllerAdvice // 标记该类为REST控制器的全局异常处理器
|
||||||
|
public class ExceptionControllerAdvice {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理所有运行时异常
|
||||||
|
* @param ex 运行时异常对象
|
||||||
|
* @return 包含错误信息的JSON结果
|
||||||
|
*/
|
||||||
|
@ExceptionHandler(RuntimeException.class) // 指定处理的异常类型为RuntimeException
|
||||||
|
public JsonResult<?> commonExceptionHandler(RuntimeException ex){
|
||||||
|
ex.printStackTrace(); // 打印异常堆栈信息到控制台
|
||||||
|
return JsonResult.error(HttpStatus.CODE_BUSINESS_ERROR, ex.getMessage()); // 返回错误的JSON结果
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理业务异常
|
||||||
|
* @param ex 业务异常对象
|
||||||
|
* @return 包含错误信息的JSON结果
|
||||||
|
*/
|
||||||
|
@ExceptionHandler(BusinessException.class) // 指定处理的异常类型为BusinessException
|
||||||
|
public JsonResult<?> businessHanler(BusinessException ex){
|
||||||
|
return JsonResult.error(HttpStatus.CODE_BUSINESS_ERROR, ex.getMessage()); // 返回错误的JSON结果
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package com.shanzhu.market.common.sercurity.annotation;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType; // 导入元素类型注解
|
||||||
|
import java.lang.annotation.Retention; // 导入保留策略注解
|
||||||
|
import java.lang.annotation.RetentionPolicy; // 导入保留策略枚举类
|
||||||
|
import java.lang.annotation.Target; // 导入目标注解
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否有权限
|
||||||
|
*/
|
||||||
|
@Target({ElementType.METHOD}) // 指定该注解可以应用于方法
|
||||||
|
@Retention(RetentionPolicy.RUNTIME) // 指定该注解在运行时保留
|
||||||
|
public @interface HasPermisson {
|
||||||
|
/**
|
||||||
|
* 权限值
|
||||||
|
* @return 权限字符串
|
||||||
|
*/
|
||||||
|
String value(); // 定义权限值属性
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.shanzhu.market.common.sercurity.resolver;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType; // 导入元素类型注解
|
||||||
|
import java.lang.annotation.Retention; // 导入保留策略注解
|
||||||
|
import java.lang.annotation.RetentionPolicy; // 导入保留策略枚举类
|
||||||
|
import java.lang.annotation.Target; // 导入目标注解
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定义userInfo 参数注入注解
|
||||||
|
* 贴有该注解Employee类型的参数使用自定义参数解析器
|
||||||
|
*/
|
||||||
|
@Target({ElementType.PARAMETER}) // 指定该注解可以应用于方法参数
|
||||||
|
@Retention(RetentionPolicy.RUNTIME) // 指定该注解在运行时保留
|
||||||
|
public @interface UserParam {
|
||||||
|
// 该注解不包含任何属性
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.shanzhu.market.common.sercurity.resolver;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType; // 导入元素类型注解
|
||||||
|
import java.lang.annotation.Retention; // 导入保留策略注解
|
||||||
|
import java.lang.annotation.RetentionPolicy; // 导入保留策略枚举类
|
||||||
|
import java.lang.annotation.Target; // 导入目标注解
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定义userInfo 参数注入注解
|
||||||
|
* 贴有该注解Employee类型的参数使用自定义参数解析器
|
||||||
|
*/
|
||||||
|
@Target({ElementType.PARAMETER}) // 指定该注解可以应用于方法参数
|
||||||
|
@Retention(RetentionPolicy.RUNTIME) // 指定该注解在运行时保留
|
||||||
|
public @interface UserParam {
|
||||||
|
// 该注解不包含任何属性
|
||||||
|
}
|
@ -0,0 +1,80 @@
|
|||||||
|
package com.shanzhu.market.common.util;
|
||||||
|
|
||||||
|
import org.springframework.web.multipart.MultipartFile; // 导入MultipartFile类
|
||||||
|
|
||||||
|
import java.io.File; // 导入File类
|
||||||
|
import java.io.FileOutputStream; // 导入FileOutputStream类
|
||||||
|
import java.io.UnsupportedEncodingException; // 导入UnsupportedEncodingException类
|
||||||
|
import java.net.URLDecoder; // 导入URLDecoder类
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 路径工具类
|
||||||
|
*/
|
||||||
|
public class PathUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取类加载器的根路径
|
||||||
|
*
|
||||||
|
* @return 类加载器的根路径
|
||||||
|
*/
|
||||||
|
public static String getClassLoadRootPath() {
|
||||||
|
String path = ""; // 初始化路径字符串
|
||||||
|
try {
|
||||||
|
// 获取类加载器的资源路径并解码
|
||||||
|
String prePath = URLDecoder.decode(PathUtils.class.getClassLoader().getResource("").getPath(), "utf-8").replace("/target/classes", "");
|
||||||
|
String osName = System.getProperty("os.name"); // 获取操作系统名称
|
||||||
|
if (osName.toLowerCase().startsWith("mac")) {
|
||||||
|
// 如果是苹果系统
|
||||||
|
path = prePath.substring(0, prePath.length() - 1); // 去掉末尾斜杠
|
||||||
|
} else if (osName.toLowerCase().startsWith("windows")) {
|
||||||
|
// 如果是Windows系统
|
||||||
|
path = prePath.substring(1, prePath.length() - 1); // 去掉开头的斜杠和末尾斜杠
|
||||||
|
} else if (osName.toLowerCase().startsWith("linux") || osName.toLowerCase().startsWith("unix")) {
|
||||||
|
// 如果是Linux或Unix系统
|
||||||
|
path = prePath.substring(0, prePath.length() - 1); // 去掉末尾斜杠
|
||||||
|
} else {
|
||||||
|
path = prePath.substring(1, prePath.length() - 1); // 默认处理,去掉开头的斜杠和末尾斜杠
|
||||||
|
}
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
e.printStackTrace(); // 打印异常堆栈信息
|
||||||
|
}
|
||||||
|
return path; // 返回处理后的路径
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传文件到指定目录
|
||||||
|
*
|
||||||
|
* @param multipartFile 要上传的文件
|
||||||
|
* @return 文件的网络路径
|
||||||
|
*/
|
||||||
|
public static String upload(MultipartFile multipartFile) {
|
||||||
|
String res = null; // 初始化返回的网络路径
|
||||||
|
try {
|
||||||
|
// 获取静态文件目录路径
|
||||||
|
String staticDir = PathUtils.getClassLoadRootPath() + "/src/main/resources/static/files/";
|
||||||
|
// 如果结果目录不存在,则创建目录
|
||||||
|
File resDirFile = new File(staticDir);
|
||||||
|
if (!resDirFile.exists()) {
|
||||||
|
boolean flag = resDirFile.mkdirs(); // 创建目录
|
||||||
|
if (!flag) throw new RuntimeException("创建结果目录失败"); // 如果创建失败,抛出异常
|
||||||
|
}
|
||||||
|
// 获取MultipartFile的字节数组
|
||||||
|
byte[] fileBytes = multipartFile.getBytes();
|
||||||
|
|
||||||
|
// 加个时间戳防止重名
|
||||||
|
String newFileName = System.currentTimeMillis() + "_" + multipartFile.getOriginalFilename();
|
||||||
|
res = "/files/" + newFileName; // 构建文件的网络路径
|
||||||
|
|
||||||
|
// 写文件
|
||||||
|
File file = new File(staticDir + newFileName);
|
||||||
|
|
||||||
|
// 将字节数组写入文件
|
||||||
|
FileOutputStream fos = new FileOutputStream(file);
|
||||||
|
fos.write(fileBytes); // 写入文件
|
||||||
|
fos.close(); // 关闭文件输出流
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace(); // 打印异常堆栈信息
|
||||||
|
}
|
||||||
|
return res; // 返回文件的网络路径
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
package com.shanzhu.market.common.util;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 文件上传工具类
|
||||||
|
*/
|
||||||
|
public class UploadUtil {
|
||||||
|
// 阿里云OSS域名
|
||||||
|
private static final String ALI_DOMAIN = "https://zyl-9.oss-cn-chengdu.aliyuncs.com/";
|
||||||
|
// 阿里云OSS端点
|
||||||
|
private static final String ENDPOINT = "http://oss-cn-chengdu.aliyuncs.com";
|
||||||
|
// 阿里云OSS存储桶名称
|
||||||
|
private static final String BUCKET_NAME = "zyl-9";
|
||||||
|
|
||||||
|
// 阿里云OSS访问密钥ID
|
||||||
|
private static final String ACCESS_KEY_ID = "LTAI5tGxrbz4oXKzQ63LZzQn";
|
||||||
|
// 阿里云OSS访问密钥密钥
|
||||||
|
private static final String ACCESS_KEY_SECRET = "Do4mpXNQ4bOTzpNqrUhTeQSSwrXfHe";
|
||||||
|
// 文件存储路径前缀
|
||||||
|
private static final String path = "wolf2w-70";
|
||||||
|
|
||||||
|
// MultipartFile 对象
|
||||||
|
// public static String uploadAli(MultipartFile file, String path_suffix) throws Exception {
|
||||||
|
// // 生成文件名称
|
||||||
|
// String uuid = UUID.randomUUID().toString();
|
||||||
|
// String orgFileName = file.getOriginalFilename(); // 获取真实文件名称 xxx.jpg
|
||||||
|
// String ext = "." + FilenameUtils.getExtension(orgFileName); // 获取扩展名 .jpg
|
||||||
|
// String fileName = path + path_suffix + "/" + uuid + ext; // 生成文件名 xxxxsfsasa.jpg
|
||||||
|
// // 创建OSSClient实例。
|
||||||
|
// OSS ossClient = new OSSClientBuilder().build(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
|
||||||
|
// // 上传文件流。
|
||||||
|
// ossClient.putObject(BUCKET_NAME, fileName, file.getInputStream());
|
||||||
|
// // 关闭OSSClient。
|
||||||
|
// ossClient.shutdown();
|
||||||
|
// return ALI_DOMAIN + fileName;
|
||||||
|
// }
|
||||||
|
}
|
@ -0,0 +1,72 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; // 导入MyBatis-Plus ID类型注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; // 导入MyBatis-Plus 表ID注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门实体
|
||||||
|
*/
|
||||||
|
@TableName("department") // 指定数据库表名为department
|
||||||
|
public class Dept implements Serializable {
|
||||||
|
// 正常状态
|
||||||
|
public static final String STATE_NORMAL = "0"; // 定义正常状态常量
|
||||||
|
|
||||||
|
// 禁用状态
|
||||||
|
public static final String STATE_BAN = "-1"; // 定义禁用状态常量
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO) // 指定主键自增
|
||||||
|
private Long id; // 部门ID
|
||||||
|
|
||||||
|
private String name; // 部门名称
|
||||||
|
|
||||||
|
private String info; // 部门信息
|
||||||
|
|
||||||
|
private String state; // 部门状态
|
||||||
|
|
||||||
|
public Dept() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public Dept(Long id, String name, String info, String state) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.info = info;
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取部门ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置部门ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取部门名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置部门名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取部门信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置部门信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取部门状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置部门状态
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,77 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; // 导入MyBatis-Plus 表字段注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
@TableName("detail_sale_records") // 指定数据库表名为detail_sale_records
|
||||||
|
public class DetailSaleRecords implements Serializable {
|
||||||
|
@TableField("sell_cn") // 指定数据库字段名为sell_cn
|
||||||
|
private String sellCn; // 销售编号
|
||||||
|
|
||||||
|
@TableField("goods_id") // 指定数据库字段名为goods_id
|
||||||
|
private Long goodsId; // 商品ID
|
||||||
|
|
||||||
|
@TableField("goods_num") // 指定数据库字段名为goods_num
|
||||||
|
private Long goodsNum; // 商品数量
|
||||||
|
|
||||||
|
@TableField("goods_price") // 指定数据库字段名为goods_price
|
||||||
|
private Double goodsPrice; // 商品价格
|
||||||
|
|
||||||
|
@TableField("goods_name") // 指定数据库字段名为goods_name
|
||||||
|
private String goodsName; // 商品名称
|
||||||
|
|
||||||
|
public DetailSaleRecords() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public DetailSaleRecords(String sellCn, Long goodsId, Long goodsNum, Double goodsPrice, String goodsName) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.sellCn = sellCn;
|
||||||
|
this.goodsId = goodsId;
|
||||||
|
this.goodsNum = goodsNum;
|
||||||
|
this.goodsPrice = goodsPrice;
|
||||||
|
this.goodsName = goodsName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSellCn() {
|
||||||
|
return sellCn; // 获取销售编号
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSellCn(String sellCn) {
|
||||||
|
this.sellCn = sellCn; // 设置销售编号
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGoodsId() {
|
||||||
|
return goodsId; // 获取商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsId(Long goodsId) {
|
||||||
|
this.goodsId = goodsId; // 设置商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGoodsNum() {
|
||||||
|
return goodsNum; // 获取商品数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsNum(Long goodsNum) {
|
||||||
|
this.goodsNum = goodsNum; // 设置商品数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getGoodsPrice() {
|
||||||
|
return goodsPrice; // 获取商品价格
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsPrice(Double goodsPrice) {
|
||||||
|
this.goodsPrice = goodsPrice; // 设置商品价格
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGoodsName() {
|
||||||
|
return goodsName; // 获取商品名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsName(String goodsName) {
|
||||||
|
this.goodsName = goodsName; // 设置商品名称
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,132 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; // 导入MyBatis-Plus 表字段注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; // 导入Jackson JSON格式化注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
import java.util.Date; // 导入日期类
|
||||||
|
|
||||||
|
@TableName("exchange_point_products_records") // 指定数据库表名为exchange_point_products_records
|
||||||
|
public class ExchangePointProducts implements Serializable {
|
||||||
|
public static final String STATE_NORMAL = "0"; // 正常状态
|
||||||
|
public static final String STATE_DEL = "1"; // 删除状态
|
||||||
|
|
||||||
|
private String cn; // 系统编号
|
||||||
|
|
||||||
|
@TableField("goods_id") // 指定数据库字段名为goods_id
|
||||||
|
private Long goodsId; // 商品ID
|
||||||
|
|
||||||
|
@TableField("member_id") // 指定数据库字段名为member_id
|
||||||
|
private Long memberId; // 会员ID
|
||||||
|
|
||||||
|
private Long integral; // 积分
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 指定JSON日期格式
|
||||||
|
@TableField("update_time") // 指定数据库字段名为update_time
|
||||||
|
private Date updateTime; // 更新时间
|
||||||
|
|
||||||
|
private String updateby; // 更新人
|
||||||
|
|
||||||
|
@TableField("update_id") // 指定数据库字段名为update_id
|
||||||
|
private Long updateId; // 更新人ID
|
||||||
|
|
||||||
|
private String state; // 状态
|
||||||
|
|
||||||
|
@TableField(exist = false) // 不映射到数据库
|
||||||
|
private String memberPhone; // 会员账号
|
||||||
|
|
||||||
|
@TableField(exist = false) // 不映射到数据库
|
||||||
|
private String goodsName; // 商品名称
|
||||||
|
|
||||||
|
@TableField(exist = false) // 不映射到数据库
|
||||||
|
private String goodsCoverUrl; // 商品封面URL
|
||||||
|
|
||||||
|
public String getCn() {
|
||||||
|
return cn; // 获取系统编号
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCn(String cn) {
|
||||||
|
this.cn = cn; // 设置系统编号
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGoodsId() {
|
||||||
|
return goodsId; // 获取商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsId(Long goodsId) {
|
||||||
|
this.goodsId = goodsId; // 设置商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getMemberId() {
|
||||||
|
return memberId; // 获取会员ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMemberId(Long memberId) {
|
||||||
|
this.memberId = memberId; // 设置会员ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIntegral() {
|
||||||
|
return integral; // 获取积分
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIntegral(Long integral) {
|
||||||
|
this.integral = integral; // 设置积分
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getUpdateTime() {
|
||||||
|
return updateTime; // 获取更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) {
|
||||||
|
this.updateTime = updateTime; // 设置更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpdateby() {
|
||||||
|
return updateby; // 获取更新人
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateby(String updateby) {
|
||||||
|
this.updateby = updateby; // 设置更新人
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUpdateId() {
|
||||||
|
return updateId; // 获取更新人ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateId(Long updateId) {
|
||||||
|
this.updateId = updateId; // 设置更新人ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMemberPhone() {
|
||||||
|
return memberPhone; // 获取会员账号
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMemberPhone(String memberPhone) {
|
||||||
|
this.memberPhone = memberPhone; // 设置会员账号
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGoodsName() {
|
||||||
|
return goodsName; // 获取商品名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsName(String goodsName) {
|
||||||
|
this.goodsName = goodsName; // 设置商品名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGoodsCoverUrl() {
|
||||||
|
return goodsCoverUrl; // 获取商品封面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsCoverUrl(String goodsCoverUrl) {
|
||||||
|
this.goodsCoverUrl = goodsCoverUrl; // 设置商品封面URL
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,238 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; // 导入MyBatis-Plus ID类型注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; // 导入MyBatis-Plus 表字段注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; // 导入MyBatis-Plus 表ID注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; // 导入Jackson JSON格式化注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
import java.util.Date; // 导入日期类
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品
|
||||||
|
*/
|
||||||
|
@TableName("goods") // 指定数据库表名为goods
|
||||||
|
public class Goods implements Serializable {
|
||||||
|
public static final String STATE_UP = "0"; // 上架状态
|
||||||
|
public static final String STATE_DOWN = "1"; // 下架状态
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO) // 指定主键自增
|
||||||
|
private Long id; // 商品ID
|
||||||
|
|
||||||
|
private String name; // 商品名
|
||||||
|
|
||||||
|
private String info; // 商品信息
|
||||||
|
|
||||||
|
@TableField("category_name") // 指定数据库字段名为category_name
|
||||||
|
private String categoryName; // 商品分类名
|
||||||
|
|
||||||
|
@TableField("category_id") // 指定数据库字段名为category_id
|
||||||
|
private Long categoryId; // 商品分类ID
|
||||||
|
|
||||||
|
private String createby; // 创建者
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd") // 指定JSON日期格式
|
||||||
|
@TableField("create_time") // 指定数据库字段名为create_time
|
||||||
|
private Date createTime; // 创建时间
|
||||||
|
|
||||||
|
private String updateby; // 更新者
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd") // 指定JSON日期格式
|
||||||
|
@TableField("update_time") // 指定数据库字段名为update_time
|
||||||
|
private Date updateTime; // 更新时间
|
||||||
|
|
||||||
|
@TableField("sell_price") // 指定数据库字段名为sell_price
|
||||||
|
private Double sellPrice; // 销售价格
|
||||||
|
|
||||||
|
@TableField("purchash_price") // 指定数据库字段名为purchash_price
|
||||||
|
private Double purchashPrice; // 进货价格
|
||||||
|
|
||||||
|
@TableField("residue_num") // 指定数据库字段名为residue_num
|
||||||
|
private Long residueNum; // 剩余数量
|
||||||
|
|
||||||
|
@TableField(exist = false) // 不映射到数据库
|
||||||
|
private Long residueStoreNum; // 剩余库存数量
|
||||||
|
|
||||||
|
@TableField("cover_url") // 指定数据库字段名为cover_url
|
||||||
|
private String coverUrl; // 商品封面URL
|
||||||
|
|
||||||
|
private String state = STATE_UP; // 状态,默认为上架状态
|
||||||
|
|
||||||
|
@TableField("sales_volume") // 指定数据库字段名为sales_volume
|
||||||
|
private Long salesVolume; // 销售量
|
||||||
|
|
||||||
|
private Long inventory; // 需库存量
|
||||||
|
|
||||||
|
private Long shelves; // 货架商品数量
|
||||||
|
|
||||||
|
public Goods() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public Goods(Long id, String name, String info, String categoryName, Long categoryId, String createby, Date createTime, String updateby, Date updateTime, Double sellPrice, Double purchashPrice, Long residueNum, Long residueStoreNum, String coverUrl, String state, Long salesVolume, Long inventory, Long shelves) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.info = info;
|
||||||
|
this.categoryName = categoryName;
|
||||||
|
this.categoryId = categoryId;
|
||||||
|
this.createby = createby;
|
||||||
|
this.createTime = createTime;
|
||||||
|
this.updateby = updateby;
|
||||||
|
this.updateTime = updateTime;
|
||||||
|
this.sellPrice = sellPrice;
|
||||||
|
this.purchashPrice = purchashPrice;
|
||||||
|
this.residueNum = residueNum;
|
||||||
|
this.residueStoreNum = residueStoreNum;
|
||||||
|
this.coverUrl = coverUrl;
|
||||||
|
this.state = state;
|
||||||
|
this.salesVolume = salesVolume;
|
||||||
|
this.inventory = inventory;
|
||||||
|
this.shelves = shelves;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取商品名
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置商品名
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取商品信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置商品信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCategoryName() {
|
||||||
|
return categoryName; // 获取商品分类名
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCategoryName(String categoryName) {
|
||||||
|
this.categoryName = categoryName; // 设置商品分类名
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCategoryId() {
|
||||||
|
return categoryId; // 获取商品分类ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCategoryId(Long categoryId) {
|
||||||
|
this.categoryId = categoryId; // 设置商品分类ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreateby() {
|
||||||
|
return createby; // 获取创建者
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateby(String createby) {
|
||||||
|
this.createby = createby; // 设置创建者
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getCreateTime() {
|
||||||
|
return createTime; // 获取创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateTime(Date createTime) {
|
||||||
|
this.createTime = createTime; // 设置创建时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpdateby() {
|
||||||
|
return updateby; // 获取更新者
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateby(String updateby) {
|
||||||
|
this.updateby = updateby; // 设置更新者
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getUpdateTime() {
|
||||||
|
return updateTime; // 获取更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) {
|
||||||
|
this.updateTime = updateTime; // 设置更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getSellPrice() {
|
||||||
|
return sellPrice; // 获取销售价格
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSellPrice(Double sellPrice) {
|
||||||
|
this.sellPrice = sellPrice; // 设置销售价格
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getPurchashPrice() {
|
||||||
|
return purchashPrice; // 获取进货价格
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPurchashPrice(Double purchashPrice) {
|
||||||
|
this.purchashPrice = purchashPrice; // 设置进货价格
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getResidueNum() {
|
||||||
|
return residueNum; // 获取剩余数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setResidueNum(Long residueNum) {
|
||||||
|
this.residueNum = residueNum; // 设置剩余数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getResidueStoreNum() {
|
||||||
|
return residueStoreNum; // 获取剩余库存数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setResidueStoreNum(Long residueStoreNum) {
|
||||||
|
this.residueStoreNum = residueStoreNum; // 设置剩余库存数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCoverUrl() {
|
||||||
|
return coverUrl; // 获取商品封面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCoverUrl(String coverUrl) {
|
||||||
|
this.coverUrl = coverUrl; // 设置商品封面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getSalesVolume() {
|
||||||
|
return salesVolume; // 获取销售量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSalesVolume(Long salesVolume) {
|
||||||
|
this.salesVolume = salesVolume; // 设置销售量
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getInventory() {
|
||||||
|
return inventory; // 获取需库存量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInventory(Long inventory) {
|
||||||
|
this.inventory = inventory; // 设置需库存量
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getShelves() {
|
||||||
|
return shelves; // 获取货架商品数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShelves(Long shelves) {
|
||||||
|
this.shelves = shelves; // 设置货架商品数量
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,69 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; // 导入MyBatis-Plus ID类型注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; // 导入MyBatis-Plus 表ID注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品分类
|
||||||
|
*/
|
||||||
|
@TableName("goods_category") // 指定数据库表名为goods_category
|
||||||
|
public class GoodsCategory implements Serializable {
|
||||||
|
public static final String STATE_NORMAL = "0"; // 正常状态
|
||||||
|
public static final String STATE_BAN = "-1"; // 禁用状态
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO) // 指定主键自增
|
||||||
|
private Long id; // 商品分类ID
|
||||||
|
|
||||||
|
private String name; // 商品分类名称
|
||||||
|
|
||||||
|
private String info; // 商品分类信息
|
||||||
|
|
||||||
|
private String state; // 商品分类状态
|
||||||
|
|
||||||
|
public GoodsCategory() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public GoodsCategory(Long id, String name, String info, String state) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.info = info;
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取商品分类ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置商品分类ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取商品分类名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置商品分类名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取商品分类信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置商品分类信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取商品分类状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置商品分类状态
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,77 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; // 导入MyBatis-Plus 表字段注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
@TableName("t_goods_store") // 指定数据库表名为t_goods_store
|
||||||
|
public class GoodsStore implements Serializable {
|
||||||
|
@TableField("goods_id") // 指定数据库字段名为goods_id
|
||||||
|
private Long goodsId; // 商品ID
|
||||||
|
|
||||||
|
@TableField("store_id") // 指定数据库字段名为store_id
|
||||||
|
private Long storeId; // 仓库ID
|
||||||
|
|
||||||
|
@TableField("in_num") // 指定数据库字段名为in_num
|
||||||
|
private Long inNum; // 入库数量
|
||||||
|
|
||||||
|
@TableField("residue_num") // 指定数据库字段名为residue_num
|
||||||
|
private Long residueNum; // 剩余数量
|
||||||
|
|
||||||
|
@TableField("store_name") // 指定数据库字段名为store_name
|
||||||
|
private String storeName; // 仓库名称
|
||||||
|
|
||||||
|
public GoodsStore() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public GoodsStore(Long goodsId, Long storeId, Long inNum, Long residueNum, String storeName) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.goodsId = goodsId;
|
||||||
|
this.storeId = storeId;
|
||||||
|
this.inNum = inNum;
|
||||||
|
this.residueNum = residueNum;
|
||||||
|
this.storeName = storeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGoodsId() {
|
||||||
|
return goodsId; // 获取商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsId(Long goodsId) {
|
||||||
|
this.goodsId = goodsId; // 设置商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getStoreId() {
|
||||||
|
return storeId; // 获取仓库ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStoreId(Long storeId) {
|
||||||
|
this.storeId = storeId; // 设置仓库ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getInNum() {
|
||||||
|
return inNum; // 获取入库数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInNum(Long inNum) {
|
||||||
|
this.inNum = inNum; // 设置入库数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getResidueNum() {
|
||||||
|
return residueNum; // 获取剩余数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setResidueNum(Long residueNum) {
|
||||||
|
this.residueNum = residueNum; // 设置剩余数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStoreName() {
|
||||||
|
return storeName; // 获取仓库名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStoreName(String storeName) {
|
||||||
|
this.storeName = storeName; // 设置仓库名称
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,113 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; // 导入MyBatis-Plus ID类型注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; // 导入MyBatis-Plus 表ID注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore; // 导入Jackson忽略字段注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
@TableName("t_member") // 指定数据库表名为t_member
|
||||||
|
public class Member implements Serializable {
|
||||||
|
public static final String STATE_NORMAL = "0"; // 正常状态
|
||||||
|
public static final String STATE_BAN = "1"; // 禁用状态
|
||||||
|
public static final String DEFAULT_PWD = "123456"; // 默认密码
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO) // 指定主键自增
|
||||||
|
private Long id; // 会员ID
|
||||||
|
|
||||||
|
private String name; // 会员姓名
|
||||||
|
|
||||||
|
private String phone; // 会员手机号
|
||||||
|
|
||||||
|
@JsonIgnore // 忽略序列化
|
||||||
|
private String password; // 会员密码
|
||||||
|
|
||||||
|
private String email; // 会员邮箱
|
||||||
|
|
||||||
|
private Long integral; // 会员积分
|
||||||
|
|
||||||
|
private String state; // 会员状态
|
||||||
|
|
||||||
|
private String info; // 会员信息
|
||||||
|
|
||||||
|
public Member() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public Member(Long id, String name, String phone, String password, String email, Long integral, String state, String info) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.phone = phone;
|
||||||
|
this.password = password;
|
||||||
|
this.email = email;
|
||||||
|
this.integral = integral;
|
||||||
|
this.state = state;
|
||||||
|
this.info = info;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取会员ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置会员ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取会员姓名
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置会员姓名
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPhone() {
|
||||||
|
return phone; // 获取会员手机号
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPhone(String phone) {
|
||||||
|
this.phone = phone; // 设置会员手机号
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPassword() {
|
||||||
|
return password; // 获取会员密码
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(String password) {
|
||||||
|
this.password = password; // 设置会员密码
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEmail() {
|
||||||
|
return email; // 获取会员邮箱
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEmail(String email) {
|
||||||
|
this.email = email; // 设置会员邮箱
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIntegral() {
|
||||||
|
return integral; // 获取会员积分
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIntegral(Long integral) {
|
||||||
|
this.integral = integral; // 设置会员积分
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取会员状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置会员状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取会员信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置会员信息
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,167 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; // 导入MyBatis-Plus ID类型注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; // 导入MyBatis-Plus 表字段注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; // 导入MyBatis-Plus 表ID注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
import java.util.List; // 导入列表类
|
||||||
|
import java.util.Objects; // 导入Objects类
|
||||||
|
|
||||||
|
@TableName("t_menu") // 指定数据库表名为t_menu
|
||||||
|
public class Menu implements Serializable {
|
||||||
|
public static final String TYPE_CATALOGUE = "0"; // 目录类型
|
||||||
|
public static final String TYPE_MENU = "1"; // 菜单类型
|
||||||
|
public static final String TYPE_BUTTON = "2"; // 按钮类型
|
||||||
|
public static final String STATE_NORMAL = "0"; // 正常状态
|
||||||
|
public static final String STATE_DEL = "-1"; // 禁用状态
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO) // 指定主键自增
|
||||||
|
private Long id; // 菜单ID
|
||||||
|
|
||||||
|
private String label; // 菜单标签
|
||||||
|
|
||||||
|
private String purl; // 菜单URL
|
||||||
|
|
||||||
|
private String type; // 菜单类型
|
||||||
|
|
||||||
|
@TableField("parent_id") // 指定数据库字段名为parent_id
|
||||||
|
private Long parentId; // 父菜单ID
|
||||||
|
|
||||||
|
@TableField("parent_label") // 指定数据库字段名为parent_label
|
||||||
|
private String parentLabel; // 父菜单标签
|
||||||
|
|
||||||
|
private String info; // 菜单信息
|
||||||
|
|
||||||
|
private String state; // 菜单状态
|
||||||
|
|
||||||
|
private String flag; // 权限标识符
|
||||||
|
|
||||||
|
private String icon; // 菜单图标
|
||||||
|
|
||||||
|
private String component; // 组件路径
|
||||||
|
|
||||||
|
@TableField(exist = false) // 不映射到数据库
|
||||||
|
private List<Menu> children; // 子菜单列表
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true; // 比较对象是否相同
|
||||||
|
if (o == null || getClass() != o.getClass()) return false; // 比较对象是否为null或类是否相同
|
||||||
|
Menu menu = (Menu) o; // 强制转换为Menu对象
|
||||||
|
return Objects.equals(id, menu.id) && // 比较菜单ID
|
||||||
|
Objects.equals(label, menu.label) && // 比较菜单标签
|
||||||
|
Objects.equals(purl, menu.purl) && // 比较菜单URL
|
||||||
|
Objects.equals(type, menu.type) && // 比较菜单类型
|
||||||
|
Objects.equals(parentId, menu.parentId) && // 比较父菜单ID
|
||||||
|
Objects.equals(parentLabel, menu.parentLabel) && // 比较父菜单标签
|
||||||
|
Objects.equals(info, menu.info) && // 比较菜单信息
|
||||||
|
Objects.equals(state, menu.state) && // 比较菜单状态
|
||||||
|
Objects.equals(flag, menu.flag) && // 比较权限标识符
|
||||||
|
Objects.equals(icon, menu.icon) && // 比较菜单图标
|
||||||
|
Objects.equals(component, menu.component) && // 比较组件路径
|
||||||
|
Objects.equals(children, menu.children); // 比较子菜单列表
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(id, label, purl, type, parentId, parentLabel, info, state, flag, component, children); // 生成哈希码
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取菜单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置菜单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getLabel() {
|
||||||
|
return label; // 获取菜单标签
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLabel(String label) {
|
||||||
|
this.label = label; // 设置菜单标签
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPurl() {
|
||||||
|
return purl; // 获取菜单URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPurl(String purl) {
|
||||||
|
this.purl = purl; // 设置菜单URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type; // 获取菜单类型
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type; // 设置菜单类型
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getParentId() {
|
||||||
|
return parentId; // 获取父菜单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParentId(Long parentId) {
|
||||||
|
this.parentId = parentId; // 设置父菜单ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getParentLabel() {
|
||||||
|
return parentLabel; // 获取父菜单标签
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParentLabel(String parentLabel) {
|
||||||
|
this.parentLabel = parentLabel; // 设置父菜单标签
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取菜单信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置菜单信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取菜单状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置菜单状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFlag() {
|
||||||
|
return flag; // 获取权限标识符
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFlag(String flag) {
|
||||||
|
this.flag = flag; // 设置权限标识符
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIcon() {
|
||||||
|
return icon; // 获取菜单图标
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIcon(String icon) {
|
||||||
|
this.icon = icon; // 设置菜单图标
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getComponent() {
|
||||||
|
return component; // 获取组件路径
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComponent(String component) {
|
||||||
|
this.component = component; // 设置组件路径
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Menu> getChildren() {
|
||||||
|
return children; // 获取子菜单列表
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChildren(List<Menu> children) {
|
||||||
|
this.children = children; // 设置子菜单列表
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,68 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
public class NoticeIn implements Serializable {
|
||||||
|
private Long id; // 通知ID
|
||||||
|
|
||||||
|
private String name; // 商品名
|
||||||
|
|
||||||
|
private Double purchashPrice; // 进货价格
|
||||||
|
|
||||||
|
private Long goodsNum; // 商品数量
|
||||||
|
|
||||||
|
private String coverUrl; // 商品封面URL
|
||||||
|
|
||||||
|
public NoticeIn() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public NoticeIn(Long id, String name, Double purchashPrice, Long goodsNum, String coverUrl) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.purchashPrice = purchashPrice;
|
||||||
|
this.goodsNum = goodsNum;
|
||||||
|
this.coverUrl = coverUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取通知ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置通知ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取商品名
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置商品名
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getPurchashPrice() {
|
||||||
|
return purchashPrice; // 获取进货价格
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPurchashPrice(Double purchashPrice) {
|
||||||
|
this.purchashPrice = purchashPrice; // 设置进货价格
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGoodsNum() {
|
||||||
|
return goodsNum; // 获取商品数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsNum(Long goodsNum) {
|
||||||
|
this.goodsNum = goodsNum; // 设置商品数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCoverUrl() {
|
||||||
|
return coverUrl; // 获取商品封面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCoverUrl(String coverUrl) {
|
||||||
|
this.coverUrl = coverUrl; // 设置商品封面URL
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,68 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
public class NoticeOut implements Serializable {
|
||||||
|
private Long id; // 通知ID
|
||||||
|
|
||||||
|
private String name; // 商品名
|
||||||
|
|
||||||
|
private Long goodsNum; // 商品数量
|
||||||
|
|
||||||
|
private String coverUrl; // 商品封面URL
|
||||||
|
|
||||||
|
private String state; // 状态
|
||||||
|
|
||||||
|
public NoticeOut() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public NoticeOut(Long id, String name, Long goodsNum, String coverUrl, String state) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.goodsNum = goodsNum;
|
||||||
|
this.coverUrl = coverUrl;
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取通知ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置通知ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取商品名
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置商品名
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGoodsNum() {
|
||||||
|
return goodsNum; // 获取商品数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsNum(Long goodsNum) {
|
||||||
|
this.goodsNum = goodsNum; // 设置商品数量
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCoverUrl() {
|
||||||
|
return coverUrl; // 获取商品封面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCoverUrl(String coverUrl) {
|
||||||
|
this.coverUrl = coverUrl; // 设置商品封面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置状态
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,114 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; // 导入MyBatis-Plus 表字段注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
import java.util.Date; // 导入日期类
|
||||||
|
|
||||||
|
@TableName("point_products") // 指定数据库表名为point_products
|
||||||
|
public class PointProducts implements Serializable {
|
||||||
|
public static final String STATE_NORMAL = "0"; // 正常状态
|
||||||
|
public static final String STATE_DEL = "1"; // 删除状态
|
||||||
|
|
||||||
|
@TableField("goods_id") // 指定数据库字段名为goods_id
|
||||||
|
private Long goodsId; // 商品ID
|
||||||
|
|
||||||
|
@TableField("goods_name") // 指定数据库字段名为goods_name
|
||||||
|
private String goodsName; // 商品名称
|
||||||
|
|
||||||
|
private Long integral; // 积分
|
||||||
|
|
||||||
|
private String updateby; // 更新人
|
||||||
|
|
||||||
|
@TableField("update_time") // 指定数据库字段名为update_time
|
||||||
|
private Date updateTime; // 更新时间
|
||||||
|
|
||||||
|
@TableField("cover_url") // 指定数据库字段名为cover_url
|
||||||
|
private String coverUrl; // 商品封面URL
|
||||||
|
|
||||||
|
@TableField("update_id") // 指定数据库字段名为update_id
|
||||||
|
private Long updateId; // 更新人ID
|
||||||
|
|
||||||
|
private String state; // 状态
|
||||||
|
|
||||||
|
public PointProducts() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public PointProducts(Long goodsId, String goodsName, Long integral, String updateby, Date updateTime, String coverUrl, Long updateId, String state) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.goodsId = goodsId;
|
||||||
|
this.goodsName = goodsName;
|
||||||
|
this.integral = integral;
|
||||||
|
this.updateby = updateby;
|
||||||
|
this.updateTime = updateTime;
|
||||||
|
this.coverUrl = coverUrl;
|
||||||
|
this.updateId = updateId;
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getGoodsId() {
|
||||||
|
return goodsId; // 获取商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsId(Long goodsId) {
|
||||||
|
this.goodsId = goodsId; // 设置商品ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getGoodsName() {
|
||||||
|
return goodsName; // 获取商品名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGoodsName(String goodsName) {
|
||||||
|
this.goodsName = goodsName; // 设置商品名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getIntegral() {
|
||||||
|
return integral; // 获取积分
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIntegral(Long integral) {
|
||||||
|
this.integral = integral; // 设置积分
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpdateby() {
|
||||||
|
return updateby; // 获取更新人
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateby(String updateby) {
|
||||||
|
this.updateby = updateby; // 设置更新人
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getUpdateTime() {
|
||||||
|
return updateTime; // 获取更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateTime(Date updateTime) {
|
||||||
|
this.updateTime = updateTime; // 设置更新时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCoverUrl() {
|
||||||
|
return coverUrl; // 获取商品封面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCoverUrl(String coverUrl) {
|
||||||
|
this.coverUrl = coverUrl; // 设置商品封面URL
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getUpdateId() {
|
||||||
|
return updateId; // 获取更新人ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdateId(Long updateId) {
|
||||||
|
this.updateId = updateId; // 设置更新人ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置状态
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,74 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; // 导入MyBatis-Plus ID类型注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; // 导入MyBatis-Plus 表ID注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 权限实体类
|
||||||
|
*/
|
||||||
|
@TableName("t_role") // 指定数据库表名为t_role
|
||||||
|
public class Role implements Serializable {
|
||||||
|
public static final Long SYS_ID = 1L; // 系统角色ID
|
||||||
|
|
||||||
|
// 正常状态
|
||||||
|
public static final String STATE_NORMAL = "0";
|
||||||
|
|
||||||
|
// 禁用状态
|
||||||
|
public static final String STATE_BAN = "-1";
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO) // 指定主键自增
|
||||||
|
private Long id; // 角色ID
|
||||||
|
|
||||||
|
private String name; // 角色名称
|
||||||
|
|
||||||
|
private String info; // 角色信息
|
||||||
|
|
||||||
|
private String state; // 角色状态
|
||||||
|
|
||||||
|
public Role() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public Role(Long id, String name, String info, String state) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.info = info;
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取角色ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置角色ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取角色名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置角色名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取角色信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置角色信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取角色状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置角色状态
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,172 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField; // 导入MyBatis-Plus 表字段注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat; // 导入Jackson JSON格式化注解类
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat; // 导入Spring日期时间格式化注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
import java.util.ArrayList; // 导入ArrayList类
|
||||||
|
import java.util.Date; // 导入日期类
|
||||||
|
import java.util.List; // 导入列表类
|
||||||
|
|
||||||
|
@TableName("t_sale_records") // 指定数据库表名为t_sale_records
|
||||||
|
public class SaleRecords implements Serializable {
|
||||||
|
public static final String STATE_NORMAL = "0"; // 正常状态
|
||||||
|
public static final String STATE_DEL = "1"; // 删除状态
|
||||||
|
private static final String TYPE_MEMBER = "1"; // 会员类型
|
||||||
|
private static final String TYPE_NOMEMBER = "0"; // 非会员类型
|
||||||
|
private static final String SELLWAY_ALIPAY = "0"; // 支付宝支付方式
|
||||||
|
private static final String SELLWAY_WECHAT = "1"; // 微信支付方式
|
||||||
|
private static final String SELLWAY_CASH = "2"; // 现金支付方式
|
||||||
|
private static final String SELLWAY_CREDIT = "3"; // 信用支付方式
|
||||||
|
private static final Double DISCOUNT = 0.9; // 折扣率
|
||||||
|
|
||||||
|
@TableField("cn") // 指定数据库字段名为cn
|
||||||
|
private String cn; // 销售编号
|
||||||
|
|
||||||
|
private Long eid; // 员工ID
|
||||||
|
|
||||||
|
private String sellway; // 支付方式
|
||||||
|
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 指定JSON日期格式
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 指定日期时间格式
|
||||||
|
@TableField("sell_time") // 指定数据库字段名为sell_time
|
||||||
|
private Date sellTime; // 销售时间
|
||||||
|
|
||||||
|
private String state; // 状态
|
||||||
|
|
||||||
|
private String info; // 信息
|
||||||
|
|
||||||
|
private String sellby; // 销售人
|
||||||
|
|
||||||
|
@TableField("sell_total") // 指定数据库字段名为sell_total
|
||||||
|
private Long sellTotal; // 销售总数
|
||||||
|
|
||||||
|
@TableField("sell_totalmoney") // 指定数据库字段名为sell_totalmoney
|
||||||
|
private Double sellTotalmoney; // 销售总金额
|
||||||
|
|
||||||
|
private String type; // 类型(会员或非会员)
|
||||||
|
|
||||||
|
@TableField(exist = false) // 不映射到数据库
|
||||||
|
private List<DetailSaleRecords> detailSaleRecords = new ArrayList<>(); // 详细销售记录列表
|
||||||
|
|
||||||
|
@TableField("member_phone") // 指定数据库字段名为member_phone
|
||||||
|
private String memberPhone; // 会员账号
|
||||||
|
|
||||||
|
public SaleRecords() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public SaleRecords(String cn, Long eid, String sellway, Date sellTime, String state, String info, String sellby, Long sellTotal, Double sellTotalmoney, String type, List<DetailSaleRecords> detailSaleRecords, String memberPhone) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.cn = cn;
|
||||||
|
this.eid = eid;
|
||||||
|
this.sellway = sellway;
|
||||||
|
this.sellTime = sellTime;
|
||||||
|
this.state = state;
|
||||||
|
this.info = info;
|
||||||
|
this.sellby = sellby;
|
||||||
|
this.sellTotal = sellTotal;
|
||||||
|
this.sellTotalmoney = sellTotalmoney;
|
||||||
|
this.type = type;
|
||||||
|
this.detailSaleRecords = detailSaleRecords;
|
||||||
|
this.memberPhone = memberPhone;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCn() {
|
||||||
|
return cn; // 获取销售编号
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCn(String cn) {
|
||||||
|
this.cn = cn; // 设置销售编号
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getEid() {
|
||||||
|
return eid; // 获取员工ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEid(Long eid) {
|
||||||
|
this.eid = eid; // 设置员工ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSellway() {
|
||||||
|
return sellway; // 获取支付方式
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSellway(String sellway) {
|
||||||
|
this.sellway = sellway; // 设置支付方式
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getSellTime() {
|
||||||
|
return sellTime; // 获取销售时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSellTime(Date sellTime) {
|
||||||
|
this.sellTime = sellTime; // 设置销售时间
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSellby() {
|
||||||
|
return sellby; // 获取销售人
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSellby(String sellby) {
|
||||||
|
this.sellby = sellby; // 设置销售人
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getSellTotal() {
|
||||||
|
return sellTotal; // 获取销售总数
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSellTotal(Long sellTotal) {
|
||||||
|
this.sellTotal = sellTotal; // 设置销售总数
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getSellTotalmoney() {
|
||||||
|
return sellTotalmoney; // 获取销售总金额
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSellTotalmoney(Double sellTotalmoney) {
|
||||||
|
this.sellTotalmoney = sellTotalmoney; // 设置销售总金额
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type; // 获取类型(会员或非会员)
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type; // 设置类型(会员或非会员)
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<DetailSaleRecords> getDetailSaleRecords() {
|
||||||
|
return detailSaleRecords; // 获取详细销售记录列表
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDetailSaleRecords(List<DetailSaleRecords> detailSaleRecords) {
|
||||||
|
this.detailSaleRecords = detailSaleRecords; // 设置详细销售记录列表
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMemberPhone() {
|
||||||
|
return memberPhone; // 获取会员账号
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMemberPhone(String memberPhone) {
|
||||||
|
this.memberPhone = memberPhone; // 设置会员账号
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,80 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; // 导入MyBatis-Plus ID类型注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; // 导入MyBatis-Plus 表ID注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仓库实体
|
||||||
|
*/
|
||||||
|
@TableName("store") // 指定数据库表名为store
|
||||||
|
public class Store implements Serializable {
|
||||||
|
public static final String STATE_NORMAL = "0"; // 正常状态
|
||||||
|
public static final String STATE_BAN = "-1"; // 禁用状态
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO) // 指定主键自增
|
||||||
|
private Long id; // 仓库ID
|
||||||
|
|
||||||
|
private String name; // 仓库名称
|
||||||
|
|
||||||
|
private String address; // 仓库地址
|
||||||
|
|
||||||
|
private String info; // 仓库信息
|
||||||
|
|
||||||
|
private String state; // 仓库状态
|
||||||
|
|
||||||
|
public Store() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public Store(Long id, String name, String address, String info, String state) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
this.address = address;
|
||||||
|
this.info = info;
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return id; // 获取仓库ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id; // 设置仓库ID
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取仓库名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置仓库名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAddress() {
|
||||||
|
return address; // 获取仓库地址
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddress(String address) {
|
||||||
|
this.address = address; // 设置仓库地址
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取仓库信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置仓库信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取仓库状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置仓库状态
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,88 @@
|
|||||||
|
package com.shanzhu.market.entity.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType; // 导入MyBatis-Plus ID类型注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId; // 导入MyBatis-Plus 表ID注解类
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; // 导入MyBatis-Plus 表名注解类
|
||||||
|
|
||||||
|
import java.io.Serializable; // 导入序列化接口
|
||||||
|
|
||||||
|
@TableName("supplier") // 指定数据库表名为supplier
|
||||||
|
public class Supplier implements Serializable {
|
||||||
|
public static final String STATE_NORMAL = "0"; // 正常状态
|
||||||
|
public static final String STATE_BAN = "-1"; // 禁用状态
|
||||||
|
|
||||||
|
@TableId(type = IdType.AUTO) // 指定主键自增
|
||||||
|
private Long cn; // 供应商编号
|
||||||
|
|
||||||
|
private String name; // 供应商名称
|
||||||
|
|
||||||
|
private String address; // 供应商地址
|
||||||
|
|
||||||
|
private String tel; // 供应商电话
|
||||||
|
|
||||||
|
private String info; // 供应商信息
|
||||||
|
|
||||||
|
private String state; // 供应商状态
|
||||||
|
|
||||||
|
public Supplier() {
|
||||||
|
// 默认构造函数
|
||||||
|
}
|
||||||
|
|
||||||
|
public Supplier(Long cn, String name, String address, String tel, String info, String state) {
|
||||||
|
// 带参数的构造函数
|
||||||
|
this.cn = cn;
|
||||||
|
this.name = name;
|
||||||
|
this.address = address;
|
||||||
|
this.tel = tel;
|
||||||
|
this.info = info;
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getCn() {
|
||||||
|
return cn; // 获取供应商编号
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCn(Long cn) {
|
||||||
|
this.cn = cn; // 设置供应商编号
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name; // 获取供应商名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name; // 设置供应商名称
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAddress() {
|
||||||
|
return address; // 获取供应商地址
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddress(String address) {
|
||||||
|
this.address = address; // 设置供应商地址
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTel() {
|
||||||
|
return tel; // 获取供应商电话
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTel(String tel) {
|
||||||
|
this.tel = tel; // 设置供应商电话
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info; // 获取供应商信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info; // 设置供应商信息
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getState() {
|
||||||
|
return state; // 获取供应商状态
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state; // 设置供应商状态
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.shanzhu.market.entity.query;
|
||||||
|
|
||||||
|
// 定义一个部门查询类
|
||||||
|
public class QueryDept {
|
||||||
|
// 部门名称
|
||||||
|
private String name;
|
||||||
|
// 部门状态
|
||||||
|
private String state;
|
||||||
|
|
||||||
|
// 获取部门名称
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置部门名称
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取部门状态
|
||||||
|
public String getState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置部门状态
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
package com.shanzhu.market.entity.query;
|
||||||
|
|
||||||
|
// 定义一个角色查询类
|
||||||
|
public class RoleQuery {
|
||||||
|
// 角色名称
|
||||||
|
private String name;
|
||||||
|
// 角色状态
|
||||||
|
private String state;
|
||||||
|
|
||||||
|
// 获取角色名称
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置角色名称
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取角色状态
|
||||||
|
public String getState() {
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置角色状态
|
||||||
|
public void setState(String state) {
|
||||||
|
this.state = state;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,63 @@
|
|||||||
|
package com.shanzhu.market.entity.vo;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仓库存储情况
|
||||||
|
*/
|
||||||
|
public class DetailStorageSituationVo implements Serializable {
|
||||||
|
// 商品ID
|
||||||
|
private Long goodsId;
|
||||||
|
// 商品名称
|
||||||
|
private String goodsName;
|
||||||
|
// 商品剩余数量
|
||||||
|
private Long residueNum; // 商品数量
|
||||||
|
// 百分比
|
||||||
|
private Long percentage = 0L;
|
||||||
|
|
||||||
|
// 设置百分比
|
||||||
|
public void setPercentage(Long total) {
|
||||||
|
if (total == null || total == 0) {
|
||||||
|
this.percentage = 0L;
|
||||||
|
} else {
|
||||||
|
String num = ((this.residueNum * 100.0) / total) + "";
|
||||||
|
Long num1 = Long.valueOf(num.split("\\.")[0]);
|
||||||
|
this.percentage = num1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取商品ID
|
||||||
|
public Long getGoodsId() {
|
||||||
|
return goodsId;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置商品ID
|
||||||
|
public void setGoodsId(Long goodsId) {
|
||||||
|
this.goodsId = goodsId;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取商品名称
|
||||||
|
public String getGoodsName() {
|
||||||
|
return goodsName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置商品名称
|
||||||
|
public void setGoodsName(String goodsName) {
|
||||||
|
this.goodsName = goodsName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取商品剩余数量
|
||||||
|
public Long getResidueNum() {
|
||||||
|
return residueNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置商品剩余数量
|
||||||
|
public void setResidueNum(Long residueNum) {
|
||||||
|
this.residueNum = residueNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取百分比
|
||||||
|
public Long getPercentage() {
|
||||||
|
return percentage;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,82 @@
|
|||||||
|
package com.shanzhu.market.entity.vo;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单个商品销售信息
|
||||||
|
*/
|
||||||
|
public class SaleGoodsVo implements Serializable {
|
||||||
|
// 商品ID
|
||||||
|
private Long goodsId;
|
||||||
|
// 商品名称
|
||||||
|
private String goodsName;
|
||||||
|
// 商品封面URL
|
||||||
|
private String coverUrl;
|
||||||
|
// 销量
|
||||||
|
private Long salesVolume;
|
||||||
|
// 销售百分比
|
||||||
|
private Long percentage = 0L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置销售百分比
|
||||||
|
*
|
||||||
|
* @param total 总销量
|
||||||
|
*/
|
||||||
|
public void setPercentage(Long total) {
|
||||||
|
if (total == null || total == 0) {
|
||||||
|
this.percentage = 0L;
|
||||||
|
} else {
|
||||||
|
if (this.salesVolume == null) {
|
||||||
|
this.salesVolume = 0L;
|
||||||
|
}
|
||||||
|
String num = ((this.salesVolume * 100.0) / total) + "";
|
||||||
|
Long num1 = Long.valueOf(num.split("\\.")[0]);
|
||||||
|
this.percentage = num1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取商品ID
|
||||||
|
public Long getGoodsId() {
|
||||||
|
return goodsId;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置商品ID
|
||||||
|
public void setGoodsId(Long goodsId) {
|
||||||
|
this.goodsId = goodsId;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取商品名称
|
||||||
|
public String getGoodsName() {
|
||||||
|
return goodsName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置商品名称
|
||||||
|
public void setGoodsName(String goodsName) {
|
||||||
|
this.goodsName = goodsName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取商品封面URL
|
||||||
|
public String getCoverUrl() {
|
||||||
|
return coverUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置商品封面URL
|
||||||
|
public void setCoverUrl(String coverUrl) {
|
||||||
|
this.coverUrl = coverUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取销量
|
||||||
|
public Long getSalesVolume() {
|
||||||
|
return salesVolume;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置销量
|
||||||
|
public void setSalesVolume(Long salesVolume) {
|
||||||
|
this.salesVolume = salesVolume;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取销售百分比
|
||||||
|
public Long getPercentage() {
|
||||||
|
return percentage;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
package com.shanzhu.market.entity.vo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 商品销售量统计
|
||||||
|
*/
|
||||||
|
public class SalesStatisticsVo implements Serializable {
|
||||||
|
// 所有商品总售卖量
|
||||||
|
private Long total;
|
||||||
|
// 分页的商品销售信息列表
|
||||||
|
private Page<SaleGoodsVo> vos;
|
||||||
|
|
||||||
|
// 获取所有商品总售卖量
|
||||||
|
public Long getTotal() {
|
||||||
|
return total;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置所有商品总售卖量
|
||||||
|
public void setTotal(Long total) {
|
||||||
|
this.total = total;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取分页的商品销售信息列表
|
||||||
|
public Page<SaleGoodsVo> getVos() {
|
||||||
|
return vos;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置分页的商品销售信息列表
|
||||||
|
public void setVos(Page<SaleGoodsVo> vos) {
|
||||||
|
this.vos = vos;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
package com.shanzhu.market.entity.vo;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仓库存储情况
|
||||||
|
*/
|
||||||
|
public class StorageSituationVo implements Serializable {
|
||||||
|
// 仓库ID
|
||||||
|
private Long storeId;
|
||||||
|
// 仓库名称
|
||||||
|
private String storeName;
|
||||||
|
// 该仓库存储商品数量
|
||||||
|
private Long residueNum; // 该仓库存储商品数量
|
||||||
|
|
||||||
|
// 获取仓库ID
|
||||||
|
public Long getStoreId() {
|
||||||
|
return storeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置仓库ID
|
||||||
|
public void setStoreId(Long storeId) {
|
||||||
|
this.storeId = storeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取仓库名称
|
||||||
|
public String getStoreName() {
|
||||||
|
return storeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置仓库名称
|
||||||
|
public void setStoreName(String storeName) {
|
||||||
|
this.storeName = storeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取该仓库存储商品数量
|
||||||
|
public Long getResidueNum() {
|
||||||
|
return residueNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设置该仓库存储商品数量
|
||||||
|
public void setResidueNum(Long residueNum) {
|
||||||
|
this.residueNum = residueNum;
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue