diff --git a/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/MiddleTableEntity.java b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/MiddleTableEntity.java new file mode 100644 index 0000000..d1edbf0 --- /dev/null +++ b/cloud-background-common/src/main/java/com/muyu/cloud/background/domin/MiddleTableEntity.java @@ -0,0 +1,46 @@ +package com.muyu.cloud.background.domin; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * @Author:weiran + * @Package:com.muyu.cloud.background.domin + * @Project:cloud-background + * @name:MiddleTableEntity + * @Date:2024/9/1 20:52 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@TableName(value = "middle_specification_product",autoResultMap = true) +public class MiddleTableEntity { + + + + @TableId(value = "middle_id",type = IdType.AUTO) + private Integer middleId; + + /** + * 商品主键 + */ + private Integer middleProduct; + /** + * 商品规格主键 + */ + private Integer middleSpecification; + /** + * 价格 + */ + private BigDecimal middlePrice; + +} diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiManageController.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiManageController.java index a6c87c1..c55a449 100644 --- a/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiManageController.java +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/controller/ApiManageController.java @@ -1,5 +1,6 @@ package com.muyu.cloud.background.controller; +import com.muyu.cloud.background.domin.MiddleTableEntity; import com.muyu.cloud.background.domin.Product; import com.muyu.cloud.background.domin.Specification; import com.muyu.cloud.background.domin.req.ProductAddReq; @@ -16,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.time.LocalDate; import java.time.ZoneId; import java.util.Date; @@ -68,7 +70,33 @@ public class ApiManageController { //添加中间表 productAddReq.setProductId(productId); List specificationList = apiManageService.findspecification(); - apiManageService.insertmiddle(specificationList,productAddReq); + for (Specification specification : specificationList) { + Integer specificationId=specification.getProductSpecificationId(); + BigDecimal middlePrice; + switch (specificationId) { + case 1: + middlePrice = productAddReq.getTimemoney(); + break; + case 2: + middlePrice = productAddReq.getDaymoney(); + break; + case 3: + middlePrice = productAddReq.getMonthmoney(); + break; + case 4: + middlePrice = productAddReq.getYearmoney(); + break; + default: + // 理论上不应该到达这里,因为 i 的范围被 specificationList 的大小限制了 + throw new IllegalStateException("Unexpected value: " + specificationId); + } + MiddleTableEntity middleEntity = new MiddleTableEntity(); + middleEntity.setMiddleProduct(productAddReq.getProductId()); + middleEntity.setMiddleSpecification(specificationId); + middleEntity.setMiddlePrice(middlePrice); + apiManageService.insertMiddle(middleEntity); + } + return Result.success(null,"操作成功"); } diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/mapper/ApiManageMapper.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/mapper/ApiManageMapper.java index b3bc9a5..a2749d1 100644 --- a/cloud-background-server/src/main/java/com/muyu/cloud/background/mapper/ApiManageMapper.java +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/mapper/ApiManageMapper.java @@ -1,6 +1,7 @@ package com.muyu.cloud.background.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.cloud.background.domin.MiddleTableEntity; import com.muyu.cloud.background.domin.Product; import com.muyu.cloud.background.domin.Specification; import com.muyu.cloud.background.domin.req.ProductAddReq; @@ -37,10 +38,12 @@ public interface ApiManageMapper extends BaseMapper { @Select("select * from product_specification") List findspecification(); - void insertmiddle(ProductAddReq productAddReq, Specification specification); +// void insertmiddle(ProductAddReq productAddReq, Specification specification); +// +// void insertmiddle1(ProductAddReq productAddReq, Specification specification); +// +// void insertmiddle2(ProductAddReq productAddReq, Specification specification); +// void insertmiddle3(ProductAddReq productAddReq, Specification specification); - void insertmiddle1(ProductAddReq productAddReq, Specification specification); - - void insertmiddle2(ProductAddReq productAddReq, Specification specification); - void insertmiddle3(ProductAddReq productAddReq, Specification specification); + void insertMiddle(MiddleTableEntity middleEntity); } diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/service/ApiManageService.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/service/ApiManageService.java index af10db6..d664ede 100644 --- a/cloud-background-server/src/main/java/com/muyu/cloud/background/service/ApiManageService.java +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/service/ApiManageService.java @@ -1,6 +1,7 @@ package com.muyu.cloud.background.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.cloud.background.domin.MiddleTableEntity; import com.muyu.cloud.background.domin.Product; import com.muyu.cloud.background.domin.Specification; import com.muyu.cloud.background.domin.req.ProductAddReq; @@ -55,4 +56,6 @@ public interface ApiManageService extends IService { * @param productAddReq */ void insertmiddle(List specificationList, ProductAddReq productAddReq); + + void insertMiddle(MiddleTableEntity middleEntity); } diff --git a/cloud-background-server/src/main/java/com/muyu/cloud/background/service/impl/ApiManageServiceImpl.java b/cloud-background-server/src/main/java/com/muyu/cloud/background/service/impl/ApiManageServiceImpl.java index ad7b8c0..d3c7946 100644 --- a/cloud-background-server/src/main/java/com/muyu/cloud/background/service/impl/ApiManageServiceImpl.java +++ b/cloud-background-server/src/main/java/com/muyu/cloud/background/service/impl/ApiManageServiceImpl.java @@ -3,6 +3,7 @@ package com.muyu.cloud.background.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.cloud.background.domin.Company; +import com.muyu.cloud.background.domin.MiddleTableEntity; import com.muyu.cloud.background.domin.Product; import com.muyu.cloud.background.domin.Specification; import com.muyu.cloud.background.domin.req.ProductAddReq; @@ -97,12 +98,17 @@ public class ApiManageServiceImpl extends ServiceImpl */ @Override public void insertmiddle(List specificationList, ProductAddReq productAddReq) { - apiManageMapper.insertmiddle(productAddReq, specificationList.get(0)); - apiManageMapper.insertmiddle1(productAddReq, specificationList.get(1)); - apiManageMapper.insertmiddle2(productAddReq, specificationList.get(2)); - apiManageMapper.insertmiddle3(productAddReq, specificationList.get(3)); +// apiManageMapper.insertmiddle(productAddReq, specificationList.get(0)); +// apiManageMapper.insertmiddle1(productAddReq, specificationList.get(1)); +// apiManageMapper.insertmiddle2(productAddReq, specificationList.get(2)); +// apiManageMapper.insertmiddle3(productAddReq, specificationList.get(3)); } + @Override + public void insertMiddle(MiddleTableEntity middleEntity) { + apiManageMapper.insertMiddle(middleEntity); + } + } diff --git a/cloud-background-server/src/main/resources/mapper/background/ApiManageMapper.xml b/cloud-background-server/src/main/resources/mapper/background/ApiManageMapper.xml index d5e4d10..46e8c56 100644 --- a/cloud-background-server/src/main/resources/mapper/background/ApiManageMapper.xml +++ b/cloud-background-server/src/main/resources/mapper/background/ApiManageMapper.xml @@ -4,31 +4,37 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + INSERT INTO `h6_cloud_server`.`middle_specification_product` + (`middle_id`, `middle_product`, `middle_specification`, `middle_price`) VALUES + (0, #{middleProduct},#{middleSpecification}, #{middlePrice}); + + update product set product_state=#{productState} where product_id=#{productId} - - INSERT INTO `h6_cloud_server`.`middle_specification_product` - (`middle_id`, `middle_product`, `middle_specification`, `middle_price`) VALUES - (0, #{productAddReq.productId},#{specification.productSpecificationId}, #{productAddReq.productId.timemoney}) - - - INSERT INTO `h6_cloud_server`.`middle_specification_product` - (`middle_id`, `middle_product`, `middle_specification`, `middle_price`) VALUES - (0, #{productAddReq.productId},#{specification.productSpecificationId}, #{productAddReq.daymoney}) - - - INSERT INTO `h6_cloud_server`.`middle_specification_product` - (`middle_id`, `middle_product`, `middle_specification`, `middle_price`) VALUES - (0, #{productAddReq.productId},#{specification.productSpecificationId}, #{productAddReq.monthmoney}) - + + + + + + + + + + + + + + + - - INSERT INTO `h6_cloud_server`.`middle_specification_product` - (`middle_id`, `middle_product`, `middle_specification`, `middle_price`) VALUES - (0, #{productAddReq.productId},#{specification.productSpecificationId}, #{productAddReq.yearmoney}) - + + + + +