第一次优化

master
‘mahaoran’ 2024-11-13 22:35:58 +08:00
parent b8ec6ad07d
commit 987cc25fc8
18 changed files with 355 additions and 8 deletions

View File

@ -49,6 +49,9 @@ public class AttributeGroup extends BaseEntity {
@ApiModelProperty(name = "状态", value = "状态", required = true) @ApiModelProperty(name = "状态", value = "状态", required = true)
private String states; private String states;
@Excel(name = "备注")
@ApiModelProperty(name = "备注", value = "备注", required = true)
private String remark;
/** /**
* *

View File

@ -30,6 +30,8 @@ public class RuleAttrAddModel extends BaseEntity {
*/ */
private String name; private String name;
private String attrValue;
/** /**
* *
*/ */

View File

@ -1,7 +1,12 @@
package com.muyu.product.domain.req; package com.muyu.product.domain.req;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.resp.AttributeGroupUpdResp;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -33,5 +38,7 @@ public class AttributeGroupEditReq extends BaseEntity {
@ApiModelProperty(name = "状态", value = "状态", required = true) @ApiModelProperty(name = "状态", value = "状态", required = true)
private String states; private String states;
private List<AttributeInfo> attributeList;
} }

View File

@ -1,5 +1,6 @@
package com.muyu.product.domain.req; package com.muyu.product.domain.req;
import com.muyu.product.domain.RuleInfo;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -8,6 +9,8 @@ import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import java.util.List;
/** /**
* rule_info * rule_info
* *
@ -31,4 +34,6 @@ public class RuleInfoEditReq extends BaseEntity {
@ApiModelProperty(name = "规格状态", value = "规格状态") @ApiModelProperty(name = "规格状态", value = "规格状态")
private String status; private String status;
private List<RuleInfo> ruleInfoList;
} }

View File

@ -0,0 +1,13 @@
package com.muyu.product.domain.resp;
import lombok.Data;
import java.util.List;
@Data
public class AddAttributeGroupResp {
private Long groupId;
private Integer attributeId;
private List<AddAttributeGroupResp> list;
}

View File

@ -0,0 +1,30 @@
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.AttributeInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AttributeGroupUpdResp {
/** 属性组编号 */
private Long id;
/** 组名称 */
private String name;
/** 状态 */
private String states;
private List<AttributeInfo> attributeList;
}

View File

@ -0,0 +1,22 @@
package com.muyu.product.domain.resp;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class FindByIdResp {
private Integer id;//属性组编号
private String name;//组名称
private String states;//状态
private String createBy;//创建人
private Date createTime;//创建时间
private String updateBy;//更新人
private Date updateTime;//更新时间
private String remark;//备注
private String attrId;//属性ID
private String attrName;//属性名称
}

View File

@ -0,0 +1,23 @@
package com.muyu.product.domain.resp;
import lombok.Data;
import java.util.List;
@Data
public class RuleAttrUpdResp {
private Long id;
/**
*
*/
private String name;
/**
*
*/
private List<String> valueList;
}

View File

@ -4,7 +4,10 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.muyu.product.domain.model.AttributeGroupSaveModel; import com.muyu.product.domain.model.AttributeGroupSaveModel;
import com.muyu.product.domain.resp.AddAttributeGroupResp;
import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeGroupPageResp;
import com.muyu.product.domain.resp.AttributeGroupUpdResp;
import com.muyu.product.domain.resp.FindByIdResp;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -74,10 +77,32 @@ public class AttributeGroupController extends BaseController {
@RequiresPermissions("product:attributeGroup:query") @RequiresPermissions("product:attributeGroup:query")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<AttributeGroup> getInfo(@PathVariable("id") Long id) { public Result<AttributeGroupUpdResp> getInfo(@PathVariable("id") Long id) {
return Result.success(attributeGroupService.getById(id)); return Result.success(attributeGroupService.getUpdById(id));
} }
/**
*
* @param id
* @return
*/
@GetMapping("/findById/{id}")
public Result<FindByIdResp> findById(@PathVariable Integer id){
return Result.success(attributeGroupService.findById(id));
}
// /**
// * 修改属性
// * @param
// * @return
// */
// @PostMapping("upd")
// public Result upd(@RequestBody AddAttributeGroupResp addAttributeGroupResp){
// Result upd = attributeGroupService.upd(addAttributeGroupResp);
// return upd;
// }
/** /**
* *
*/ */
@ -99,6 +124,7 @@ public class AttributeGroupController extends BaseController {
@PutMapping("/{id}") @PutMapping("/{id}")
@ApiOperation("修改属性组") @ApiOperation("修改属性组")
public Result<String> edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) { public Result<String> edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) {
attributeGroupService.updateAttibuteGroup(id, attributeGroupEditReq);
return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq))); return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq)));
} }

View File

@ -77,10 +77,12 @@ public class RuleInfoController extends BaseController {
@RequiresPermissions("product:rule:query") @RequiresPermissions("product:rule:query")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<RuleInfo> getInfo(@PathVariable("id") Long id) { public Result<RuleInfoResp> getInfo(@PathVariable("id") Long id) {
return Result.success(ruleInfoService.getById(id)); Result<RuleInfoResp> ruleById = ruleInfoService.getRuleById(id);
return ruleById;
} }
/** /**
* *
*/ */
@ -100,6 +102,7 @@ public class RuleInfoController extends BaseController {
@PutMapping("/{id}") @PutMapping("/{id}")
@ApiOperation("修改商品规格") @ApiOperation("修改商品规格")
public Result<String> edit(@PathVariable Long id, @RequestBody RuleInfoEditReq ruleInfoEditReq) { public Result<String> edit(@PathVariable Long id, @RequestBody RuleInfoEditReq ruleInfoEditReq) {
ruleInfoService.upd(id,ruleInfoEditReq);
return toAjax(ruleInfoService.updateById(RuleInfo.editBuild(id,ruleInfoEditReq))); return toAjax(ruleInfoService.updateById(RuleInfo.editBuild(id,ruleInfoEditReq)));
} }

View File

@ -2,7 +2,13 @@ package com.muyu.product.mapper;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.common.core.domain.Result;
import com.muyu.product.domain.AsAttributeGroup; import com.muyu.product.domain.AsAttributeGroup;
import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.resp.AddAttributeGroupResp;
import com.muyu.product.domain.resp.FindByIdResp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* Mapper * Mapper
@ -10,6 +16,29 @@ import com.muyu.product.domain.AsAttributeGroup;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface AsAttributeGroupMapper extends BaseMapper<AsAttributeGroup> { public interface AsAttributeGroupMapper extends BaseMapper<AsAttributeGroup> {
/**
*
* @param id
* @return
*/
FindByIdResp findById(Integer id);
/**
*
* @param groupId
* @return
*/
void del(Long groupId);
/**
*
* @param groupId
* @param list
* @return
*/
void add(@Param("groupId") Long groupId , @Param("list") List<AttributeInfo> list);
} }

View File

@ -3,6 +3,10 @@ package com.muyu.product.mapper;
import java.util.List; import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.RuleAttrInfo; import com.muyu.product.domain.RuleAttrInfo;
import com.muyu.product.domain.RuleInfo;
import com.muyu.product.domain.resp.RuleInfoResp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* Mapper * Mapper
@ -10,6 +14,13 @@ import com.muyu.product.domain.RuleAttrInfo;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface RuleAttrInfoMapper extends BaseMapper<RuleAttrInfo> { public interface RuleAttrInfoMapper extends BaseMapper<RuleAttrInfo> {
RuleInfoResp getRuleById(Long id);
void del(Long id);
void add(@Param("id") Long id, @Param("ruleInfoList") List<RuleInfo> ruleInfoList);
} }

View File

@ -2,12 +2,17 @@ package com.muyu.product.service;
import java.util.List; import java.util.List;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.product.domain.AttributeGroup; import com.muyu.product.domain.AttributeGroup;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.model.AttributeGroupSaveModel; import com.muyu.product.domain.model.AttributeGroupSaveModel;
import com.muyu.product.domain.req.AttributeGroupEditReq;
import com.muyu.product.domain.resp.AddAttributeGroupResp;
import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeGroupPageResp;
import com.muyu.product.domain.resp.AttributeGroupUpdResp;
import com.muyu.product.domain.resp.FindByIdResp;
/** /**
* Service * Service
@ -39,4 +44,27 @@ public interface AttributeGroupService extends IService<AttributeGroup> {
*/ */
public Boolean save(AttributeGroupSaveModel attributeGroupSaveModel); public Boolean save(AttributeGroupSaveModel attributeGroupSaveModel);
/**
*
* @param id
* @return
*/
FindByIdResp findById(Integer id);
/**
*
* @param
* @return
*/
// Result upd(AddAttributeGroupResp addAttributeGroupResp);
/**
*
* @param id
* @return
*/
AttributeGroupUpdResp getUpdById(Long id);
Result updateAttibuteGroup(Long id, AttributeGroupEditReq attributeGroupEditReq);
} }

View File

@ -2,10 +2,12 @@ package com.muyu.product.service;
import java.util.List; import java.util.List;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.product.domain.RuleInfo; import com.muyu.product.domain.RuleInfo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.product.domain.model.RuleInfoAddModel; import com.muyu.product.domain.model.RuleInfoAddModel;
import com.muyu.product.domain.req.RuleInfoEditReq;
import com.muyu.product.domain.req.RuleInfoQueryReq; import com.muyu.product.domain.req.RuleInfoQueryReq;
import com.muyu.product.domain.resp.RuleInfoResp; import com.muyu.product.domain.resp.RuleInfoResp;
@ -32,4 +34,14 @@ public interface RuleInfoService extends IService<RuleInfo> {
public boolean save(RuleInfoAddModel ruleInfoAddModel); public boolean save(RuleInfoAddModel ruleInfoAddModel);
TableDataInfo<RuleInfoResp> queryList (RuleInfoQueryReq ruleInfoQueryReq); TableDataInfo<RuleInfoResp> queryList (RuleInfoQueryReq ruleInfoQueryReq);
/**
*
* @param id
* @return
*/
Result<RuleInfoResp> getRuleById(Long id);
Result upd(Long id, RuleInfoEditReq ruleInfoEditReq);
} }

View File

@ -3,13 +3,19 @@ package com.muyu.product.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.ObjUtils; import com.muyu.common.core.utils.ObjUtils;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.product.domain.AsAttributeGroup; import com.muyu.product.domain.AsAttributeGroup;
import com.muyu.product.domain.AttributeGroup; import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.model.AttributeGroupSaveModel; import com.muyu.product.domain.model.AttributeGroupSaveModel;
import com.muyu.product.domain.req.AttributeGroupEditReq;
import com.muyu.product.domain.resp.AddAttributeGroupResp;
import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeGroupPageResp;
import com.muyu.product.domain.resp.AttributeGroupUpdResp;
import com.muyu.product.domain.resp.FindByIdResp;
import com.muyu.product.mapper.AsAttributeGroupMapper;
import com.muyu.product.mapper.AttributeGroupMapper; import com.muyu.product.mapper.AttributeGroupMapper;
import com.muyu.product.service.AsAttributeGroupService; import com.muyu.product.service.AsAttributeGroupService;
import com.muyu.product.service.AttributeGroupService; import com.muyu.product.service.AttributeGroupService;
@ -34,11 +40,14 @@ import java.util.stream.Stream;
public class AttributeGroupServiceImpl extends ServiceImpl<AttributeGroupMapper, AttributeGroup> implements AttributeGroupService { public class AttributeGroupServiceImpl extends ServiceImpl<AttributeGroupMapper, AttributeGroup> implements AttributeGroupService {
@Autowired @Autowired
private AsAttributeGroupService attributeGroupService; private AsAttributeGroupService asAttributeGroupService;
@Autowired @Autowired
private AttributeInfoService attributeInfoService; private AttributeInfoService attributeInfoService;
@Autowired
private AsAttributeGroupMapper asAttributeGroupMapper;
/** /**
* *
* *
@ -100,11 +109,64 @@ public class AttributeGroupServiceImpl extends ServiceImpl<AttributeGroupMapper,
Long attributeGroupId = attributeGroup.getId(); Long attributeGroupId = attributeGroup.getId();
List<Long> attributeIdList = attributeGroupSaveModel.getAttributeIdList(); List<Long> attributeIdList = attributeGroupSaveModel.getAttributeIdList();
attributeGroupService.saveBatch( asAttributeGroupService.saveBatch(
attributeIdList.stream() attributeIdList.stream()
.map(attributeId -> AsAttributeGroup.buildGroup(attributeGroupId, attributeId)) .map(attributeId -> AsAttributeGroup.buildGroup(attributeGroupId, attributeId))
.toList() .toList()
); );
return save; return save;
} }
@Override
public FindByIdResp findById(Integer id) {
return asAttributeGroupMapper.findById(id);
}
/**
*
* @param
* @return
*/
// @Transactional
// @Override
// public Result upd(AddAttributeGroupResp addAttributeGroupResp) {
//// asAttributeGroupMapper.del(addAttributeGroupResp.getGroupId());
//// asAttributeGroupMapper.add(addAttributeGroupResp.getGroupId(),addAttributeGroupResp.getList());
// return Result.success(0,"修改成功");
// }
/**
*
* @param id
* @return
*/
@Override
public AttributeGroupUpdResp getUpdById(Long id) {
//查询编号
AttributeGroup attributeGroup = this.getById(id);
LambdaQueryWrapper<AsAttributeGroup> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AsAttributeGroup::getGroupId, id);
List<AsAttributeGroup> asAttributeGroups = asAttributeGroupService.list(queryWrapper);
List<Long> attributeList = asAttributeGroups.stream()
.map(AsAttributeGroup::getAttributeId)
.toList();
List<AttributeInfo> attributeInfoList = attributeInfoService.listByIds(attributeList);
return AttributeGroupUpdResp.builder()
.id(attributeGroup.getId())
.name(attributeGroup.getName())
.states(attributeGroup.getStates())
.attributeList(attributeInfoList).build();
}
@Transactional
@Override
public Result updateAttibuteGroup(Long id, AttributeGroupEditReq attributeGroupEditReq) {
asAttributeGroupMapper.del(id);
asAttributeGroupMapper.add(id,attributeGroupEditReq.getAttributeList());
return Result.success(0,"修改成功");
}
} }

View File

@ -5,27 +5,32 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.text.Convert; import com.muyu.common.core.text.Convert;
import com.muyu.common.core.utils.ObjUtils; import com.muyu.common.core.utils.ObjUtils;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.product.domain.RuleAttrInfo; import com.muyu.product.domain.*;
import com.muyu.product.domain.model.RuleAttrAddModel; import com.muyu.product.domain.model.RuleAttrAddModel;
import com.muyu.product.domain.model.RuleInfoAddModel; import com.muyu.product.domain.model.RuleInfoAddModel;
import com.muyu.product.domain.req.RuleInfoEditReq;
import com.muyu.product.domain.req.RuleInfoQueryReq; import com.muyu.product.domain.req.RuleInfoQueryReq;
import com.muyu.product.domain.resp.AttributeGroupUpdResp;
import com.muyu.product.domain.resp.RuleInfoResp; import com.muyu.product.domain.resp.RuleInfoResp;
import com.muyu.product.mapper.RuleAttrInfoMapper;
import com.muyu.product.service.RuleAttrInfoService; import com.muyu.product.service.RuleAttrInfoService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.muyu.product.mapper.RuleInfoMapper; import com.muyu.product.mapper.RuleInfoMapper;
import com.muyu.product.domain.RuleInfo;
import com.muyu.product.service.RuleInfoService; import com.muyu.product.service.RuleInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.transaction.annotation.Transactional;
/** /**
* Service * Service
@ -40,6 +45,9 @@ public class RuleInfoServiceImpl extends ServiceImpl<RuleInfoMapper, RuleInfo>
@Autowired @Autowired
private RuleAttrInfoService ruleAttrInfoService; private RuleAttrInfoService ruleAttrInfoService;
@Autowired
private RuleAttrInfoMapper ruleAttrInfoMapper;
/** /**
* *
* *
@ -107,4 +115,24 @@ public class RuleInfoServiceImpl extends ServiceImpl<RuleInfoMapper, RuleInfo>
.total(isPage ? new PageInfo<>(list).getTotal() : 0) .total(isPage ? new PageInfo<>(list).getTotal() : 0)
.build(); .build();
} }
@Override
public Result<RuleInfoResp> getRuleById(Long id) {
RuleInfoResp getRuleById = ruleAttrInfoMapper.getRuleById(id);
List<RuleAttrAddModel> ruleAttrList = getRuleById.getRuleAttrList();
for (RuleAttrAddModel ruleAttrAddModel : ruleAttrList) {
String attrValue = ruleAttrAddModel.getAttrValue();
String[] split = attrValue.split(",");
ruleAttrAddModel.setValueList(List.of(split));
}
return Result.success(getRuleById);
}
@Transactional
@Override
public Result upd(Long id, RuleInfoEditReq ruleInfoEditReq) {
ruleAttrInfoMapper.del(id);
ruleAttrInfoMapper.add(id,ruleInfoEditReq.getRuleInfoList());
return Result.success(0,"修改成功");
}
} }

View File

@ -18,4 +18,17 @@
<sql id="selectAsAttributeGroupVo"> <sql id="selectAsAttributeGroupVo">
select id, group_id, attribute_id, remark, create_by, create_time, update_by, update_time from as_attribute_group select id, group_id, attribute_id, remark, create_by, create_time, update_by, update_time from as_attribute_group
</sql> </sql>
<insert id="add">
INSERT INTO `as_attribute_group` ( `group_id`, `attribute_id`) VALUES
<foreach collection="list" item="list" separator=",">
(#{groupId},#{list.id})
</foreach>
</insert>
<delete id="del">
delete from as_attribute_group where group_id =#{groupId}
</delete>
<select id="findById" resultType="com.muyu.product.domain.resp.FindByIdResp">
SELECT attribute_group.id, attribute_group.`name`, attribute_group.states, GROUP_CONCAT(attribute_info.`name`) as attrName, GROUP_CONCAT(attribute_info.id) as attrId FROM attribute_group LEFT JOIN as_attribute_group ON attribute_group.id = as_attribute_group.group_id LEFT JOIN attribute_info ON attribute_info.id = as_attribute_group.attribute_id where attribute_group.id = #{id} GROUP BY attribute_group.id
</select>
</mapper> </mapper>

View File

@ -16,7 +16,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
</resultMap> </resultMap>
<resultMap type="com.muyu.product.domain.resp.RuleInfoResp" id="RuleAttrInfo">
<result property="id" column="rid" />
<result property="name" column="name" />
<collection property="ruleAttrList" ofType="com.muyu.product.domain.model.RuleAttrAddModel">
<result property="name" column="rname" />
<result property="attrValue" column="attr_value"/>
</collection>
</resultMap>
<select id="getRuleById" resultMap="RuleAttrInfo">
SELECT
rule_info.`id` AS rid,
rule_info.`name`,
rule_attr_info.`name` AS rname,
attr_value
FROM
rule_info
INNER JOIN rule_attr_info ON rule_info.id = rule_attr_info.rule_id
WHERE rule_info.`id`=#{id}
</select>
<sql id="selectRuleAttrInfoVo"> <sql id="selectRuleAttrInfoVo">
select id, rule_id, name, attr_value, remark, create_by, create_time, update_by, update_time from rule_attr_info select id, rule_id, name, attr_value, remark, create_by, create_time, update_by, update_time from rule_attr_info
</sql> </sql>
<insert id="add">
</insert>
<delete id="del">
delete from rule_attr_info where rule_id = #{id}
</delete>
</mapper> </mapper>