商品模块代码提交
This commit is contained in:
@@ -1,99 +1,102 @@
|
||||
package com.czg.controller;
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.lang.Validator;
|
||||
import com.czg.annotation.SaAdminCheckPermission;
|
||||
import com.czg.log.annotation.OperationLog;
|
||||
import com.czg.product.dto.ProductDTO;
|
||||
import com.czg.product.service.ProductService;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.czg.validator.ValidatorUtil;
|
||||
import com.czg.validator.group.DefaultGroup;
|
||||
import com.czg.validator.group.InsertGroup;
|
||||
import com.czg.validator.group.UpdateGroup;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 商品
|
||||
*
|
||||
* @author Tankaikai tankaikai@aliyun.com
|
||||
* @since 1.0 2025-02-10
|
||||
* @since 1.0 2025-02-16
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/admin/prod/product")
|
||||
@RequestMapping("/admin/product")
|
||||
public class ProductController {
|
||||
private final ProductService productService;
|
||||
|
||||
@GetMapping("page")
|
||||
@OperationLog("分页")
|
||||
@SaAdminCheckPermission("prod:product:all")
|
||||
public CzgResult<Page<ProductDTO>> page(@RequestParam Map<String, Object> params) {
|
||||
Page<ProductDTO> data = productService.pageAs(null, null, ProductDTO.class);
|
||||
@OperationLog("商品-分页")
|
||||
//@SaAdminCheckPermission("product:page")
|
||||
public CzgResult<Page<ProductDTO>> getProductPage(ProductDTO param) {
|
||||
Page<ProductDTO> data = productService.getProductPage(param);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
@GetMapping("list")
|
||||
@OperationLog("列表")
|
||||
@SaAdminCheckPermission("prod:product:all")
|
||||
public CzgResult<List<ProductDTO>> list(@RequestParam Map<String, Object> params) {
|
||||
List<ProductDTO> data = null;
|
||||
|
||||
@OperationLog("商品-列表")
|
||||
//@SaAdminCheckPermission("product:list")
|
||||
public CzgResult<List<ProductDTO>> getProductList(ProductDTO param) {
|
||||
List<ProductDTO> data = productService.getProductList(param);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
@GetMapping("{id}")
|
||||
@OperationLog("信息")
|
||||
@SaAdminCheckPermission("prod:product:all")
|
||||
public CzgResult<ProductDTO> get(@PathVariable("id") Long id) {
|
||||
ProductDTO data = null;
|
||||
|
||||
@OperationLog("商品-详情")
|
||||
//@SaAdminCheckPermission("product:info")
|
||||
public CzgResult<ProductDTO> getProductById(@PathVariable("id") Long id) {
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
ProductDTO data = productService.getProductById(id);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@OperationLog("保存")
|
||||
@SaAdminCheckPermission("prod:product:all")
|
||||
public CzgResult<Void> save(@RequestBody ProductDTO dto) {
|
||||
//效验数据
|
||||
ValidatorUtil.validateEntity(dto, InsertGroup.class, DefaultGroup.class);
|
||||
|
||||
//productService.save(dto);
|
||||
|
||||
@OperationLog("商品-新增")
|
||||
//@SaAdminCheckPermission("product:add")
|
||||
public CzgResult<Void> addProduct(@RequestBody @Validated({InsertGroup.class, DefaultGroup.class}) ProductDTO dto) {
|
||||
AssertUtil.isListEmpty(dto.getSkuList(), "商品SKU不能为空");
|
||||
productService.addProduct(dto);
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@OperationLog("修改")
|
||||
@SaAdminCheckPermission("prod:product:all")
|
||||
public CzgResult<Void> update(@RequestBody ProductDTO dto) {
|
||||
//效验数据
|
||||
ValidatorUtil.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
|
||||
|
||||
//productService.update(dto);
|
||||
|
||||
@OperationLog("商品-修改")
|
||||
//@SaAdminCheckPermission("product:update")
|
||||
public CzgResult<Void> updateProduct(@RequestBody @Validated({UpdateGroup.class, DefaultGroup.class}) ProductDTO dto) {
|
||||
productService.updateProduct(dto);
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@OperationLog("删除")
|
||||
@SaAdminCheckPermission("prod:product:all")
|
||||
public CzgResult<Void> delete(@RequestBody Long[] ids) {
|
||||
@DeleteMapping("{id}")
|
||||
@OperationLog("商品-删除")
|
||||
//@SaAdminCheckPermission("product:delete")
|
||||
public CzgResult<Void> deleteProduct(@PathVariable("id") Long id) {
|
||||
//效验数据
|
||||
Assert.notNull(ids, "{}不能为空", "id");
|
||||
AssertUtil.isArrayEmpty(ids, "请求id数组不能为空");
|
||||
AssertUtil.isArrayEmpty(ids, "请求{}{}数组不能为空", "id", "的");
|
||||
Validator.validateBirthday("2022-12-12", "生日格式不正确");
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
productService.deleteProduct(id);
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
//productService.delete(ids);
|
||||
@PostMapping("disable/{id}")
|
||||
@OperationLog("商品-禁用")
|
||||
//@SaAdminCheckPermission("product:able")
|
||||
public CzgResult<Void> disableProduct(@PathVariable("id") Long id) {
|
||||
//效验数据
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
productService.disableProduct(id);
|
||||
return CzgResult.success();
|
||||
}
|
||||
|
||||
@PostMapping("enable/{id}")
|
||||
@OperationLog("商品-启用")
|
||||
//@SaAdminCheckPermission("product:able")
|
||||
public CzgResult<Void> enableProduct(@PathVariable("id") Long id) {
|
||||
//效验数据
|
||||
AssertUtil.isNull(id, "{}不能为空", "id");
|
||||
productService.enableProduct(id);
|
||||
return CzgResult.success();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user