商品规格添加
parent
42963e7d20
commit
a656965241
|
@ -109,8 +109,7 @@ public class DataScopeAspect {
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(sqlString.toString())) {
|
if (StringUtils.isNotBlank(sqlString.toString())) {
|
||||||
Object params = joinPoint.getArgs()[0];
|
Object params = joinPoint.getArgs()[0];
|
||||||
if (StringUtils.isNotNull(params) && params instanceof BaseEntity) {
|
if (StringUtils.isNotNull(params) && params instanceof BaseEntity baseEntity) {
|
||||||
BaseEntity baseEntity = (BaseEntity) params;
|
|
||||||
baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
|
baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,24 +3,27 @@ package com.muyu.product.domain;
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.muyu.common.core.annotation.Excel;
|
import com.muyu.product.domain.model.RuleAttrAddModel;
|
||||||
import com.muyu.common.core.web.domain.BaseEntity;
|
|
||||||
import com.muyu.product.domain.req.RuleAttrInfoEditReq;
|
|
||||||
import com.muyu.product.domain.req.RuleAttrInfoQueryReq;
|
|
||||||
import com.muyu.product.domain.req.RuleAttrInfoSaveReq;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import com.muyu.common.core.annotation.Excel;
|
||||||
|
import com.muyu.product.domain.req.RuleAttrInfoQueryReq;
|
||||||
|
import com.muyu.product.domain.req.RuleAttrInfoSaveReq;
|
||||||
|
import com.muyu.product.domain.req.RuleAttrInfoEditReq;
|
||||||
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 规格详情对象 rule_attr_info
|
* 规格详情对象 rule_attr_info
|
||||||
*
|
*
|
||||||
* @author CuiShiYu
|
* @author CuiShiYu
|
||||||
* @date 2024-02-27
|
* @date 2024-03-06
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@SuperBuilder
|
@SuperBuilder
|
||||||
|
@ -54,8 +57,8 @@ public class RuleAttrInfo extends BaseEntity {
|
||||||
private String attrValue;
|
private String attrValue;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询构造器
|
* 查询构造器
|
||||||
*/
|
*/
|
||||||
public static RuleAttrInfo queryBuild( RuleAttrInfoQueryReq ruleAttrInfoQueryReq){
|
public static RuleAttrInfo queryBuild( RuleAttrInfoQueryReq ruleAttrInfoQueryReq){
|
||||||
return RuleAttrInfo.builder()
|
return RuleAttrInfo.builder()
|
||||||
.ruleId(ruleAttrInfoQueryReq.getRuleId())
|
.ruleId(ruleAttrInfoQueryReq.getRuleId())
|
||||||
|
@ -65,8 +68,8 @@ public class RuleAttrInfo extends BaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加构造器
|
* 添加构造器
|
||||||
*/
|
*/
|
||||||
public static RuleAttrInfo saveBuild(RuleAttrInfoSaveReq ruleAttrInfoSaveReq){
|
public static RuleAttrInfo saveBuild(RuleAttrInfoSaveReq ruleAttrInfoSaveReq){
|
||||||
return RuleAttrInfo.builder()
|
return RuleAttrInfo.builder()
|
||||||
.ruleId(ruleAttrInfoSaveReq.getRuleId())
|
.ruleId(ruleAttrInfoSaveReq.getRuleId())
|
||||||
|
@ -76,15 +79,24 @@ public class RuleAttrInfo extends BaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改构造器
|
* 修改构造器
|
||||||
*/
|
*/
|
||||||
public static RuleAttrInfo editBuild(Long id, RuleAttrInfoEditReq ruleAttrInfoEditReq){
|
public static RuleAttrInfo editBuild(Long id, RuleAttrInfoEditReq ruleAttrInfoEditReq){
|
||||||
return RuleAttrInfo.builder()
|
return RuleAttrInfo.builder()
|
||||||
.id(id)
|
.id(id)
|
||||||
.ruleId(ruleAttrInfoEditReq.getRuleId())
|
.ruleId(ruleAttrInfoEditReq.getRuleId())
|
||||||
.name(ruleAttrInfoEditReq.getName())
|
.name(ruleAttrInfoEditReq.getName())
|
||||||
.attrValue(ruleAttrInfoEditReq.getAttrValue())
|
.attrValue(ruleAttrInfoEditReq.getAttrValue())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static RuleAttrInfo addModelBuild (RuleAttrAddModel ruleAttrAddModel, Supplier<Long> ruleId, Supplier<String> createBy) {
|
||||||
|
return RuleAttrInfo.builder()
|
||||||
|
.ruleId(ruleId.get())
|
||||||
|
.name(ruleAttrAddModel.getName())
|
||||||
|
.attrValue(String.join(",", ruleAttrAddModel.getValueList()))
|
||||||
|
.createBy(createBy.get())
|
||||||
|
.createTime(new Date())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.muyu.common.core.annotation.Excel;
|
import com.muyu.common.core.annotation.Excel;
|
||||||
import com.muyu.common.core.web.domain.BaseEntity;
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
import com.muyu.product.domain.model.RuleInfoAddModel;
|
||||||
import com.muyu.product.domain.req.RuleInfoEditReq;
|
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.req.RuleInfoSaveReq;
|
import com.muyu.product.domain.req.RuleInfoSaveReq;
|
||||||
|
@ -16,6 +17,9 @@ import lombok.EqualsAndHashCode;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品规格对象 rule_info
|
* 商品规格对象 rule_info
|
||||||
*
|
*
|
||||||
|
@ -79,4 +83,18 @@ public class RuleInfo extends BaseEntity {
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加模型
|
||||||
|
* @param ruleInfoAddModel
|
||||||
|
* @param createBy
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static RuleInfo addModelBuild(RuleInfoAddModel ruleInfoAddModel, Supplier<String> createBy) {
|
||||||
|
return RuleInfo.builder()
|
||||||
|
.name(ruleInfoAddModel.getName())
|
||||||
|
.status(ruleInfoAddModel.getStatus())
|
||||||
|
.createBy(createBy.get())
|
||||||
|
.createTime(new Date())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.muyu.product.domain.model;
|
||||||
|
|
||||||
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
import com.muyu.product.domain.RuleAttrInfo;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName RuleAttrAddModel
|
||||||
|
* @Description 描述
|
||||||
|
* @Author ShiYu.Cui
|
||||||
|
* @Date 2024/3/5 20:21
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class RuleAttrAddModel extends BaseEntity {
|
||||||
|
/**
|
||||||
|
* 规格属性名称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格属性值集合
|
||||||
|
*/
|
||||||
|
private List<String> valueList;
|
||||||
|
|
||||||
|
public static RuleAttrAddModel infoBuild (RuleAttrInfo ruleAttrInfo) {
|
||||||
|
return RuleAttrAddModel.builder()
|
||||||
|
.name(ruleAttrInfo.getName())
|
||||||
|
.valueList(Arrays.stream(ruleAttrInfo.getAttrValue().split(",")).toList())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.muyu.product.domain.model;
|
||||||
|
|
||||||
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
import com.muyu.product.domain.req.RuleInfoSaveReq;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName RuleInfoAddModel
|
||||||
|
* @Description 规格保存模型
|
||||||
|
* @Author ShiYu.Cui
|
||||||
|
* @Date 2024/3/5 20:34
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class RuleInfoAddModel extends BaseEntity {
|
||||||
|
|
||||||
|
|
||||||
|
/** 规格名称 */
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/** 规格状态 */
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格属性集合
|
||||||
|
*/
|
||||||
|
private List<RuleAttrAddModel> ruleAttrList;
|
||||||
|
|
||||||
|
public static RuleInfoAddModel saveReqBuild(RuleInfoSaveReq req){
|
||||||
|
return RuleInfoAddModel.builder()
|
||||||
|
.name(req.getName())
|
||||||
|
.status(req.getStatus())
|
||||||
|
.ruleAttrList(req.getRuleAttrList())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
package com.muyu.product.domain.req;
|
package com.muyu.product.domain.req;
|
||||||
|
|
||||||
import com.muyu.common.core.web.domain.BaseEntity;
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
import com.muyu.product.domain.model.RuleAttrAddModel;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
@ -8,6 +9,8 @@ import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.experimental.SuperBuilder;
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品规格对象 rule_info
|
* 商品规格对象 rule_info
|
||||||
*
|
*
|
||||||
|
@ -23,10 +26,6 @@ public class RuleInfoSaveReq extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 主键 */
|
|
||||||
|
|
||||||
@ApiModelProperty(name = "主键", value = "主键")
|
|
||||||
private Long id;
|
|
||||||
|
|
||||||
/** 规格名称 */
|
/** 规格名称 */
|
||||||
|
|
||||||
|
@ -38,4 +37,9 @@ public class RuleInfoSaveReq extends BaseEntity {
|
||||||
@ApiModelProperty(name = "规格状态", value = "规格状态")
|
@ApiModelProperty(name = "规格状态", value = "规格状态")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格属性集合
|
||||||
|
*/
|
||||||
|
private List<RuleAttrAddModel> ruleAttrList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.muyu.product.domain.resp;
|
||||||
|
|
||||||
|
import com.muyu.common.core.web.domain.BaseEntity;
|
||||||
|
import com.muyu.product.domain.RuleInfo;
|
||||||
|
import com.muyu.product.domain.model.RuleAttrAddModel;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author DongZl
|
||||||
|
* @description: 规格返回结果集
|
||||||
|
* @Date 2024-3-4 下午 04:08
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class RuleInfoResp extends BaseEntity {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 规格名称 */
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/** 规格状态 */
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格属性集合
|
||||||
|
*/
|
||||||
|
private List<RuleAttrAddModel> ruleAttrList;
|
||||||
|
|
||||||
|
public static RuleInfoResp infoBuild (RuleInfo ruleInfo, Function<Long, List<RuleAttrAddModel>> ruleAttrList) {
|
||||||
|
return RuleInfoResp.builder()
|
||||||
|
.id(ruleInfo.getId())
|
||||||
|
.name(ruleInfo.getName())
|
||||||
|
.status(ruleInfo.getStatus())
|
||||||
|
.ruleAttrList(ruleAttrList.apply(ruleInfo.getId()))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
"name":null,
|
||||||
|
"remark":null,
|
||||||
|
"rules":[
|
||||||
|
{
|
||||||
|
"rule":null,
|
||||||
|
"values":[]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
"id":1,
|
||||||
|
"name":规格名称,
|
||||||
|
"ruleAttrs":[
|
||||||
|
"rule":{
|
||||||
|
ruleName:"",
|
||||||
|
ruleValue:[]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"品类id":1
|
||||||
|
"name":
|
||||||
|
"remark":null
|
||||||
|
"req":{
|
||||||
|
"attributeGroupList":[
|
||||||
|
"attribute":{
|
||||||
|
"属性id":1
|
||||||
|
"name":null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ import java.util.List;
|
||||||
* 品类信息Controller
|
* 品类信息Controller
|
||||||
*
|
*
|
||||||
* @author CuiShiYu
|
* @author CuiShiYu
|
||||||
* @date 2024-02-27
|
* @date 2024-03-03
|
||||||
*/
|
*/
|
||||||
@Api(tags = "品类信息")
|
@Api(tags = "品类信息")
|
||||||
@RestController
|
@RestController
|
||||||
|
|
|
@ -1,30 +1,36 @@
|
||||||
package com.muyu.product.controller;
|
package com.muyu.product.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
import com.muyu.product.domain.model.RuleInfoAddModel;
|
||||||
|
import io.swagger.annotations.*;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import com.muyu.common.core.domain.Result;
|
import com.muyu.common.core.domain.Result;
|
||||||
import com.muyu.common.core.utils.poi.ExcelUtil;
|
import com.muyu.common.core.utils.poi.ExcelUtil;
|
||||||
import com.muyu.common.core.web.controller.BaseController;
|
import com.muyu.common.core.web.controller.BaseController;
|
||||||
import com.muyu.common.core.web.page.TableDataInfo;
|
|
||||||
import com.muyu.common.log.annotation.Log;
|
import com.muyu.common.log.annotation.Log;
|
||||||
import com.muyu.common.log.enums.BusinessType;
|
import com.muyu.common.log.enums.BusinessType;
|
||||||
import com.muyu.common.security.annotation.RequiresPermissions;
|
import com.muyu.common.security.annotation.RequiresPermissions;
|
||||||
import com.muyu.product.domain.RuleInfo;
|
import com.muyu.product.domain.RuleInfo;
|
||||||
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.req.RuleInfoSaveReq;
|
import com.muyu.product.domain.req.RuleInfoSaveReq;
|
||||||
|
import com.muyu.product.domain.req.RuleInfoEditReq;
|
||||||
import com.muyu.product.service.RuleInfoService;
|
import com.muyu.product.service.RuleInfoService;
|
||||||
import io.swagger.annotations.Api;
|
import com.muyu.common.core.web.page.TableDataInfo;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品规格Controller
|
* 商品规格Controller
|
||||||
*
|
*
|
||||||
* @author CuiShiYu
|
* @author DongZeLiang
|
||||||
* @date 2024-02-27
|
* @date 2024-02-27
|
||||||
*/
|
*/
|
||||||
@Api(tags = "商品规格")
|
@Api(tags = "商品规格")
|
||||||
|
@ -78,7 +84,7 @@ public class RuleInfoController extends BaseController {
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@ApiOperation("新增商品规格")
|
@ApiOperation("新增商品规格")
|
||||||
public Result<String> add(@RequestBody RuleInfoSaveReq ruleInfoSaveReq) {
|
public Result<String> add(@RequestBody RuleInfoSaveReq ruleInfoSaveReq) {
|
||||||
return toAjax(ruleInfoService.save(RuleInfo.saveBuild(ruleInfoSaveReq)));
|
return toAjax(ruleInfoService.save(RuleInfoAddModel.saveReqBuild(ruleInfoSaveReq)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -97,7 +103,7 @@ public class RuleInfoController extends BaseController {
|
||||||
*/
|
*/
|
||||||
@RequiresPermissions("product:rule:remove")
|
@RequiresPermissions("product:rule:remove")
|
||||||
@Log(title = "商品规格", businessType = BusinessType.DELETE)
|
@Log(title = "商品规格", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/{ids}")
|
@DeleteMapping("/{ids}")
|
||||||
@ApiOperation("删除商品规格")
|
@ApiOperation("删除商品规格")
|
||||||
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
|
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")
|
||||||
public Result<String> remove(@PathVariable List<Long> ids) {
|
public Result<String> remove(@PathVariable List<Long> ids) {
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
package com.muyu.product.service;
|
package com.muyu.product.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import com.muyu.product.domain.RuleInfo;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import com.muyu.product.domain.RuleInfo;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.muyu.product.domain.model.RuleInfoAddModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品规格Service接口
|
* 商品规格Service接口
|
||||||
*
|
*
|
||||||
* @author CuiShiYu
|
* @author DongZeLiang
|
||||||
* @date 2024-02-27
|
* @date 2024-02-27
|
||||||
*/
|
*/
|
||||||
public interface RuleInfoService extends IService<RuleInfo> {
|
public interface RuleInfoService extends IService<RuleInfo> {
|
||||||
|
@ -20,4 +20,10 @@ public interface RuleInfoService extends IService<RuleInfo> {
|
||||||
*/
|
*/
|
||||||
public List<RuleInfo> list(RuleInfo ruleInfo);
|
public List<RuleInfo> list(RuleInfo ruleInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加规格信息
|
||||||
|
* @param ruleInfoAddModel 规格添加模型
|
||||||
|
* @return 时候成功
|
||||||
|
*/
|
||||||
|
public boolean save(RuleInfoAddModel ruleInfoAddModel);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ import java.util.List;
|
||||||
* 品类信息Service业务层处理
|
* 品类信息Service业务层处理
|
||||||
*
|
*
|
||||||
* @author CuiShiYu
|
* @author CuiShiYu
|
||||||
* @date 2024-02-27
|
* @date 2024-03-03
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
|
|
|
@ -1,26 +1,38 @@
|
||||||
package com.muyu.product.service.impl;
|
package com.muyu.product.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import java.util.ArrayList;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import java.util.Date;
|
||||||
import com.muyu.common.core.utils.ObjUtils;
|
|
||||||
import com.muyu.product.domain.RuleInfo;
|
|
||||||
import com.muyu.product.mapper.RuleInfoMapper;
|
|
||||||
import com.muyu.product.service.RuleInfoService;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import com.muyu.common.core.utils.ObjUtils;
|
||||||
|
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.service.RuleAttrInfoService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.muyu.product.mapper.RuleInfoMapper;
|
||||||
|
import com.muyu.product.domain.RuleInfo;
|
||||||
|
import com.muyu.product.service.RuleInfoService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品规格Service业务层处理
|
* 商品规格Service业务层处理
|
||||||
*
|
*
|
||||||
* @author CuiShiYu
|
* @author DongZeLiang
|
||||||
* @date 2024-02-27
|
* @date 2024-02-27
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class RuleInfoServiceImpl extends ServiceImpl<RuleInfoMapper, RuleInfo> implements RuleInfoService {
|
public class RuleInfoServiceImpl extends ServiceImpl<RuleInfoMapper, RuleInfo> implements RuleInfoService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RuleAttrInfoService ruleAttrInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询商品规格列表
|
* 查询商品规格列表
|
||||||
*
|
*
|
||||||
|
@ -46,4 +58,23 @@ public class RuleInfoServiceImpl extends ServiceImpl<RuleInfoMapper, RuleInfo>
|
||||||
|
|
||||||
return list(queryWrapper);
|
return list(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加规格信息
|
||||||
|
*
|
||||||
|
* @param ruleInfoAddModel 规格添加模型
|
||||||
|
*
|
||||||
|
* @return 时候成功
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean save (RuleInfoAddModel ruleInfoAddModel) {
|
||||||
|
RuleInfo ruleInfo = RuleInfo.addModelBuild(ruleInfoAddModel, SecurityUtils::getUsername);
|
||||||
|
boolean save = this.save(ruleInfo);
|
||||||
|
ruleAttrInfoService.saveBatch(
|
||||||
|
ruleInfoAddModel.getRuleAttrList().stream()
|
||||||
|
.map(ruleAttrAddModel -> RuleAttrInfo.addModelBuild(ruleAttrAddModel, ruleInfo::getId, SecurityUtils::getUsername))
|
||||||
|
.toList()
|
||||||
|
);
|
||||||
|
return save;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue