From 2b6345b7cef0586446bec391b462a4e00b855358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Thu, 27 Feb 2025 10:12:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=98=E9=85=92=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/ShopStorageGoodController.java | 71 +++++++++++++++++-- .../dto/{ => storage}/ShopStorageGoodDTO.java | 28 +++----- .../service/ShopStorageGoodService.java | 4 ++ .../impl/ShopStorageGoodServiceImpl.java | 22 ++++++ 4 files changed, 101 insertions(+), 24 deletions(-) rename cash-common/cash-common-service/src/main/java/com/czg/account/dto/{ => storage}/ShopStorageGoodDTO.java (63%) diff --git a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopStorageGoodController.java b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopStorageGoodController.java index f21f9a75..e142c9c5 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopStorageGoodController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/admin/ShopStorageGoodController.java @@ -1,19 +1,78 @@ package com.czg.controller.admin; +import cn.hutool.core.util.StrUtil; +import com.czg.account.dto.storage.ShopStorageGoodDTO; +import com.czg.account.entity.ShopStorageGood; +import com.czg.account.service.ShopStorageGoodService; import com.czg.annotation.SaAdminCheckPermission; import com.czg.resp.CzgResult; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.czg.sa.StpKit; +import com.czg.utils.PageUtil; +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 com.mybatisflex.core.query.QueryWrapper; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; /** - * 存酒管理 + * 存酒商品管理 * @author Administrator */ @RestController -@RequestMapping +@RequestMapping("/admin/storageGood") public class ShopStorageGoodController { + @Resource + private ShopStorageGoodService shopStorageGoodService; + + /** + * 获取存酒商品列表 + * @param name 商品名 + * @return 列表 + */ + @SaAdminCheckPermission(value = "storageGood:list", name = "获取存酒商品列表") + @GetMapping + public CzgResult> list(String name) { + QueryWrapper queryWrapper = new QueryWrapper().eq(ShopStorageGood::getShopId, StpKit.USER.getShopId()); + if (StrUtil.isNotBlank(name)) { + queryWrapper.eq(ShopStorageGood::getName, name); + } + return CzgResult.success(shopStorageGoodService.page(PageUtil.buildPage(), queryWrapper)); + } + + /** + * 获取存酒商品详情 + * @param id 商品id + * @return 列表 + */ + @SaAdminCheckPermission(value = "storageGood:detail", name = "获取存酒商品详情") + @GetMapping("/detail") + public CzgResult detail(@RequestParam Integer id) { + return CzgResult.success(shopStorageGoodService.getOne(new QueryWrapper().eq(ShopStorageGood::getShopId, StpKit.USER.getShopId()).eq(ShopStorageGood::getId, id))); + } + + /** + * 编辑存酒商品 + * @return 列表 + */ + @SaAdminCheckPermission(value = "storageGood:edit", name = "存酒商品编辑") + @PutMapping("/edit") + public CzgResult edit(@RequestBody @Validated({UpdateGroup.class}) ShopStorageGoodDTO shopStorageGoodDTO) { + return CzgResult.success(shopStorageGoodService.edit(StpKit.USER.getShopId(), shopStorageGoodDTO)); + } + + /** + * 编辑存酒商品 + * @return 列表 + */ + @SaAdminCheckPermission(value = "storageGood:add", name = "存酒商品新增") + @PutMapping("/add") + public CzgResult add(@RequestBody @Validated({InsertGroup.class}) ShopStorageGoodDTO shopStorageGoodDTO) { + return CzgResult.success(shopStorageGoodService.saveInfo(StpKit.USER.getShopId(), shopStorageGoodDTO)); + } + -// @SaAdminCheckPermission("") -// public CzgResult<> } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopStorageGoodDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/storage/ShopStorageGoodDTO.java similarity index 63% rename from cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopStorageGoodDTO.java rename to cash-common/cash-common-service/src/main/java/com/czg/account/dto/storage/ShopStorageGoodDTO.java index f319bf3f..3fc308af 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/dto/ShopStorageGoodDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/dto/storage/ShopStorageGoodDTO.java @@ -1,10 +1,14 @@ -package com.czg.account.dto; +package com.czg.account.dto.storage; import java.io.Serializable; import java.time.LocalDateTime; import com.alibaba.fastjson2.annotation.JSONField; import java.io.Serial; + +import com.czg.validator.group.UpdateGroup; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -20,26 +24,27 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor -public class ShopStorageGoodDTO implements Serializable { - - @Serial - private static final long serialVersionUID = 1L; +public class ShopStorageGoodDTO { + @NotNull(message = "id不为空", groups = UpdateGroup.class) private Long id; /** * 酒品名 */ + @NotEmpty(message = "酒品名不为空") private String name; /** * 图片地址 */ + @NotEmpty(message = "酒品名不为空") private String imgUrl; /** * 单位 */ + @NotEmpty(message = "单位不为空") private String unit; /** @@ -47,22 +52,9 @@ public class ShopStorageGoodDTO implements Serializable { */ private Integer period; - /** - * 0:未删除;1:已删除 - */ - private Integer isDel; - - @JSONField(format = "yyyy-MM-dd HH:mm:ss") - private LocalDateTime createTime; - /** * 0:手动;1:商品; */ private Integer source; - /** - * 商户Id - */ - private Long shopId; - } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopStorageGoodService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopStorageGoodService.java index ccb98eb8..62e74af6 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopStorageGoodService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopStorageGoodService.java @@ -1,5 +1,6 @@ package com.czg.account.service; +import com.czg.account.dto.storage.ShopStorageGoodDTO; import com.mybatisflex.core.service.IService; import com.czg.account.entity.ShopStorageGood; @@ -11,4 +12,7 @@ import com.czg.account.entity.ShopStorageGood; */ public interface ShopStorageGoodService extends IService { + Boolean edit(Long shopId, ShopStorageGoodDTO shopStorageGoodDTO); + + Boolean saveInfo(Long shopId, ShopStorageGoodDTO shopStorageGoodDTO); } diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopStorageGoodServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopStorageGoodServiceImpl.java index dd98a546..30c39357 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopStorageGoodServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopStorageGoodServiceImpl.java @@ -1,5 +1,9 @@ package com.czg.service.account.service.impl; +import cn.hutool.core.bean.BeanUtil; +import com.czg.account.dto.storage.ShopStorageGoodDTO; +import com.czg.exception.ApiNotPrintException; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.spring.service.impl.ServiceImpl; import com.czg.account.entity.ShopStorageGood; import com.czg.account.service.ShopStorageGoodService; @@ -15,4 +19,22 @@ import org.springframework.stereotype.Service; @Service public class ShopStorageGoodServiceImpl extends ServiceImpl implements ShopStorageGoodService{ + @Override + public Boolean edit(Long shopId, ShopStorageGoodDTO shopStorageGoodDTO) { + ShopStorageGood storageGood = getOne(new QueryWrapper().eq(ShopStorageGood::getShopId, shopId).eq(ShopStorageGood::getId, shopStorageGoodDTO.getId())); + if (storageGood == null) { + throw new ApiNotPrintException("商品不存在"); + } + + BeanUtil.copyProperties(shopStorageGoodDTO, storageGood); + storageGood.setSource(null); + return updateById(storageGood); + } + + @Override + public Boolean saveInfo(Long shopId, ShopStorageGoodDTO shopStorageGoodDTO) { + ShopStorageGood shopStorageGood = BeanUtil.copyProperties(shopStorageGoodDTO, ShopStorageGood.class); + shopStorageGood.setShopId(shopId); + return save(shopStorageGood); + } }