商品模块代码提交

This commit is contained in:
Tankaikai
2025-02-16 18:30:56 +08:00
parent 84914553d0
commit a6175be737
18 changed files with 779 additions and 77 deletions

View File

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