From dabed9ca7d07e4cf71444bcb2d3ae7fd7ef70128 Mon Sep 17 00:00:00 2001
From: bunny <1319900154@qq.com>
Date: Sat, 16 Dec 2023 20:54:10 +0800
Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E7=AE=A1=E7=90=86=E5=AE=8C?=
=?UTF-8?q?=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/workspace.xml | 45 ++++++++------
.../bunny/controller/ProductController.java | 34 +++++++++--
.../cn/bunny/mapper/ProductDetailMapper.java | 3 +
.../java/cn/bunny/mapper/ProductMapper.java | 6 ++
.../cn/bunny/mapper/ProductSkuMapper.java | 3 +
.../java/cn/bunny/service/ProductService.java | 9 +++
.../service/impl/ProductServiceImpl.java | 58 ++++++++++++++++---
.../mapper/product/ProductDetailMapper.xml | 17 ++++--
.../mapper/product/ProductMapper.xml | 47 ++++++++-------
.../mapper/product/ProductSkuMapper.xml | 16 +++--
10 files changed, 176 insertions(+), 62 deletions(-)
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 7cd660c..7ff57ac 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,27 +4,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
+
-
-
+
-
+
@@ -88,6 +78,9 @@
]
}
}]]>
+
+
+
@@ -122,7 +115,7 @@
1702710124940
-
+
@@ -132,7 +125,15 @@
1702714985398
-
+
+
+ 1702725562779
+
+
+
+ 1702725562779
+
+
@@ -140,7 +141,8 @@
-
+
+
@@ -156,5 +158,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/spzx-manager/src/main/java/cn/bunny/controller/ProductController.java b/spzx-manager/src/main/java/cn/bunny/controller/ProductController.java
index c49c0ca..b6f835a 100644
--- a/spzx-manager/src/main/java/cn/bunny/controller/ProductController.java
+++ b/spzx-manager/src/main/java/cn/bunny/controller/ProductController.java
@@ -7,6 +7,7 @@ import cn.bunny.common.spzx.model.vo.common.ResultCodeEnum;
import cn.bunny.service.ProductService;
import com.github.pagehelper.PageInfo;
import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -20,21 +21,44 @@ public class ProductController {
@Autowired
private ProductService productService;
- @Operation(summary = "保存修改数据",description = "保存修改数据")
- @PostMapping("updateById")
+ @Operation(summary = "商品上下架", description = "商品上下架")
+ @GetMapping("/updateStatus/{id}/{status}")
+ public Result updateStatus(@PathVariable("id") Long id,
+ @PathVariable("status") Integer status) {
+ productService.updateStatus(id, status);
+ return Result.build(null, ResultCodeEnum.SUCCESS);
+ }
+
+ @Operation(summary = "审核商品", description = "审核商品")
+ @GetMapping("/updateAuditStatus/{id}/{auditStatus}")
+ public Result updateAuditStatus(@PathVariable("id") Long id,
+ @PathVariable("auditStatus") Integer auditStatus) {
+ productService.updateAuditStatus(id, auditStatus);
+ return Result.build(null, ResultCodeEnum.SUCCESS);
+ }
+
+ @Operation(summary = "删除数据", description = "删除数据")
+ @DeleteMapping("deleteById/{id}")
+ public Result deleteById(@Parameter(name = "id", description = "商品id", required = true) Long id) {
+ productService.deleteById(id);
+ return Result.build(null, ResultCodeEnum.SUCCESS);
+ }
+
+ @Operation(summary = "保存修改数据", description = "保存修改数据")
+ @PutMapping("updateById")
public Result updateById(@RequestBody Product product) {
productService.updateById(product);
return Result.build(null, ResultCodeEnum.SUCCESS);
}
- @Operation(summary = "根据id查询商品信息",description = "根据id查询商品信息")
+ @Operation(summary = "根据id查询商品信息", description = "根据id查询商品信息")
@GetMapping("getById/{id}")
public Result getById(@PathVariable("id") Long id) {
Product product = productService.getById(id);
- return Result.build(product, ResultCodeEnum.SUCCESS);
+ return Result.build(product , ResultCodeEnum.SUCCESS) ;
}
- @Operation(summary = "保存商品数据接口",description = "保存商品数据接口")
+ @Operation(summary = "保存商品数据接口", description = "保存商品数据接口")
@PostMapping("save")
public Result save(@RequestBody Product product) {
productService.save(product);
diff --git a/spzx-manager/src/main/java/cn/bunny/mapper/ProductDetailMapper.java b/spzx-manager/src/main/java/cn/bunny/mapper/ProductDetailMapper.java
index f5dcebd..18aa45c 100644
--- a/spzx-manager/src/main/java/cn/bunny/mapper/ProductDetailMapper.java
+++ b/spzx-manager/src/main/java/cn/bunny/mapper/ProductDetailMapper.java
@@ -12,4 +12,7 @@ public interface ProductDetailMapper {
// 修改product_details表
void updateById(ProductDetails productDetails);
+
+ // 删除product_details数据
+ void deleteById(Long id);
}
diff --git a/spzx-manager/src/main/java/cn/bunny/mapper/ProductMapper.java b/spzx-manager/src/main/java/cn/bunny/mapper/ProductMapper.java
index 393fbaa..8f794ad 100644
--- a/spzx-manager/src/main/java/cn/bunny/mapper/ProductMapper.java
+++ b/spzx-manager/src/main/java/cn/bunny/mapper/ProductMapper.java
@@ -19,4 +19,10 @@ public interface ProductMapper {
// 修改product表
void updateProduct(Product product);
+
+ // 删除product数据
+ void deleteById(Long id);
+
+ // 审核商品
+ void updateById(Product product);
}
diff --git a/spzx-manager/src/main/java/cn/bunny/mapper/ProductSkuMapper.java b/spzx-manager/src/main/java/cn/bunny/mapper/ProductSkuMapper.java
index 1a5c16d..39fbd93 100644
--- a/spzx-manager/src/main/java/cn/bunny/mapper/ProductSkuMapper.java
+++ b/spzx-manager/src/main/java/cn/bunny/mapper/ProductSkuMapper.java
@@ -14,4 +14,7 @@ public interface ProductSkuMapper {
// 修改product_sku表
void updateById(ProductSku productSku);
+
+ // 删除product_sku数据
+ void deleteByProductId(Long id);
}
diff --git a/spzx-manager/src/main/java/cn/bunny/service/ProductService.java b/spzx-manager/src/main/java/cn/bunny/service/ProductService.java
index 76be039..005c79c 100644
--- a/spzx-manager/src/main/java/cn/bunny/service/ProductService.java
+++ b/spzx-manager/src/main/java/cn/bunny/service/ProductService.java
@@ -18,4 +18,13 @@ public interface ProductService {
// 保存修改数据
void updateById(Product product);
+
+ // 删除数据
+ void deleteById(Long id);
+
+ // 审核商品
+ void updateAuditStatus(Long id, Integer auditStatus);
+
+ // 商品上下架
+ void updateStatus(Long id, Integer status);
}
diff --git a/spzx-manager/src/main/java/cn/bunny/service/impl/ProductServiceImpl.java b/spzx-manager/src/main/java/cn/bunny/service/impl/ProductServiceImpl.java
index 6688fa1..d475d71 100644
--- a/spzx-manager/src/main/java/cn/bunny/service/impl/ProductServiceImpl.java
+++ b/spzx-manager/src/main/java/cn/bunny/service/impl/ProductServiceImpl.java
@@ -62,18 +62,19 @@ public class ProductServiceImpl implements ProductService {
// 根据id查询商品信息
@Override
public Product getById(Long id) {
- // 1. 根据id查询商品基本信息
+
+ // 根据id查询商品数据
Product product = productMapper.findProductById(id);
- // 2. 根据id查询商品sku信息列表 product——sku
+ // 根据商品的id查询sku数据
List productSkuList = productSkuMapper.findProductSkuByProductId(id);
product.setProductSkuList(productSkuList);
- // 3. 根据id查询商品详情信息 product——details
- ProductDetails productDetails = productDetailMapper.findProductDetailsById(id);
- String imageUrls = productDetails.getImageUrls();
- product.setDetailsImageUrls(imageUrls);
+ // 根据商品的id查询商品详情数据
+ ProductDetails productDetails = productDetailMapper.findProductDetailsById(product.getId());
+ if (productDetails != null) product.setDetailsImageUrls(productDetails.getImageUrls());
+ // 返回数据
return product;
}
@@ -91,8 +92,51 @@ public class ProductServiceImpl implements ProductService {
// 修改product_details表
String detailsImageUrls = product.getDetailsImageUrls();
- ProductDetails productDetails= productDetailMapper.findProductDetailsById(product.getId());
+ ProductDetails productDetails = productDetailMapper.findProductDetailsById(product.getId());
productDetails.setImageUrls(detailsImageUrls);
productDetailMapper.updateById(productDetails);
}
+
+ // 删除数据
+ @Override
+ public void deleteById(Long id) {
+ // 1. 删除product数据
+ productMapper.deleteById(id);
+
+ // 2. 删除product_sku数据
+ productSkuMapper.deleteByProductId(id);
+
+ // 3. 删除product_details数据
+ productDetailMapper.deleteById(id);
+ }
+
+ // 审核商品
+ @Override
+ public void updateAuditStatus(Long id, Integer auditStatus) {
+ Product product = new Product();
+ product.setId(id);
+ if (auditStatus == 1) {
+ product.setAuditStatus(1);
+ product.setAuditMessage("审核通过");
+ } else {
+ product.setAuditStatus(-1);
+ product.setAuditMessage("审核不通过");
+ }
+
+ productMapper.updateById(product);
+ }
+
+ // 商品上下架
+ @Override
+ public void updateStatus(Long id, Integer status) {
+ Product product = new Product();
+ product.setId(id);
+ if (status == 1) {
+ product.setStatus(1);
+ } else {
+ product.setStatus(-1);
+ }
+
+ productMapper.updateById(product);
+ }
}
diff --git a/spzx-manager/src/main/resources/mapper/product/ProductDetailMapper.xml b/spzx-manager/src/main/resources/mapper/product/ProductDetailMapper.xml
index 43571ef..e46949a 100644
--- a/spzx-manager/src/main/resources/mapper/product/ProductDetailMapper.xml
+++ b/spzx-manager/src/main/resources/mapper/product/ProductDetailMapper.xml
@@ -1,6 +1,9 @@
+
+
+
id,product_id,image_urls,create_time,update_time,is_deleted
@@ -33,12 +36,18 @@
id = #{id}
+
+
+ update product_details
+ set is_deleted=1
+ where id = #{id}
+
+
-
diff --git a/spzx-manager/src/main/resources/mapper/product/ProductMapper.xml b/spzx-manager/src/main/resources/mapper/product/ProductMapper.xml
index d11eeff..aff6011 100644
--- a/spzx-manager/src/main/resources/mapper/product/ProductMapper.xml
+++ b/spzx-manager/src/main/resources/mapper/product/ProductMapper.xml
@@ -76,6 +76,25 @@
id = #{id}
+
+
+ update product
+ set is_deleted=1
+ where id = #{id}
+
+
+
+
+ update product set
+
+ status = #{status}
+
+
+ audit_status = #{auditStatus}
+
+ where id = #{id}
+
+
select
@@ -93,31 +112,17 @@
-
- select p.id,
- p.name,
- p.brand_id,
- p.category1_id,
- p.category2_id,
- p.category3_id,
- p.unit_name,
- p.slider_urls,
- p.spec_value,
- p.status,
- p.audit_status,
- p.audit_message,
- p.create_time,
- p.update_time,
- p.is_deleted,
- b.name brandName,
- c1.name category1Name,
- c2.name category2Name,
- c3.name category3Name
+
+ select
+ p.id, p.name , p.brand_id , p.category1_id , p.category2_id , p.category3_id, p.unit_name,
+ p.slider_urls , p.spec_value , p.status , p.audit_status , p.audit_message , p.create_time , p.update_time , p.is_deleted ,
+ b.name brandName , c1.name category1Name , c2.name category2Name , c2.name category3Name
from product p
LEFT JOIN brand b on b.id = p.brand_id
LEFT JOIN category c1 on c1.id = p.category1_id
LEFT JOIN category c2 on c2.id = p.category2_id
LEFT JOIN category c3 on c3.id = p.category3_id
- where p.id = #{id}
+ where
+ p.id = #{id}
diff --git a/spzx-manager/src/main/resources/mapper/product/ProductSkuMapper.xml b/spzx-manager/src/main/resources/mapper/product/ProductSkuMapper.xml
index 198c8b7..6f13712 100644
--- a/spzx-manager/src/main/resources/mapper/product/ProductSkuMapper.xml
+++ b/spzx-manager/src/main/resources/mapper/product/ProductSkuMapper.xml
@@ -2,10 +2,7 @@
-
-
- id,sku_code,sku_name,product_id,thumb_img,sale_price,market_price,cost_price,stock_num,sku_spec,weight,volume,status,create_time,update_time,is_deleted
-
+
insert into product_sku (id,
@@ -88,9 +85,16 @@
id = #{id}
+
+
+ update product_sku
+ set is_deleted=1
+ where id = #{id}
+
+
-
- select
+
+ select *
from product_sku
where product_id = #{productId}
and is_deleted = 0