增加功能:规格参数类型、规格参数管理
This commit is contained in:
parent
da091ef3f1
commit
d9cb1f17d2
@ -0,0 +1,108 @@
|
|||||||
|
package net.ferrum.business.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import net.ferrum.common.annotation.RepeatSubmit;
|
||||||
|
import net.ferrum.common.annotation.Log;
|
||||||
|
import net.ferrum.common.core.controller.BaseController;
|
||||||
|
import net.ferrum.common.core.domain.PageQuery;
|
||||||
|
import net.ferrum.common.core.domain.R;
|
||||||
|
import net.ferrum.common.core.validate.AddGroup;
|
||||||
|
import net.ferrum.common.core.validate.EditGroup;
|
||||||
|
import net.ferrum.common.core.validate.QueryGroup;
|
||||||
|
import net.ferrum.common.enums.BusinessType;
|
||||||
|
import net.ferrum.common.utils.poi.ExcelUtil;
|
||||||
|
import net.ferrum.business.domain.vo.QsSpecAttributeTypesVo;
|
||||||
|
import net.ferrum.business.domain.bo.QsSpecAttributeTypesBo;
|
||||||
|
import net.ferrum.business.service.IQsSpecAttributeTypesService;
|
||||||
|
import net.ferrum.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格类型
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/business/specAttributeTypes")
|
||||||
|
public class QsSpecAttributeTypesController extends BaseController {
|
||||||
|
|
||||||
|
private final IQsSpecAttributeTypesService iQsSpecAttributeTypesService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格类型列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeTypes:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<QsSpecAttributeTypesVo> list(QsSpecAttributeTypesBo bo, PageQuery pageQuery) {
|
||||||
|
return iQsSpecAttributeTypesService.queryPageList(bo, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出规格类型列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeTypes:export")
|
||||||
|
@Log(title = "规格类型", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(QsSpecAttributeTypesBo bo, HttpServletResponse response) {
|
||||||
|
List<QsSpecAttributeTypesVo> list = iQsSpecAttributeTypesService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "规格类型", QsSpecAttributeTypesVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取规格类型详细信息
|
||||||
|
*
|
||||||
|
* @param typeId 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeTypes:query")
|
||||||
|
@GetMapping("/{typeId}")
|
||||||
|
public R<QsSpecAttributeTypesVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long typeId) {
|
||||||
|
return R.ok(iQsSpecAttributeTypesService.queryById(typeId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增规格类型
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeTypes:add")
|
||||||
|
@Log(title = "规格类型", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody QsSpecAttributeTypesBo bo) {
|
||||||
|
return toAjax(iQsSpecAttributeTypesService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改规格类型
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeTypes:edit")
|
||||||
|
@Log(title = "规格类型", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody QsSpecAttributeTypesBo bo) {
|
||||||
|
return toAjax(iQsSpecAttributeTypesService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除规格类型
|
||||||
|
*
|
||||||
|
* @param typeIds 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeTypes:remove")
|
||||||
|
@Log(title = "规格类型", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{typeIds}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] typeIds) {
|
||||||
|
return toAjax(iQsSpecAttributeTypesService.deleteWithValidByIds(Arrays.asList(typeIds), true));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,124 @@
|
|||||||
|
package net.ferrum.business.controller;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeTypes;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeValues;
|
||||||
|
import net.ferrum.business.service.IQsSpecAttributeTypesService;
|
||||||
|
import net.ferrum.common.core.domain.entity.SysDept;
|
||||||
|
import net.ferrum.common.core.domain.entity.SysUser;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import net.ferrum.common.annotation.RepeatSubmit;
|
||||||
|
import net.ferrum.common.annotation.Log;
|
||||||
|
import net.ferrum.common.core.controller.BaseController;
|
||||||
|
import net.ferrum.common.core.domain.PageQuery;
|
||||||
|
import net.ferrum.common.core.domain.R;
|
||||||
|
import net.ferrum.common.core.validate.AddGroup;
|
||||||
|
import net.ferrum.common.core.validate.EditGroup;
|
||||||
|
import net.ferrum.common.core.validate.QueryGroup;
|
||||||
|
import net.ferrum.common.enums.BusinessType;
|
||||||
|
import net.ferrum.common.utils.poi.ExcelUtil;
|
||||||
|
import net.ferrum.business.domain.vo.QsSpecAttributeValuesVo;
|
||||||
|
import net.ferrum.business.domain.bo.QsSpecAttributeValuesBo;
|
||||||
|
import net.ferrum.business.service.IQsSpecAttributeValuesService;
|
||||||
|
import net.ferrum.common.core.page.TableDataInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@Validated
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/business/specAttributeValues")
|
||||||
|
public class QsSpecAttributeValuesController extends BaseController {
|
||||||
|
|
||||||
|
private final IQsSpecAttributeValuesService iQsSpecAttributeValuesService;
|
||||||
|
private final IQsSpecAttributeTypesService iQsSpecAttributeTypesService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格参数值列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeValues:list")
|
||||||
|
@GetMapping("/list")
|
||||||
|
public TableDataInfo<QsSpecAttributeValues> list(QsSpecAttributeValues specAttributeValues, PageQuery pageQuery) {
|
||||||
|
return iQsSpecAttributeValuesService.selectPageSpecAttributeValuesList(specAttributeValues, pageQuery);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出规格参数值列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeValues:export")
|
||||||
|
@Log(title = "规格参数值", businessType = BusinessType.EXPORT)
|
||||||
|
@PostMapping("/export")
|
||||||
|
public void export(QsSpecAttributeValuesBo bo, HttpServletResponse response) {
|
||||||
|
List<QsSpecAttributeValuesVo> list = iQsSpecAttributeValuesService.queryList(bo);
|
||||||
|
ExcelUtil.exportExcel(list, "规格参数值", QsSpecAttributeValuesVo.class, response);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取规格参数值详细信息
|
||||||
|
*
|
||||||
|
* @param valueId 主键
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeValues:query")
|
||||||
|
@GetMapping("/{valueId}")
|
||||||
|
public R<QsSpecAttributeValuesVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
|
@PathVariable Long valueId) {
|
||||||
|
return R.ok(iQsSpecAttributeValuesService.queryById(valueId));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增规格参数值
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeValues:add")
|
||||||
|
@Log(title = "规格参数值", businessType = BusinessType.INSERT)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PostMapping()
|
||||||
|
public R<Void> add(@Validated(AddGroup.class) @RequestBody QsSpecAttributeValuesBo bo) {
|
||||||
|
return toAjax(iQsSpecAttributeValuesService.insertByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改规格参数值
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeValues:edit")
|
||||||
|
@Log(title = "规格参数值", businessType = BusinessType.UPDATE)
|
||||||
|
@RepeatSubmit()
|
||||||
|
@PutMapping()
|
||||||
|
public R<Void> edit(@Validated(EditGroup.class) @RequestBody QsSpecAttributeValuesBo bo) {
|
||||||
|
return toAjax(iQsSpecAttributeValuesService.updateByBo(bo));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除规格参数值
|
||||||
|
*
|
||||||
|
* @param valueIds 主键串
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeValues:remove")
|
||||||
|
@Log(title = "规格参数值", businessType = BusinessType.DELETE)
|
||||||
|
@DeleteMapping("/{valueIds}")
|
||||||
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@PathVariable Long[] valueIds) {
|
||||||
|
return toAjax(iQsSpecAttributeValuesService.deleteWithValidByIds(Arrays.asList(valueIds), true));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取规格参数类型列表
|
||||||
|
*/
|
||||||
|
@SaCheckPermission("business:specAttributeValues:list")
|
||||||
|
@GetMapping("/specAttributeTypeList")
|
||||||
|
public R< List<QsSpecAttributeTypes>> selectSpecAttributeTypesList(QsSpecAttributeTypes type) {
|
||||||
|
return R.ok(iQsSpecAttributeTypesService.selectSpecAttributeTypesList(type));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
package net.ferrum.business.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import net.ferrum.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格类型对象 qs_spec_attribute_types
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("qs_spec_attribute_types")
|
||||||
|
public class QsSpecAttributeTypes extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数类型ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "type_id")
|
||||||
|
private Long typeId;
|
||||||
|
/**
|
||||||
|
* 规格参数类别
|
||||||
|
*/
|
||||||
|
private String typeName;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 逻辑删除标志
|
||||||
|
*/
|
||||||
|
@TableLogic
|
||||||
|
private String delFlag;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,60 @@
|
|||||||
|
package net.ferrum.business.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import net.ferrum.common.core.domain.BaseEntity;
|
||||||
|
import net.ferrum.common.core.domain.entity.SysDept;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值对象 qs_spec_attribute_values
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("qs_spec_attribute_values")
|
||||||
|
public class QsSpecAttributeValues extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID=1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值ID
|
||||||
|
*/
|
||||||
|
@TableId(value = "value_id")
|
||||||
|
private Long valueId;
|
||||||
|
/**
|
||||||
|
* 规格参数类型ID
|
||||||
|
*/
|
||||||
|
private Long typeId;
|
||||||
|
/**
|
||||||
|
* 规格参数具体值
|
||||||
|
*/
|
||||||
|
private String value;
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 逻辑删除标志
|
||||||
|
*/
|
||||||
|
@TableLogic
|
||||||
|
private String delFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数类型对象
|
||||||
|
*/
|
||||||
|
@TableField(exist = false)
|
||||||
|
private QsSpecAttributeTypes specType;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private String specTypeName;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
package net.ferrum.business.domain.bo;
|
||||||
|
|
||||||
|
import net.ferrum.common.core.validate.AddGroup;
|
||||||
|
import net.ferrum.common.core.validate.EditGroup;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import net.ferrum.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格类型业务对象 qs_spec_attribute_types
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class QsSpecAttributeTypesBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数类型ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "规格参数类型ID不能为空", groups = { EditGroup.class })
|
||||||
|
private Long typeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数类别
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "规格参数类别不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String typeName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
package net.ferrum.business.domain.bo;
|
||||||
|
|
||||||
|
import net.ferrum.common.core.validate.AddGroup;
|
||||||
|
import net.ferrum.common.core.validate.EditGroup;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import javax.validation.constraints.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import net.ferrum.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值业务对象 qs_spec_attribute_values
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
public class QsSpecAttributeValuesBo extends BaseEntity {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "规格参数值ID不能为空", groups = { EditGroup.class })
|
||||||
|
private Long valueId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数类型ID
|
||||||
|
*/
|
||||||
|
@NotNull(message = "规格参数类型ID不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private Long typeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数具体值
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "规格参数具体值不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
package net.ferrum.business.domain.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import net.ferrum.common.annotation.ExcelDictFormat;
|
||||||
|
import net.ferrum.common.convert.ExcelDictConvert;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格类型视图对象 qs_spec_attribute_types
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class QsSpecAttributeTypesVo {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数类型ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "规格参数类型ID")
|
||||||
|
private Long typeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数类别
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "规格参数类别")
|
||||||
|
private String typeName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
package net.ferrum.business.domain.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import net.ferrum.common.annotation.ExcelDictFormat;
|
||||||
|
import net.ferrum.common.convert.ExcelDictConvert;
|
||||||
|
import lombok.Data;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值视图对象 qs_spec_attribute_values
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@ExcelIgnoreUnannotated
|
||||||
|
public class QsSpecAttributeValuesVo {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数类型ID
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "规格参数类型ID")
|
||||||
|
private Long typeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数具体值
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "规格参数具体值")
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
package net.ferrum.business.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeTypes;
|
||||||
|
import net.ferrum.business.domain.vo.QsSpecAttributeTypesVo;
|
||||||
|
import net.ferrum.common.core.domain.entity.SysUser;
|
||||||
|
import net.ferrum.common.core.mapper.BaseMapperPlus;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格类型Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface QsSpecAttributeTypesMapper extends BaseMapperPlus<QsSpecAttributeTypesMapper, QsSpecAttributeTypes, QsSpecAttributeTypesVo> {
|
||||||
|
|
||||||
|
public List<QsSpecAttributeTypes> selectSpecAttributeTypesList(@Param(Constants.WRAPPER) Wrapper<QsSpecAttributeTypes> queryWrapper);
|
||||||
|
}
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
package net.ferrum.business.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeValues;
|
||||||
|
import net.ferrum.business.domain.vo.QsSpecAttributeValuesVo;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeValues;
|
||||||
|
import net.ferrum.common.core.mapper.BaseMapperPlus;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface QsSpecAttributeValuesMapper extends BaseMapperPlus<QsSpecAttributeValuesMapper, QsSpecAttributeValues, QsSpecAttributeValuesVo> {
|
||||||
|
|
||||||
|
Page<QsSpecAttributeValues> selectPageSpecAttributeValuesList(@Param("page") Page<QsSpecAttributeValues> page, @Param(Constants.WRAPPER) Wrapper<QsSpecAttributeValues> queryWrapper);
|
||||||
|
}
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package net.ferrum.business.service;
|
||||||
|
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeTypes;
|
||||||
|
import net.ferrum.business.domain.vo.QsSpecAttributeTypesVo;
|
||||||
|
import net.ferrum.business.domain.bo.QsSpecAttributeTypesBo;
|
||||||
|
import net.ferrum.common.core.page.TableDataInfo;
|
||||||
|
import net.ferrum.common.core.domain.PageQuery;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格类型Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
public interface IQsSpecAttributeTypesService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格类型
|
||||||
|
*/
|
||||||
|
QsSpecAttributeTypesVo queryById(Long typeId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格类型列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<QsSpecAttributeTypesVo> queryPageList(QsSpecAttributeTypesBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格类型列表
|
||||||
|
*/
|
||||||
|
List<QsSpecAttributeTypesVo> queryList(QsSpecAttributeTypesBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增规格类型
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(QsSpecAttributeTypesBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改规格类型
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(QsSpecAttributeTypesBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除规格类型信息
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取规格参数类型列表
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public List<QsSpecAttributeTypes> selectSpecAttributeTypesList(QsSpecAttributeTypes type) ;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
package net.ferrum.business.service;
|
||||||
|
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeTypes;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeValues;
|
||||||
|
import net.ferrum.business.domain.vo.QsSpecAttributeValuesVo;
|
||||||
|
import net.ferrum.business.domain.bo.QsSpecAttributeValuesBo;
|
||||||
|
import net.ferrum.common.core.domain.entity.SysUser;
|
||||||
|
import net.ferrum.common.core.page.TableDataInfo;
|
||||||
|
import net.ferrum.common.core.domain.PageQuery;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
public interface IQsSpecAttributeValuesService {
|
||||||
|
|
||||||
|
TableDataInfo<QsSpecAttributeValues>selectPageSpecAttributeValuesList(QsSpecAttributeValues specAttributeValues, PageQuery pageQuery) ;
|
||||||
|
/**
|
||||||
|
* 查询规格参数值
|
||||||
|
*/
|
||||||
|
QsSpecAttributeValuesVo queryById(Long valueId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格参数值列表
|
||||||
|
*/
|
||||||
|
TableDataInfo<QsSpecAttributeValuesVo> queryPageList(QsSpecAttributeValuesBo bo, PageQuery pageQuery);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格参数值列表
|
||||||
|
*/
|
||||||
|
List<QsSpecAttributeValuesVo> queryList(QsSpecAttributeValuesBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增规格参数值
|
||||||
|
*/
|
||||||
|
Boolean insertByBo(QsSpecAttributeValuesBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改规格参数值
|
||||||
|
*/
|
||||||
|
Boolean updateByBo(QsSpecAttributeValuesBo bo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验并批量删除规格参数值信息
|
||||||
|
*/
|
||||||
|
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||||
|
}
|
||||||
@ -0,0 +1,127 @@
|
|||||||
|
package net.ferrum.business.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import net.ferrum.common.utils.StringUtils;
|
||||||
|
import net.ferrum.common.core.page.TableDataInfo;
|
||||||
|
import net.ferrum.common.core.domain.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import net.ferrum.business.domain.bo.QsSpecAttributeTypesBo;
|
||||||
|
import net.ferrum.business.domain.vo.QsSpecAttributeTypesVo;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeTypes;
|
||||||
|
import net.ferrum.business.mapper.QsSpecAttributeTypesMapper;
|
||||||
|
import net.ferrum.business.service.IQsSpecAttributeTypesService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格类型Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class QsSpecAttributeTypesServiceImpl implements IQsSpecAttributeTypesService {
|
||||||
|
|
||||||
|
private final QsSpecAttributeTypesMapper baseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格类型
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public QsSpecAttributeTypesVo queryById(Long typeId){
|
||||||
|
return baseMapper.selectVoById(typeId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格类型列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<QsSpecAttributeTypesVo> queryPageList(QsSpecAttributeTypesBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<QsSpecAttributeTypes> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<QsSpecAttributeTypesVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格类型列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<QsSpecAttributeTypesVo> queryList(QsSpecAttributeTypesBo bo) {
|
||||||
|
LambdaQueryWrapper<QsSpecAttributeTypes> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<QsSpecAttributeTypes> buildQueryWrapper(QsSpecAttributeTypesBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<QsSpecAttributeTypes> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.like(StringUtils.isNotBlank(bo.getTypeName()), QsSpecAttributeTypes::getTypeName, bo.getTypeName());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增规格类型
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(QsSpecAttributeTypesBo bo) {
|
||||||
|
QsSpecAttributeTypes add = BeanUtil.toBean(bo, QsSpecAttributeTypes.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setTypeId(add.getTypeId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改规格类型
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(QsSpecAttributeTypesBo bo) {
|
||||||
|
QsSpecAttributeTypes update = BeanUtil.toBean(bo, QsSpecAttributeTypes.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(QsSpecAttributeTypes entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除规格类型
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格参数类型
|
||||||
|
*
|
||||||
|
* @param type 要查询的规格参数类型
|
||||||
|
* @return 部门信息集合
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<QsSpecAttributeTypes> selectSpecAttributeTypesList(QsSpecAttributeTypes type) {
|
||||||
|
LambdaQueryWrapper<QsSpecAttributeTypes> lqw = new LambdaQueryWrapper<>();
|
||||||
|
lqw.eq(QsSpecAttributeTypes::getDelFlag, "0")
|
||||||
|
.eq(ObjectUtil.isNotNull(type.getTypeId()), QsSpecAttributeTypes::getTypeId, type.getTypeId())
|
||||||
|
.like(StringUtils.isNotBlank(type.getTypeName()), QsSpecAttributeTypes::getTypeName, type.getTypeName())
|
||||||
|
.orderByAsc(QsSpecAttributeTypes::getTypeId)
|
||||||
|
.orderByAsc(QsSpecAttributeTypes::getTypeName);
|
||||||
|
return baseMapper.selectSpecAttributeTypesList(lqw);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,148 @@
|
|||||||
|
package net.ferrum.business.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeTypes;
|
||||||
|
import net.ferrum.business.mapper.QsSpecAttributeTypesMapper;
|
||||||
|
import net.ferrum.common.constant.UserConstants;
|
||||||
|
import net.ferrum.common.core.domain.entity.SysDept;
|
||||||
|
import net.ferrum.common.core.domain.entity.SysUser;
|
||||||
|
import net.ferrum.common.helper.DataBaseHelper;
|
||||||
|
import net.ferrum.common.utils.StreamUtils;
|
||||||
|
import net.ferrum.common.utils.StringUtils;
|
||||||
|
import net.ferrum.common.core.page.TableDataInfo;
|
||||||
|
import net.ferrum.common.core.domain.PageQuery;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import net.ferrum.business.domain.bo.QsSpecAttributeValuesBo;
|
||||||
|
import net.ferrum.business.domain.vo.QsSpecAttributeValuesVo;
|
||||||
|
import net.ferrum.business.domain.QsSpecAttributeValues;
|
||||||
|
import net.ferrum.business.mapper.QsSpecAttributeValuesMapper;
|
||||||
|
import net.ferrum.business.service.IQsSpecAttributeValuesService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 规格参数值Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2025-07-19
|
||||||
|
*/
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Service
|
||||||
|
public class QsSpecAttributeValuesServiceImpl implements IQsSpecAttributeValuesService {
|
||||||
|
|
||||||
|
private final QsSpecAttributeValuesMapper baseMapper;
|
||||||
|
private final QsSpecAttributeTypesMapper specAttributeTypesMapper;
|
||||||
|
|
||||||
|
public TableDataInfo<QsSpecAttributeValues>selectPageSpecAttributeValuesList(QsSpecAttributeValues specAttributeValues, PageQuery pageQuery) {
|
||||||
|
Page<QsSpecAttributeValues> page = baseMapper.selectPageSpecAttributeValuesList(pageQuery.build(), this.buildQueryWrapper(specAttributeValues));
|
||||||
|
return TableDataInfo.build(page);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格参数值
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public QsSpecAttributeValuesVo queryById(Long valueId){
|
||||||
|
return baseMapper.selectVoById(valueId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格参数值列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TableDataInfo<QsSpecAttributeValuesVo> queryPageList(QsSpecAttributeValuesBo bo, PageQuery pageQuery) {
|
||||||
|
LambdaQueryWrapper<QsSpecAttributeValues> lqw = buildQueryWrapper(bo);
|
||||||
|
Page<QsSpecAttributeValuesVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||||
|
return TableDataInfo.build(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询规格参数值列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<QsSpecAttributeValuesVo> queryList(QsSpecAttributeValuesBo bo) {
|
||||||
|
LambdaQueryWrapper<QsSpecAttributeValues> lqw = buildQueryWrapper(bo);
|
||||||
|
return baseMapper.selectVoList(lqw);
|
||||||
|
}
|
||||||
|
|
||||||
|
private LambdaQueryWrapper<QsSpecAttributeValues> buildQueryWrapper(QsSpecAttributeValuesBo bo) {
|
||||||
|
Map<String, Object> params = bo.getParams();
|
||||||
|
LambdaQueryWrapper<QsSpecAttributeValues> lqw = Wrappers.lambdaQuery();
|
||||||
|
lqw.eq(bo.getTypeId() != null, QsSpecAttributeValues::getTypeId, bo.getTypeId());
|
||||||
|
lqw.eq(StringUtils.isNotBlank(bo.getValue()), QsSpecAttributeValues::getValue, bo.getValue());
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Wrapper<QsSpecAttributeValues> buildQueryWrapper(QsSpecAttributeValues specAttributeValues) {
|
||||||
|
//Map<String, Object> params = specAttributeValues.getParams();
|
||||||
|
//LambdaQueryWrapper<QsSpecAttributeValues> lqw = Wrappers.lambdaQuery();
|
||||||
|
QueryWrapper<QsSpecAttributeValues> lqw = Wrappers.query();
|
||||||
|
lqw.eq("a.del_flag", UserConstants.NORMAL);
|
||||||
|
lqw.eq("b.del_flag", UserConstants.NORMAL);
|
||||||
|
lqw.eq(specAttributeValues.getTypeId() != null, "a.type_id", specAttributeValues.getTypeId());
|
||||||
|
lqw.like(StringUtils.isNotBlank(specAttributeValues.getValue()), "a.value", specAttributeValues.getValue());
|
||||||
|
|
||||||
|
lqw.like(StringUtils.isNotBlank(specAttributeValues.getSpecTypeName()), "b.type_name", specAttributeValues.getSpecTypeName());
|
||||||
|
|
||||||
|
lqw.and(ObjectUtil.isNotNull(specAttributeValues.getTypeId()), w -> {
|
||||||
|
List<QsSpecAttributeTypes> list = specAttributeTypesMapper.selectList(new LambdaQueryWrapper<QsSpecAttributeTypes>()
|
||||||
|
.select(QsSpecAttributeTypes::getTypeId));
|
||||||
|
List<Long> ids = StreamUtils.toList(list, QsSpecAttributeTypes::getTypeId);
|
||||||
|
ids.add(specAttributeValues.getTypeId());
|
||||||
|
w.in("a.type_id", ids);
|
||||||
|
});
|
||||||
|
return lqw;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增规格参数值
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean insertByBo(QsSpecAttributeValuesBo bo) {
|
||||||
|
QsSpecAttributeValues add = BeanUtil.toBean(bo, QsSpecAttributeValues.class);
|
||||||
|
validEntityBeforeSave(add);
|
||||||
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
|
if (flag) {
|
||||||
|
bo.setValueId(add.getValueId());
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改规格参数值
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean updateByBo(QsSpecAttributeValuesBo bo) {
|
||||||
|
QsSpecAttributeValues update = BeanUtil.toBean(bo, QsSpecAttributeValues.class);
|
||||||
|
validEntityBeforeSave(update);
|
||||||
|
return baseMapper.updateById(update) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存前的数据校验
|
||||||
|
*/
|
||||||
|
private void validEntityBeforeSave(QsSpecAttributeValues entity){
|
||||||
|
//TODO 做一些数据校验,如唯一约束
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除规格参数值
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
|
if(isValid){
|
||||||
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
|
}
|
||||||
|
return baseMapper.deleteBatchIds(ids) > 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
<?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="net.ferrum.business.mapper.QsSpecAttributeTypesMapper">
|
||||||
|
|
||||||
|
<resultMap type="net.ferrum.business.domain.QsSpecAttributeTypes" id="QsSpecAttributeTypesResult">
|
||||||
|
<result property="typeId" column="type_id"/>
|
||||||
|
<result property="typeName" column="type_name"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
<result property="delFlag" column="del_flag"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectSpecAttributeTypesList" resultMap="QsSpecAttributeTypesResult">
|
||||||
|
select * from qs_spec_attribute_types ${ew.getCustomSqlSegment}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
<?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="net.ferrum.business.mapper.QsSpecAttributeValuesMapper">
|
||||||
|
|
||||||
|
<resultMap type="net.ferrum.business.domain.QsSpecAttributeValues" id="QsSpecAttributeValuesResult">
|
||||||
|
<result property="valueId" column="value_id"/>
|
||||||
|
<result property="typeId" column="type_id"/>
|
||||||
|
<result property="value" column="value"/>
|
||||||
|
<result property="createBy" column="create_by"/>
|
||||||
|
<result property="createTime" column="create_time"/>
|
||||||
|
<result property="updateBy" column="update_by"/>
|
||||||
|
<result property="updateTime" column="update_time"/>
|
||||||
|
<result property="remark" column="remark"/>
|
||||||
|
<result property="delFlag" column="del_flag"/>
|
||||||
|
<association property="specType" column="type_id" javaType="net.ferrum.business.domain.QsSpecAttributeTypes" resultMap="QsSpecAttributeTypesResult"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="QsSpecAttributeTypesResult" type="net.ferrum.business.domain.QsSpecAttributeTypes">
|
||||||
|
<result property="typeId" column="type_id"/>
|
||||||
|
<result property="typeName" column="type_name"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="selectSpecAttributeValuesList" resultMap="QsSpecAttributeValuesResult">
|
||||||
|
select a.type_id, a.value_id, a.value,
|
||||||
|
a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.del_flag, b.type_name
|
||||||
|
from qs_spec_attribute_values a
|
||||||
|
left join qs_spec_attribute_types b on a.type_id = b.type_id
|
||||||
|
${ew.getCustomSqlSegment}
|
||||||
|
order by a.type_id, a.value_id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectPageSpecAttributeValuesList" resultMap="QsSpecAttributeValuesResult">
|
||||||
|
select a.type_id, a.value_id, a.value,
|
||||||
|
a.create_by, a.create_time, a.update_by, a.update_time, a.remark, a.del_flag, b.type_name
|
||||||
|
from qs_spec_attribute_values a
|
||||||
|
left join qs_spec_attribute_types b on a.type_id = b.type_id
|
||||||
|
${ew.getCustomSqlSegment}
|
||||||
|
order by a.type_id, a.value_id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
19
script/sql/mysql/batchMenu.sql
Normal file
19
script/sql/mysql/batchMenu.sql
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
-- 菜单 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1945779577351671809, '设计批次', '1896968401096663042', '1', 'batch', 'business/batch/index', 1, 0, 'C', '0', '0', 'business:batch:list', '#', 'admin', sysdate(), '', null, '设计批次菜单');
|
||||||
|
|
||||||
|
-- 按钮 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1945779577351671810, '设计批次查询', 1945779577351671809, '1', '#', '', 1, 0, 'F', '0', '0', 'business:batch:query', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1945779577351671811, '设计批次新增', 1945779577351671809, '2', '#', '', 1, 0, 'F', '0', '0', 'business:batch:add', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1945779577351671812, '设计批次修改', 1945779577351671809, '3', '#', '', 1, 0, 'F', '0', '0', 'business:batch:edit', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1945779577351671813, '设计批次删除', 1945779577351671809, '4', '#', '', 1, 0, 'F', '0', '0', 'business:batch:remove', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1945779577351671814, '设计批次导出', 1945779577351671809, '5', '#', '', 1, 0, 'F', '0', '0', 'business:batch:export', '#', 'admin', sysdate(), '', null, '');
|
||||||
19
script/sql/mysql/specAttributeTypesMenu.sql
Normal file
19
script/sql/mysql/specAttributeTypesMenu.sql
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
-- 菜单 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946464000749457410, '规格类型', '1896968401096663042', '1', 'specAttributeTypes', 'business/specAttributeTypes/index', 1, 0, 'C', '0', '0', 'business:specAttributeTypes:list', '#', 'admin', sysdate(), '', null, '规格类型菜单');
|
||||||
|
|
||||||
|
-- 按钮 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946464000749457411, '规格类型查询', 1946464000749457410, '1', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeTypes:query', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946464000749457412, '规格类型新增', 1946464000749457410, '2', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeTypes:add', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946464000749457413, '规格类型修改', 1946464000749457410, '3', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeTypes:edit', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946464000749457414, '规格类型删除', 1946464000749457410, '4', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeTypes:remove', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946464000749457415, '规格类型导出', 1946464000749457410, '5', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeTypes:export', '#', 'admin', sysdate(), '', null, '');
|
||||||
19
script/sql/mysql/specAttributeValuesMenu.sql
Normal file
19
script/sql/mysql/specAttributeValuesMenu.sql
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
-- 菜单 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946471974171697153, '规格参数值', '1896968401096663042', '1', 'specAttributeValues', 'business/specAttributeValues/index', 1, 0, 'C', '0', '0', 'business:specAttributeValues:list', '#', 'admin', sysdate(), '', null, '规格参数值菜单');
|
||||||
|
|
||||||
|
-- 按钮 SQL
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946471974171697154, '规格参数值查询', 1946471974171697153, '1', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeValues:query', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946471974171697155, '规格参数值新增', 1946471974171697153, '2', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeValues:add', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946471974171697156, '规格参数值修改', 1946471974171697153, '3', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeValues:edit', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946471974171697157, '规格参数值删除', 1946471974171697153, '4', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeValues:remove', '#', 'admin', sysdate(), '', null, '');
|
||||||
|
|
||||||
|
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||||
|
values(1946471974171697158, '规格参数值导出', 1946471974171697153, '5', '#', '', 1, 0, 'F', '0', '0', 'business:specAttributeValues:export', '#', 'admin', sysdate(), '', null, '');
|
||||||
Loading…
x
Reference in New Issue
Block a user