From 78cbae5e2439f93689159e547fa435333509a6f3 Mon Sep 17 00:00:00 2001 From: chenfang Date: Thu, 28 Sep 2023 09:07:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E5=93=81=E5=9F=BA=E7=A1=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/itembasic/ErrorCodeConstants.java | 2 + .../admin/itembasic/ItembasicController.java | 61 ++++++---- .../admin/itembasic/vo/ItembasicBaseVO.java | 12 +- .../itembasic/ItembasicServiceImpl.java | 111 ++++++++++++++++-- 4 files changed, 149 insertions(+), 37 deletions(-) diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/itembasic/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/itembasic/ErrorCodeConstants.java index 66c0bd83..f78257dc 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/itembasic/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/itembasic/ErrorCodeConstants.java @@ -10,5 +10,7 @@ import com.win.framework.common.exception.ErrorCode; public interface ErrorCodeConstants { ErrorCode ITEMBASIC_NOT_EXISTS = new ErrorCode(1_020_000_000, "物品基本信息不存在"); + ErrorCode ITEMBASIC_NOT_RIGHT = new ErrorCode(1_020_000_001, "物品基本信息不正确"); + ErrorCode CODE_NOT_ONLY = new ErrorCode(1_020_000_002, "code已存在"); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/ItembasicController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/ItembasicController.java index 6291a099..27393864 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/ItembasicController.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/ItembasicController.java @@ -1,32 +1,33 @@ package com.win.module.wms.controller.admin.itembasic; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import com.win.framework.common.pojo.PageResult; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.framework.common.pojo.CommonResult; -import static com.win.framework.common.pojo.CommonResult.success; - +import com.win.framework.common.pojo.PageResult; import com.win.framework.excel.core.util.ExcelUtils; - import com.win.framework.operatelog.core.annotations.OperateLog; -import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; - import com.win.module.wms.controller.admin.itembasic.vo.*; -import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.convert.itembasic.ItembasicConvert; +import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; +import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper; import com.win.module.wms.service.itembasic.ItembasicService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.framework.common.pojo.CommonResult.success; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; +import static com.win.module.wms.enums.itembasic.ErrorCodeConstants.CODE_NOT_ONLY; @Tag(name = "管理后台 - 物品基本信息") @RestController @@ -37,10 +38,14 @@ public class ItembasicController { @Resource private ItembasicService itembasicService; + @Resource + private ItembasicMapper itembasicMapper; + @PostMapping("/create") @Operation(summary = "创建物品基本信息") @PreAuthorize("@ss.hasPermission('wms:itembasic:create')") public CommonResult createItembasic(@Valid @RequestBody ItembasicCreateReqVO createReqVO) { + checkCoodOnly(createReqVO); return success(itembasicService.createItembasic(createReqVO)); } @@ -48,10 +53,24 @@ public class ItembasicController { @Operation(summary = "更新物品基本信息") @PreAuthorize("@ss.hasPermission('wms:itembasic:update')") public CommonResult updateItembasic(@Valid @RequestBody ItembasicUpdateReqVO updateReqVO) { + checkCoodOnly(updateReqVO); itembasicService.updateItembasic(updateReqVO); return success(true); } + @Operation(summary = "校验code唯一") + public void checkCoodOnly(ItembasicBaseVO vo){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("code",vo.getCode()); + queryWrapper.eq("deleted",0); + if(!(null == itembasicMapper.selectOne(queryWrapper))){ + ItembasicDO itembasicDO = itembasicMapper.selectOne(queryWrapper); + if(itembasicDO.getCode().equals(vo.getCode()) && !itembasicDO.getId().equals(vo.getId())){ + throw exception(CODE_NOT_ONLY); + } + } + } + @DeleteMapping("/delete") @Operation(summary = "删除物品基本信息") @Parameter(name = "id", description = "编号", required = true) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicBaseVO.java index 4a1c7472..9980ffd2 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/admin/itembasic/vo/ItembasicBaseVO.java @@ -1,16 +1,12 @@ package com.win.module.wms.controller.admin.itembasic.vo; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import javax.validation.constraints.*; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java index eb802d06..7a06c917 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/itembasic/ItembasicServiceImpl.java @@ -1,19 +1,23 @@ package com.win.module.wms.service.itembasic; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; - -import java.util.*; -import com.win.module.wms.controller.admin.itembasic.vo.*; -import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.framework.common.pojo.PageResult; - +import com.win.module.wms.controller.admin.itembasic.vo.ItembasicCreateReqVO; +import com.win.module.wms.controller.admin.itembasic.vo.ItembasicExportReqVO; +import com.win.module.wms.controller.admin.itembasic.vo.ItembasicPageReqVO; +import com.win.module.wms.controller.admin.itembasic.vo.ItembasicUpdateReqVO; import com.win.module.wms.convert.itembasic.ItembasicConvert; +import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.mysql.itembasic.ItembasicMapper; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.Collection; +import java.util.List; import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.win.module.wms.enums.itembasic.ErrorCodeConstants.ITEMBASIC_NOT_EXISTS; +import static com.win.module.wms.enums.itembasic.ErrorCodeConstants.ITEMBASIC_NOT_RIGHT; /** * 物品基本信息 Service 实现类 @@ -40,6 +44,19 @@ public class ItembasicServiceImpl implements ItembasicService { public void updateItembasic(ItembasicUpdateReqVO updateReqVO) { // 校验存在 validateItembasicExists(updateReqVO.getId()); + codeExists(updateReqVO.getCode()); + statusExists(updateReqVO.getStatus()); + uomExists(updateReqVO.getUom()); + isStdPackExists(updateReqVO.getIsStdPack()); + enableBuyExists(updateReqVO.getEnableBuy()); + enableMakeExists(updateReqVO.getEnableMake()); + enableOutsouringExists(updateReqVO.getEnableOutsourcing()); + isRecycledExists(updateReqVO.getIsRecycled()); + isPhantomExists(updateReqVO.getIsPhantom()); + abcClassExists(updateReqVO.getAbcClass()); + typeExists(updateReqVO.getType()); + validityDaysExists(updateReqVO.getValidityDays()); + availableExists(updateReqVO.getAvailable()); // 更新 ItembasicDO updateObj = ItembasicConvert.INSTANCE.convert(updateReqVO); itembasicMapper.updateById(updateObj); @@ -59,6 +76,84 @@ public class ItembasicServiceImpl implements ItembasicService { } } + private void codeExists(String code) { + if (code.isEmpty()) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void statusExists(String status) { + if (status.isEmpty()) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void uomExists(String uom) { + if (uom.isEmpty()) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void isStdPackExists(Integer stdPack) { + if (stdPack == null) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void enableBuyExists(Integer enableBuy) { + if (enableBuy == null) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void enableMakeExists(Integer enableMark) { + if (enableMark == null) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void enableOutsouringExists(Integer enblOutsouring) { + if (enblOutsouring == null) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void isRecycledExists(Integer isRecycled) { + if (isRecycled == null) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void isPhantomExists(Integer isPhantom) { + if (isPhantom == null) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void abcClassExists(String abcClass) { + if (abcClass.isEmpty()) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void typeExists(String type) { + if (type.isEmpty()) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void validityDaysExists(Integer validityDays) { + if (validityDays == null) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + + private void availableExists(Integer available) { + if (available == null) { + throw exception(ITEMBASIC_NOT_RIGHT); + } + } + @Override public ItembasicDO getItembasic(Long id) { return itembasicMapper.selectById(id);