Compare commits

...

8 Commits
dev ... day_01

Author SHA1 Message Date
yuanjunzhe bbee75bed3 缓存 2024-04-01 14:31:00 +08:00
yuanjunzhe a433983f0d 更新 2024-03-28 14:27:55 +08:00
yuanjunzhe 484b5604bd 商品添加 2024-03-23 09:01:40 +08:00
yuanjunzhe 6521c5a5a4 更新 2024-03-12 15:00:12 +08:00
yuanjunzhe df44b8bfc8 更新 2024-03-07 14:34:43 +08:00
yuanjunzhe 7c0c4e8348 Default Changelist 2024-03-01 09:56:22 +08:00
yuanjunzhe db11f3d381 Default Changelist 2024-02-29 14:58:09 +08:00
yuanjunzhe f01198e240 Default Changelist 2024-02-27 15:05:34 +08:00
203 changed files with 10157 additions and 51 deletions

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>muyu-common</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>muyu-common-cache</artifactId>
<description>
muyu-common-cache缓存基准
</description>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- common 缓存 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-redis</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,62 @@
package com.muyu.common.cache;
/**
* @author DongZl
* @description:
* @Date 2024-3-26 03:25
*/
public interface Cache <K, V> {
/**
* key
* @return key
*/
public String keyPre();
/**
*
* @param key ID
* @return
*/
public String encode(K key);
/**
*
* @param redisKey
* @return ID
*/
public K decode(String redisKey);
/**
* Keyvalue
* @param key
* @return
*/
public V get(K key);
/**
* /
* @param key
* @param value
*/
public void put(K key, V value);
/**
*
* @param key
*/
public void remove(K key);
/**
*
* @param key
*/
public void refreshTime (K key);
/**
*
* @param key
*/
public void refreshData (K key);
}

View File

@ -0,0 +1,111 @@
package com.muyu.common.cache;
import com.muyu.common.cache.decoration.DecorationKey;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
/**
* @Authoryjz
* @Packagecom.muyu.common.cache
* @Projectcloud_service
* @nameHashCache
* @Date2024/3/31 15:51
*/
public interface HashCache <K,HK,HV> extends DecorationKey<K> {
/**
*
* @param hashkey Id
* @return
*/
public String encodeHashKey(HK hashkey);
/**
*
* @param redisHashKey
* @return ID
*/
public HK decodeHashKey(String redisHashKey);
/**
* Keymap
* @param key
* @return Map
*/
public Map<HK,HV> get(K key);
/**
* hashKeyhashValue
* @param key
* @param hashKey hash
* @return hash
*/
public HV get(K key,HK hashKey);
/**
* hashKeyhashValue
* @param key
* @param hashKeyList hash
* @return hash
*/
public List<HV> get(K key,HK... hashKeyList);
/**
* hash
* @param key
* @return hash
*/
public List<HV> getToList(K key);
/**
*
* @param key redis
* @param map hashMap
*/
public void put(K key,Map<HK,HV>map);
/**
*
* @param key redis
* @param dataList
* @param hashKey hash
*/
public void put(K key, List<HV> dataList, Function<HV,HK>hashKey);
/**
*
* @param key redis
* @param hashKey hash
* @param hashValue hash
*/
public void put(K key,HK hashKey,HV hashValue);
/**
* redis
* @param key hash
*/
public void remove(K key);
/**
* redishash
* @param key redis
* @param hashKey hash
*/
public void remove(K key,HK hashKey);
}

View File

@ -0,0 +1,96 @@
package com.muyu.common.cache.abs;
import com.muyu.common.cache.Cache;
import com.muyu.common.redis.service.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.concurrent.TimeUnit;
/**
* @author DongZl
* @description:
* @Date 2024-3-27 03:10
*/
public abstract class CacheAbs<K, V> implements Cache<K, V> {
@Autowired
private RedisService redisService;
/**
*
* @param key ID
* @return
*/
@Override
public String encode (K key) {
return keyPre() + key;
}
/**
* Keyvalue
* @param key
* @return
*/
@Override
public V get (K key) {
V value = redisService.getCacheObject(encode(key));
if (value == null){
value = getData(key);
if (value == null){
value = defaultValue();
}
}
this.put(key, value);
return value;
}
/**
* /
* @param key
* @param value
*/
@Override
public void put (K key, V value) {
this.redisService.setCacheObject(encode(key), value);
}
/**
*
* @param key
*/
@Override
public void remove (K key) {
this.redisService.deleteObject(encode(key));
}
/**
*
* @param key
*/
@Override
public void refreshTime (K key) {
this.redisService.expire(encode(key), 60, TimeUnit.SECONDS);
}
/**
*
*
* @param key
*/
@Override
public void refreshData (K key) {
this.put(key, getData(key));
}
/**
*
* @param key ID
* @return
*/
public abstract V getData(K key);
/**
*
*/
public abstract V defaultValue();
}

View File

@ -0,0 +1,125 @@
package com.muyu.common.cache.abs;/**
* @Authoryjz
* @Packagecom.muyu.common.cache.abs
* @Projectcloud_service
* @nameHashCacheAbs
* @Date2024/3/31 16:01
*/
import com.muyu.common.cache.HashCache;
import com.muyu.common.redis.service.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
/**
*@ClassName HashCacheAbs
*@Description
*@Author JunZhe.Yuan
*@Date 2024/3/31 16:01
*/
public abstract class HashCacheAbs<K,HK,HV> implements HashCache<K,HK,HV> {
@Autowired
private RedisService redisService;
@Override
public String encode(K key) {
return keyPre()+key;
}
@Override
public String encodeHashKey(HK hashkey) {
return hashkey.toString();
}
@Override
public Map<HK, HV> get(K key) {
return decodeMap(redisService.getCacheMap(encode(key)));
}
@Override
public HV get(K key, HK hashKey) {
return redisService.getCacheMapValue(encode(key),encodeHashKey(hashKey));
}
@Override
public List<HV> get(K key, HK... hashKeyList) {
List<String> encodeHashKeyList = Arrays.stream(hashKeyList).map(this::encodeHashKey).toList();
return redisService.getMultiCacheMapValue(encode(key),encodeHashKeyList);
}
@Override
public List<HV> getToList(K key) {
Map<HK, HV> hkhvMap = get(key);
return hkhvMap.values().stream().toList();
}
@Override
public void put(K key, Map<HK, HV> map) {
redisService.setCacheMap(encode(key),encodeMap(map));
}
@Override
public void put(K key, List<HV> dataList, Function<HV, HK> hashKey) {
HashMap<HK, HV> dataMap = new HashMap<>();
dataList.forEach((data) -> dataMap.put(hashKey.apply(data),data));
redisService.setCacheMap(encode(key),encodeMap(dataMap));
}
@Override
public void put(K key, HK hashKey, HV hashValue) {
redisService.setCacheMapValue(encode(key),encodeHashKey(hashKey),hashValue);
}
@Override
public void remove(K key) {
redisService.deleteObject(encode(key));
}
@Override
public void remove(K key, HK hashKey) {
redisService.deleteCacheMapValue(encode(key),encodeHashKey(hashKey));
}
/**
*
* @param dataMap
* @return
*/
private Map<String,HV> encodeMap(Map<HK,HV> dataMap){
Map<String,HV> encodeDataMap = new HashMap<>();
dataMap.forEach((hashKey,HashValue) -> encodeDataMap.put(encodeHashKey(hashKey),HashValue));
return encodeDataMap;
}
private Map<HK,HV> decodeMap(Map<String,HV> encodeDataMap){
Map<HK,HV> dataMap = new HashMap<>();
encodeDataMap.forEach(((hashKey, hashValue) -> dataMap.put(decodeHashKey(hashKey),hashValue)));
return dataMap;
}
public abstract Map<HK,HV> getData(K key);
public abstract HV getData(K key,HK hashKey);
public abstract Map<HK,HV> defaultValue();
public abstract HV defaultHashValue();
}

View File

@ -0,0 +1,22 @@
package com.muyu.common.cache.decoration;
/**
* @Authoryjz
* @Packagecom.muyu.common.cache.decoration
* @Projectcloud_service
* @nameDecorationKey
* @Date2024/3/29 20:46
*/
public interface DecorationKey <K>{
public String keyPre();
public String encode(K key);
public K decode(String redisKey);
}

View File

@ -0,0 +1,65 @@
package com.muyu.common.core.utils;
import org.apache.commons.lang3.ObjectUtils;
import java.math.BigDecimal;
/**
* @author DongZl
* @description:
* @Date 2023-10-9 04:56
*/
public class ObjUtils {
/**
*
* CharSequence:
* Array:
* Collection:
* Map:
* @param o
* @return nulltruefalse
*/
public static boolean notNull(Object o){
return ObjectUtils.isNotEmpty(o);
}
/**
* long0
* @param val
* @return 0
*/
public static boolean notNull(Long val){
return ObjectUtils.isNotEmpty(val) && val != 0;
}
/**
* Integer0
* @param val
* @return 0
*/
public static boolean notNull(Integer val){
return ObjectUtils.isNotEmpty(val) && val != 0;
}
/**
* BigDecimal0
* @param val
* @return 0
*/
public static boolean notNull(BigDecimal val){
return ObjectUtils.isNotEmpty(val) && val.doubleValue() == 0.00;
}
/**
* BigDecimal0
* @param val
* @return 0
*/
public static boolean notChildNull(Object[] val){
for (Object o : val) {
if (!notNull(o)){
return false;
}
}
return true;
}
}

View File

@ -229,7 +229,7 @@ public class RedisService {
*
* @return Hash
*/
public <T> List<T> getMultiCacheMapValue (final String key, final Collection<Object> hKeys) {
public <T> List<T> getMultiCacheMapValue (final String key, final Collection<?> hKeys) {
return redisTemplate.opsForHash().multiGet(key, hKeys);
}

View File

@ -10,6 +10,7 @@
<modules>
<module>muyu-common-log</module>
<module>muyu-common-cache</module>
<module>muyu-common-core</module>
<module>muyu-common-redis</module>
<module>muyu-common-seata</module>
@ -27,4 +28,6 @@
muyu-common通用模块
</description>
</project>

View File

@ -34,7 +34,7 @@
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
# 配置文件格式
file-extension: yml
# 共享配置
@ -28,12 +28,12 @@ spring:
eager: true
transport:
# 控制台地址
dashboard: 127.0.0.1:8718
dashboard: 124.221.192.127:8718
# nacos配置持久化
datasource:
ds1:
nacos:
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
dataId: sentinel-muyu-gateway
groupId: DEFAULT_GROUP
data-type: json

View File

@ -66,6 +66,12 @@
<groupId>com.muyu</groupId>
<artifactId>muyu-common-system</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>

View File

@ -1,5 +1,6 @@
package com.muyu.file.service;
import com.muyu.file.utils.FileUploadUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Primary;

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos:
discovery:
# 服务注册地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
config:
# 配置中心地址
server-addr: 127.0.0.1:8848
server-addr: 124.221.192.127:8848
# 配置文件格式
file-extension: yml
# 共享配置

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>muyu-product</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>muyu-product-cache</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 缓存基准模块 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-cache</artifactId>
</dependency>
<!-- 商品模块 common 依赖 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-product-common</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,61 @@
package com.muyu.product.cache;
import com.muyu.common.cache.abs.CacheAbs;
import com.muyu.common.core.text.Convert;
import com.muyu.product.cache.datasource.ProjectInfoData;
import com.muyu.product.domain.ProjectInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @author DongZl
* @description:
* @Date 2024-3-27 03:30
*/
@Component
public class ProjectInfoCache extends CacheAbs<Long, ProjectInfo> {
@Autowired
private ProjectInfoData projectInfoData;
/**
* key
*
* @return key
*/
@Override
public String keyPre () {
return "project:info:";
}
/**
*
*
* @param redisKey
*
* @return ID
*/
@Override
public Long decode (String redisKey) {
return Convert.toLong(redisKey.replace(keyPre(),""), 0L);
}
/**
*
*
* @param key ID
*
* @return
*/
@Override
public ProjectInfo getData (Long key) {
return projectInfoData.getData(key);
}
/**
*
*/
@Override
public ProjectInfo defaultValue () {
return new ProjectInfo();
}
}

View File

@ -0,0 +1,16 @@
package com.muyu.product.cache;/**
* @Authoryjz
* @Packagecom.muyu.product.cache.datasource
* @Projectcloud_service
* @nameProjectSkuStockCache
* @Date2024/3/29 20:52
*/
/**
*@ClassName ProjectSkuStockCache
*@Description
*@Author JunZhe.Yuan
*@Date 2024/3/29 20:52
*/
public class ProjectSkuStockCache {
}

View File

@ -0,0 +1,18 @@
package com.muyu.product.cache.datasource;
import com.muyu.product.domain.ProjectInfo;
/**
* @author DongZl
* @description:
* @Date 2024-3-27 03:34
*/
public interface ProjectInfoData {
/**
*
* @param key ID
* @return
*/
public ProjectInfo getData (Long key);
}

View File

@ -0,0 +1,28 @@
package com.muyu.product.cache.datasource;/**
* @Authoryjz
* @Packagecom.muyu.product.cache.datasource
* @Projectcloud_service
* @nameProjectSkuData
* @Date2024/4/1 14:17
*/
import com.muyu.product.domain.ProjectSkuInfo;
import java.util.Map;
/**
*@ClassName ProjectSkuData
*@Description
*@Author JunZhe.Yuan
*@Date 2024/4/1 14:17
*/
public interface ProjectSkuData {
public Map<String , ProjectSkuInfo> getData(Long projectId);
public ProjectSkuInfo getData(Long projectId,String projectSku);
}

View File

@ -0,0 +1,16 @@
package com.muyu.product.cache;/**
* @Authoryjz
* @Packagecom.muyu.product.cache.datasource
* @Projectcloud_service
* @nameprojectSkuCache
* @Date2024/3/29 20:52
*/
/**
*@ClassName projectSkuCache
*@Description
*@Author JunZhe.Yuan
*@Date 2024/3/29 20:52
*/
public class projectSkuCache {
}

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>muyu-product</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>muyu-product-common</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 系统公共核心包 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-core</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,55 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* as_attribute_group
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("as_attribute_group")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AsAttributeGroup", description = "属性与组中间")
public class AsAttributeGroup extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 组ID */
@Excel(name = "组ID")
@ApiModelProperty(name = "组ID", value = "组ID", required = true)
private Long groupId;
/** 属性id */
@Excel(name = "属性id")
@ApiModelProperty(name = "属性id", value = "属性id", required = true)
private Long attributeId;
public static AsAttributeGroup buildGroup (Long attributeGroupId,
Long attributeId) {
return AsAttributeGroup.builder()
.groupId(attributeGroupId)
.attributeId(attributeId)
.build();
}
}

View File

@ -0,0 +1,47 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* as_brand_project
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("as_brand_project")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AsBrandProject", description = "品牌商品中间")
public class AsBrandProject extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 品牌id */
@Excel(name = "品牌id")
@ApiModelProperty(name = "品牌id", value = "品牌id", required = true)
private Long brandId;
/** 商品id */
@Excel(name = "商品id")
@ApiModelProperty(name = "商品id", value = "商品id", required = true)
private String projectId;
}

View File

@ -0,0 +1,60 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.base.CategoryBase;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* as_category_attribute
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("as_category_attribute")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AsCategoryAttribute", description = "品类属性中间")
public class AsCategoryAttribute extends BaseEntity implements CategoryBase {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 品类id */
@Excel(name = "品类id")
@ApiModelProperty(name = "品类id", value = "品类id", required = true)
private Long categoryId;
/** 属性id */
@Excel(name = "属性id")
@ApiModelProperty(name = "属性id", value = "属性id", required = true)
private Long attributeId;
public static AsCategoryAttribute categoryBuild(Long categoryInfoId, Long attributeId) {
return AsCategoryAttribute.builder()
.categoryId(categoryInfoId)
.attributeId(attributeId)
.build();
}
@Override
public Long getBaseId () {
return this.attributeId;
}
}

View File

@ -0,0 +1,60 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.base.CategoryBase;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* as_category_attribute_group
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("as_category_attribute_group")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AsCategoryAttributeGroup", description = "品类属性组中间")
public class AsCategoryAttributeGroup extends BaseEntity implements CategoryBase {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 品类id */
@Excel(name = "品类id")
@ApiModelProperty(name = "品类id", value = "品类id", required = true)
private Long categoryId;
/** 属性组 */
@Excel(name = "属性组")
@ApiModelProperty(name = "属性组", value = "属性组", required = true)
private Long attributeGroupId;
public static AsCategoryAttributeGroup categoryBuild(Long categoryInfoId, Long attributeGroupId) {
return AsCategoryAttributeGroup.builder()
.attributeGroupId(attributeGroupId)
.categoryId(categoryInfoId)
.build();
}
@Override
public Long getBaseId () {
return this.attributeGroupId;
}
}

View File

@ -0,0 +1,59 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.base.CategoryBase;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* as_category_brand
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("as_category_brand")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AsCategoryBrand", description = "品类品牌中间")
public class AsCategoryBrand extends BaseEntity implements CategoryBase {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 品类id */
@Excel(name = "品类id")
@ApiModelProperty(name = "品类id", value = "品类id", required = true)
private Long categoryId;
/** 品牌id */
@Excel(name = "品牌id")
@ApiModelProperty(name = "品牌id", value = "品牌id", required = true)
private Long brandId;
public static AsCategoryBrand categoryBuild(Long categoryInfoId, Long brandId) {
return AsCategoryBrand.builder()
.brandId(brandId)
.categoryId(categoryInfoId)
.build();
}
@Override
public Long getBaseId () {
return this.brandId;
}
}

View File

@ -0,0 +1,64 @@
package com.muyu.product.domain;
import java.util.Date;
import java.util.function.Supplier;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.model.AttrValueModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* as_product_attribute_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("as_product_attribute_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AsProductAttributeInfo", description = "商品属性")
public class AsProductAttributeInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 属性编号 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "属性编号", value = "属性编号")
private Long id;
/** 商品 */
@Excel(name = "商品")
@ApiModelProperty(name = "商品", value = "商品", required = true)
private Long productId;
/** 属性 */
@Excel(name = "属性")
@ApiModelProperty(name = "属性", value = "属性", required = true)
private Long attributeId;
/** 属性值 */
@Excel(name = "属性值")
@ApiModelProperty(name = "属性值", value = "属性值", required = true)
private String value;
public static AsProductAttributeInfo attrValueModelBuild(AttrValueModel attrValueModel, Supplier<Long> projectId) {
return AsProductAttributeInfo.builder()
.productId(projectId.get())
.attributeId(attrValueModel.getId())
.value(attrValueModel.getValue())
.build();
}
}

View File

@ -0,0 +1,70 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class Attribute extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 属性名 */
@Excel(name = "属性名")
private String name;
/** 分组 */
@Excel(name = "编码")
private Long code;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setCode(Long code)
{
this.code = code;
}
public Long getCode()
{
return code;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("code", getCode())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,84 @@
package com.muyu.product.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.AttributeGroupQueryReq;
import com.muyu.product.domain.req.AttributeGroupSaveReq;
import com.muyu.product.domain.req.AttributeGroupEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute_group
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("attribute_group")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AttributeGroup", description = "属性组")
public class AttributeGroup extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 属性组编号 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "属性组编号", value = "属性组编号")
private Long id;
/** 组名称 */
@Excel(name = "组名称")
@ApiModelProperty(name = "组名称", value = "组名称", required = true)
private String name;
/** 状态 */
@Excel(name = "状态")
@ApiModelProperty(name = "状态", value = "状态", required = true)
private String states;
/**
*
*/
public static AttributeGroup queryBuild( AttributeGroupQueryReq attributeGroupQueryReq){
return AttributeGroup.builder()
.name(attributeGroupQueryReq.getName())
.states(attributeGroupQueryReq.getStates())
.build();
}
/**
*
*/
public static AttributeGroup saveBuild(AttributeGroupSaveReq attributeGroupSaveReq){
return AttributeGroup.builder()
.name(attributeGroupSaveReq.getName())
.states(attributeGroupSaveReq.getStates())
.build();
}
/**
*
*/
public static AttributeGroup editBuild(Long id, AttributeGroupEditReq attributeGroupEditReq){
return AttributeGroup.builder()
.id(id)
.name(attributeGroupEditReq.getName())
.states(attributeGroupEditReq.getStates())
.build();
}
}

View File

@ -0,0 +1,93 @@
package com.muyu.product.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.model.TemplateAttributeModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.AttributeInfoQueryReq;
import com.muyu.product.domain.req.AttributeInfoSaveReq;
import com.muyu.product.domain.req.AttributeInfoEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("attribute_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "AttributeInfo", description = "商品属性")
public class AttributeInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 属性编号 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "属性编号", value = "属性编号")
private Long id;
/** 属性编码 */
@Excel(name = "属性编码")
@ApiModelProperty(name = "属性编码", value = "属性编码", required = true)
private String code;
/** 属性名 */
@Excel(name = "属性名")
@ApiModelProperty(name = "属性名", value = "属性名", required = true)
private String name;
public TemplateAttributeModel buildTemplateModel(){
return TemplateAttributeModel.builder()
.id(this.getId())
.code(this.getCode())
.name(this.getName())
.build();
}
/**
*
*/
public static AttributeInfo queryBuild( AttributeInfoQueryReq attributeInfoQueryReq){
return AttributeInfo.builder()
.name(attributeInfoQueryReq.getName())
.code(attributeInfoQueryReq.getCode())
.build();
}
/**
*
*/
public static AttributeInfo saveBuild(AttributeInfoSaveReq attributeInfoSaveReq){
return AttributeInfo.builder()
.name(attributeInfoSaveReq.getName())
.code(attributeInfoSaveReq.getCode())
.build();
}
/**
*
*/
public static AttributeInfo editBuild(Long id, AttributeInfoEditReq attributeInfoEditReq){
return AttributeInfo.builder()
.id(id)
.name(attributeInfoEditReq.getName())
.code(attributeInfoEditReq.getCode())
.build();
}
}

View File

@ -0,0 +1,113 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.BrandInfoQueryReq;
import com.muyu.product.domain.req.BrandInfoSaveReq;
import com.muyu.product.domain.req.BrandInfoEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* brand_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("brand_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "BrandInfo", description = "品牌信息")
public class BrandInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/**
*
*/
@Excel(name = "品牌名称")
@ApiModelProperty(name = "品牌名称", value = "品牌名称", required = true)
private String name;
/**
* LOGO
*/
@Excel(name = "LOGO")
@ApiModelProperty(name = "LOGO", value = "LOGO", required = true)
private String logo;
/**
*
*/
@Excel(name = "是否启用")
@ApiModelProperty(name = "是否启用", value = "是否启用", required = true)
private String start;
/**
*
*/
@Excel(name = "介绍")
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
/**
*
*/
public static BrandInfo queryBuild(BrandInfoQueryReq brandInfoQueryReq) {
return BrandInfo.builder()
.name(brandInfoQueryReq.getNam())
.logo(brandInfoQueryReq.getLogo())
.start(brandInfoQueryReq.getStart())
.introduction(brandInfoQueryReq.getIntroduction())
.build();
}
/**
*
*/
public static BrandInfo saveBuild(BrandInfoSaveReq brandInfoSaveReq) {
return BrandInfo.builder()
.name(brandInfoSaveReq.getNam())
.logo(brandInfoSaveReq.getLogo())
.start(brandInfoSaveReq.getStart())
.introduction(brandInfoSaveReq.getIntroduction())
.remark(brandInfoSaveReq.getRemark())
.build();
}
/**
*
*/
public static BrandInfo editBuild(Long id, BrandInfoEditReq brandInfoEditReq) {
return BrandInfo.builder()
.id(id)
.name(brandInfoEditReq.getNam())
.logo(brandInfoEditReq.getLogo())
.start(brandInfoEditReq.getStart())
.introduction(brandInfoEditReq.getIntroduction())
.createBy(brandInfoEditReq.getCreateBy())
.createTime(brandInfoEditReq.getCreateTime())
.updateBy(brandInfoEditReq.getUpdateBy())
.createTime(brandInfoEditReq.getCreateTime())
.remark(brandInfoEditReq.getRemark())
.build();
}
}

View File

@ -0,0 +1,70 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* brand_product
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class BrandProduct extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 品牌id */
@Excel(name = "品牌id")
private Long brandId;
/** 商品id */
@Excel(name = "商品id")
private Long productId;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setBrandId(Long brandId)
{
this.brandId = brandId;
}
public Long getBrandId()
{
return brandId;
}
public void setProductId(Long productId)
{
this.productId = productId;
}
public Long getProductId()
{
return productId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("brandId", getBrandId())
.append("productId", getProductId())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,70 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* category_attribute
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class CategoryAttribute extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 品类 */
@Excel(name = "品类")
private Long categoryId;
/** 属性id */
@Excel(name = "属性id")
private Long attributeId;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCategoryId(Long categoryId)
{
this.categoryId = categoryId;
}
public Long getCategoryId()
{
return categoryId;
}
public void setAttributeId(Long attributeId)
{
this.attributeId = attributeId;
}
public Long getAttributeId()
{
return attributeId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("categoryId", getCategoryId())
.append("attributeId", getAttributeId())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,70 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* category_attribute_group
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class CategoryAttributeGroup extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 品类 */
@Excel(name = "品类")
private Long categoryId;
/** 属性组 */
@Excel(name = "属性组")
private Long attributeGroupId;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCategoryId(Long categoryId)
{
this.categoryId = categoryId;
}
public Long getCategoryId()
{
return categoryId;
}
public void setAttributeGroupId(Long attributeGroupId)
{
this.attributeGroupId = attributeGroupId;
}
public Long getAttributeGroupId()
{
return attributeGroupId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("categoryId", getCategoryId())
.append("attributeGroupId", getAttributeGroupId())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,70 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* category_brand
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class CategoryBrand extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 品类 */
@Excel(name = "品类")
private Long categoryId;
/** 品牌 */
@Excel(name = "品牌")
private Long brandId;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCategoryId(Long categoryId)
{
this.categoryId = categoryId;
}
public Long getCategoryId()
{
return categoryId;
}
public void setBrandId(Long brandId)
{
this.brandId = brandId;
}
public Long getBrandId()
{
return brandId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("categoryId", getCategoryId())
.append("brandId", getBrandId())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,116 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.model.CategoryInfoSaveModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.CategoryInfoQueryReq;
import com.muyu.product.domain.req.CategoryInfoSaveReq;
import com.muyu.product.domain.req.CategoryInfoEditReq;
import com.muyu.common.core.web.domain.TreeEntity;
import java.util.Date;
import java.util.function.Function;
import java.util.function.Supplier;
/**
* category_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("category_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "CategoryInfo", description = "品类信息")
public class CategoryInfo extends TreeEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 品类名称 */
@Excel(name = "品类名称")
@ApiModelProperty(name = "品类名称", value = "品类名称", required = true)
private String name;
/** 图片 */
@Excel(name = "图片")
@ApiModelProperty(name = "图片", value = "图片", required = true)
private String image;
/** 是否启用 */
@Excel(name = "是否启用")
@ApiModelProperty(name = "是否启用", value = "是否启用", required = true)
private String start;
/** 介绍 */
@Excel(name = "介绍")
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
/**
*
*/
public static CategoryInfo queryBuild( CategoryInfoQueryReq categoryInfoQueryReq){
return CategoryInfo.builder()
.name(categoryInfoQueryReq.getName())
.image(categoryInfoQueryReq.getImage())
.start(categoryInfoQueryReq.getStart())
.introduction(categoryInfoQueryReq.getIntroduction())
.build();
}
/**
*
*/
public static CategoryInfo saveBuild(CategoryInfoSaveReq categoryInfoSaveReq, Supplier<String> supplier){
return CategoryInfo.builder()
.name(categoryInfoSaveReq.getName())
.image(categoryInfoSaveReq.getImage())
.start(categoryInfoSaveReq.getStart())
.introduction(categoryInfoSaveReq.getIntroduction())
.parentId(categoryInfoSaveReq.getParentId())
.createBy(supplier.get())
.createTime(new Date())
.build();
}
/**
*
*/
public static CategoryInfo editBuild(Long id, CategoryInfoEditReq categoryInfoEditReq){
return CategoryInfo.builder()
.id(id)
.name(categoryInfoEditReq.getName())
.image(categoryInfoEditReq.getImage())
.start(categoryInfoEditReq.getStart())
.introduction(categoryInfoEditReq.getIntroduction())
.build();
}
public static CategoryInfo saveModelBuild(CategoryInfoSaveModel categoryInfoSaveModel) {
return CategoryInfo.builder()
.name(categoryInfoSaveModel.getName())
.image(categoryInfoSaveModel.getImage())
.start(categoryInfoSaveModel.getStart())
.introduction(categoryInfoSaveModel.getIntroduction())
.parentId(categoryInfoSaveModel.getParentId())
.createBy(categoryInfoSaveModel.getCreateBy())
.createTime(new Date())
.build();
}
}

View File

@ -0,0 +1,97 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.CommentInfoQueryReq;
import com.muyu.product.domain.req.CommentInfoSaveReq;
import com.muyu.product.domain.req.CommentInfoEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("comment_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "CommentInfo", description = "商品评论")
public class CommentInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 商品id */
@Excel(name = "商品id")
@ApiModelProperty(name = "商品id", value = "商品id", required = true)
private Long projectId;
/** 评论 */
@Excel(name = "评论")
@ApiModelProperty(name = "评论", value = "评论")
private String comment;
/** 图片 */
@Excel(name = "图片")
@ApiModelProperty(name = "图片", value = "图片")
private String images;
/** 父类id */
@Excel(name = "父类id")
@ApiModelProperty(name = "父类id", value = "父类id")
private String parentId;
/**
*
*/
public static CommentInfo queryBuild( CommentInfoQueryReq commentInfoQueryReq){
return CommentInfo.builder()
.projectId(commentInfoQueryReq.getProjectId())
.comment(commentInfoQueryReq.getComment())
.images(commentInfoQueryReq.getImages())
.parentId(commentInfoQueryReq.getParentId())
.build();
}
/**
*
*/
public static CommentInfo saveBuild(CommentInfoSaveReq commentInfoSaveReq){
return CommentInfo.builder()
.projectId(commentInfoSaveReq.getProjectId())
.comment(commentInfoSaveReq.getComment())
.images(commentInfoSaveReq.getImages())
.parentId(commentInfoSaveReq.getParentId())
.build();
}
/**
*
*/
public static CommentInfo editBuild(Long id, CommentInfoEditReq commentInfoEditReq){
return CommentInfo.builder()
.id(id)
.projectId(commentInfoEditReq.getProjectId())
.comment(commentInfoEditReq.getComment())
.images(commentInfoEditReq.getImages())
.parentId(commentInfoEditReq.getParentId())
.build();
}
}

View File

@ -0,0 +1,70 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_like
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class CommentLike extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 评论id */
@Excel(name = "评论id")
private Long commentId;
/** 点赞人id */
@Excel(name = "点赞人id")
private Long userId;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCommentId(Long commentId)
{
this.commentId = commentId;
}
public Long getCommentId()
{
return commentId;
}
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
{
return userId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("commentId", getCommentId())
.append("userId", getUserId())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,81 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.CommentLikeInfoQueryReq;
import com.muyu.product.domain.req.CommentLikeInfoSaveReq;
import com.muyu.product.domain.req.CommentLikeInfoEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_like_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("comment_like_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "CommentLikeInfo", description = "评论点赞")
public class CommentLikeInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 评论id */
@Excel(name = "评论id")
@ApiModelProperty(name = "评论id", value = "评论id", required = true)
private Long commentId;
/** 点赞人id */
@Excel(name = "点赞人id")
@ApiModelProperty(name = "点赞人id", value = "点赞人id", required = true)
private Long userId;
/**
*
*/
public static CommentLikeInfo queryBuild( CommentLikeInfoQueryReq commentLikeInfoQueryReq){
return CommentLikeInfo.builder()
.commentId(commentLikeInfoQueryReq.getCommentId())
.userId(commentLikeInfoQueryReq.getUserId())
.build();
}
/**
*
*/
public static CommentLikeInfo saveBuild(CommentLikeInfoSaveReq commentLikeInfoSaveReq){
return CommentLikeInfo.builder()
.commentId(commentLikeInfoSaveReq.getCommentId())
.userId(commentLikeInfoSaveReq.getUserId())
.build();
}
/**
*
*/
public static CommentLikeInfo editBuild(Long id, CommentLikeInfoEditReq commentLikeInfoEditReq){
return CommentLikeInfo.builder()
.id(id)
.commentId(commentLikeInfoEditReq.getCommentId())
.userId(commentLikeInfoEditReq.getUserId())
.build();
}
}

View File

@ -0,0 +1,154 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* product
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class Product extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 商品名称 */
@Excel(name = "商品名称")
private String name;
/** 描述 */
@Excel(name = "描述")
private String describe;
/** 类型 */
@Excel(name = "类型")
private String type;
/** 图片 */
@Excel(name = "图片")
private String image;
/** 轮播图片 */
@Excel(name = "轮播图片")
private String carouselImages;
/** 状态 */
@Excel(name = "状态")
private String status;
/** 规格 */
@Excel(name = "规格")
private Long ruleId;
/** 品牌 */
@Excel(name = "品牌")
private Long brandId;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setDescribe(String describe)
{
this.describe = describe;
}
public String getDescribe()
{
return describe;
}
public void setType(String type)
{
this.type = type;
}
public String getType()
{
return type;
}
public void setImage(String image)
{
this.image = image;
}
public String getImage()
{
return image;
}
public void setCarouselImages(String carouselImages)
{
this.carouselImages = carouselImages;
}
public String getCarouselImages()
{
return carouselImages;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
public void setRuleId(Long ruleId)
{
this.ruleId = ruleId;
}
public Long getRuleId()
{
return ruleId;
}
public void setBrandId(Long brandId)
{
this.brandId = brandId;
}
public Long getBrandId()
{
return brandId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("describe", getDescribe())
.append("type", getType())
.append("image", getImage())
.append("carouselImages", getCarouselImages())
.append("status", getStatus())
.append("ruleId", getRuleId())
.append("brandId", getBrandId())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,84 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* product_attribute
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class ProductAttribute extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 商品 */
@Excel(name = "商品")
private Long productId;
/** 属性 */
@Excel(name = "属性")
private String attributeId;
/** 属性值 */
@Excel(name = "属性值")
private String value;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setProductId(Long productId)
{
this.productId = productId;
}
public Long getProductId()
{
return productId;
}
public void setAttributeId(String attributeId)
{
this.attributeId = attributeId;
}
public String getAttributeId()
{
return attributeId;
}
public void setValue(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("productId", getProductId())
.append("attributeId", getAttributeId())
.append("value", getValue())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,98 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* product_comment
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class ProductComment extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 商品id */
@Excel(name = "商品id")
private Long productId;
/** 评论 */
@Excel(name = "评论")
private String comment;
/** 图片 */
@Excel(name = "图片")
private String images;
/** 父级id */
@Excel(name = "父级id")
private String parentId;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setProductId(Long productId)
{
this.productId = productId;
}
public Long getProductId()
{
return productId;
}
public void setComment(String comment)
{
this.comment = comment;
}
public String getComment()
{
return comment;
}
public void setImages(String images)
{
this.images = images;
}
public String getImages()
{
return images;
}
public void setParentId(String parentId)
{
this.parentId = parentId;
}
public String getParentId()
{
return parentId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("productId", getProductId())
.append("comment", getComment())
.append("images", getImages())
.append("parentId", getParentId())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,113 @@
package com.muyu.product.domain;
import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* sku product_sku
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class ProductSku extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 商品id */
@Excel(name = "商品id")
private Long productId;
/** sku */
@Excel(name = "sku")
private String sku;
/** 库存 */
@Excel(name = "库存")
private Long stock;
/** 价格 */
@Excel(name = "价格")
private BigDecimal price;
/** 图片 */
@Excel(name = "图片")
private String image;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setProductId(Long productId)
{
this.productId = productId;
}
public Long getProductId()
{
return productId;
}
public void setSku(String sku)
{
this.sku = sku;
}
public String getSku()
{
return sku;
}
public void setStock(Long stock)
{
this.stock = stock;
}
public Long getStock()
{
return stock;
}
public void setPrice(BigDecimal price)
{
this.price = price;
}
public BigDecimal getPrice()
{
return price;
}
public void setImage(String image)
{
this.image = image;
}
public String getImage()
{
return image;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("productId", getProductId())
.append("sku", getSku())
.append("stock", getStock())
.append("price", getPrice())
.append("image", getImage())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,152 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.model.ProjectAddModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.ProjectInfoQueryReq;
import com.muyu.product.domain.req.ProjectInfoSaveReq;
import com.muyu.product.domain.req.ProjectInfoEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
import java.util.Date;
import java.util.function.Supplier;
/**
* project_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("project_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ProjectInfo", description = "商品信息")
public class ProjectInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 商品名称 */
@Excel(name = "商品名称")
@ApiModelProperty(name = "商品名称", value = "商品名称")
private String name;
/** 商品描述 */
@Excel(name = "商品描述")
@ApiModelProperty(name = "商品描述", value = "商品描述")
private String introduction;
/** 主类型 */
@Excel(name = "主类型")
@ApiModelProperty(name = "主类型", value = "主类型")
private Long mianType;
/** 父类型 */
@Excel(name = "父类型")
@ApiModelProperty(name = "父类型", value = "父类型")
private Long parentType;
/** 商品类型 */
@Excel(name = "商品类型")
@ApiModelProperty(name = "商品类型", value = "商品类型")
private Long type;
/** 商品图片 */
@Excel(name = "商品图片")
@ApiModelProperty(name = "商品图片", value = "商品图片")
private String image;
/** 商品轮播图 */
@Excel(name = "商品轮播图")
@ApiModelProperty(name = "商品轮播图", value = "商品轮播图")
private String carouselImages;
/** 商品状态 */
@Excel(name = "商品状态")
@ApiModelProperty(name = "商品状态", value = "商品状态")
private String status;
/** 规格 */
@Excel(name = "规格")
@ApiModelProperty(name = "规格", value = "规格")
private Long ruleId;
/** 品牌 */
@Excel(name = "品牌")
@ApiModelProperty(name = "品牌", value = "品牌")
private Long brandId;
/**
*
*/
public static ProjectInfo queryBuild( ProjectInfoQueryReq projectInfoQueryReq){
return ProjectInfo.builder()
.name(projectInfoQueryReq.getName())
.introduction(projectInfoQueryReq.getIntroduction())
.mianType(projectInfoQueryReq.getMianType())
.parentType(projectInfoQueryReq.getParentType())
.type(projectInfoQueryReq.getType())
.image(projectInfoQueryReq.getImage())
.carouselImages(projectInfoQueryReq.getCarouselImages())
.status(projectInfoQueryReq.getStatus())
.ruleId(projectInfoQueryReq.getRuleId())
.brandId(projectInfoQueryReq.getBrandId())
.build();
}
/**
*
*/
public static ProjectInfo saveModelBuild(ProjectAddModel projectAddModel,Supplier<String> createBy){
return ProjectInfo.builder()
.name(projectAddModel.getName())
.introduction(projectAddModel.getIntroduction())
.mianType(projectAddModel.getMianType())
.parentType(projectAddModel.getParentType())
.type(projectAddModel.getType())
.image(projectAddModel.getImage())
.carouselImages(projectAddModel.getCarouselImages())
.status(projectAddModel.getStatus())
.ruleId(projectAddModel.getRuleId())
.brandId(projectAddModel.getBrandId())
.createBy(createBy.get())
.createTime(new Date())
.build();
}
/**
*
*/
public static ProjectInfo editBuild(Long id, ProjectInfoEditReq projectInfoEditReq){
return ProjectInfo.builder()
.id(id)
.name(projectInfoEditReq.getName())
.introduction(projectInfoEditReq.getIntroduction())
.mianType(projectInfoEditReq.getMianType())
.parentType(projectInfoEditReq.getParentType())
.type(projectInfoEditReq.getType())
.image(projectInfoEditReq.getImage())
.carouselImages(projectInfoEditReq.getCarouselImages())
.status(projectInfoEditReq.getStatus())
.ruleId(projectInfoEditReq.getRuleId())
.brandId(projectInfoEditReq.getBrandId())
.build();
}
}

View File

@ -0,0 +1,123 @@
package com.muyu.product.domain;
import java.math.BigDecimal;
import java.util.function.Supplier;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.model.ProductSkuModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.ProjectSkuInfoQueryReq;
import com.muyu.product.domain.req.ProjectSkuInfoSaveReq;
import com.muyu.product.domain.req.ProjectSkuInfoEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* SKU project_sku_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("project_sku_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ProjectSkuInfo", description = "商品SKU")
public class ProjectSkuInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 商品id */
@Excel(name = "商品id")
@ApiModelProperty(name = "商品id", value = "商品id", required = true)
private Long projectId;
/** sku */
@Excel(name = "sku")
@ApiModelProperty(name = "sku", value = "sku", required = true)
private String sku;
/** 商品库存 */
@Excel(name = "商品库存")
@ApiModelProperty(name = "商品库存", value = "商品库存", required = true)
private Long stock;
/** 商品价格 */
@Excel(name = "商品价格")
@ApiModelProperty(name = "商品价格", value = "商品价格", required = true)
private BigDecimal price;
/** 规格图片 */
@Excel(name = "规格图片")
@ApiModelProperty(name = "规格图片", value = "规格图片", required = true)
private String image;
/**
*
*/
public static ProjectSkuInfo queryBuild( ProjectSkuInfoQueryReq projectSkuInfoQueryReq){
return ProjectSkuInfo.builder()
.projectId(projectSkuInfoQueryReq.getProjectId())
.sku(projectSkuInfoQueryReq.getSku())
.stock(projectSkuInfoQueryReq.getStock())
.price(projectSkuInfoQueryReq.getPrice())
.image(projectSkuInfoQueryReq.getImage())
.build();
}
/**
*
*/
public static ProjectSkuInfo saveBuild(ProjectSkuInfoSaveReq projectSkuInfoSaveReq){
return ProjectSkuInfo.builder()
.projectId(projectSkuInfoSaveReq.getProjectId())
.sku(projectSkuInfoSaveReq.getSku())
.stock(projectSkuInfoSaveReq.getStock())
.price(projectSkuInfoSaveReq.getPrice())
.image(projectSkuInfoSaveReq.getImage())
.build();
}
/**
*
*/
public static ProjectSkuInfo editBuild(Long id, ProjectSkuInfoEditReq projectSkuInfoEditReq){
return ProjectSkuInfo.builder()
.id(id)
.projectId(projectSkuInfoEditReq.getProjectId())
.sku(projectSkuInfoEditReq.getSku())
.stock(projectSkuInfoEditReq.getStock())
.price(projectSkuInfoEditReq.getPrice())
.image(projectSkuInfoEditReq.getImage())
.build();
}
public static ProjectSkuInfo projectSkuModelBuild(ProductSkuModel productSkuModel, Supplier<Long> projectId){
return ProjectSkuInfo.builder()
.projectId(projectId.get())
.sku(productSkuModel.getSku())
.image(productSkuModel.getImage())
.stock(productSkuModel.getStock())
.price(productSkuModel.getPrice())
.build();
}
}

View File

@ -0,0 +1,70 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* rule
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class Rule extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 规格名称 */
@Excel(name = "规格名称")
private String name;
/** 状态 */
@Excel(name = "状态")
private String status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("status", getStatus())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,84 @@
package com.muyu.product.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* rule_attr
*
* @author yuanjunzhe
* @date 2024-02-29
*/
public class RuleAttr extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
private Long id;
/** 规格id */
@Excel(name = "规格id")
private Long ruleId;
/** 类目名称 */
@Excel(name = "类目名称")
private String name;
/** 规格值 */
@Excel(name = "规格值")
private String attrValue;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setRuleId(Long ruleId)
{
this.ruleId = ruleId;
}
public Long getRuleId()
{
return ruleId;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setAttrValue(String attrValue)
{
this.attrValue = attrValue;
}
public String getAttrValue()
{
return attrValue;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("ruleId", getRuleId())
.append("name", getName())
.append("attrValue", getAttrValue())
.append("remark", getRemark())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -0,0 +1,102 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.model.RuleAttrAddModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.RuleAttrInfoQueryReq;
import com.muyu.product.domain.req.RuleAttrInfoSaveReq;
import com.muyu.product.domain.req.RuleAttrInfoEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
import java.util.Date;
import java.util.function.Supplier;
/**
* rule_attr_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("rule_attr_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "RuleAttrInfo", description = "规格详情")
public class RuleAttrInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 规格id */
@Excel(name = "规格id")
@ApiModelProperty(name = "规格id", value = "规格id", required = true)
private Long ruleId;
/** 类目名称 */
@Excel(name = "类目名称")
@ApiModelProperty(name = "类目名称", value = "类目名称")
private String name;
/** 规格值 */
@Excel(name = "规格值")
@ApiModelProperty(name = "规格值", value = "规格值")
private String attrValue;
/**
*
*/
public static RuleAttrInfo queryBuild( RuleAttrInfoQueryReq ruleAttrInfoQueryReq){
return RuleAttrInfo.builder()
.ruleId(ruleAttrInfoQueryReq.getRuleId())
.name(ruleAttrInfoQueryReq.getName())
.attrValue(ruleAttrInfoQueryReq.getAttrValue())
.build();
}
/**
*
*/
public static RuleAttrInfo saveBuild(RuleAttrInfoSaveReq ruleAttrInfoSaveReq){
return RuleAttrInfo.builder()
.ruleId(ruleAttrInfoSaveReq.getRuleId())
.name(ruleAttrInfoSaveReq.getName())
.attrValue(ruleAttrInfoSaveReq.getAttrValue())
.build();
}
/**
*
*/
public static RuleAttrInfo editBuild(Long id, RuleAttrInfoEditReq ruleAttrInfoEditReq){
return RuleAttrInfo.builder()
.id(id)
.ruleId(ruleAttrInfoEditReq.getRuleId())
.name(ruleAttrInfoEditReq.getName())
.attrValue(ruleAttrInfoEditReq.getAttrValue())
.build();
}
public static RuleAttrInfo addModelBuild (RuleAttrAddModel ruleAttrAddModel, Supplier<Long> ruleId, Supplier<String> createBy) {
return RuleAttrInfo.builder()
.ruleId(ruleId.get())
.name(ruleAttrAddModel.getName())
.attrValue(String.join(",", ruleAttrAddModel.getValueList()))
.createBy(createBy.get())
.createTime(new Date())
.build();
}
}

View File

@ -0,0 +1,99 @@
package com.muyu.product.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.product.domain.model.RuleInfoAddModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.req.RuleInfoQueryReq;
import com.muyu.product.domain.req.RuleInfoSaveReq;
import com.muyu.product.domain.req.RuleInfoEditReq;
import com.muyu.common.core.web.domain.BaseEntity;
import java.util.Date;
import java.util.function.Supplier;
/**
* rule_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("rule_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "RuleInfo", description = "商品规格")
public class RuleInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 规格名称 */
@Excel(name = "规格名称")
@ApiModelProperty(name = "规格名称", value = "规格名称")
private String name;
/** 规格状态 */
@Excel(name = "规格状态")
@ApiModelProperty(name = "规格状态", value = "规格状态")
private String status;
/**
*
*/
public static RuleInfo queryBuild( RuleInfoQueryReq ruleInfoQueryReq){
return RuleInfo.builder()
.name(ruleInfoQueryReq.getName())
.status(ruleInfoQueryReq.getStatus())
.build();
}
/**
*
*/
public static RuleInfo saveBuild(RuleInfoSaveReq ruleInfoSaveReq){
return RuleInfo.builder()
.name(ruleInfoSaveReq.getName())
.status(ruleInfoSaveReq.getStatus())
.build();
}
/**
*
*/
public static RuleInfo editBuild(Long id, RuleInfoEditReq ruleInfoEditReq){
return RuleInfo.builder()
.id(id)
.name(ruleInfoEditReq.getName())
.status(ruleInfoEditReq.getStatus())
.build();
}
/**
*
* @param ruleInfoAddModel
* @param createBy
* @return
*/
public static RuleInfo addModelBuild (RuleInfoAddModel ruleInfoAddModel, Supplier<String> createBy) {
return RuleInfo.builder()
.name(ruleInfoAddModel.getName())
.status(ruleInfoAddModel.getStatus())
.createBy(createBy.get())
.createTime(new Date())
.build();
}
}

View File

@ -0,0 +1,11 @@
package com.muyu.product.domain.base;
/**
* @author DongZl
* @description: attribute
* @Date 2024-3-1 02:28
*/
public interface CategoryBase {
public Long getBaseId();
}

View File

@ -0,0 +1,36 @@
package com.muyu.product.domain.model;/**
* @Authoryjz
* @Packagecom.muyu.product.domain.model
* @Projectcloud_service
* @nameAttrValueModel
* @Date2024/3/22 16:11
*/
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*@ClassName AttrValueModel
*@Description
*@Author JunZhe.Yuan
*@Date 2024/3/22 16:11
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AttrValueModel {
/**
* ID
*/
private Long id;
/**
*
*/
private String value;
}

View File

@ -0,0 +1,55 @@
package com.muyu.product.domain.model;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.req.AttributeGroupSaveReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
* @author DongZl
* @description:
* @Date 2024-2-28 03:16
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class AttributeGroupSaveModel extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 组名称 */
private String name;
/** 状态 */
private String states;
/**
* ID
*/
private List<Long> attributeIdList;
public static AttributeGroupSaveModel saveReqBuild (AttributeGroupSaveReq req){
return AttributeGroupSaveModel.builder()
.name(req.getName())
.states(req.getStates())
.attributeIdList(req.getAttributeIdList())
.build();
}
public AttributeGroup buildAttributeGroup () {
return AttributeGroup.builder()
.name(this.getName())
.states(this.getStates())
.build();
}
}

View File

@ -0,0 +1,78 @@
package com.muyu.product.domain.model;
import com.muyu.common.core.web.domain.TreeEntity;
import com.muyu.product.domain.CategoryInfo;
import com.muyu.product.domain.req.CategoryInfoSaveReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.List;
import java.util.function.Supplier;
/**
* category_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class CategoryInfoSaveModel extends TreeEntity {
private static final long serialVersionUID = 1L;
/** 品类名称 */
private String name;
/** 图片 */
private String image;
/** 是否启用 */
private String start;
/** 介绍 */
private String introduction;
/**
* ID
*/
private List<Long> attributeGroupIdList;
/**
* ID
*/
private List<Long> attributeIdList;
/**
* ID
*/
private List<Long> brandIdList;
/**
*
*/
public static CategoryInfoSaveModel saveBuild(CategoryInfoSaveReq categoryInfoSaveReq, Supplier<String> supplier){
return CategoryInfoSaveModel.builder()
.name(categoryInfoSaveReq.getName())
.image(categoryInfoSaveReq.getImage())
.start(categoryInfoSaveReq.getStart())
.introduction(categoryInfoSaveReq.getIntroduction())
.parentId(categoryInfoSaveReq.getParentId())
.attributeGroupIdList(categoryInfoSaveReq.getAttributeGroupIdList())
.attributeIdList(categoryInfoSaveReq.getAttributeIdList())
.brandIdList(categoryInfoSaveReq.getBrandIdList())
.createBy(supplier.get())
.createTime(new Date())
.build();
}
}

View File

@ -0,0 +1,46 @@
package com.muyu.product.domain.model;/**
* @Authoryjz
* @Packagecom.muyu.product.domain.model
* @Projectcloud_service
* @nameProductSkuModel
* @Date2024/3/22 16:10
*/
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
/**
*@ClassName ProductSkuModel
*@Description
*@Author JunZhe.Yuan
*@Date 2024/3/22 16:10
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ProductSkuModel {
/** sku */
@ApiModelProperty(name = "sku", value = "sku", required = true)
private String sku;
/** 商品库存 */
@ApiModelProperty(name = "商品库存", value = "商品库存", required = true)
private Long stock;
/** 商品价格 */
@ApiModelProperty(name = "商品价格", value = "商品价格", required = true)
private BigDecimal price;
/** 规格图片 */
@ApiModelProperty(name = "规格图片", value = "规格图片", required = true)
private String image;
}

View File

@ -0,0 +1,69 @@
package com.muyu.product.domain.model;/**
* @Authoryjz
* @Packagecom.muyu.product.domain.model
* @Projectcloud_service
* @nameProjectAddModel
* @Date2024/3/22 16:21
*/
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*@ClassName ProjectAddModel
*@Description
*@Author JunZhe.Yuan
*@Date 2024/3/22 16:21
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ProjectAddModel extends BaseEntity {
/** 商品名称 */
@ApiModelProperty(name = "商品名称", value = "商品名称")
private String name;
/** 商品描述 */
@ApiModelProperty(name = "商品描述", value = "商品描述")
private String introduction;
/** 主类型 */
@ApiModelProperty(name = "主类型", value = "主类型")
private Long mianType;
/** 父类型 */
@ApiModelProperty(name = "父类型", value = "父类型")
private Long parentType;
/** 商品类型 */
@ApiModelProperty(name = "商品类型", value = "商品类型")
private Long type;
/** 商品图片 */
@ApiModelProperty(name = "商品图片", value = "商品图片")
private String image;
/** 商品轮播图 */
@ApiModelProperty(name = "商品轮播图", value = "商品轮播图")
private String carouselImages;
/** 商品状态 */
@ApiModelProperty(name = "商品状态", value = "商品状态")
private String status;
/** 规格 */
@ApiModelProperty(name = "规格", value = "规格")
private Long ruleId;
/** 品牌 */
@ApiModelProperty(name = "品牌", value = "品牌")
private Long brandId;
}

View File

@ -0,0 +1,44 @@
package com.muyu.product.domain.model;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.RuleAttrInfo;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Arrays;
import java.util.List;
/**
* @author DongZl
* @description:
* @Date 2024-3-4 02:28
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class RuleAttrAddModel extends BaseEntity {
/**
*
*/
private String name;
/**
*
*/
private List<String> valueList;
public static RuleAttrAddModel infoBuild (RuleAttrInfo ruleAttrInfo) {
return RuleAttrAddModel.builder()
.name(ruleAttrInfo.getName())
.valueList(Arrays.stream(ruleAttrInfo.getAttrValue().split(",")).toList())
.build();
}
}

View File

@ -0,0 +1,44 @@
package com.muyu.product.domain.model;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.req.RuleInfoSaveReq;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
* @author DongZl
* @description:
* @Date 2024-3-4 02:33
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class RuleInfoAddModel extends BaseEntity {
/** 规格名称 */
private String name;
/** 规格状态 */
private String status;
/**
*
*/
private List<RuleAttrAddModel> ruleAttrList;
public static RuleInfoAddModel saveReqBuild(RuleInfoSaveReq req){
return RuleInfoAddModel.builder()
.name(req.getName())
.status(req.getStatus())
.ruleAttrList(req.getRuleAttrList())
.build();
}
}

View File

@ -0,0 +1,60 @@
package com.muyu.product.domain.model;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.AttributeGroup;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
import java.util.function.Function;
import java.util.function.Supplier;
/**
* @author DongZl
* @description:
* @Date 2024-3-6 02:29
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class TemplateAttributeGroupModel extends BaseEntity {
/**
*
*/
private String groupName;
/**
*
*/
private List<TemplateAttributeModel> attributeList;
/**
*
* @return
*/
public boolean isEffective(){
return StringUtils.isNotEmpty(groupName) && attributeList != null && !attributeList.isEmpty();
}
/**
*
* @param attributeGroup
* @param attributeList
* @return
*/
public static TemplateAttributeGroupModel attributeGroupBuild(AttributeGroup attributeGroup,
Function<Long, List<TemplateAttributeModel>> attributeList){
return TemplateAttributeGroupModel.builder()
.groupName(attributeGroup.getName())
.attributeList(attributeList.apply(attributeGroup.getId()))
.build();
}
}

View File

@ -0,0 +1,46 @@
package com.muyu.product.domain.model;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.AttributeInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @author DongZl
* @description:
* @Date 2024-3-6 02:30
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class TemplateAttributeModel extends BaseEntity {
/**
*
*/
private Long id;
/**
*
*/
private String name;
/**
*
*/
private String code;
public static TemplateAttributeModel attributeInfoBuild(AttributeInfo attributeInfo){
return TemplateAttributeModel.builder()
.id(attributeInfo.getId())
.name(attributeInfo.getName())
.code(attributeInfo.getCode())
.build();
}
}

View File

@ -0,0 +1,37 @@
package com.muyu.product.domain.req;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute_group
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "AttributeGroupEditReq", description = "属性组")
public class AttributeGroupEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 组名称 */
@ApiModelProperty(name = "组名称", value = "组名称", required = true)
private String name;
/** 状态 */
@ApiModelProperty(name = "状态", value = "状态", required = true)
private String states;
}

View File

@ -0,0 +1,36 @@
package com.muyu.product.domain.req;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute_group
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "AttributeGroupQueryReq", description = "属性组")
public class AttributeGroupQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 组名称 */
@ApiModelProperty(name = "组名称", value = "组名称")
private String name;
/** 状态 */
@ApiModelProperty(name = "状态", value = "状态")
private String states;
}

View File

@ -0,0 +1,48 @@
package com.muyu.product.domain.req;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute_group
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "AttributeGroupSaveReq", description = "属性组")
public class AttributeGroupSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 属性组编号 */
@ApiModelProperty(name = "属性组编号", value = "属性组编号")
private Long id;
/** 组名称 */
@ApiModelProperty(name = "组名称", value = "组名称", required = true)
private String name;
/** 状态 */
@ApiModelProperty(name = "状态", value = "状态", required = true)
private String states;
/**
* ID
*/
@ApiModelProperty(name = "属性ID集合", value = "属性ID集合", required = true)
private List<Long> attributeIdList;
}

View File

@ -0,0 +1,40 @@
package com.muyu.product.domain.req;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "AttributeInfoEditReq", description = "商品属性")
public class AttributeInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 属性名 */
@ApiModelProperty(name = "属性名", value = "属性名", required = true)
private String name;
/** 分组 */
@ApiModelProperty(name = "分组", value = "分组")
private Long groupId;
@ApiModelProperty(name = "属性编码", value = "属性编码")
private String code;
}

View File

@ -0,0 +1,36 @@
package com.muyu.product.domain.req;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "AttributeInfoQueryReq", description = "商品属性")
public class AttributeInfoQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 属性名 */
@ApiModelProperty(name = "属性名", value = "属性名")
private String name;
@ApiModelProperty(name = "属性编码", value = "属性编码")
private String code;
}

View File

@ -0,0 +1,41 @@
package com.muyu.product.domain.req;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* attribute_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "AttributeInfoSaveReq", description = "商品属性")
public class AttributeInfoSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 属性编号 */
@ApiModelProperty(name = "属性编号", value = "属性编号")
private Long id;
/** 属性名 */
@ApiModelProperty(name = "属性名", value = "属性名", required = true)
private String name;
@ApiModelProperty(name = "属性编码", value = "属性编码")
private String code;
}

View File

@ -0,0 +1,42 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* brand_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "BrandInfoEditReq", description = "品牌信息")
public class BrandInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 品牌名称 */
@ApiModelProperty(name = "品牌名称", value = "品牌名称", required = true)
private String nam;
/** LOGO */
@ApiModelProperty(name = "LOGO", value = "LOGO", required = true)
private String logo;
/** 是否启用 */
@ApiModelProperty(name = "是否启用", value = "是否启用", required = true)
private String start;
/** 介绍 */
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
}

View File

@ -0,0 +1,42 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* brand_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "BrandInfoQueryReq", description = "品牌信息")
public class BrandInfoQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 品牌名称 */
@ApiModelProperty(name = "品牌名称", value = "品牌名称")
private String nam;
/** LOGO */
@ApiModelProperty(name = "LOGO", value = "LOGO")
private String logo;
/** 是否启用 */
@ApiModelProperty(name = "是否启用", value = "是否启用")
private String start;
/** 介绍 */
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
}

View File

@ -0,0 +1,51 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* brand_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "BrandInfoSaveReq", description = "品牌信息")
public class BrandInfoSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 品牌名称 */
@ApiModelProperty(name = "品牌名称", value = "品牌名称", required = true)
private String nam;
/** LOGO */
@ApiModelProperty(name = "LOGO", value = "LOGO", required = true)
private String logo;
/** 是否启用 */
@ApiModelProperty(name = "是否启用", value = "是否启用", required = true)
private String start;
/** 介绍 */
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
}

View File

@ -0,0 +1,42 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.TreeEntity;
/**
* category_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CategoryInfoEditReq", description = "品类信息")
public class CategoryInfoEditReq extends TreeEntity {
private static final long serialVersionUID = 1L;
/** 品类名称 */
@ApiModelProperty(name = "品类名称", value = "品类名称", required = true)
private String name;
/** 图片 */
@ApiModelProperty(name = "图片", value = "图片", required = true)
private String image;
/** 是否启用 */
@ApiModelProperty(name = "是否启用", value = "是否启用", required = true)
private String start;
/** 介绍 */
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
}

View File

@ -0,0 +1,42 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.TreeEntity;
/**
* category_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CategoryInfoQueryReq", description = "品类信息")
public class CategoryInfoQueryReq extends TreeEntity {
private static final long serialVersionUID = 1L;
/** 品类名称 */
@ApiModelProperty(name = "品类名称", value = "品类名称")
private String name;
/** 图片 */
@ApiModelProperty(name = "图片", value = "图片")
private String image;
/** 是否启用 */
@ApiModelProperty(name = "是否启用", value = "是否启用")
private String start;
/** 介绍 */
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
}

View File

@ -0,0 +1,67 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.TreeEntity;
import java.util.List;
/**
* category_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CategoryInfoSaveReq", description = "品类信息")
public class CategoryInfoSaveReq extends TreeEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 品类名称 */
@ApiModelProperty(name = "品类名称", value = "品类名称", required = true)
private String name;
/** 图片 */
@ApiModelProperty(name = "图片", value = "图片", required = true)
private String image;
/** 是否启用 */
@ApiModelProperty(name = "是否启用", value = "是否启用", required = true)
private String start;
/** 介绍 */
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
/**
* ID
*/
private List<Long> attributeGroupIdList;
/**
* ID
*/
private List<Long> attributeIdList;
/**
* ID
*/
private List<Long> brandIdList;
}

View File

@ -0,0 +1,42 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CommentInfoEditReq", description = "商品评论")
public class CommentInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 商品id */
@ApiModelProperty(name = "商品id", value = "商品id", required = true)
private Long projectId;
/** 评论 */
@ApiModelProperty(name = "评论", value = "评论")
private String comment;
/** 图片 */
@ApiModelProperty(name = "图片", value = "图片")
private String images;
/** 父类id */
@ApiModelProperty(name = "父类id", value = "父类id")
private String parentId;
}

View File

@ -0,0 +1,42 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CommentInfoQueryReq", description = "商品评论")
public class CommentInfoQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 商品id */
@ApiModelProperty(name = "商品id", value = "商品id")
private Long projectId;
/** 评论 */
@ApiModelProperty(name = "评论", value = "评论")
private String comment;
/** 图片 */
@ApiModelProperty(name = "图片", value = "图片")
private String images;
/** 父类id */
@ApiModelProperty(name = "父类id", value = "父类id")
private String parentId;
}

View File

@ -0,0 +1,51 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CommentInfoSaveReq", description = "商品评论")
public class CommentInfoSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 商品id */
@ApiModelProperty(name = "商品id", value = "商品id", required = true)
private Long projectId;
/** 评论 */
@ApiModelProperty(name = "评论", value = "评论")
private String comment;
/** 图片 */
@ApiModelProperty(name = "图片", value = "图片")
private String images;
/** 父类id */
@ApiModelProperty(name = "父类id", value = "父类id")
private String parentId;
}

View File

@ -0,0 +1,34 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_like_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CommentLikeInfoEditReq", description = "评论点赞")
public class CommentLikeInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 评论id */
@ApiModelProperty(name = "评论id", value = "评论id", required = true)
private Long commentId;
/** 点赞人id */
@ApiModelProperty(name = "点赞人id", value = "点赞人id", required = true)
private Long userId;
}

View File

@ -0,0 +1,34 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_like_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CommentLikeInfoQueryReq", description = "评论点赞")
public class CommentLikeInfoQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 评论id */
@ApiModelProperty(name = "评论id", value = "评论id")
private Long commentId;
/** 点赞人id */
@ApiModelProperty(name = "点赞人id", value = "点赞人id")
private Long userId;
}

View File

@ -0,0 +1,41 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* comment_like_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "CommentLikeInfoSaveReq", description = "评论点赞")
public class CommentLikeInfoSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 评论id */
@ApiModelProperty(name = "评论id", value = "评论id", required = true)
private Long commentId;
/** 点赞人id */
@ApiModelProperty(name = "点赞人id", value = "点赞人id", required = true)
private Long userId;
}

View File

@ -0,0 +1,66 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* project_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "ProjectInfoEditReq", description = "商品信息")
public class ProjectInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 商品名称 */
@ApiModelProperty(name = "商品名称", value = "商品名称")
private String name;
/** 商品描述 */
@ApiModelProperty(name = "商品描述", value = "商品描述")
private String introduction;
/** 主类型 */
@ApiModelProperty(name = "主类型", value = "主类型")
private Long mianType;
/** 父类型 */
@ApiModelProperty(name = "父类型", value = "父类型")
private Long parentType;
/** 商品类型 */
@ApiModelProperty(name = "商品类型", value = "商品类型")
private Long type;
/** 商品图片 */
@ApiModelProperty(name = "商品图片", value = "商品图片")
private String image;
/** 商品轮播图 */
@ApiModelProperty(name = "商品轮播图", value = "商品轮播图")
private String carouselImages;
/** 商品状态 */
@ApiModelProperty(name = "商品状态", value = "商品状态")
private String status;
/** 规格 */
@ApiModelProperty(name = "规格", value = "规格")
private Long ruleId;
/** 品牌 */
@ApiModelProperty(name = "品牌", value = "品牌")
private Long brandId;
}

View File

@ -0,0 +1,66 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* project_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "ProjectInfoQueryReq", description = "商品信息")
public class ProjectInfoQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 商品名称 */
@ApiModelProperty(name = "商品名称", value = "商品名称")
private String name;
/** 商品描述 */
@ApiModelProperty(name = "商品描述", value = "商品描述")
private String introduction;
/** 主类型 */
@ApiModelProperty(name = "主类型", value = "主类型")
private Long mianType;
/** 父类型 */
@ApiModelProperty(name = "父类型", value = "父类型")
private Long parentType;
/** 商品类型 */
@ApiModelProperty(name = "商品类型", value = "商品类型")
private Long type;
/** 商品图片 */
@ApiModelProperty(name = "商品图片", value = "商品图片")
private String image;
/** 商品轮播图 */
@ApiModelProperty(name = "商品轮播图", value = "商品轮播图")
private String carouselImages;
/** 商品状态 */
@ApiModelProperty(name = "商品状态", value = "商品状态")
private String status;
/** 规格 */
@ApiModelProperty(name = "规格", value = "规格")
private Long ruleId;
/** 品牌 */
@ApiModelProperty(name = "品牌", value = "品牌")
private Long brandId;
}

View File

@ -0,0 +1,45 @@
package com.muyu.product.domain.req;
import com.muyu.product.domain.model.AttrValueModel;
import com.muyu.product.domain.model.ProductSkuModel;
import com.muyu.product.domain.model.ProjectAddModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
import java.util.List;
/**
* project_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "ProjectInfoSaveReq", description = "商品信息")
public class ProjectInfoSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
*
*/
private ProjectAddModel projectAddModel;
/**
*
*/
private List<AttrValueModel> attrValueList;
/**
* SKu
*/
private List<ProductSkuModel> productSkuList;
}

View File

@ -0,0 +1,47 @@
package com.muyu.product.domain.req;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* SKU project_sku_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "ProjectSkuInfoEditReq", description = "商品SKU")
public class ProjectSkuInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 商品id */
@ApiModelProperty(name = "商品id", value = "商品id", required = true)
private Long projectId;
/** sku */
@ApiModelProperty(name = "sku", value = "sku", required = true)
private String sku;
/** 商品库存 */
@ApiModelProperty(name = "商品库存", value = "商品库存", required = true)
private Long stock;
/** 商品价格 */
@ApiModelProperty(name = "商品价格", value = "商品价格", required = true)
private BigDecimal price;
/** 规格图片 */
@ApiModelProperty(name = "规格图片", value = "规格图片", required = true)
private String image;
}

View File

@ -0,0 +1,47 @@
package com.muyu.product.domain.req;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* SKU project_sku_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "ProjectSkuInfoQueryReq", description = "商品SKU")
public class ProjectSkuInfoQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 商品id */
@ApiModelProperty(name = "商品id", value = "商品id")
private Long projectId;
/** sku */
@ApiModelProperty(name = "sku", value = "sku")
private String sku;
/** 商品库存 */
@ApiModelProperty(name = "商品库存", value = "商品库存")
private Long stock;
/** 商品价格 */
@ApiModelProperty(name = "商品价格", value = "商品价格")
private BigDecimal price;
/** 规格图片 */
@ApiModelProperty(name = "规格图片", value = "规格图片")
private String image;
}

View File

@ -0,0 +1,57 @@
package com.muyu.product.domain.req;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* SKU project_sku_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "ProjectSkuInfoSaveReq", description = "商品SKU")
public class ProjectSkuInfoSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 商品id */
@ApiModelProperty(name = "商品id", value = "商品id", required = true)
private Long projectId;
/** sku */
@ApiModelProperty(name = "sku", value = "sku", required = true)
private String sku;
/** 商品库存 */
@ApiModelProperty(name = "商品库存", value = "商品库存", required = true)
private Long stock;
/** 商品价格 */
@ApiModelProperty(name = "商品价格", value = "商品价格", required = true)
private BigDecimal price;
/** 规格图片 */
@ApiModelProperty(name = "规格图片", value = "规格图片", required = true)
private String image;
}

View File

@ -0,0 +1,38 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* rule_attr_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "RuleAttrInfoEditReq", description = "规格详情")
public class RuleAttrInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 规格id */
@ApiModelProperty(name = "规格id", value = "规格id", required = true)
private Long ruleId;
/** 类目名称 */
@ApiModelProperty(name = "类目名称", value = "类目名称")
private String name;
/** 规格值 */
@ApiModelProperty(name = "规格值", value = "规格值")
private String attrValue;
}

View File

@ -0,0 +1,38 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* rule_attr_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "RuleAttrInfoQueryReq", description = "规格详情")
public class RuleAttrInfoQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 规格id */
@ApiModelProperty(name = "规格id", value = "规格id")
private Long ruleId;
/** 类目名称 */
@ApiModelProperty(name = "类目名称", value = "类目名称")
private String name;
/** 规格值 */
@ApiModelProperty(name = "规格值", value = "规格值")
private String attrValue;
}

View File

@ -0,0 +1,46 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* rule_attr_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "RuleAttrInfoSaveReq", description = "规格详情")
public class RuleAttrInfoSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 规格id */
@ApiModelProperty(name = "规格id", value = "规格id", required = true)
private Long ruleId;
/** 类目名称 */
@ApiModelProperty(name = "类目名称", value = "类目名称")
private String name;
/** 规格值 */
@ApiModelProperty(name = "规格值", value = "规格值")
private String attrValue;
}

View File

@ -0,0 +1,34 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* rule_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "RuleInfoEditReq", description = "商品规格")
public class RuleInfoEditReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 规格名称 */
@ApiModelProperty(name = "规格名称", value = "规格名称")
private String name;
/** 规格状态 */
@ApiModelProperty(name = "规格状态", value = "规格状态")
private String status;
}

View File

@ -0,0 +1,34 @@
package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
/**
* rule_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "RuleInfoQueryReq", description = "商品规格")
public class RuleInfoQueryReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 规格名称 */
@ApiModelProperty(name = "规格名称", value = "规格名称")
private String name;
/** 规格状态 */
@ApiModelProperty(name = "规格状态", value = "规格状态")
private String status;
}

View File

@ -0,0 +1,41 @@
package com.muyu.product.domain.req;
import com.muyu.product.domain.model.RuleAttrAddModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity;
import java.util.List;
/**
* rule_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "RuleInfoSaveReq", description = "商品规格")
public class RuleInfoSaveReq extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 规格名称 */
@ApiModelProperty(name = "规格名称", value = "规格名称")
private String name;
/** 规格状态 */
@ApiModelProperty(name = "规格状态", value = "规格状态")
private String status;
/**
*
*/
private List<RuleAttrAddModel> ruleAttrList;
}

View File

@ -0,0 +1,59 @@
package com.muyu.product.domain.resp;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.AttributeInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
import java.util.function.Function;
/**
* @author DongZl
* @description:
* @Date 2024-2-28 04:15
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class AttributeGroupPageResp extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 属性组编号 */
private Long id;
/** 组名称 */
private String name;
/** 状态 */
private String states;
/**
*
*/
private List<AttributeInfo> attributeInfoList;
public static AttributeGroupPageResp groupBuild (AttributeGroup attributeGroup, List<AttributeInfo> attributeInfos) {
return AttributeGroupPageResp.builder()
.id(attributeGroup.getId())
.name(attributeGroup.getName())
.states(attributeGroup.getStates())
.attributeInfoList(attributeInfos)
.build();
}
public static AttributeGroupPageResp groupFunBuild (AttributeGroup attributeGroup, Function<Long,List<AttributeInfo> > function) {
return AttributeGroupPageResp.builder()
.id(attributeGroup.getId())
.name(attributeGroup.getName())
.states(attributeGroup.getStates())
.attributeInfoList(function.apply(attributeGroup.getId()))
.build();
}
}

View File

@ -0,0 +1,39 @@
package com.muyu.product.domain.resp;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.model.TemplateAttributeGroupModel;
import com.muyu.product.domain.model.TemplateAttributeModel;
import lombok.*;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
* @author DongZl
* @description:
* @Date 2024-3-6 02:25
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class CategoryCommonElementResp extends BaseEntity {
/**
*
*/
private List<TemplateAttributeGroupModel> templateAttributeGroupList;
/**
*
*/
private List<TemplateAttributeModel> templateAttributeList;
/**
*
*/
private List<TemplateAttributeModel> attributeList;
}

View File

@ -0,0 +1,39 @@
package com.muyu.product.domain.resp;
import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.BrandInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author DongZl
* @description:
* @Date 2024-3-1 11:02
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CategoryParentCommonElementResp {
/**
*
*/
private List<AttributeInfo> attributeInfoList;
/**
*
*/
private List<AttributeGroup> attributeGroupList;
/**
*
*/
private List<BrandInfo> brandInfoList;
}

View File

@ -0,0 +1,76 @@
package com.muyu.product.domain.resp;/**
* @Authoryjz
* @Packagecom.muyu.product.domain.resp
* @Projectcloud_service
* @nameProjectDetailResp
* @Date2024/3/25 17:11
*/
import com.muyu.product.domain.*;
import com.muyu.product.domain.model.RuleAttrAddModel;
import com.muyu.product.domain.model.TemplateAttributeGroupModel;
import com.muyu.product.domain.model.TemplateAttributeModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
*@ClassName ProjectDetailResp
*@Description
*@Author JunZhe.Yuan
*@Date 2024/3/25 17:11
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProjectDetailResp {
/**
*
*/
private List<CategoryInfo> categoryInfoList;
/**
*
*/
private ProjectInfo projectInfo;
/**
*
*/
private BrandInfo brandInfo;
/**
* Sku
*/
private List<ProjectSkuInfo> projectSkuInfoList;
/**
*
*/
private List<AsProductAttributeInfo> productAttributeInfoList;
/**
*
*/
private List<RuleAttrAddModel> ruleAttrModelList;
/**
*
*/
private List<TemplateAttributeModel> attributeInfoList;
/**
*
*/
private List<TemplateAttributeGroupModel> attributeGroupList;
}

View File

@ -0,0 +1,48 @@
package com.muyu.product.domain.resp;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.RuleInfo;
import com.muyu.product.domain.model.RuleAttrAddModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
import java.util.function.Function;
/**
* @author DongZl
* @description:
* @Date 2024-3-4 04:08
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class RuleInfoResp extends BaseEntity {
private Long id;
/** 规格名称 */
private String name;
/** 规格状态 */
private String status;
/**
*
*/
private List<RuleAttrAddModel> ruleAttrList;
public static RuleInfoResp infoBuild (RuleInfo ruleInfo, Function<Long, List<RuleAttrAddModel>> ruleAttrList) {
return RuleInfoResp.builder()
.id(ruleInfo.getId())
.name(ruleInfo.getName())
.status(ruleInfo.getStatus())
.ruleAttrList(ruleAttrList.apply(ruleInfo.getId()))
.build();
}
}

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>muyu-product</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>muyu-product-remote</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 商品模块 common 依赖 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-product-common</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.muyu</groupId>
<artifactId>muyu-product</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>muyu-product-service</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 商品模块 缓存 依赖 -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-product-cache</artifactId>
</dependency>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-product-common</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- MuYu Common DataSource -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-datasource</artifactId>
</dependency>
<!-- MuYu Common DataScope -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-datascope</artifactId>
</dependency>
<!-- MuYu Common Log -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-log</artifactId>
</dependency>
<!-- MuYu Common Swagger -->
<dependency>
<groupId>com.muyu</groupId>
<artifactId>muyu-common-swagger</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 加入maven deploy插件当在deploy时忽略些model-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,23 @@
package com.muyu.product;
import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients;
import com.muyu.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author DongZl
* @description:
* @Date 2024-2-26 04:07
*/
@EnableCustomConfig
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication
public class MuYuProductApplication {
public static void main (String[] args) {
SpringApplication.run(MuYuProductApplication.class, args);
}
}

Some files were not shown because too many files have changed in this diff Show More