From 3f99d7f82bb8c96e0699be959b2c341c6d7c4765 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=9A=E5=BF=97=E8=B1=AA123?=
<14699252+shang-zhihao-123@user.noreply.gitee.com>
Date: Tue, 19 Nov 2024 01:07:48 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BE=AE=E6=9C=8D=E5=8A=A1,?=
=?UTF-8?q?=E7=94=9F=E6=88=90=E5=AE=9E=E4=BD=93=E7=B1=BB?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
muyu-modules/muyu-goods/pom.xml | 113 ++++++++++++++++++
.../com/muyu/goods/MuYuGoodsApplication.java | 22 ++++
.../goods/controller/GoodsController.java | 22 ++++
.../java/com/muyu/goods/domain/Goods.java | 11 ++
.../goods/forest/gaode/api/resp/District.java | 32 +++++
.../forest/gaode/api/resp/DistrictResult.java | 40 +++++++
.../com/muyu/goods/mapper/GoodsMapper.java | 13 ++
.../com/muyu/goods/service/GoodsService.java | 14 +++
.../goods/service/impl/GoodsServiceImpl.java | 21 ++++
.../muyu-goods/src/main/resources/banner.txt | 2 +
.../src/main/resources/bootstrap.yml | 30 +++++
.../muyu-goods/src/main/resources/logback.xml | 74 ++++++++++++
.../resources/mapper/system/GoodsMapper.xml | 9 ++
.../com/muyu/product/domain/ProjectInfo.java | 1 +
.../muyu/product/domain/ProjectUpdInfo.java | 100 ++++++++++++++++
.../resp/CategoryParentCommonElementResp.java | 41 +++++++
.../product/domain/resp/RuleInfoResp.java | 2 +
.../controller/CategoryInfoController.java | 18 +--
.../controller/ProjectInfoController.java | 9 +-
.../controller/RuleInfoController.java | 1 +
.../product/mapper/CategoryInfoMapper.java | 29 ++++-
.../product/mapper/ProjectInfoMapper.java | 9 +-
.../product/service/CategoryInfoService.java | 16 ++-
.../product/service/ProjectInfoService.java | 5 +
.../service/impl/CategoryInfoServiceImpl.java | 59 +++++++++
.../service/impl/ProjectInfoServiceImpl.java | 53 ++++++--
.../service/impl/RuleInfoServiceImpl.java | 13 +-
.../mapper/product/CategoryInfoMapper.xml | 19 +++
.../mapper/product/ProjectInfoMapper.xml | 4 +
muyu-modules/pom.xml | 1 +
30 files changed, 759 insertions(+), 24 deletions(-)
create mode 100644 muyu-modules/muyu-goods/pom.xml
create mode 100644 muyu-modules/muyu-goods/src/main/java/com/muyu/goods/MuYuGoodsApplication.java
create mode 100644 muyu-modules/muyu-goods/src/main/java/com/muyu/goods/controller/GoodsController.java
create mode 100644 muyu-modules/muyu-goods/src/main/java/com/muyu/goods/domain/Goods.java
create mode 100644 muyu-modules/muyu-goods/src/main/java/com/muyu/goods/forest/gaode/api/resp/District.java
create mode 100644 muyu-modules/muyu-goods/src/main/java/com/muyu/goods/forest/gaode/api/resp/DistrictResult.java
create mode 100644 muyu-modules/muyu-goods/src/main/java/com/muyu/goods/mapper/GoodsMapper.java
create mode 100644 muyu-modules/muyu-goods/src/main/java/com/muyu/goods/service/GoodsService.java
create mode 100644 muyu-modules/muyu-goods/src/main/java/com/muyu/goods/service/impl/GoodsServiceImpl.java
create mode 100644 muyu-modules/muyu-goods/src/main/resources/banner.txt
create mode 100644 muyu-modules/muyu-goods/src/main/resources/bootstrap.yml
create mode 100644 muyu-modules/muyu-goods/src/main/resources/logback.xml
create mode 100644 muyu-modules/muyu-goods/src/main/resources/mapper/system/GoodsMapper.xml
create mode 100644 muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectUpdInfo.java
diff --git a/muyu-modules/muyu-goods/pom.xml b/muyu-modules/muyu-goods/pom.xml
new file mode 100644
index 0000000..a95c016
--- /dev/null
+++ b/muyu-modules/muyu-goods/pom.xml
@@ -0,0 +1,113 @@
+
+
+
+ com.muyu
+ muyu-modules
+ 3.6.3
+
+ 4.0.0
+
+ muyu-goods
+
+
+ muyu-modules-goods系统模块
+
+
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.muyu
+ muyu-common-datasource
+
+
+
+
+ com.muyu
+ muyu-common-datascope
+
+
+
+
+ com.muyu
+ muyu-common-log
+
+
+
+
+ com.muyu
+ muyu-common-swagger
+
+
+
+ com.dtflys.forest
+ forest-spring-boot-starter
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+
+
+
diff --git a/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/MuYuGoodsApplication.java b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/MuYuGoodsApplication.java
new file mode 100644
index 0000000..1d643db
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/MuYuGoodsApplication.java
@@ -0,0 +1,22 @@
+package com.muyu.goods;
+
+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 muyu
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableMyFeignClients
+@SpringBootApplication
+public class MuYuGoodsApplication {
+ public static void main (String[] args) {
+ SpringApplication.run(MuYuGoodsApplication.class, args);
+ }
+}
diff --git a/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/controller/GoodsController.java b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/controller/GoodsController.java
new file mode 100644
index 0000000..f630671
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/controller/GoodsController.java
@@ -0,0 +1,22 @@
+package com.muyu.goods.controller;
+
+import com.muyu.common.core.web.controller.BaseController;
+import com.muyu.goods.service.GoodsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 参数配置 信息操作处理
+ *
+ * @author muyu
+ */
+@RestController
+@RequestMapping("/goods")
+public class GoodsController extends BaseController {
+
+ @Autowired
+ private GoodsService configService;
+
+
+}
diff --git a/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/domain/Goods.java b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/domain/Goods.java
new file mode 100644
index 0000000..067329c
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/domain/Goods.java
@@ -0,0 +1,11 @@
+package com.muyu.goods.domain;
+
+/**
+ * @Author:尚志豪
+ * @Package:com.muyu.goods.domain
+ * @Project:cloud-server
+ * @name:SysConfig
+ * @Date:2024/11/18 16:57
+ */
+public class Goods {
+}
diff --git a/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/forest/gaode/api/resp/District.java b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/forest/gaode/api/resp/District.java
new file mode 100644
index 0000000..e8e581c
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/forest/gaode/api/resp/District.java
@@ -0,0 +1,32 @@
+package com.muyu.goods.forest.gaode.api.resp;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class District {
+
+ /** 名称 */
+ private String name;
+
+ /** 编码 */
+ @JSONField(name = "citycode")
+ private String code;
+
+ /** 级别 */
+ private String level;
+
+ /** 区域编码 */
+ @JSONField(name = "adcode")
+ private String areaCode;
+
+ /** 中心经纬度 */
+ private String center;
+
+ /**
+ * 子
+ */
+ private List districts;
+}
diff --git a/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/forest/gaode/api/resp/DistrictResult.java b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/forest/gaode/api/resp/DistrictResult.java
new file mode 100644
index 0000000..38adbe8
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/forest/gaode/api/resp/DistrictResult.java
@@ -0,0 +1,40 @@
+package com.muyu.goods.forest.gaode.api.resp;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author DongZl
+ * @description: 行政区接口返回结果集
+ * @Date 2024/4/11 下午2:31
+ */
+@Data
+public class DistrictResult {
+
+ /**
+ * 返回结果状态值
+ * 值为0或1,0表示失败;1表示成功
+ */
+ private String status;
+
+ /**
+ * 返回状态说明
+ * 返回状态说明,status为0时,info返回错误原因,否则返回“OK”。
+ */
+ private String info;
+
+ /**
+ * 状态码
+ * 返回状态说明,10000代表正确,详情参阅info状态表
+ */
+ @JSONField(name = "infocode")
+ private String infoCode;
+
+ /**
+ * 行政区列表
+ */
+ private List districts;
+}
+
diff --git a/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/mapper/GoodsMapper.java b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/mapper/GoodsMapper.java
new file mode 100644
index 0000000..7c62b81
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/mapper/GoodsMapper.java
@@ -0,0 +1,13 @@
+package com.muyu.goods.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.goods.domain.Goods;
+
+/**
+ * @author DongZl
+ * @description: 配置mybatis配置
+ * @Date 2023-11-13 上午 10:05
+ */
+public interface GoodsMapper extends BaseMapper {
+}
diff --git a/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/service/GoodsService.java b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/service/GoodsService.java
new file mode 100644
index 0000000..7067c07
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/service/GoodsService.java
@@ -0,0 +1,14 @@
+package com.muyu.goods.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.goods.domain.Goods;
+
+/**
+ * @author DongZl
+ * @description: 配置plus业务层
+ * @Date 2023-11-13 上午 10:06
+ */
+public interface GoodsService extends IService {
+
+}
diff --git a/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/service/impl/GoodsServiceImpl.java b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/service/impl/GoodsServiceImpl.java
new file mode 100644
index 0000000..690d718
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/java/com/muyu/goods/service/impl/GoodsServiceImpl.java
@@ -0,0 +1,21 @@
+package com.muyu.goods.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.goods.domain.Goods;
+import com.muyu.goods.mapper.GoodsMapper;
+import com.muyu.goods.service.GoodsService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author DongZl
+ * @description: 配置plus业务实现层
+ * @Date 2023-11-13 上午 10:06
+ */
+@Service
+public class GoodsServiceImpl extends ServiceImpl implements GoodsService {
+
+
+
+
+}
diff --git a/muyu-modules/muyu-goods/src/main/resources/banner.txt b/muyu-modules/muyu-goods/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/resources/banner.txt
@@ -0,0 +1,2 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
diff --git a/muyu-modules/muyu-goods/src/main/resources/bootstrap.yml b/muyu-modules/muyu-goods/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..221899f
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/resources/bootstrap.yml
@@ -0,0 +1,30 @@
+# Tomcat
+server:
+ port: 9204
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: muyu-goods
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 150.158.86.96:8848
+ namespace: 2204a
+ config:
+ # 配置中心地址
+ server-addr: 150.158.86.96:8848
+ namespace: 2204a
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+logging:
+ level:
+ com.muyu.goods.mapper: DEBUG
diff --git a/muyu-modules/muyu-goods/src/main/resources/logback.xml b/muyu-modules/muyu-goods/src/main/resources/logback.xml
new file mode 100644
index 0000000..66b83ee
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/resources/logback.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/muyu-modules/muyu-goods/src/main/resources/mapper/system/GoodsMapper.xml b/muyu-modules/muyu-goods/src/main/resources/mapper/system/GoodsMapper.xml
new file mode 100644
index 0000000..19ca859
--- /dev/null
+++ b/muyu-modules/muyu-goods/src/main/resources/mapper/system/GoodsMapper.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java
index 156bd38..59e898e 100644
--- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java
+++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectInfo.java
@@ -91,6 +91,7 @@ public class ProjectInfo extends BaseEntity {
@ApiModelProperty(name = "品牌", value = "品牌")
private Long brandId;
+
/**
* 查询构造器
*/
diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectUpdInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectUpdInfo.java
new file mode 100644
index 0000000..f4b093b
--- /dev/null
+++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/ProjectUpdInfo.java
@@ -0,0 +1,100 @@
+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.common.core.annotation.Excel;
+import com.muyu.common.core.web.domain.BaseEntity;
+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.List;
+
+/**
+ * @Author:尚志豪
+ * @Package:com.muyu.product.domain
+ * @Project:cloud-server
+ * @name:ProjectUpdInfo
+ * @Date:2024/11/17 14:31
+ */
+@Data
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("project_info")
+@EqualsAndHashCode()
+@ApiModel(value = "ProjectInfo", description = "商品信息")
+public class ProjectUpdInfo 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;
+
+ /**
+ * 属性集合
+ */
+ private List attrValueList;
+
+ private List categoryInfoList;
+
+ private List ruleInfoList;
+
+
+}
diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/CategoryParentCommonElementResp.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/CategoryParentCommonElementResp.java
index ba5576a..44405de 100644
--- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/CategoryParentCommonElementResp.java
+++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/CategoryParentCommonElementResp.java
@@ -1,8 +1,13 @@
package com.muyu.product.domain.resp;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.muyu.common.core.annotation.Excel;
import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.BrandInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -21,6 +26,42 @@ import java.util.List;
@AllArgsConstructor
public class CategoryParentCommonElementResp {
+ /**
+ * 主表
+ */
+ @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;
+
+ private Long parentId;
/**
* 属性集合
*/
diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/RuleInfoResp.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/RuleInfoResp.java
index 8596383..7cbc3bb 100644
--- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/RuleInfoResp.java
+++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/RuleInfoResp.java
@@ -37,6 +37,8 @@ public class RuleInfoResp extends BaseEntity {
*/
private List ruleAttrList;
+ private Integer state = 0;
+
public static RuleInfoResp infoBuild (RuleInfo ruleInfo, Function> ruleAttrList) {
return RuleInfoResp.builder()
.id(ruleInfo.getId())
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java
index 553494d..832047d 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java
@@ -5,9 +5,7 @@ import java.util.function.Supplier;
import javax.servlet.http.HttpServletResponse;
import com.muyu.common.security.utils.SecurityUtils;
-import com.muyu.product.domain.AttributeGroup;
-import com.muyu.product.domain.AttributeInfo;
-import com.muyu.product.domain.BrandInfo;
+import com.muyu.product.domain.*;
import com.muyu.product.domain.model.CategoryInfoSaveModel;
import com.muyu.product.domain.req.CategoryInfoUpdEditReq;
import com.muyu.product.domain.resp.CategoryCommonElementResp;
@@ -30,7 +28,6 @@ import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions;
-import com.muyu.product.domain.CategoryInfo;
import com.muyu.product.domain.req.CategoryInfoQueryReq;
import com.muyu.product.domain.req.CategoryInfoSaveReq;
import com.muyu.product.domain.req.CategoryInfoEditReq;
@@ -80,8 +77,9 @@ public class CategoryInfoController extends BaseController {
@RequiresPermissions("product:category:query")
@GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
- public Result getInfo(@PathVariable("id") Long id) {
- return Result.success(categoryInfoService.getById(id));
+ public Result getInfo(@PathVariable("id") Long id) {
+ CategoryParentCommonElementResp categoryById = categoryInfoService.getCategoryById(id);
+ return Result.success(categoryById);
}
/**
@@ -143,7 +141,13 @@ public class CategoryInfoController extends BaseController {
System.out.println("否存在下一级:"+categoryInfo);
// 判断没有下一删除
if (null == categoryInfo){
- return toAjax(categoryInfoService.removeById(ids));
+ // 查询是否与商品有关
+ List asCategoryBrand = categoryInfoService.InquireAboutGoods(ids);
+ // 判断有没有和商品有关
+ if(0 == asCategoryBrand.size()){
+ return toAjax(categoryInfoService.removeById(ids));
+ }
+ return Result.error("与商品有关能进行删除");
}
return Result.error("含有子集不能进行删除");
}
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java
index f1e3d62..38198d4 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java
@@ -4,6 +4,7 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.muyu.product.cache.ProjectInfoCache;
+import com.muyu.product.domain.ProjectUpdInfo;
import com.muyu.product.domain.resp.ProjectDetailResp;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
@@ -76,8 +77,12 @@ public class ProjectInfoController extends BaseController {
@RequiresPermissions("product:info:query")
@GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
- public Result getInfo(@PathVariable("id") Long id) {
- return Result.success(projectInfoCache.get(id));
+// public Result getInfo(@PathVariable("id") Long id) {
+// return Result.success(projectInfoCache.get(id));
+// }
+ public Result getInfo(@PathVariable("id") Long id) {
+ ProjectUpdInfo projectUpdInfo = projectInfoService.get(id);
+ return Result.success(projectUpdInfo);
}
/**
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleInfoController.java
index d4f829a..3094524 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleInfoController.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/RuleInfoController.java
@@ -56,6 +56,7 @@ public class RuleInfoController extends BaseController {
}
TableDataInfo tableDataInfo = ruleInfoService.queryList(ruleInfoQueryReq);
return isPage ? Result.success(tableDataInfo) : Result.success(tableDataInfo.getRows());
+
}
/**
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CategoryInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CategoryInfoMapper.java
index e150784..d75c10a 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CategoryInfoMapper.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/CategoryInfoMapper.java
@@ -2,7 +2,7 @@ package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.muyu.product.domain.CategoryInfo;
+import com.muyu.product.domain.*;
import org.apache.ibatis.annotations.Param;
/**
@@ -36,5 +36,32 @@ public interface CategoryInfoMapper extends BaseMapper {
* @return
*/
CategoryInfo QueryBelowOneLevel(@Param("ids") Long ids);
+ /**
+ * 查询是否与商品有关
+ * @param ids
+ * @return
+ */
+ List InquireAboutGoods(@Param("ids") Long ids);
+
+ /**
+ * 品类属性中间表
+ * @param aLong
+ * @return
+ */
+ AttributeInfo selectCateById(@Param("aLong") Long aLong);
+
+ /**
+ * 品类属性组中间表
+ * @param aLong
+ * @return
+ */
+ AttributeGroup selectGroup(@Param("aLong") Long aLong);
+ /**
+ * 品类品牌中间表
+ * @param aLong
+ * @return
+ */
+ BrandInfo seleteBrand(@Param("aLong") Long aLong);
+
}
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectInfoMapper.java
index 2eb6558..91aa168 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectInfoMapper.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/ProjectInfoMapper.java
@@ -2,7 +2,9 @@ package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.ProjectInfo;
+import org.apache.ibatis.annotations.Param;
/**
* 商品信息Mapper接口
@@ -11,5 +13,10 @@ import com.muyu.product.domain.ProjectInfo;
* @date 2024-02-27
*/
public interface ProjectInfoMapper extends BaseMapper {
-
+ /**
+ * 商品属性表中间表
+ * @param aLong
+ * @return
+ */
+ AttributeInfo selectProject(@Param("aLong") Long aLong);
}
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java
index f3630af..2df9fa7 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java
@@ -2,10 +2,7 @@ package com.muyu.product.service;
import java.util.List;
-import com.muyu.product.domain.AttributeGroup;
-import com.muyu.product.domain.AttributeInfo;
-import com.muyu.product.domain.BrandInfo;
-import com.muyu.product.domain.CategoryInfo;
+import com.muyu.product.domain.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.product.domain.model.CategoryInfoSaveModel;
import com.muyu.product.domain.resp.CategoryCommonElementResp;
@@ -94,4 +91,15 @@ public interface CategoryInfoService extends IService {
* @return
*/
CategoryInfo QueryBelowOneLevel(Long ids);
+
+ /**
+ * 查询是否与商品有关
+ * @param ids
+ * @return
+ */
+ List InquireAboutGoods(Long ids);
+ /**
+ * 获取品类信息详细信息
+ */
+ CategoryParentCommonElementResp getCategoryById(Long id);
}
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java
index 0924c9e..0b667db 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java
@@ -3,6 +3,7 @@ package com.muyu.product.service;
import java.util.List;
import com.muyu.product.domain.ProjectInfo;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.muyu.product.domain.ProjectUpdInfo;
import com.muyu.product.domain.req.ProjectInfoSaveReq;
import com.muyu.product.domain.resp.ProjectDetailResp;
@@ -34,4 +35,8 @@ public interface ProjectInfoService extends IService {
* @return 商品详情
*/
ProjectDetailResp getDetailInfo (Long id);
+ /**
+ * 获取商品信息详细信息
+ */
+ ProjectUpdInfo get(Long id);
}
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java
index 0696dbd..a42eb1a 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CategoryInfoServiceImpl.java
@@ -308,6 +308,65 @@ public class CategoryInfoServiceImpl extends ServiceImpl InquireAboutGoods(Long ids) {
+ return categoryInfoMapper.InquireAboutGoods(ids);
+ }
+ /**
+ * 获取品类信息详细信息
+ */
+ @Override
+ public CategoryParentCommonElementResp getCategoryById(Long id) {
+ //品类信息
+ CategoryInfo info = this.getById(id);
+ // 品类属性中间表
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(AsCategoryAttribute::getCategoryId,id);
+ List attributeList = asCategoryAttributeService.list(queryWrapper);
+ List longs = attributeList.stream().map(AsCategoryAttribute::getAttributeId).toList();
+ ArrayList arrayList = new ArrayList<>();
+ for (Long aLong : longs) {
+ AttributeInfo attribute = categoryInfoMapper.selectCateById(aLong);
+ arrayList.add(attribute);
+ }
+ // 品类属性组中间表
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(AsCategoryAttributeGroup::getCategoryId,id);
+ List list = asCategoryAttributeGroupService.list(wrapper);
+ List toList = list.stream().map(AsCategoryAttributeGroup::getAttributeGroupId).toList();
+ ArrayList groupArrayList = new ArrayList<>();
+ for (Long aLong : toList) {
+ AttributeGroup attributeGroup = categoryInfoMapper.selectGroup(aLong);
+ groupArrayList.add(attributeGroup);
+ }
+ // 品类品牌中间表
+ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>();
+ lambdaQueryWrapper.eq(AsCategoryBrand::getCategoryId,id);
+ List asCategoryBrands = asCategoryBrandService.list(lambdaQueryWrapper);
+ List longList = asCategoryBrands.stream().map(AsCategoryBrand::getBrandId).toList();
+ ArrayList brandArrayList = new ArrayList<>();
+ for (Long aLong : longList) {
+ BrandInfo brands = categoryInfoMapper.seleteBrand(aLong);
+ brandArrayList.add(brands);
+ }
+ return CategoryParentCommonElementResp.builder()
+ .id(info.getId())
+ .name(info.getName())
+ .image(info.getImage())
+ .start(info.getStart())
+ .introduction(info.getIntroduction())
+ .parentId(info.getParentId())
+ .attributeInfoList(arrayList)
+ .attributeGroupList(groupArrayList)
+ .brandInfoList(brandArrayList)
+ .build();
+ }
+
/**
* 通过品类ID获取父级以上的属性、属性组、品牌集合
*
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectInfoServiceImpl.java
index 448a3d9..2efecf3 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectInfoServiceImpl.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/ProjectInfoServiceImpl.java
@@ -47,6 +47,8 @@ public class ProjectInfoServiceImpl extends ServiceImpl AsProductAttributeInfo.attrValueModelBuild(attrValueModel, projectInfo::getId))
.toList();
if (!asProductAttributeInfoList.isEmpty()){
- asProductAttributeInfoService.saveBatch(asProductAttributeInfoList);
+ asProductAttributeInfoService.saveBatch(asProductAttributeInfoList);
}
// sku ProductSkuModel -》 ProjectSkuInfo
List productSkuModelList = projectInfoSaveReq.getProductSkuList();
@@ -206,13 +208,11 @@ public class ProjectInfoServiceImpl extends ServiceImpl attrIdList = productAttributeList.stream()
.map(AsProductAttributeInfo::getAttributeId)
.toList();
- projectAttributeList = attributeInfoService.list(
- new LambdaQueryWrapper<>() {{
- in(AttributeInfo::getId, attrIdList);
- }}
- ).stream()
- .map(TemplateAttributeModel::attributeInfoBuild)
- .toList();
+ projectAttributeList = attributeInfoService.list(new LambdaQueryWrapper<>() {{
+ in(AttributeInfo::getId, attrIdList);
+ }}).stream()
+ .map(TemplateAttributeModel::attributeInfoBuild)
+ .toList();
}
// 把自有属性添加到商品属性的集合当中,进行合并
if (!projectAttributeList.isEmpty()){
@@ -229,4 +229,41 @@ public class ProjectInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(AsProductAttributeInfo::getProductId,id);
+ List attributeInfoList = asProductAttributeInfoService.list(queryWrapper);
+ List longs = attributeInfoList.stream().map(AsProductAttributeInfo::getAttributeId).toList();
+ ArrayList arrayList = new ArrayList<>();
+ for (Long aLong : longs) {
+ AttributeInfo attributeInfo = projectInfoMapper.selectProject(aLong);
+ arrayList.add(attributeInfo);
+ }
+
+//
+ return ProjectUpdInfo.builder()
+ .id(info.getId())
+ .name(info.getName())
+ .introduction(info.getIntroduction())
+ .mianType(info.getMianType())
+ .parentType(info.getParentType())
+ .type(info.getType())
+ .image(info.getImage())
+ .carouselImages(info.getCarouselImages())
+ .status(info.getStatus())
+ .ruleId(info.getRuleId())
+ .brandId(info.getBrandId())
+ .attrValueList(arrayList)
+ .build();
+ }
}
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleInfoServiceImpl.java
index c6d36b7..38f58c6 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleInfoServiceImpl.java
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleInfoServiceImpl.java
@@ -12,6 +12,7 @@ import com.muyu.common.core.text.Convert;
import com.muyu.common.core.utils.ObjUtils;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.utils.SecurityUtils;
+import com.muyu.product.domain.ProjectInfo;
import com.muyu.product.domain.RuleAttrInfo;
import com.muyu.product.domain.model.RuleAttrAddModel;
import com.muyu.product.domain.model.RuleInfoAddModel;
@@ -28,6 +29,7 @@ import com.muyu.product.domain.RuleInfo;
import com.muyu.product.service.RuleInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.springframework.util.CollectionUtils;
/**
* 商品规格Service业务层处理
@@ -43,6 +45,8 @@ public class RuleInfoServiceImpl extends ServiceImpl
private RuleAttrInfoService ruleAttrInfoService;
@Autowired
private RuleAttrInfoMapper ruleAttrInfoMapper;
+ @Autowired
+ private ProjectInfoServiceImpl projectInfoService;
/**
* 查询商品规格列表
@@ -105,7 +109,14 @@ public class RuleInfoServiceImpl extends ServiceImpl
}))
.toList();
boolean isPage = ruleInfoQueryReq.getParams().get("isPage") == null || Convert.toBool(ruleInfoQueryReq.getParams().get("isPage"), true);
-
+ ruleInfoRespList.forEach(ruleInfoResp -> {
+ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(ProjectInfo::getRuleId,ruleInfoResp.getId());
+ List projectInfoList = projectInfoService.list(wrapper);
+ if (!CollectionUtils.isEmpty(projectInfoList) && projectInfoList.size()>0){
+ ruleInfoResp.setState(1);
+ }
+ });
return TableDataInfo.builder()
.rows(ruleInfoRespList)
.total(isPage ? new PageInfo<>(list).getTotal() : 0)
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/CategoryInfoMapper.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/CategoryInfoMapper.xml
index e8cd625..eaa32a3 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/CategoryInfoMapper.xml
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/CategoryInfoMapper.xml
@@ -37,4 +37,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+
+
+
+
+
+
+
diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/ProjectInfoMapper.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/ProjectInfoMapper.xml
index 52ca6e6..1bdfbe5 100644
--- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/ProjectInfoMapper.xml
+++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/ProjectInfoMapper.xml
@@ -26,4 +26,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select id, name, introduction, mian_type, parent_type, type, image, carousel_images, status, rule_id, brand_id, remark, create_by, create_time, update_by, update_time from project_info
+
+
diff --git a/muyu-modules/pom.xml b/muyu-modules/pom.xml
index 24447f2..a7e16a2 100644
--- a/muyu-modules/pom.xml
+++ b/muyu-modules/pom.xml
@@ -15,6 +15,7 @@
muyu-file
muyu-product
muyu-shop-cart
+ muyu-goods
muyu-modules