diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/RuleInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/RuleInfo.java index 454cbad..4a080f1 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/RuleInfo.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/RuleInfo.java @@ -17,6 +17,7 @@ import com.muyu.product.domain.req.RuleInfoEditReq; import com.muyu.common.core.web.domain.BaseEntity; import java.util.Date; +import java.util.List; import java.util.function.Supplier; /** @@ -51,6 +52,8 @@ public class RuleInfo extends BaseEntity { @ApiModelProperty(name = "规格状态", value = "规格状态") private String status; + private List ruleInfoList; + /** * 查询构造器 */ 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 5a7d269..3b719da 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; @@ -32,4 +34,6 @@ public class AttributeGroupEditReq extends BaseEntity { /** 状态 */ @ApiModelProperty(name = "状态", value = "状态", required = true) private String states; + + private List attributeList; } diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/AttributeGroupUpdResp.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/AttributeGroupUpdResp.java new file mode 100644 index 0000000..1622d15 --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/resp/AttributeGroupUpdResp.java @@ -0,0 +1,31 @@ +package com.muyu.product.domain.resp; + +import com.muyu.product.domain.AttributeInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 修改回显详情信息 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AttributeGroupUpdResp { + + /** 属性组编号 */ + private Long id; + + /** 组名称 */ + private String name; + + /** 状态 */ + private String states; + + /** id集合*/ + private List attributeList; +} 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 bd489a0..9670381 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 @@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse; import com.muyu.product.domain.model.AttributeGroupSaveModel; import com.muyu.product.domain.resp.AttributeGroupPageResp; +import com.muyu.product.domain.resp.AttributeGroupUpdResp; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -74,8 +75,8 @@ public class AttributeGroupController extends BaseController { @RequiresPermissions("product:attributeGroup: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(attributeGroupService.getById(id)); + public Result getInfo(@PathVariable("id") Long id) { + return Result.success(attributeGroupService.getUpdById(id)); } /** @@ -99,6 +100,7 @@ public class AttributeGroupController extends BaseController { @PutMapping("/{id}") @ApiOperation("修改属性组") public Result edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) { + attributeGroupService.updAttributeGroupInfo(id,attributeGroupEditReq); return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq))); } @@ -113,4 +115,6 @@ public class AttributeGroupController extends BaseController { public Result remove(@PathVariable List ids) { return toAjax(attributeGroupService.removeBatchByIds(ids)); } + + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsAttributeGroupInfoMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsAttributeGroupInfoMapper.java new file mode 100644 index 0000000..3a320de --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AsAttributeGroupInfoMapper.java @@ -0,0 +1,16 @@ +package com.muyu.product.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.product.domain.AttributeGroup; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.mybatis.spring.annotation.MapperScan; + +@Mapper +public interface AsAttributeGroupInfoMapper{ + + void delAttributeInfo(Long id); + + + void addAttributeInfo(@Param("id") Long id, @Param("ids") Long ids); +} 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 9527f88..6ee488f 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,7 +7,9 @@ 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.AttributeGroupUpdResp; /** * 属性组Service接口 @@ -39,4 +41,12 @@ public interface AttributeGroupService extends IService { */ public Boolean save(AttributeGroupSaveModel attributeGroupSaveModel); + /** + * 回显属性详情 + * @param id + * @return + */ + AttributeGroupUpdResp getUpdById(Long id); + + void updAttributeGroupInfo(Long id, AttributeGroupEditReq attributeGroupEditReq); } 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 85f52d1..de48f0a 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,7 +9,11 @@ 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.req.AttributeInfoSaveReq; import com.muyu.product.domain.resp.AttributeGroupPageResp; +import com.muyu.product.domain.resp.AttributeGroupUpdResp; +import com.muyu.product.mapper.AsAttributeGroupInfoMapper; import com.muyu.product.mapper.AttributeGroupMapper; import com.muyu.product.service.AsAttributeGroupService; import com.muyu.product.service.AttributeGroupService; @@ -34,11 +38,14 @@ import java.util.stream.Stream; public class AttributeGroupServiceImpl extends ServiceImpl implements AttributeGroupService { @Autowired - private AsAttributeGroupService attributeGroupService; + private AsAttributeGroupService asAttributeGroupService; @Autowired private AttributeInfoService attributeInfoService; + @Autowired + private AsAttributeGroupInfoMapper asAttributeGroupInfoMapper; + /** * 分页查询 * @@ -100,11 +107,35 @@ public class AttributeGroupServiceImpl extends ServiceImpl attributeIdList = attributeGroupSaveModel.getAttributeIdList(); - attributeGroupService.saveBatch( + asAttributeGroupService.saveBatch( attributeIdList.stream() .map(attributeId -> AsAttributeGroup.buildGroup(attributeGroupId, attributeId)) .toList() ); return save; } + + @Override + public AttributeGroupUpdResp getUpdById(Long id) { + AttributeGroup attributeGroup = this.getById(id); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AsAttributeGroup::getGroupId, id); + List asAttributeGroupList = asAttributeGroupService.list(queryWrapper); + List attributeIdList = asAttributeGroupList.stream().map(AsAttributeGroup::getAttributeId).toList(); + List attributeInfoList = attributeInfoService.listByIds(attributeIdList); + return AttributeGroupUpdResp.builder() + .id(attributeGroup.getId()) + .name(attributeGroup.getName()) + .states(attributeGroup.getStates()) + .attributeList(attributeInfoList).build(); + } + + @Override + public void updAttributeGroupInfo(Long id, AttributeGroupEditReq attributeGroupEditReq) { + asAttributeGroupInfoMapper.delAttributeInfo(id); + List attributeLists = attributeGroupEditReq.getAttributeList(); + for (AttributeInfoSaveReq attributeList : attributeLists) { + asAttributeGroupInfoMapper.addAttributeInfo(id,attributeList.getId()); + } + } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AsAttributeGroupInfoMapper.xml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AsAttributeGroupInfoMapper.xml new file mode 100644 index 0000000..c1f9c78 --- /dev/null +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/mapper/product/AsAttributeGroupInfoMapper.xml @@ -0,0 +1,14 @@ + + + + + insert into as_attribute_group (group_id,attribute_id) values (#{id},#{ids}) + + + + delete from as_attribute_group where group_id=#{id} + + +