优化项目结构和菜单结构
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`
|
`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、项目结构
|
||||||
#### 2.1 core
|
#### 2.1 core
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common;
|
package cn.qihangerp.common;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hello world!
|
* 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.core.metadata.OrderItem;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.Data;
|
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.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.qihang.common.enums.HttpStatus;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.common;
|
package cn.qihangerp.common;
|
||||||
|
|
||||||
import lombok.Data;
|
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;
|
import lombok.Data;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.bo;
|
package cn.qihangerp.common.bo;
|
||||||
|
|
||||||
import lombok.Data;
|
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.HashMap;
|
||||||
import java.util.Objects;
|
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.Charset;
|
||||||
import java.nio.charset.StandardCharsets;
|
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.io.Serializable;
|
||||||
import java.util.List;
|
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.JSON;
|
||||||
import com.alibaba.fastjson2.JSONReader;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.redis.core.BoundSetOperations;
|
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;
|
import org.springframework.cache.annotation.CachingConfigurerSupport;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.constant;
|
package cn.qihangerp.common.constant;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 缓存的key 常量
|
* 缓存的key 常量
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.constant;
|
package cn.qihangerp.common.constant;
|
||||||
|
|
||||||
import io.jsonwebtoken.Claims;
|
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 cn.qihangerp.common.common.CharsetKit;
|
||||||
import com.qihang.common.utils.StringUtils;
|
import cn.qihangerp.common.utils.StringUtils;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
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 cn.qihangerp.common.utils.MessageUtils;
|
||||||
import com.qihang.common.utils.StringUtils;
|
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 lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class MqMessage {
|
public class MqMessage {
|
||||||
private int mqType;// 消息类型(1:订单消息;2:退款消息)
|
private int mqType;// 消息类型(1:订单消息;2:退款消息)
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.mq;
|
package cn.qihangerp.common.mq;
|
||||||
|
|
||||||
public class MqType {
|
public class MqType {
|
||||||
/**
|
/**
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.mq;
|
package cn.qihangerp.common.mq;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.task;
|
package cn.qihangerp.common.task;
|
||||||
|
|
||||||
public interface IPollableService {
|
public interface IPollableService {
|
||||||
/**
|
/**
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.task;
|
package cn.qihangerp.common.task;
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
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;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.sys.api.utils;
|
package cn.qihangerp.common.utils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ID生成器工具类
|
* ID生成器工具类
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.qihang.common.utils;
|
package cn.qihangerp.common.utils;
|
||||||
|
|
||||||
import org.springframework.context.MessageSource;
|
import org.springframework.context.MessageSource;
|
||||||
import org.springframework.context.i18n.LocaleContextHolder;
|
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.aop.framework.AopContext;
|
||||||
import org.springframework.beans.BeansException;
|
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 cn.qihangerp.common.constant.Constants;
|
||||||
import com.qihang.common.constant.StrFormatter;
|
import cn.qihangerp.common.constant.StrFormatter;
|
||||||
|
|
||||||
import java.util.*;
|
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 jakarta.servlet.ServletRequest;
|
||||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
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 cn.qihangerp.common.utils.StringUtils;
|
||||||
import com.qihang.common.utils.StringUtils;
|
import cn.qihangerp.common.constant.Constants;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
server:
|
server:
|
||||||
port: 8080
|
port: 8088
|
||||||
spring:
|
spring:
|
||||||
application:
|
application:
|
||||||
name: gateway
|
name: gateway
|
||||||
|
|
@ -13,8 +13,8 @@ spring:
|
||||||
nacos:
|
nacos:
|
||||||
discovery:
|
discovery:
|
||||||
server-addr: 127.0.0.1:8848
|
server-addr: 127.0.0.1:8848
|
||||||
# username: nacos
|
username: nacos
|
||||||
# password: nacos
|
password: nacos
|
||||||
sentinel:
|
sentinel:
|
||||||
transport:
|
transport:
|
||||||
dashboard: 127.0.0.1:8888 # sentinel控制台地址
|
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;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
public class GoodsSpecListVo {
|
public class GoodsAddSkuBo {
|
||||||
|
private Long colorId;
|
||||||
private Long id;
|
|
||||||
private Long goodsId;
|
|
||||||
|
|
||||||
/** 商品名称 */
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
/** 商品编号 */
|
|
||||||
private String number;
|
|
||||||
private String specNum;
|
|
||||||
private String colorValue;
|
private String colorValue;
|
||||||
/** 商品图片地址 */
|
private Long sizeId;
|
||||||
private String colorImage;
|
|
||||||
private String sizeValue;
|
private String sizeValue;
|
||||||
|
private Long styleId;
|
||||||
private String styleValue;
|
private String styleValue;
|
||||||
|
|
||||||
|
private String specNum;
|
||||||
|
|
||||||
private BigDecimal purPrice;
|
private BigDecimal purPrice;
|
||||||
|
|
||||||
public Long getId() {
|
//外部ERP商品Sku Id
|
||||||
return id;
|
private String outerErpSkuId;
|
||||||
|
|
||||||
|
public String getOuterErpSkuId() {
|
||||||
|
return outerErpSkuId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setId(Long id) {
|
public void setOuterErpSkuId(String outerErpSkuId) {
|
||||||
this.id = id;
|
this.outerErpSkuId = outerErpSkuId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getGoodsId() {
|
public Long getColorId() {
|
||||||
return goodsId;
|
return colorId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setGoodsId(Long goodsId) {
|
public void setColorId(Long colorId) {
|
||||||
this.goodsId = goodsId;
|
this.colorId = colorId;
|
||||||
}
|
|
||||||
|
|
||||||
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 String getColorValue() {
|
public String getColorValue() {
|
||||||
|
|
@ -69,12 +41,12 @@ public class GoodsSpecListVo {
|
||||||
this.colorValue = colorValue;
|
this.colorValue = colorValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getColorImage() {
|
public Long getSizeId() {
|
||||||
return colorImage;
|
return sizeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setColorImage(String colorImage) {
|
public void setSizeId(Long sizeId) {
|
||||||
this.colorImage = colorImage;
|
this.sizeId = sizeId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSizeValue() {
|
public String getSizeValue() {
|
||||||
|
|
@ -85,6 +57,14 @@ public class GoodsSpecListVo {
|
||||||
this.sizeValue = sizeValue;
|
this.sizeValue = sizeValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Long getStyleId() {
|
||||||
|
return styleId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStyleId(Long styleId) {
|
||||||
|
this.styleId = styleId;
|
||||||
|
}
|
||||||
|
|
||||||
public String getStyleValue() {
|
public String getStyleValue() {
|
||||||
return styleValue;
|
return styleValue;
|
||||||
}
|
}
|
||||||
|
|
@ -93,6 +73,14 @@ public class GoodsSpecListVo {
|
||||||
this.styleValue = styleValue;
|
this.styleValue = styleValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getSpecNum() {
|
||||||
|
return specNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpecNum(String specNum) {
|
||||||
|
this.specNum = specNum;
|
||||||
|
}
|
||||||
|
|
||||||
public BigDecimal getPurPrice() {
|
public BigDecimal getPurPrice() {
|
||||||
return purPrice;
|
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