优化项目结构和菜单结构
This commit is contained in:
parent
1fe6ae1de0
commit
5a1c4f66e9
|
|
@ -110,6 +110,11 @@ graph TD
|
|||
|
||||
`java -Dserver.port=8888 -Dcsp.sentinel.dashboard.server=localhost:8888 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar`
|
||||
|
||||
#### 启动KRaft模式kafka
|
||||
+ 0 进入kafka解压目录
|
||||
+ 1 生成UUID`bin\windows\kafka-storage.bat random-uuid`
|
||||
+ 2 格式化`bin\windows\kafka-storage.bat format -t ujpyXZx-S9-jGlwxgORmow -c config\kraft\server.properties`
|
||||
+ 3 启动`bin\windows\kafka-server-start.bat config\kraft\server.properties`
|
||||
|
||||
### 2、项目结构
|
||||
#### 2.1 core
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common;
|
||||
package cn.qihangerp.common;
|
||||
|
||||
/**
|
||||
* Hello world!
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
package com.qihang.common.common;
|
||||
package cn.qihangerp.common;
|
||||
|
||||
import cn.qihangerp.common.common.ServiceException;
|
||||
import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.Data;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.qihang.common.common;
|
||||
package cn.qihangerp.common;
|
||||
|
||||
import cn.qihangerp.common.enums.HttpStatus;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.qihang.common.enums.HttpStatus;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.common;
|
||||
package cn.qihangerp.common;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.common;
|
||||
package cn.qihangerp.common;
|
||||
/**
|
||||
* 描述:
|
||||
* 结果枚举
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.api;
|
||||
package cn.qihangerp.common.api;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.bo;
|
||||
package cn.qihangerp.common.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.qihang.common.common;
|
||||
package cn.qihangerp.common.common;
|
||||
|
||||
|
||||
import com.qihang.common.enums.HttpStatus;
|
||||
import cn.qihangerp.common.enums.HttpStatus;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Objects;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package com.qihang.common.common;
|
||||
package cn.qihangerp.common.common;
|
||||
|
||||
import com.qihang.common.utils.StringUtils;
|
||||
import cn.qihangerp.common.utils.StringUtils;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.common;
|
||||
package cn.qihangerp.common.common;
|
||||
|
||||
/**
|
||||
* 业务异常
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.common;
|
||||
package cn.qihangerp.common.common;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.sys.api.utils;
|
||||
package cn.qihangerp.common.config;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONReader;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.config;
|
||||
package cn.qihangerp.common.config;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.BoundSetOperations;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.config;
|
||||
package cn.qihangerp.common.config;
|
||||
|
||||
|
||||
import org.springframework.cache.annotation.CachingConfigurerSupport;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.constant;
|
||||
package cn.qihangerp.common.constant;
|
||||
|
||||
/**
|
||||
* 缓存的key 常量
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.constant;
|
||||
package cn.qihangerp.common.constant;
|
||||
|
||||
import io.jsonwebtoken.Claims;
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.qihang.common.constant;
|
||||
package cn.qihangerp.common.constant;
|
||||
|
||||
import com.qihang.common.common.CharsetKit;
|
||||
import com.qihang.common.utils.StringUtils;
|
||||
import cn.qihangerp.common.common.CharsetKit;
|
||||
import cn.qihangerp.common.utils.StringUtils;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.qihang.common.constant;
|
||||
package cn.qihangerp.common.constant;
|
||||
|
||||
|
||||
import com.qihang.common.utils.StringUtils;
|
||||
import cn.qihangerp.common.utils.StringUtils;
|
||||
|
||||
/**
|
||||
* 字符串格式化
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.constant;
|
||||
package cn.qihangerp.common.constant;
|
||||
|
||||
/**
|
||||
* 用户常量信息
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.enums;
|
||||
package cn.qihangerp.common.enums;
|
||||
|
||||
/**
|
||||
* 描述:
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.enums;//package com.qihang.oms.api.common;
|
||||
package cn.qihangerp.common.enums;//package com.qihang.oms.api.common;
|
||||
|
||||
/**
|
||||
* 返回状态码
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.enums;
|
||||
package cn.qihangerp.common.enums;
|
||||
|
||||
/**
|
||||
* 描述:
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.enums;
|
||||
package cn.qihangerp.common.enums;
|
||||
|
||||
/**
|
||||
* 描述:
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.enums;
|
||||
package cn.qihangerp.common.enums;
|
||||
|
||||
/**
|
||||
* 用户状态
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package com.qihang.common.exception;
|
||||
package cn.qihangerp.common.exception;
|
||||
|
||||
|
||||
import com.qihang.common.utils.MessageUtils;
|
||||
import com.qihang.common.utils.StringUtils;
|
||||
import cn.qihangerp.common.utils.MessageUtils;
|
||||
import cn.qihangerp.common.utils.StringUtils;
|
||||
|
||||
/**
|
||||
* 基础异常
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.exception;
|
||||
package cn.qihangerp.common.exception;
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.exception;
|
||||
package cn.qihangerp.common.exception;
|
||||
|
||||
/**
|
||||
* 用户不存在异常类
|
||||
|
|
@ -1,10 +1,8 @@
|
|||
package com.qihang.common.mq;
|
||||
package cn.qihangerp.common.mq;
|
||||
|
||||
import com.qihang.common.enums.EnumShopType;
|
||||
import cn.qihangerp.common.enums.EnumShopType;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class MqMessage {
|
||||
private int mqType;// 消息类型(1:订单消息;2:退款消息)
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.mq;
|
||||
package cn.qihangerp.common.mq;
|
||||
|
||||
public class MqType {
|
||||
/**
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.mq;
|
||||
package cn.qihangerp.common.mq;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.task;
|
||||
package cn.qihangerp.common.task;
|
||||
|
||||
public interface IPollableService {
|
||||
/**
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.task;
|
||||
package cn.qihangerp.common.task;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.utils;
|
||||
package cn.qihangerp.common.utils;
|
||||
|
||||
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.sys.api.utils;
|
||||
package cn.qihangerp.common.utils;
|
||||
|
||||
/**
|
||||
* ID生成器工具类
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.utils;
|
||||
package cn.qihangerp.common.utils;
|
||||
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.common.utils;
|
||||
package cn.qihangerp.common.utils;
|
||||
|
||||
import org.springframework.aop.framework.AopContext;
|
||||
import org.springframework.beans.BeansException;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.qihang.common.utils;
|
||||
package cn.qihangerp.common.utils;
|
||||
|
||||
import com.qihang.common.constant.Constants;
|
||||
import com.qihang.common.constant.StrFormatter;
|
||||
import cn.qihangerp.common.constant.Constants;
|
||||
import cn.qihangerp.common.constant.StrFormatter;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.sys.api.utils;
|
||||
package cn.qihangerp.common.utils;
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.qihang.sys.api.utils.http;
|
||||
package cn.qihangerp.common.utils.http;
|
||||
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.qihang.common.utils.http;
|
||||
package cn.qihangerp.common.utils.http;
|
||||
|
||||
import com.qihang.common.constant.Constants;
|
||||
import com.qihang.common.utils.StringUtils;
|
||||
import cn.qihangerp.common.utils.StringUtils;
|
||||
import cn.qihangerp.common.constant.Constants;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
server:
|
||||
port: 8080
|
||||
port: 8088
|
||||
spring:
|
||||
application:
|
||||
name: gateway
|
||||
|
|
@ -13,8 +13,8 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
server-addr: 127.0.0.1:8848
|
||||
# username: nacos
|
||||
# password: nacos
|
||||
username: nacos
|
||||
password: nacos
|
||||
sentinel:
|
||||
transport:
|
||||
dashboard: 127.0.0.1:8888 # sentinel控制台地址
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
<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>
|
||||
<parent>
|
||||
<groupId>cn.qihangerp</groupId>
|
||||
<artifactId>qihangerp-cloud</artifactId>
|
||||
<version>2.0.6</version>
|
||||
</parent>
|
||||
|
||||
<groupId>cn.qihangerp.module</groupId>
|
||||
<artifactId>goods</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>goods</name>
|
||||
<url>http://maven.apache.org</url>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>cn.qihangerp</groupId>
|
||||
<artifactId>common</artifactId>
|
||||
<version>2.0.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
||||
<version>3.5.5</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package cn.qihangerp.module;
|
||||
|
||||
/**
|
||||
* Hello world!
|
||||
*
|
||||
*/
|
||||
public class App
|
||||
{
|
||||
public static void main( String[] args )
|
||||
{
|
||||
System.out.println( "Hello World!" );
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
package cn.qihangerp.module.goods;
|
||||
|
||||
public class a {
|
||||
}
|
||||
|
|
@ -0,0 +1,216 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 商品库存管理
|
||||
* @TableName o_goods
|
||||
*/
|
||||
@Data
|
||||
public class OGoods implements Serializable {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id", type= IdType.AUTO)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 商品图片地址
|
||||
*/
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 商品唯一ID
|
||||
*/
|
||||
private String outerErpGoodsId;
|
||||
|
||||
/**
|
||||
* 商品编号
|
||||
*/
|
||||
private String goodsNum;
|
||||
|
||||
/**
|
||||
* 单位名称
|
||||
*/
|
||||
private String unitName;
|
||||
/**发货地*/
|
||||
private String province;
|
||||
private String city;
|
||||
private String town;
|
||||
|
||||
/**
|
||||
* 商品分类ID
|
||||
*/
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 条码
|
||||
*/
|
||||
private String barCode;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 状态1销售中2已下架
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 衣长/裙长/裤长
|
||||
*/
|
||||
private Double length;
|
||||
|
||||
/**
|
||||
* 高度/袖长
|
||||
*/
|
||||
private Double height;
|
||||
|
||||
/**
|
||||
* 宽度/胸阔(围)
|
||||
*/
|
||||
private Double width;
|
||||
|
||||
/**
|
||||
* 肩阔
|
||||
*/
|
||||
private Double width1;
|
||||
|
||||
/**
|
||||
* 腰阔
|
||||
*/
|
||||
private Double width2;
|
||||
|
||||
/**
|
||||
* 臀阔
|
||||
*/
|
||||
private Double width3;
|
||||
|
||||
/**
|
||||
* 重量
|
||||
*/
|
||||
private Double weight;
|
||||
|
||||
/**
|
||||
* 0启用 1禁用
|
||||
*/
|
||||
private Integer disable;
|
||||
|
||||
/**
|
||||
* 保质期
|
||||
*/
|
||||
private String period;
|
||||
|
||||
/**
|
||||
* 预计采购价格
|
||||
*/
|
||||
private BigDecimal purPrice;
|
||||
|
||||
/**
|
||||
* 建议批发价
|
||||
*/
|
||||
private BigDecimal wholePrice;
|
||||
|
||||
/**
|
||||
* 建议零售价
|
||||
*/
|
||||
private BigDecimal retailPrice;
|
||||
|
||||
/**
|
||||
* 单位成本
|
||||
*/
|
||||
private BigDecimal unitCost;
|
||||
|
||||
/**
|
||||
* 供应商id
|
||||
*/
|
||||
private Long supplierId;
|
||||
|
||||
/**
|
||||
* 品牌id
|
||||
*/
|
||||
private Long brandId;
|
||||
|
||||
/**
|
||||
* 属性1:季节
|
||||
*/
|
||||
private String attr1;
|
||||
|
||||
/**
|
||||
* 属性2:分类
|
||||
*/
|
||||
private String attr2;
|
||||
|
||||
/**
|
||||
* 属性3:风格
|
||||
*/
|
||||
private String attr3;
|
||||
|
||||
/**
|
||||
* 属性4:年份
|
||||
*/
|
||||
private String attr4;
|
||||
|
||||
/**
|
||||
* 属性5:面料
|
||||
*/
|
||||
private String attr5;
|
||||
|
||||
/**
|
||||
* 外链url
|
||||
*/
|
||||
private String linkUrl;
|
||||
|
||||
/**
|
||||
* 最低库存(预警)
|
||||
*/
|
||||
private Integer lowQty;
|
||||
|
||||
/**
|
||||
* 最高库存(预警)
|
||||
*/
|
||||
private Integer highQty;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<OGoodsSku> skuList;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName o_goods_brand
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsBrand implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 品牌名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName o_goods_category
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsCategory implements Serializable {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 分类编码
|
||||
*/
|
||||
private String number;
|
||||
|
||||
/**
|
||||
* 分类名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 上架分类id
|
||||
*/
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 分类路径
|
||||
*/
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 排序值
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 0正常 1删除
|
||||
*/
|
||||
private Integer isdelete;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName o_goods_category_attribute
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsCategoryAttribute implements Serializable {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Long categoryId;
|
||||
|
||||
/**
|
||||
* 类型:0属性1规格
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* '属性名'
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 固定值color颜色size尺码style款式
|
||||
*/
|
||||
private String code;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName o_goods_category_attribute_value
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsCategoryAttributeValue implements Serializable {
|
||||
/**
|
||||
* 主键,属性值id
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 属性id
|
||||
*/
|
||||
private Long categoryAttributeId;
|
||||
|
||||
/**
|
||||
* 属性值文本
|
||||
*/
|
||||
private String value;
|
||||
|
||||
/**
|
||||
* 生成SKU的编码
|
||||
*/
|
||||
private String skuCode;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Integer ordernum;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Integer isdelete;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 商品库存表
|
||||
* @TableName o_goods_inventory
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsInventory implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 商品id
|
||||
*/
|
||||
private String goodsId;
|
||||
|
||||
/**
|
||||
* 商品编码
|
||||
*/
|
||||
private String goodsNum;
|
||||
|
||||
/**
|
||||
* 商品规格id
|
||||
*/
|
||||
private String skuId;
|
||||
|
||||
/**
|
||||
* 规格编码(唯一)
|
||||
*/
|
||||
private String skuCode;
|
||||
|
||||
/**
|
||||
* 当前库存
|
||||
*/
|
||||
private Long quantity;
|
||||
|
||||
/**
|
||||
* 0正常 1删除
|
||||
*/
|
||||
private Integer isDelete;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 商品库存批次
|
||||
* @TableName o_goods_inventory_batch
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsInventoryBatch implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 批次号
|
||||
*/
|
||||
private String batchNum;
|
||||
|
||||
/**
|
||||
* 初始数量
|
||||
*/
|
||||
private Long originQty;
|
||||
|
||||
/**
|
||||
* 当前数量
|
||||
*/
|
||||
private Long currentQty;
|
||||
|
||||
/**
|
||||
* 采购价
|
||||
*/
|
||||
private Double purPrice;
|
||||
|
||||
/**
|
||||
* 采购单id
|
||||
*/
|
||||
private Long purId;
|
||||
|
||||
/**
|
||||
* 采购单itemId
|
||||
*/
|
||||
private Long purItemId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 规格id
|
||||
*/
|
||||
private String skuId;
|
||||
|
||||
/**
|
||||
* 商品id
|
||||
*/
|
||||
private String goodsId;
|
||||
|
||||
/**
|
||||
* sku编码
|
||||
*/
|
||||
private String skuCode;
|
||||
|
||||
/**
|
||||
* 仓库id
|
||||
*/
|
||||
private Long warehouseId;
|
||||
|
||||
/**
|
||||
* 仓位id
|
||||
*/
|
||||
private Long positionId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String updateBy;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
//import com.baomidou.mybatisplus.annotation.IdType;
|
||||
//import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 商品规格库存管理
|
||||
* @TableName o_goods_sku
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsSku implements Serializable {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@TableId(value = "id", type= IdType.AUTO)
|
||||
private String id;
|
||||
private String goodsId;
|
||||
|
||||
/**
|
||||
* 商品id
|
||||
*/
|
||||
private String outerErpGoodsId;
|
||||
|
||||
|
||||
/**
|
||||
* skuId(唯一)
|
||||
*/
|
||||
private String outerErpSkuId;
|
||||
private String goodsName;
|
||||
|
||||
/**
|
||||
* 规格名
|
||||
*/
|
||||
private String skuName;
|
||||
|
||||
/**
|
||||
* 规格编码
|
||||
*/
|
||||
private String skuCode;
|
||||
|
||||
/**
|
||||
* 颜色id
|
||||
*/
|
||||
private Long colorId;
|
||||
|
||||
/**
|
||||
* 颜色值
|
||||
*/
|
||||
private String colorValue;
|
||||
|
||||
/**
|
||||
* 颜色图片
|
||||
*/
|
||||
private String colorImage;
|
||||
|
||||
/**
|
||||
* 尺码id
|
||||
*/
|
||||
private Long sizeId;
|
||||
|
||||
/**
|
||||
* 尺码值
|
||||
*/
|
||||
private String sizeValue;
|
||||
|
||||
/**
|
||||
* 款式id
|
||||
*/
|
||||
private Long styleId;
|
||||
|
||||
/**
|
||||
* 款式值
|
||||
*/
|
||||
private String styleValue;
|
||||
|
||||
/**
|
||||
* 库存条形码
|
||||
*/
|
||||
private String barCode;
|
||||
|
||||
|
||||
/**
|
||||
* 建议零售价
|
||||
*/
|
||||
private BigDecimal retailPrice;
|
||||
private BigDecimal purPrice;
|
||||
|
||||
/**
|
||||
* 单位成本
|
||||
*/
|
||||
private BigDecimal unitCost;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 最低库存(预警)
|
||||
*/
|
||||
private Integer lowQty;
|
||||
|
||||
/**
|
||||
* 最高库存(预警)
|
||||
*/
|
||||
private Integer highQty;
|
||||
|
||||
private String volume;
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName o_goods_sku_attr
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsSkuAttr implements Serializable {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id", type= IdType.AUTO)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String goodsId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String k;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Long kid;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Long vid;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String v;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String img;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
package cn.qihangerp.module.goods.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName o_goods_supplier
|
||||
*/
|
||||
@Data
|
||||
public class OGoodsSupplier implements Serializable {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 供应商名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 供应商编码
|
||||
*/
|
||||
private String number;
|
||||
|
||||
/**
|
||||
* 税率
|
||||
*/
|
||||
private Double taxrate;
|
||||
|
||||
/**
|
||||
* 期初应付款
|
||||
*/
|
||||
private Double amount;
|
||||
|
||||
/**
|
||||
* 期初预付款
|
||||
*/
|
||||
private Double periodmoney;
|
||||
|
||||
/**
|
||||
* 初期往来余额
|
||||
*/
|
||||
private Double difmoney;
|
||||
|
||||
/**
|
||||
* 余额日期
|
||||
*/
|
||||
private Date begindate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 职位
|
||||
*/
|
||||
private String place;
|
||||
|
||||
/**
|
||||
* 联系人
|
||||
*/
|
||||
private String linkman;
|
||||
|
||||
/**
|
||||
* 联系方式
|
||||
*/
|
||||
private String contact;
|
||||
|
||||
/**
|
||||
* 省
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 区县
|
||||
*/
|
||||
private String county;
|
||||
|
||||
/**
|
||||
* 收货地址详情
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private String pinyin;
|
||||
|
||||
/**
|
||||
* 0启用 1禁用
|
||||
*/
|
||||
private Integer disable;
|
||||
|
||||
/**
|
||||
* 0正常 1删除
|
||||
*/
|
||||
private Integer isdelete;
|
||||
|
||||
/**
|
||||
* 分管采购员
|
||||
*/
|
||||
private String purchasername;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createtime;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
package cn.qihangerp.module.goods.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 商品管理对象 erp_goods
|
||||
*
|
||||
* @author qihang
|
||||
* @date 2023-12-29
|
||||
*/
|
||||
@Data
|
||||
public class GoodsAddBo
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 主键id */
|
||||
private Long id;
|
||||
|
||||
/** 商品名称 */
|
||||
private String name;
|
||||
|
||||
/** 商品图片地址 */
|
||||
private String image;
|
||||
|
||||
/** 商品编号 */
|
||||
private String number;
|
||||
/** 外部商品id */
|
||||
private String outerErpGoodsId;
|
||||
/**发货地*/
|
||||
private String province;
|
||||
private String city;
|
||||
private String town;
|
||||
|
||||
/** 单位名称 */
|
||||
private String unitName;
|
||||
|
||||
/** 商品分类ID */
|
||||
private Long categoryId;
|
||||
|
||||
/** 条码 */
|
||||
private String barCode;
|
||||
|
||||
/** 状态1销售中2已下架 */
|
||||
private Integer status;
|
||||
|
||||
// /** 衣长/裙长/裤长 */
|
||||
// private Long length;
|
||||
//
|
||||
// /** 高度/袖长 */
|
||||
// private Long height;
|
||||
//
|
||||
// /** 宽度/胸阔(围) */
|
||||
// private Long width;
|
||||
//
|
||||
// /** 肩阔 */
|
||||
// private Long width1;
|
||||
//
|
||||
// /** 腰阔 */
|
||||
// private Long width2;
|
||||
//
|
||||
// /** 臀阔 */
|
||||
// private Long width3;
|
||||
//
|
||||
// /** 重量 */
|
||||
// private Long weight;
|
||||
//
|
||||
// /** 0启用 1禁用 */
|
||||
// private Integer disable;
|
||||
|
||||
/** 保质期 */
|
||||
private String period;
|
||||
|
||||
/** 预计采购价格 */
|
||||
private BigDecimal purPrice;
|
||||
|
||||
/** 建议批发价 */
|
||||
private BigDecimal wholePrice;
|
||||
|
||||
/** 建议零售价 */
|
||||
private BigDecimal retailPrice;
|
||||
|
||||
/** 单位成本 */
|
||||
private BigDecimal unitCost;
|
||||
|
||||
/** 供应商id */
|
||||
private Long supplierId;
|
||||
|
||||
/** 品牌id */
|
||||
private Long brandId;
|
||||
|
||||
// /** 属性1:季节 */
|
||||
// private String attr1;
|
||||
//
|
||||
// /** 属性2:分类 */
|
||||
// private String attr2;
|
||||
//
|
||||
// /** 属性3:风格 */
|
||||
// private String attr3;
|
||||
//
|
||||
// /** 属性4:年份 */
|
||||
// private String attr4;
|
||||
//
|
||||
// /** 属性5:面料 */
|
||||
private String attr5;
|
||||
|
||||
/** 外链url */
|
||||
private String linkUrl;
|
||||
|
||||
// /** 最低库存(预警) */
|
||||
// private Long lowQty;
|
||||
//
|
||||
// /** 最高库存(预警) */
|
||||
// private Long highQty;
|
||||
|
||||
private Long[] colorValues;
|
||||
private Map<Long,String> colorImages;
|
||||
// private Map<Long,String> colorNames;
|
||||
private Long[] sizeValues;
|
||||
private Long[] styleValues;
|
||||
private List<GoodsAddSkuBo> specList;
|
||||
|
||||
}
|
||||
|
|
@ -1,64 +1,36 @@
|
|||
package com.qihang.oms.vo;
|
||||
|
||||
package cn.qihangerp.module.goods.domain.bo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
public class GoodsSpecListVo {
|
||||
|
||||
private Long id;
|
||||
private Long goodsId;
|
||||
|
||||
/** 商品名称 */
|
||||
private String name;
|
||||
|
||||
/** 商品编号 */
|
||||
private String number;
|
||||
private String specNum;
|
||||
public class GoodsAddSkuBo {
|
||||
private Long colorId;
|
||||
private String colorValue;
|
||||
/** 商品图片地址 */
|
||||
private String colorImage;
|
||||
private Long sizeId;
|
||||
private String sizeValue;
|
||||
private Long styleId;
|
||||
private String styleValue;
|
||||
|
||||
private String specNum;
|
||||
|
||||
private BigDecimal purPrice;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
//外部ERP商品Sku Id
|
||||
private String outerErpSkuId;
|
||||
|
||||
public String getOuterErpSkuId() {
|
||||
return outerErpSkuId;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
public void setOuterErpSkuId(String outerErpSkuId) {
|
||||
this.outerErpSkuId = outerErpSkuId;
|
||||
}
|
||||
|
||||
public Long getGoodsId() {
|
||||
return goodsId;
|
||||
public Long getColorId() {
|
||||
return colorId;
|
||||
}
|
||||
|
||||
public void setGoodsId(Long goodsId) {
|
||||
this.goodsId = goodsId;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getNumber() {
|
||||
return number;
|
||||
}
|
||||
|
||||
public void setNumber(String number) {
|
||||
this.number = number;
|
||||
}
|
||||
|
||||
public String getSpecNum() {
|
||||
return specNum;
|
||||
}
|
||||
|
||||
public void setSpecNum(String specNum) {
|
||||
this.specNum = specNum;
|
||||
public void setColorId(Long colorId) {
|
||||
this.colorId = colorId;
|
||||
}
|
||||
|
||||
public String getColorValue() {
|
||||
|
|
@ -69,12 +41,12 @@ public class GoodsSpecListVo {
|
|||
this.colorValue = colorValue;
|
||||
}
|
||||
|
||||
public String getColorImage() {
|
||||
return colorImage;
|
||||
public Long getSizeId() {
|
||||
return sizeId;
|
||||
}
|
||||
|
||||
public void setColorImage(String colorImage) {
|
||||
this.colorImage = colorImage;
|
||||
public void setSizeId(Long sizeId) {
|
||||
this.sizeId = sizeId;
|
||||
}
|
||||
|
||||
public String getSizeValue() {
|
||||
|
|
@ -85,6 +57,14 @@ public class GoodsSpecListVo {
|
|||
this.sizeValue = sizeValue;
|
||||
}
|
||||
|
||||
public Long getStyleId() {
|
||||
return styleId;
|
||||
}
|
||||
|
||||
public void setStyleId(Long styleId) {
|
||||
this.styleId = styleId;
|
||||
}
|
||||
|
||||
public String getStyleValue() {
|
||||
return styleValue;
|
||||
}
|
||||
|
|
@ -93,6 +73,14 @@ public class GoodsSpecListVo {
|
|||
this.styleValue = styleValue;
|
||||
}
|
||||
|
||||
public String getSpecNum() {
|
||||
return specNum;
|
||||
}
|
||||
|
||||
public void setSpecNum(String specNum) {
|
||||
this.specNum = specNum;
|
||||
}
|
||||
|
||||
public BigDecimal getPurPrice() {
|
||||
return purPrice;
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package cn.qihangerp.module.goods.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class GoodsSkuAddBo {
|
||||
private String erpSkuId; //erp商品ID
|
||||
private String erpSkuName;// erp商品名称
|
||||
private String erpSkuCode;// erp商品编码
|
||||
private BigDecimal salePrice;// erp商品零售价
|
||||
private String productSpec;// erp商品规格
|
||||
private String productColor;// erp商品颜色
|
||||
private String materialKind;// erp商品材质
|
||||
private String productVolume;// erp商品体积
|
||||
private String productPicture1;// erp商品图片地址
|
||||
private Integer productIsUse;// 是否在用
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package cn.qihangerp.module.goods.domain.vo;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class GoodsSpecListVo {
|
||||
|
||||
private Long skuId;
|
||||
// private Long goodsId;
|
||||
|
||||
/** 商品名称 */
|
||||
private String goodsName;
|
||||
private String skuName;
|
||||
|
||||
/** 商品编号 */
|
||||
private String outerErpSkuId;
|
||||
private String skuCode;
|
||||
private String colorValue;
|
||||
/** 商品图片地址 */
|
||||
private String colorImage;
|
||||
private String sizeValue;
|
||||
private String styleValue;
|
||||
private BigDecimal retailPrice;
|
||||
private BigDecimal purPrice;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsBrand;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_brand】的数据库操作Mapper
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoodsBrand
|
||||
*/
|
||||
public interface OGoodsBrandMapper extends BaseMapper<OGoodsBrand> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttribute;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category_attribute】的数据库操作Mapper
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoodsCategoryAttribute
|
||||
*/
|
||||
public interface OGoodsCategoryAttributeMapper extends BaseMapper<OGoodsCategoryAttribute> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttributeValue;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category_attribute_value】的数据库操作Mapper
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoodsCategoryAttributeValue
|
||||
*/
|
||||
public interface OGoodsCategoryAttributeValueMapper extends BaseMapper<OGoodsCategoryAttributeValue> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategory;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category】的数据库操作Mapper
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoodsCategory
|
||||
*/
|
||||
public interface OGoodsCategoryMapper extends BaseMapper<OGoodsCategory> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsInventoryBatch;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_inventory_batch(商品库存批次)】的数据库操作Mapper
|
||||
* @createDate 2024-09-23 22:39:50
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoodsInventoryBatch
|
||||
*/
|
||||
public interface OGoodsInventoryBatchMapper extends BaseMapper<OGoodsInventoryBatch> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsInventory;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_inventory(商品库存表)】的数据库操作Mapper
|
||||
* @createDate 2024-09-23 22:39:50
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoodsInventory
|
||||
*/
|
||||
public interface OGoodsInventoryMapper extends BaseMapper<OGoodsInventory> {
|
||||
long getAllInventoryQuantity();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoods;
|
||||
import cn.qihangerp.module.goods.domain.vo.GoodsSpecListVo;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【o_goods(商品库存管理)】的数据库操作Mapper
|
||||
* @createDate 2024-03-11 14:24:49
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoods
|
||||
*/
|
||||
public interface OGoodsMapper extends BaseMapper<OGoods> {
|
||||
List<GoodsSpecListVo> searchGoodsSpec(String keyword);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSkuAttr;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_sku_attr】的数据库操作Mapper
|
||||
* @createDate 2024-09-07 20:31:18
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoodsSkuAttr
|
||||
*/
|
||||
public interface OGoodsSkuAttrMapper extends BaseMapper<OGoodsSkuAttr> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSku;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【o_goods_sku(商品规格库存管理)】的数据库操作Mapper
|
||||
* @createDate 2024-03-11 14:24:49
|
||||
* @Entity cn.qihangerp.domain.OGoodsSku
|
||||
*/
|
||||
public interface OGoodsSkuMapper extends BaseMapper<OGoodsSku> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
package cn.qihangerp.module.goods.mapper;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSupplier;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_supplier】的数据库操作Mapper
|
||||
* @createDate 2024-09-07 16:35:43
|
||||
* @Entity cn.qihangerp.module.goods.domain.OGoodsSupplier
|
||||
*/
|
||||
public interface OGoodsSupplierMapper extends BaseMapper<OGoodsSupplier> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.PageResult;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsBrand;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_brand】的数据库操作Service
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
*/
|
||||
public interface OGoodsBrandService extends IService<OGoodsBrand> {
|
||||
PageResult<OGoodsBrand> queryPageList(OGoodsBrand bo, PageQuery pageQuery);
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttribute;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category_attribute】的数据库操作Service
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
*/
|
||||
public interface OGoodsCategoryAttributeService extends IService<OGoodsCategoryAttribute> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttributeValue;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category_attribute_value】的数据库操作Service
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
*/
|
||||
public interface OGoodsCategoryAttributeValueService extends IService<OGoodsCategoryAttributeValue> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategory;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category】的数据库操作Service
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
*/
|
||||
public interface OGoodsCategoryService extends IService<OGoodsCategory> {
|
||||
void addCategory(OGoodsCategory category);
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsInventoryBatch;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_inventory_batch(商品库存批次)】的数据库操作Service
|
||||
* @createDate 2024-09-23 22:39:50
|
||||
*/
|
||||
public interface OGoodsInventoryBatchService extends IService<OGoodsInventoryBatch> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.PageResult;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsInventory;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_inventory(商品库存表)】的数据库操作Service
|
||||
* @createDate 2024-09-23 22:39:50
|
||||
*/
|
||||
public interface OGoodsInventoryService extends IService<OGoodsInventory> {
|
||||
PageResult<OGoodsInventory> queryPageList(OGoodsInventory bo, PageQuery pageQuery);
|
||||
long getAllInventoryQuantity();
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.PageResult;
|
||||
import cn.qihangerp.common.ResultVo;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoods;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSku;
|
||||
import cn.qihangerp.module.goods.domain.bo.GoodsAddBo;
|
||||
import cn.qihangerp.module.goods.domain.bo.GoodsSkuAddBo;
|
||||
import cn.qihangerp.module.goods.domain.vo.GoodsSpecListVo;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【o_goods(商品库存管理)】的数据库操作Service
|
||||
* @createDate 2024-03-11 14:24:49
|
||||
*/
|
||||
public interface OGoodsService extends IService<OGoods> {
|
||||
|
||||
PageResult<OGoodsSku> querySkuPageList(OGoodsSku bo, PageQuery pageQuery);
|
||||
PageResult<OGoods> queryPageList(OGoods bo, PageQuery pageQuery);
|
||||
|
||||
List<GoodsSpecListVo> searchGoodsSpec(String keyword);
|
||||
List<OGoods> selectGoodsList(OGoods goods);
|
||||
OGoods selectGoodsById(Long id);
|
||||
/**
|
||||
* 新增商品管理
|
||||
*
|
||||
* @param goods 商品管理
|
||||
* @return 结果
|
||||
*/
|
||||
public ResultVo<Long> insertGoods(String userName , GoodsAddBo goods);
|
||||
|
||||
/**
|
||||
* 修改商品管理
|
||||
*
|
||||
* @param goods 商品管理
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateGoods(OGoods goods);
|
||||
|
||||
/**
|
||||
* 批量删除商品管理
|
||||
*
|
||||
* @param ids 需要删除的商品管理主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteGoodsByIds(Long[] ids);
|
||||
|
||||
int insertGoodsSku(OGoodsSku goodsSku);
|
||||
// int saveGoodsSku(GoodsSkuAddBo addBo);
|
||||
// int batchSaveGoodsSku(List<GoodsSkuAddBo> list);
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSkuAttr;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_sku_attr】的数据库操作Service
|
||||
* @createDate 2024-09-07 20:31:18
|
||||
*/
|
||||
public interface OGoodsSkuAttrService extends IService<OGoodsSkuAttr> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSku;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【o_goods_sku(商品规格库存管理)】的数据库操作Service
|
||||
* @createDate 2024-03-11 14:24:49
|
||||
*/
|
||||
public interface OGoodsSkuService extends IService<OGoodsSku> {
|
||||
List<OGoodsSku> searchGoodsSpec(String keyword);
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package cn.qihangerp.module.goods.service;
|
||||
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.PageResult;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSupplier;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_supplier】的数据库操作Service
|
||||
* @createDate 2024-09-07 16:35:43
|
||||
*/
|
||||
public interface OGoodsSupplierService extends IService<OGoodsSupplier> {
|
||||
PageResult<OGoodsSupplier> queryPageList(OGoodsSupplier bo, PageQuery pageQuery);
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.PageResult;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsBrand;
|
||||
import cn.qihangerp.module.goods.service.OGoodsBrandService;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsBrandMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_brand】的数据库操作Service实现
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class OGoodsBrandServiceImpl extends ServiceImpl<OGoodsBrandMapper, OGoodsBrand>
|
||||
implements OGoodsBrandService {
|
||||
private final OGoodsBrandMapper mapper;
|
||||
|
||||
@Override
|
||||
public PageResult<OGoodsBrand> queryPageList(OGoodsBrand bo, PageQuery pageQuery) {
|
||||
|
||||
LambdaQueryWrapper<OGoodsBrand> queryWrapper = new LambdaQueryWrapper<OGoodsBrand>();
|
||||
|
||||
queryWrapper.like(StringUtils.hasText(bo.getName()), OGoodsBrand::getName, bo.getName());
|
||||
Page<OGoodsBrand> pages = mapper.selectPage(pageQuery.build(), queryWrapper);
|
||||
|
||||
return PageResult.build(pages);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttribute;
|
||||
import cn.qihangerp.module.goods.service.OGoodsCategoryAttributeService;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsCategoryAttributeMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category_attribute】的数据库操作Service实现
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
*/
|
||||
@Service
|
||||
public class OGoodsCategoryAttributeServiceImpl extends ServiceImpl<OGoodsCategoryAttributeMapper, OGoodsCategoryAttribute>
|
||||
implements OGoodsCategoryAttributeService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttributeValue;
|
||||
import cn.qihangerp.module.goods.service.OGoodsCategoryAttributeValueService;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsCategoryAttributeValueMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category_attribute_value】的数据库操作Service实现
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
*/
|
||||
@Service
|
||||
public class OGoodsCategoryAttributeValueServiceImpl extends ServiceImpl<OGoodsCategoryAttributeValueMapper, OGoodsCategoryAttributeValue>
|
||||
implements OGoodsCategoryAttributeValueService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttribute;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategoryAttributeValue;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsCategoryAttributeMapper;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsCategoryAttributeValueMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsCategory;
|
||||
import cn.qihangerp.module.goods.service.OGoodsCategoryService;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsCategoryMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_category】的数据库操作Service实现
|
||||
* @createDate 2024-09-07 16:11:56
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class OGoodsCategoryServiceImpl extends ServiceImpl<OGoodsCategoryMapper, OGoodsCategory>
|
||||
implements OGoodsCategoryService{
|
||||
private final OGoodsCategoryMapper oGoodsCategoryMapper;
|
||||
private final OGoodsCategoryAttributeMapper attributeMapper;
|
||||
private final OGoodsCategoryAttributeValueMapper attributeValueMapper;
|
||||
@Transactional
|
||||
@Override
|
||||
public void addCategory(OGoodsCategory category) {
|
||||
// 添加分类
|
||||
if(category.getSort()==null){
|
||||
category.setSort(0);
|
||||
}
|
||||
if(category.getParentId()==null){
|
||||
category.setParentId(0L);
|
||||
}
|
||||
category.setCreateTime(new Date());
|
||||
category.setIsdelete(0);
|
||||
oGoodsCategoryMapper.insert(category);
|
||||
// 如果是已经分类,添加默认规格
|
||||
if(category.getParentId()==0) {
|
||||
// 添加颜色规格
|
||||
OGoodsCategoryAttribute att1 = new OGoodsCategoryAttribute();
|
||||
att1.setCategoryId(category.getId());
|
||||
att1.setType(1);
|
||||
att1.setTitle("颜色");
|
||||
att1.setCode("color");
|
||||
attributeMapper.insert(att1);
|
||||
// 添加颜色规格值
|
||||
OGoodsCategoryAttributeValue av1 = new OGoodsCategoryAttributeValue();
|
||||
av1.setCategoryAttributeId(att1.getId());
|
||||
av1.setValue("默认");
|
||||
av1.setSkuCode("00");
|
||||
av1.setOrdernum(0);
|
||||
av1.setIsdelete(0);
|
||||
attributeValueMapper.insert(av1);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsInventoryBatch;
|
||||
import cn.qihangerp.module.goods.service.OGoodsInventoryBatchService;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsInventoryBatchMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_inventory_batch(商品库存批次)】的数据库操作Service实现
|
||||
* @createDate 2024-09-23 22:39:50
|
||||
*/
|
||||
@Service
|
||||
public class OGoodsInventoryBatchServiceImpl extends ServiceImpl<OGoodsInventoryBatchMapper, OGoodsInventoryBatch>
|
||||
implements OGoodsInventoryBatchService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.PageResult;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsInventory;
|
||||
import cn.qihangerp.module.goods.service.OGoodsInventoryService;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsInventoryMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_inventory(商品库存表)】的数据库操作Service实现
|
||||
* @createDate 2024-09-23 22:39:50
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class OGoodsInventoryServiceImpl extends ServiceImpl<OGoodsInventoryMapper, OGoodsInventory>
|
||||
implements OGoodsInventoryService{
|
||||
private final OGoodsInventoryMapper mapper;
|
||||
|
||||
@Override
|
||||
public PageResult<OGoodsInventory> queryPageList(OGoodsInventory bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<OGoodsInventory> queryWrapper = new LambdaQueryWrapper<OGoodsInventory>();
|
||||
queryWrapper.eq(bo.getGoodsId()!=null,OGoodsInventory::getGoodsId,bo.getGoodsId());
|
||||
queryWrapper.eq(bo.getSkuId()!=null,OGoodsInventory::getSkuId,bo.getSkuId());
|
||||
queryWrapper.eq(StringUtils.hasText(bo.getGoodsNum()),OGoodsInventory::getGoodsNum,bo.getGoodsNum());
|
||||
queryWrapper.eq(StringUtils.hasText(bo.getSkuCode()),OGoodsInventory::getSkuCode,bo.getSkuCode());
|
||||
|
||||
Page<OGoodsInventory> pages = mapper.selectPage(pageQuery.build(), queryWrapper);
|
||||
|
||||
return PageResult.build(pages);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getAllInventoryQuantity() {
|
||||
return mapper.getAllInventoryQuantity();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,329 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsInventory;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSku;
|
||||
import cn.qihangerp.module.goods.domain.bo.GoodsSkuAddBo;
|
||||
import cn.qihangerp.module.goods.domain.vo.GoodsSpecListVo;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsInventoryMapper;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsMapper;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsSkuAttrMapper;
|
||||
|
||||
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.PageResult;
|
||||
import cn.qihangerp.common.ResultVo;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoods;
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSkuAttr;
|
||||
import cn.qihangerp.module.goods.domain.bo.GoodsAddBo;
|
||||
import cn.qihangerp.module.goods.domain.bo.GoodsAddSkuBo;
|
||||
import cn.qihangerp.module.goods.service.OGoodsService;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【o_goods(商品库存管理)】的数据库操作Service实现
|
||||
* @createDate 2024-03-11 14:24:49
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class OGoodsServiceImpl extends ServiceImpl<OGoodsMapper, OGoods>
|
||||
implements OGoodsService{
|
||||
private final OGoodsMapper goodsMapper;
|
||||
private final OGoodsSkuMapper skuMapper;
|
||||
private final OGoodsSkuAttrMapper skuAttrMapper;
|
||||
private final OGoodsInventoryMapper inventoryMapper;
|
||||
// private final OOrderItemMapper orderItemMapper;
|
||||
|
||||
@Override
|
||||
public PageResult<OGoodsSku> querySkuPageList(OGoodsSku bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<OGoodsSku> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(bo.getStatus()!=null, OGoodsSku::getStatus,bo.getStatus());
|
||||
queryWrapper.eq(bo.getOuterErpSkuId()!=null,OGoodsSku::getOuterErpSkuId,bo.getOuterErpSkuId());
|
||||
queryWrapper.eq(bo.getOuterErpGoodsId()!=null,OGoodsSku::getOuterErpGoodsId,bo.getOuterErpGoodsId());
|
||||
queryWrapper.eq(StringUtils.hasText(bo.getSkuCode()),OGoodsSku::getSkuCode,bo.getSkuCode());
|
||||
Page<OGoodsSku> pages = skuMapper.selectPage(pageQuery.build(), queryWrapper);
|
||||
|
||||
return PageResult.build(pages);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<OGoods> queryPageList(OGoods bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<OGoods> queryWrapper = new LambdaQueryWrapper<OGoods>();
|
||||
queryWrapper.eq(bo.getStatus()!=null, OGoods::getStatus,bo.getStatus());
|
||||
queryWrapper.eq(bo.getCategoryId()!=null,OGoods::getCategoryId,bo.getCategoryId());
|
||||
queryWrapper.eq(bo.getSupplierId()!=null,OGoods::getSupplierId,bo.getSupplierId());
|
||||
queryWrapper.eq(StringUtils.hasText(bo.getGoodsNum()),OGoods::getGoodsNum,bo.getGoodsNum());
|
||||
queryWrapper.like(StringUtils.hasText(bo.getName()),OGoods::getName,bo.getName());
|
||||
Page<OGoods> pages = goodsMapper.selectPage(pageQuery.build(), queryWrapper);
|
||||
if(pages.getRecords()!=null){
|
||||
for(OGoods g:pages.getRecords()){
|
||||
g.setSkuList(skuMapper.selectList(new LambdaQueryWrapper<OGoodsSku>().eq(OGoodsSku::getGoodsId,g.getId())));
|
||||
}
|
||||
}
|
||||
return PageResult.build(pages);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GoodsSpecListVo> searchGoodsSpec(String keyword) {
|
||||
return goodsMapper.searchGoodsSpec(keyword);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OGoods> selectGoodsList(OGoods goods) {
|
||||
List<OGoods> list = goodsMapper.selectList(new LambdaQueryWrapper<>());
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OGoods selectGoodsById(Long id) {
|
||||
return goodsMapper.selectById(id);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public ResultVo<Long> insertGoods(String userName , GoodsAddBo bo)
|
||||
{
|
||||
if(StringUtils.isEmpty(bo.getNumber())) return ResultVo.error(500,"商品编码不能为空");
|
||||
// 查询编码是否存在
|
||||
List<OGoods> goodsList = goodsMapper.selectList(new LambdaQueryWrapper<OGoods>().eq(OGoods::getGoodsNum,bo.getNumber()));
|
||||
if(goodsList!=null && goodsList.size()>0) return ResultVo.error(-1,"商品编码已存在");// return -1;
|
||||
|
||||
OGoods goods = new OGoods();
|
||||
goods.setGoodsNum(bo.getNumber());
|
||||
goods.setName(bo.getName());
|
||||
goods.setImage(bo.getImage());
|
||||
goods.setOuterErpGoodsId(bo.getOuterErpGoodsId());
|
||||
goods.setUnitName(bo.getUnitName());
|
||||
goods.setCategoryId(bo.getCategoryId());
|
||||
goods.setBarCode(bo.getBarCode());
|
||||
goods.setStatus(1);
|
||||
goods.setLength(0.0);
|
||||
goods.setHeight(0.0);
|
||||
goods.setWidth(0.0);
|
||||
goods.setWidth1(0.0);
|
||||
goods.setWidth2(0.0);
|
||||
goods.setWidth3(0.0);
|
||||
goods.setWeight(0.0);
|
||||
goods.setDisable(0);
|
||||
goods.setPeriod(bo.getPeriod());
|
||||
goods.setPurPrice(bo.getPurPrice());
|
||||
goods.setWholePrice(bo.getWholePrice());
|
||||
goods.setRetailPrice(bo.getRetailPrice());
|
||||
goods.setUnitCost(bo.getUnitCost());
|
||||
goods.setSupplierId(bo.getSupplierId());
|
||||
goods.setBrandId(bo.getBrandId());
|
||||
goods.setLinkUrl(bo.getLinkUrl());
|
||||
goods.setLowQty(0);
|
||||
goods.setHighQty(0);
|
||||
goods.setCreateBy(userName);
|
||||
goods.setCreateTime(new Date());
|
||||
goods.setProvince(bo.getProvince());
|
||||
goods.setCity(bo.getCity());
|
||||
goods.setTown(bo.getTown());
|
||||
|
||||
// 1、添加主表o_goods
|
||||
goodsMapper.insert(goods);
|
||||
|
||||
// 2、添加规格表erp_goods_spec
|
||||
for (GoodsAddSkuBo skuBo:bo.getSpecList()) {
|
||||
OGoodsSku spec = new OGoodsSku();
|
||||
spec.setGoodsId(goods.getId());
|
||||
spec.setOuterErpGoodsId(bo.getOuterErpGoodsId());
|
||||
spec.setOuterErpSkuId(skuBo.getOuterErpSkuId());
|
||||
spec.setGoodsName(bo.getName());
|
||||
String skuName ="";
|
||||
if(StringUtils.hasText(skuBo.getColorValue()))
|
||||
skuName+= skuBo.getColorValue();
|
||||
if(StringUtils.hasText(skuBo.getSizeValue()))
|
||||
skuName+= " "+ skuBo.getSizeValue();
|
||||
if(StringUtils.hasText(skuBo.getStyleValue()))
|
||||
skuName+= " "+ skuBo.getStyleValue();
|
||||
|
||||
spec.setSkuName(skuName);
|
||||
spec.setSkuCode(skuBo.getSpecNum());
|
||||
spec.setColorId(skuBo.getColorId());
|
||||
spec.setColorValue(skuBo.getColorValue());
|
||||
if(bo.getColorImages()!=null && StringUtils.hasText(bo.getColorImages().get(skuBo.getColorId()))){
|
||||
spec.setColorImage(bo.getColorImages().get(skuBo.getColorId()));
|
||||
}else {
|
||||
spec.setColorImage(goods.getImage());
|
||||
}
|
||||
spec.setSizeId(skuBo.getSizeId());
|
||||
spec.setSizeValue(skuBo.getSizeValue());
|
||||
spec.setStyleId(skuBo.getStyleId());
|
||||
spec.setStyleValue(skuBo.getStyleValue());
|
||||
if(bo.getPurPrice() == null){
|
||||
spec.setPurPrice(goods.getPurPrice());
|
||||
}else spec.setPurPrice(bo.getPurPrice());
|
||||
spec.setStatus(1);
|
||||
|
||||
skuMapper.insert(spec);
|
||||
|
||||
// 添加商品库存表
|
||||
OGoodsInventory inventory = new OGoodsInventory();
|
||||
inventory.setSkuId(spec.getId());
|
||||
inventory.setGoodsId(goods.getId());
|
||||
inventory.setGoodsNum(bo.getNumber());
|
||||
inventory.setSkuCode(skuBo.getSpecNum());
|
||||
inventory.setQuantity(0L);
|
||||
inventory.setIsDelete(0);
|
||||
inventory.setCreateTime(new Date());
|
||||
inventory.setCreateBy("添加商品");
|
||||
inventoryMapper.insert(inventory);
|
||||
}
|
||||
|
||||
// 3、添加规格属性表erp_goods_spec_attr
|
||||
if(bo.getColorValues()!=null) {
|
||||
for (Long val:bo.getColorValues()) {
|
||||
OGoodsSkuAttr specAttr = new OGoodsSkuAttr();
|
||||
specAttr.setGoodsId(goods.getId());
|
||||
specAttr.setType("color");
|
||||
specAttr.setK("颜色");
|
||||
specAttr.setKid(114L);
|
||||
specAttr.setVid(val);
|
||||
skuAttrMapper.insert(specAttr);
|
||||
}
|
||||
|
||||
}
|
||||
if(bo.getSizeValues()!=null) {
|
||||
for (Long val:bo.getSizeValues()) {
|
||||
OGoodsSkuAttr specAttr = new OGoodsSkuAttr();
|
||||
specAttr.setGoodsId(goods.getId());
|
||||
specAttr.setType("size");
|
||||
specAttr.setK("尺码");
|
||||
specAttr.setKid(115L);
|
||||
specAttr.setVid(val);
|
||||
skuAttrMapper.insert(specAttr);
|
||||
}
|
||||
|
||||
}
|
||||
if(bo.getColorValues()!=null) {
|
||||
for (Long val:bo.getColorValues()) {
|
||||
OGoodsSkuAttr specAttr = new OGoodsSkuAttr();
|
||||
specAttr.setGoodsId(goods.getId());
|
||||
specAttr.setType("style");
|
||||
specAttr.setK("款式");
|
||||
specAttr.setKid(116L);
|
||||
specAttr.setVid(val);
|
||||
skuAttrMapper.insert(specAttr);
|
||||
}
|
||||
|
||||
}
|
||||
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return ResultVo.success(Long.parseLong(goods.getId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateGoods(OGoods goods) {
|
||||
return goodsMapper.updateById(goods);
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public int deleteGoodsByIds(Long[] ids) {
|
||||
// 有业务关联的商品
|
||||
// for (Long id:ids){
|
||||
// List<OOrderItem> oOrderItems = orderItemMapper.selectList(new LambdaQueryWrapper<OOrderItem>().eq(OOrderItem::getGoodsId, id));
|
||||
// if(oOrderItems.isEmpty()){
|
||||
// // 删除库存
|
||||
// inventoryMapper.delete(new LambdaQueryWrapper<OGoodsInventory>().eq(OGoodsInventory::getGoodsId,id));
|
||||
// // 删除skuAttr
|
||||
// skuAttrMapper.delete(new LambdaQueryWrapper<OGoodsSkuAttr>().eq(OGoodsSkuAttr::getGoodsId,id));
|
||||
// // 删除sku
|
||||
// skuMapper.delete(new LambdaQueryWrapper<OGoodsSku>().eq(OGoodsSku::getGoodsId,id));
|
||||
// // 删除商品
|
||||
// goodsMapper.deleteById(id);
|
||||
// }else{
|
||||
// return -100;//有关联的订单,不能删除
|
||||
// }
|
||||
// }
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertGoodsSku(OGoodsSku goodsSku) {
|
||||
// 是否存在
|
||||
List<OGoodsSku> oGoodsSkus = skuMapper.selectList(new LambdaQueryWrapper<OGoodsSku>().eq(OGoodsSku::getOuterErpSkuId, goodsSku.getOuterErpSkuId()).or().eq(OGoodsSku::getSkuCode, goodsSku.getSkuCode()));
|
||||
if(oGoodsSkus==null || oGoodsSkus.size() ==0) {
|
||||
// 查询goodsId外键
|
||||
if (StringUtils.hasText(goodsSku.getOuterErpGoodsId())) {
|
||||
List<OGoods> oGoods = goodsMapper.selectList(new LambdaQueryWrapper<OGoods>().eq(OGoods::getOuterErpGoodsId, goodsSku.getOuterErpGoodsId()));
|
||||
if (oGoods != null && oGoods.size() > 0) {
|
||||
goodsSku.setGoodsId(oGoods.get(0).getId());
|
||||
} else {
|
||||
goodsSku.setGoodsId("0");
|
||||
}
|
||||
} else {
|
||||
goodsSku.setGoodsId("0");
|
||||
}
|
||||
return skuMapper.insert(goodsSku);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public int saveGoodsSku(GoodsSkuAddBo addBo) {
|
||||
// // 是否存在
|
||||
// List<OGoodsSku> oGoodsSkus = skuMapper.selectList(new LambdaQueryWrapper<OGoodsSku>().eq(OGoodsSku::getOuterErpSkuId, addBo.getErpSkuId()));
|
||||
// if(oGoodsSkus==null || oGoodsSkus.size() ==0) {
|
||||
// //不存在,新增
|
||||
// OGoodsSku insert = new OGoodsSku();
|
||||
// insert.setGoodsId(addBo.getGoodsk);
|
||||
// insert.setOuterErpGoodsId("0");
|
||||
// insert.setOuterErpSkuId(addBo.getErpSkuId());
|
||||
// insert.setSkuName(addBo.getProductSpec());
|
||||
// insert.setSkuCode(addBo.getErpSkuCode());
|
||||
// insert.setGoodsName(addBo.getErpSkuName());
|
||||
// insert.setRetailPrice(addBo.getSalePrice());
|
||||
// insert.setColorValue(addBo.getProductColor());
|
||||
// insert.setColorImage(addBo.getProductPicture1());
|
||||
// insert.setSizeValue(addBo.getMaterialKind());
|
||||
// insert.setVolume(addBo.getProductVolume());
|
||||
// insert.setStatus(addBo.getProductIsUse());
|
||||
// skuMapper.insert(insert);
|
||||
// }else{
|
||||
// // 存在,修改
|
||||
// OGoodsSku update = new OGoodsSku();
|
||||
// update.setId(oGoodsSkus.get(0).getId());
|
||||
// update.setOuterErpSkuId(addBo.getErpSkuId());
|
||||
// update.setSkuName(addBo.getProductSpec());
|
||||
// update.setSkuCode(addBo.getErpSkuCode());
|
||||
// update.setGoodsName(addBo.getErpSkuName());
|
||||
// update.setRetailPrice(addBo.getSalePrice());
|
||||
// update.setColorValue(addBo.getProductColor());
|
||||
// update.setColorImage(addBo.getProductPicture1());
|
||||
// update.setSizeValue(addBo.getMaterialKind());
|
||||
// update.setVolume(addBo.getProductVolume());
|
||||
// update.setStatus(addBo.getProductIsUse());
|
||||
// skuMapper.updateById(update);
|
||||
// }
|
||||
// return 1;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public int batchSaveGoodsSku(List<GoodsSkuAddBo> list) {
|
||||
// for (var bo:list) {
|
||||
// if(StringUtils.hasText(bo.getErpSkuId()) && StringUtils.hasText(bo.getErpSkuCode()) ){
|
||||
// this.saveGoodsSku(bo);
|
||||
// }
|
||||
// }
|
||||
// return 1;
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSkuAttr;
|
||||
import cn.qihangerp.module.goods.service.OGoodsSkuAttrService;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsSkuAttrMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_sku_attr】的数据库操作Service实现
|
||||
* @createDate 2024-09-07 20:31:18
|
||||
*/
|
||||
@Service
|
||||
public class OGoodsSkuAttrServiceImpl extends ServiceImpl<OGoodsSkuAttrMapper, OGoodsSkuAttr>
|
||||
implements OGoodsSkuAttrService{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSku;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsSkuMapper;
|
||||
import cn.qihangerp.module.goods.service.OGoodsSkuService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author TW
|
||||
* @description 针对表【o_goods_sku(商品规格库存管理)】的数据库操作Service实现
|
||||
* @createDate 2024-03-11 14:24:49
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class OGoodsSkuServiceImpl extends ServiceImpl<OGoodsSkuMapper, OGoodsSku>
|
||||
implements OGoodsSkuService {
|
||||
private final OGoodsSkuMapper skuMapper;
|
||||
@Override
|
||||
public List<OGoodsSku> searchGoodsSpec(String keyword) {
|
||||
LambdaQueryWrapper<OGoodsSku> queryWrapper =
|
||||
new LambdaQueryWrapper<OGoodsSku>()
|
||||
.likeRight(OGoodsSku::getGoodsId,keyword).or()
|
||||
.likeRight(OGoodsSku::getId,keyword).or()
|
||||
.likeRight(OGoodsSku::getSkuCode,keyword).or()
|
||||
.like(OGoodsSku::getGoodsName,keyword).or()
|
||||
.like(OGoodsSku::getSkuName,keyword)
|
||||
;
|
||||
queryWrapper.last("LIMIT 10");
|
||||
return skuMapper.selectList(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package cn.qihangerp.module.goods.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import cn.qihangerp.common.PageQuery;
|
||||
import cn.qihangerp.common.PageResult;
|
||||
import cn.qihangerp.module.goods.domain.OGoodsSupplier;
|
||||
import cn.qihangerp.module.goods.service.OGoodsSupplierService;
|
||||
import cn.qihangerp.module.goods.mapper.OGoodsSupplierMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* @author qilip
|
||||
* @description 针对表【o_goods_supplier】的数据库操作Service实现
|
||||
* @createDate 2024-09-07 16:35:43
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Service
|
||||
public class OGoodsSupplierServiceImpl extends ServiceImpl<OGoodsSupplierMapper, OGoodsSupplier>
|
||||
implements OGoodsSupplierService{
|
||||
private final OGoodsSupplierMapper mapper;
|
||||
|
||||
@Override
|
||||
public PageResult<OGoodsSupplier> queryPageList(OGoodsSupplier bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<OGoodsSupplier> queryWrapper = new LambdaQueryWrapper<OGoodsSupplier>();
|
||||
|
||||
queryWrapper.like(StringUtils.hasText(bo.getName()), OGoodsSupplier::getName, bo.getName());
|
||||
Page<OGoodsSupplier> pages = mapper.selectPage(pageQuery.build(), queryWrapper);
|
||||
|
||||
return PageResult.build(pages);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.qihangerp.module.goods.mapper.OGoodsBrandMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.qihangerp.module.goods.domain.OGoodsBrand">
|
||||
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="status" column="status" jdbcType="INTEGER"/>
|
||||
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,name,status,
|
||||
create_by,create_time,update_by,
|
||||
update_time
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.qihangerp.module.goods.mapper.OGoodsCategoryAttributeMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.qihangerp.module.goods.domain.OGoodsCategoryAttribute">
|
||||
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="categoryId" column="category_id" jdbcType="INTEGER"/>
|
||||
<result property="type" column="type" jdbcType="INTEGER"/>
|
||||
<result property="title" column="title" jdbcType="VARCHAR"/>
|
||||
<result property="code" column="code" jdbcType="CHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,category_id,type,
|
||||
title,code
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.qihangerp.module.goods.mapper.OGoodsCategoryAttributeValueMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.qihangerp.module.goods.domain.OGoodsCategoryAttributeValue">
|
||||
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="categoryAttributeId" column="category_attribute_id" jdbcType="INTEGER"/>
|
||||
<result property="value" column="value" jdbcType="VARCHAR"/>
|
||||
<result property="skuCode" column="sku_code" jdbcType="VARCHAR"/>
|
||||
<result property="ordernum" column="orderNum" jdbcType="INTEGER"/>
|
||||
<result property="isdelete" column="isDelete" jdbcType="INTEGER"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,category_attribute_id,value,
|
||||
sku_code,orderNum,isDelete
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.qihangerp.module.goods.mapper.OGoodsCategoryMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.qihangerp.module.goods.domain.OGoodsCategory">
|
||||
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="number" column="number" jdbcType="VARCHAR"/>
|
||||
<result property="name" column="name" jdbcType="VARCHAR"/>
|
||||
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
||||
<result property="parentId" column="parent_id" jdbcType="INTEGER"/>
|
||||
<result property="path" column="path" jdbcType="VARCHAR"/>
|
||||
<result property="sort" column="sort" jdbcType="INTEGER"/>
|
||||
<result property="image" column="image" jdbcType="VARCHAR"/>
|
||||
<result property="isdelete" column="isDelete" jdbcType="TINYINT"/>
|
||||
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,`number`,`name`,
|
||||
remark,parent_id,path,
|
||||
sort,image,isDelete,
|
||||
create_by,create_time,update_by,
|
||||
update_time
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.qihangerp.module.goods.mapper.OGoodsInventoryBatchMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.qihangerp.module.goods.domain.OGoodsInventoryBatch">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="batchNum" column="batch_num" jdbcType="VARCHAR"/>
|
||||
<result property="originQty" column="origin_qty" jdbcType="BIGINT"/>
|
||||
<result property="currentQty" column="current_qty" jdbcType="BIGINT"/>
|
||||
<result property="purPrice" column="pur_price" jdbcType="DOUBLE"/>
|
||||
<result property="purId" column="pur_id" jdbcType="BIGINT"/>
|
||||
<result property="purItemId" column="pur_item_id" jdbcType="BIGINT"/>
|
||||
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
||||
<result property="skuId" column="sku_id" jdbcType="BIGINT"/>
|
||||
<result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
|
||||
<result property="skuCode" column="sku_code" jdbcType="VARCHAR"/>
|
||||
<result property="warehouseId" column="warehouse_id" jdbcType="BIGINT"/>
|
||||
<result property="positionId" column="position_id" jdbcType="BIGINT"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,batch_num,origin_qty,
|
||||
current_qty,pur_price,pur_id,
|
||||
pur_item_id,remark,sku_id,
|
||||
goods_id,sku_code,warehouse_id,
|
||||
position_id,create_time,create_by,
|
||||
update_time,update_by
|
||||
</sql>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.qihangerp.module.goods.mapper.OGoodsInventoryMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="cn.qihangerp.module.goods.domain.OGoodsInventory">
|
||||
<id property="id" column="id" jdbcType="BIGINT"/>
|
||||
<result property="goodsId" column="goods_id" jdbcType="BIGINT"/>
|
||||
<result property="goodsNum" column="goods_num" jdbcType="VARCHAR"/>
|
||||
<result property="skuId" column="sku_id" jdbcType="BIGINT"/>
|
||||
<result property="skuCode" column="sku_code" jdbcType="VARCHAR"/>
|
||||
<result property="quantity" column="quantity" jdbcType="BIGINT"/>
|
||||
<result property="isDelete" column="is_delete" jdbcType="TINYINT"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="createBy" column="create_by" jdbcType="VARCHAR"/>
|
||||
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,goods_id,goods_num,
|
||||
sku_id,sku_code,quantity,
|
||||
is_delete,create_time,create_by,
|
||||
update_time,update_by
|
||||
</sql>
|
||||
<select id="getAllInventoryQuantity" resultType="Long">
|
||||
SELECT IFNULL(SUM(quantity),0) as count FROM o_goods_inventory where is_delete=0
|
||||
</select>
|
||||
</mapper>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue