master
33442 2024-11-13 22:40:20 +08:00
parent af3fe56aa6
commit 382e38c56b
8 changed files with 117 additions and 4 deletions

View File

@ -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<RuleInfo> ruleInfoList;
/**
*
*/

View File

@ -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<AttributeInfoSaveReq> attributeList;
}

View File

@ -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<AttributeInfo> attributeList;
}

View File

@ -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<AttributeGroup> getInfo(@PathVariable("id") Long id) {
return Result.success(attributeGroupService.getById(id));
public Result<AttributeGroupUpdResp> 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<String> 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<String> remove(@PathVariable List<Long> ids) {
return toAjax(attributeGroupService.removeBatchByIds(ids));
}
}

View File

@ -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);
}

View File

@ -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<AttributeGroup> {
*/
public Boolean save(AttributeGroupSaveModel attributeGroupSaveModel);
/**
*
* @param id
* @return
*/
AttributeGroupUpdResp getUpdById(Long id);
void updAttributeGroupInfo(Long id, AttributeGroupEditReq attributeGroupEditReq);
}

View File

@ -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<AttributeGroupMapper, AttributeGroup> 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<AttributeGroupMapper,
Long attributeGroupId = attributeGroup.getId();
List<Long> 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<AsAttributeGroup> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AsAttributeGroup::getGroupId, id);
List<AsAttributeGroup> asAttributeGroupList = asAttributeGroupService.list(queryWrapper);
List<Long> attributeIdList = asAttributeGroupList.stream().map(AsAttributeGroup::getAttributeId).toList();
List<AttributeInfo> 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<AttributeInfoSaveReq> attributeLists = attributeGroupEditReq.getAttributeList();
for (AttributeInfoSaveReq attributeList : attributeLists) {
asAttributeGroupInfoMapper.addAttributeInfo(id,attributeList.getId());
}
}
}

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.product.mapper.AsAttributeGroupInfoMapper">
<insert id="addAttributeInfo">
insert into as_attribute_group (group_id,attribute_id) values (#{id},#{ids})
</insert>
<delete id="delAttributeInfo">
delete from as_attribute_group where group_id=#{id}
</delete>
</mapper>