From bee8ea148a48eee95d4297958cc41188f457857c Mon Sep 17 00:00:00 2001 From: meng <1544233648@qq.com> Date: Thu, 14 Nov 2024 00:13:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- muyu-gateway/src/main/resources/bootstrap.yml | 2 +- .../domain/model/RuleInfoAddModel.java | 2 +- .../domain/req/AttributeGroupEditReq.java | 7 +++ .../product/domain/req/RuleAttrInfoReq.java | 27 ++++++++ .../product/domain/req/RuleInfoEditReq.java | 3 +- .../domain/resp/AttributeInfoResp.java | 20 +++++- .../product/domain/resp/RuleAttrInfoResp.java | 36 +++++++++++ .../controller/AttributeGroupController.java | 5 +- .../controller/RuleInfoController.java | 12 ++-- .../product/mapper/AttributeGroupMapper.java | 5 ++ .../product/mapper/RuleAttrInfoMapper.java | 32 ++++++++++ .../service/AttributeGroupService.java | 8 +++ .../product/service/RuleAttrInfoService.java | 7 +++ .../muyu/product/service/RuleInfoService.java | 14 +++++ .../impl/AsAttributeGroupServiceImpl.java | 2 - .../impl/AttributeGroupServiceImpl.java | 23 +++++-- .../service/impl/RuleAttrInfoServiceImpl.java | 15 ++++- .../service/impl/RuleInfoServiceImpl.java | 62 ++++++++++++++++++- .../mapper/product/AttributeGroupMapper.xml | 10 +++ .../mapper/product/RuleAttrInfoMapper.xml | 28 +++++++++ 20 files changed, 301 insertions(+), 19 deletions(-) create mode 100644 muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/RuleAttrInfoReq.java create mode 100644 muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/RuleAttrInfoResp.java diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index a84f84e..63c0b0b 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 8080 + port: 18080 # Spring spring: diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/RuleInfoAddModel.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/RuleInfoAddModel.java index d2742b3..3adb71c 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/RuleInfoAddModel.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/RuleInfoAddModel.java @@ -22,7 +22,7 @@ import java.util.List; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) public class RuleInfoAddModel extends BaseEntity { - + private Long id; /** 规格名称 */ private String name; diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupEditReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupEditReq.java index 35a1b47..5c834ee 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupEditReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupEditReq.java @@ -1,6 +1,8 @@ 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; @@ -33,5 +35,10 @@ public class AttributeGroupEditReq extends BaseEntity { @ApiModelProperty(name = "状态", value = "状态", required = true) private String states; + /** + * 属性ID集合 + */ + @ApiModelProperty(name = "属性ID集合", value = "属性ID集合", required = true) + private List attributeIdList; } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/RuleAttrInfoReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/RuleAttrInfoReq.java new file mode 100644 index 0000000..6605a89 --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/RuleAttrInfoReq.java @@ -0,0 +1,27 @@ +package com.muyu.product.domain.req; + +import com.muyu.product.domain.model.RuleAttrAddModel; +import com.muyu.product.domain.resp.RuleInfoResp; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RuleAttrInfoReq { + + /** 规格名称 */ + private String name; + + /** 规格状态 */ + private String status; + + /** + * 规格属性集合 + */ + private List ruleAttrList; +} diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/RuleInfoEditReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/RuleInfoEditReq.java index bc9d602..77a6c67 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/RuleInfoEditReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/RuleInfoEditReq.java @@ -8,6 +8,8 @@ import lombok.experimental.SuperBuilder; import io.swagger.annotations.*; import com.muyu.common.core.web.domain.BaseEntity; +import java.util.List; + /** * 商品规格对象 rule_info * @@ -30,5 +32,4 @@ public class RuleInfoEditReq extends BaseEntity { /** 规格状态 */ @ApiModelProperty(name = "规格状态", value = "规格状态") private String status; - } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/AttributeInfoResp.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/AttributeInfoResp.java index 6f413cd..7bb2b73 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/AttributeInfoResp.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/AttributeInfoResp.java @@ -1,7 +1,11 @@ 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 io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -13,8 +17,20 @@ import java.util.List; @AllArgsConstructor @NoArgsConstructor public class AttributeInfoResp { - //属性组 - private AttributeGroup attributeGroup=new AttributeGroup(); + /** 属性组编号 */ + @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; //商品属性 private List attributeInfos; } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/RuleAttrInfoResp.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/RuleAttrInfoResp.java new file mode 100644 index 0000000..858c08b --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/RuleAttrInfoResp.java @@ -0,0 +1,36 @@ +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.RuleAttrInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RuleAttrInfoResp { + /** 主键 */ + @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; + + private List ruleInfoResps; + + private List attrValue; +} diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java index 7f527df..9fd37a3 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java @@ -108,8 +108,9 @@ public class AttributeGroupController extends BaseController { @Log(title = "属性组", businessType = BusinessType.UPDATE) @PutMapping("/{id}") @ApiOperation("修改属性组") - public Result edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) { - return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq))); + public Result edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) { + attributeGroupService.updAsAttributeGroup(id,attributeGroupEditReq); + return Result.success("修改成功"); } /** 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 b6a9c73..a0e9ccd 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 @@ -5,6 +5,8 @@ import javax.servlet.http.HttpServletResponse; import com.muyu.common.core.text.Convert; import com.muyu.product.domain.model.RuleInfoAddModel; +import com.muyu.product.domain.req.RuleAttrInfoReq; +import com.muyu.product.domain.resp.RuleAttrInfoResp; import com.muyu.product.domain.resp.RuleInfoResp; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; @@ -77,8 +79,9 @@ public class RuleInfoController extends BaseController { @RequiresPermissions("product:rule: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(ruleInfoService.getById(id)); + public Result getInfo(@PathVariable("id") Long id) { + RuleInfoAddModel resp=ruleInfoService.getRuleAttrInfoResp(id); + return Result.success(resp); } /** @@ -99,8 +102,9 @@ public class RuleInfoController extends BaseController { @Log(title = "商品规格", businessType = BusinessType.UPDATE) @PutMapping("/{id}") @ApiOperation("修改商品规格") - public Result edit(@PathVariable Long id, @RequestBody RuleInfoEditReq ruleInfoEditReq) { - return toAjax(ruleInfoService.updateById(RuleInfo.editBuild(id,ruleInfoEditReq))); + public Result edit(@PathVariable Long id, @RequestBody RuleAttrInfoReq req) { + ruleInfoService.updateRuleById(id,req); + return Result.success(); } /** diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java index 33ef0da..c60eafd 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java @@ -22,4 +22,9 @@ public interface AttributeGroupMapper extends BaseMapper { AttributeInfo getAttributeInfo(@Param("attributeId") Long attributeId); //属性组 AttributeGroup getAttributeGroup(@Param("id") Long id); + //删除中间表 + void deleteAsAttributeGroup(@Param("id") Long id); + //添加中间表 + void addAsAttributeGroup(@Param("id") Long id, @Param("attributeIdList") List attributeIdList); + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleAttrInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleAttrInfoMapper.java index b51378c..10430c8 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleAttrInfoMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/RuleAttrInfoMapper.java @@ -3,6 +3,9 @@ package com.muyu.product.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.product.domain.RuleAttrInfo; +import com.muyu.product.domain.req.RuleAttrInfoReq; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 规格详情Mapper接口 @@ -10,6 +13,35 @@ import com.muyu.product.domain.RuleAttrInfo; * @author DongZeLiang * @date 2024-02-27 */ +@Mapper public interface RuleAttrInfoMapper extends BaseMapper { + /** + * 查询规格详情表 + * @param id + * @return + */ + List getRuleAttrInfo(@Param("id") Long id); + + + /** + * 删除规格详情表 + * @param id + */ + void deleteRule(@Param("id") Long id); + + /** + * 修改商品规格表 + * @param id + */ + void updRule(@Param("id") Long id, @Param("req") RuleAttrInfoReq req); + /** + * + * @param id + * @param name + * @param valueData + */ + void addRuleAttrModel(@Param("id") Long id, @Param("name") String name, @Param("valueData") String valueData); + + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java index 369af6a..b5a799d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java @@ -7,6 +7,7 @@ import com.muyu.product.domain.AttributeGroup; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.model.AttributeGroupSaveModel; +import com.muyu.product.domain.req.AttributeGroupEditReq; import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeInfoResp; @@ -46,4 +47,11 @@ public interface AttributeGroupService extends IService { * @return */ AttributeInfoResp getInfo(Long id); + + /** + * 修改属性组中间表 + * @param id + * @param attributeGroupEditReq + */ + void updAsAttributeGroup(Long id, AttributeGroupEditReq attributeGroupEditReq); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java index 2623202..6de439d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java @@ -25,4 +25,11 @@ public interface RuleAttrInfoService extends IService { * @return 规格详情集合 */ List getInfoByRuleId (Long ruleId); + + /** + * 获取商品规格详细信息 + * @param id + * @return + */ + List getRuleAttrInfo(Long id); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleInfoService.java index 54c5b08..c17c5d5 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleInfoService.java @@ -6,7 +6,10 @@ import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.product.domain.RuleInfo; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.product.domain.model.RuleInfoAddModel; +import com.muyu.product.domain.req.RuleAttrInfoReq; +import com.muyu.product.domain.req.RuleInfoEditReq; import com.muyu.product.domain.req.RuleInfoQueryReq; +import com.muyu.product.domain.resp.RuleAttrInfoResp; import com.muyu.product.domain.resp.RuleInfoResp; /** @@ -32,4 +35,15 @@ public interface RuleInfoService extends IService { public boolean save(RuleInfoAddModel ruleInfoAddModel); TableDataInfo queryList (RuleInfoQueryReq ruleInfoQueryReq); + + /** + * 获取商品规格详细信息 + * @param id + * @return + */ + RuleInfoAddModel getRuleAttrInfoResp(Long id); + + + void updateRuleById(Long id, RuleAttrInfoReq req); + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsAttributeGroupServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsAttributeGroupServiceImpl.java index 7e2e186..42b8459 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsAttributeGroupServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsAttributeGroupServiceImpl.java @@ -31,11 +31,9 @@ public class AsAttributeGroupServiceImpl extends ServiceImpl list(AsAttributeGroup asAttributeGroup) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - if (ObjUtils.notNull(asAttributeGroup.getGroupId())){ queryWrapper.eq(AsAttributeGroup::getGroupId, asAttributeGroup.getGroupId()); } - if (ObjUtils.notNull(asAttributeGroup.getAttributeId())){ queryWrapper.eq(AsAttributeGroup::getAttributeId, asAttributeGroup.getAttributeId()); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java index 51ef8d7..2ca12ab 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java @@ -9,6 +9,7 @@ import com.muyu.product.domain.AsAttributeGroup; import com.muyu.product.domain.AttributeGroup; import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.model.AttributeGroupSaveModel; +import com.muyu.product.domain.req.AttributeGroupEditReq; import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeInfoResp; import com.muyu.product.mapper.AttributeGroupMapper; @@ -22,8 +23,6 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; -import java.util.function.Function; -import java.util.stream.Stream; /** * 属性组Service业务层处理 @@ -120,15 +119,31 @@ public class AttributeGroupServiceImpl extends ServiceImpl attributeGroups=attributeGroupMapper.getAsAttributeGroup(id); ArrayList list = new ArrayList<>(); for (AsAttributeGroup attributeGroup : attributeGroups) { AttributeInfo attributeInfos=attributeGroupMapper.getAttributeInfo(attributeGroup.getAttributeId()); list.add(attributeInfos); } - attributeInfoResp.setAttributeGroup(mapperAttributeGroup); attributeInfoResp.setAttributeInfos(list); return attributeInfoResp; } + + /** + * 修改属性组中间表 + * @param id + * @param attributeGroupEditReq + */ + @Override + public void updAsAttributeGroup(Long id, AttributeGroupEditReq attributeGroupEditReq) { + // + //先删除中间表 + attributeGroupMapper.deleteAsAttributeGroup(id); + //添加中间表 + attributeGroupMapper.addAsAttributeGroup(id,attributeGroupEditReq.getAttributeIdList()); + } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java index 4b7b712..ebeb998 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java @@ -4,6 +4,7 @@ import java.util.List; import com.muyu.common.core.utils.ObjUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.muyu.product.mapper.RuleAttrInfoMapper; import com.muyu.product.domain.RuleAttrInfo; @@ -20,7 +21,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @Slf4j @Service public class RuleAttrInfoServiceImpl extends ServiceImpl implements RuleAttrInfoService { - + @Autowired + private RuleAttrInfoMapper ruleAttrInfoMapper; /** * 查询规格详情列表 * @@ -64,4 +66,15 @@ public class RuleAttrInfoServiceImpl extends ServiceImpl getRuleAttrInfo(Long id) { + List ruleAttrInfos= ruleAttrInfoMapper.getRuleAttrInfo(id); + return ruleAttrInfos; + } } 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 0df7cf2..bba465d 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 @@ -15,8 +15,12 @@ import com.muyu.common.security.utils.SecurityUtils; import com.muyu.product.domain.RuleAttrInfo; import com.muyu.product.domain.model.RuleAttrAddModel; import com.muyu.product.domain.model.RuleInfoAddModel; +import com.muyu.product.domain.req.RuleAttrInfoReq; +import com.muyu.product.domain.req.RuleInfoEditReq; import com.muyu.product.domain.req.RuleInfoQueryReq; +import com.muyu.product.domain.resp.RuleAttrInfoResp; import com.muyu.product.domain.resp.RuleInfoResp; +import com.muyu.product.mapper.RuleAttrInfoMapper; import com.muyu.product.service.RuleAttrInfoService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -39,7 +43,8 @@ public class RuleInfoServiceImpl extends ServiceImpl @Autowired private RuleAttrInfoService ruleAttrInfoService; - + @Autowired + private RuleAttrInfoMapper ruleAttrInfoMapper; /** * 查询商品规格列表 * @@ -107,4 +112,59 @@ public class RuleInfoServiceImpl extends ServiceImpl .total(isPage ? new PageInfo<>(list).getTotal() : 0) .build(); } + + /** + * 获取商品规格详细信息 + * @param id + * @return + */ + @Override + public RuleInfoAddModel getRuleAttrInfoResp(Long id) { + //获取商品规格 + RuleInfo byId = this.getById(id); + if (byId==null){ + throw new RuntimeException("没有这个商品规格"); + } + List ruleAttrInfos=ruleAttrInfoService.getRuleAttrInfo(byId.getId()); + ArrayList arrayList = new ArrayList<>(); + RuleAttrAddModel ruleAttrAddModel = new RuleAttrAddModel(); + for (RuleAttrInfo ruleAttrInfo : ruleAttrInfos) { + ruleAttrAddModel.setName(ruleAttrInfo.getName()); + } + List list = ruleAttrInfos.stream().map(RuleAttrInfo::getAttrValue).toList(); + ruleAttrAddModel.setValueList(list); + arrayList.add(ruleAttrAddModel); + RuleInfoAddModel resp = new RuleInfoAddModel(); + resp.setId(byId.getId()); + resp.setName(byId.getName()); + resp.setStatus(byId.getStatus()); + resp.setRuleAttrList(arrayList); + return resp; + } + + /** + * 修改商品规格和规格详情表 + * @param id + * @param req + */ + @Override + public void updateRuleById(Long id, RuleAttrInfoReq req) { + //修改商品规格表 + ruleAttrInfoMapper.updRule(id,req); + //删除规格详情表 + ruleAttrInfoMapper.deleteRule(id); + //添加规格详情表 + List ruleAttrList = req.getRuleAttrList(); + for (RuleAttrAddModel ruleAttrAddModel : ruleAttrList) { + List valueList = ruleAttrAddModel.getValueList(); + String value=""; + String valueData=null; + for (String s : valueList) { + valueData = value + "," + s; + } + String substring = valueData.substring(1); + System.out.println(substring); + ruleAttrInfoMapper.addRuleAttrModel(id,ruleAttrAddModel.getName(),substring); + } + } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AttributeGroupMapper.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AttributeGroupMapper.xml index ad9f582..eee46bb 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AttributeGroupMapper.xml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AttributeGroupMapper.xml @@ -18,6 +18,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, name, states, create_by, create_time, updata_by, updata_time, remark from attribute_group + + INSERT INTO as_attribute_group (`group_id`, `attribute_id`) + VALUES + + ( #{id}, #{attributeIdList}) + + + + delete from as_attribute_group where as_attribute_group.group_id=#{id} + diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/RuleAttrInfoMapper.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/RuleAttrInfoMapper.xml index 3186330..e27a72d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/RuleAttrInfoMapper.xml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/RuleAttrInfoMapper.xml @@ -19,4 +19,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, rule_id, name, attr_value, remark, create_by, create_time, update_by, update_time from rule_attr_info + + INSERT INTO rule_attr_info ( `rule_id`, `name`, `attr_value`,create_by, `create_time`) + VALUES ( #{id},#{name}, #{valueData},'admin',now()); + + + UPDATE `muyu`.`rule_info` + SET `name` = #{req.name}, + `status` = #{req.status}, + `update_time` = now() + WHERE + `id` = #{id} + + + delete from rule_attr_info where rule_id=#{id} + +