From d5dcfee1f7cbab813a0725ac09a4bbb06bc7ec29 Mon Sep 17 00:00:00 2001 From: chenlong Date: Thu, 29 Aug 2024 15:39:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E6=89=A9=E5=B1=95=20=EF=BC=8C=20fegin=20Boolean=20isMandatoryL?= =?UTF-8?q?oading(Long=20warehouseId)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/ModuleNameConstant.java | 2 +- .../entity/WarehouseSettingEntity.java | 25 +++++++ .../feign/IWarehouseSettingClient.java | 19 +++++ .../WarehouseSettingController.java | 26 +++++++ .../warehouse/dto/WarehouseSettingDTO.java | 19 +++++ .../feign/WarehouseSettingClient.java | 24 +++++++ .../mapper/WarehouseSettingMapper.java | 7 ++ .../service/IWarehouseSettingService.java | 13 ++++ .../service/impl/WarehouseSettingImpl.java | 69 +++++++++++++++++++ 9 files changed, 203 insertions(+), 1 deletion(-) create mode 100644 blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseSettingEntity.java create mode 100644 blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseSettingClient.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseSettingController.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseSettingDTO.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseSettingClient.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseSettingMapper.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseSettingService.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseSettingImpl.java diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java index d60420fe5..5857d4c24 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java @@ -9,7 +9,7 @@ public interface ModuleNameConstant { /** * 如果不需要 "" */ - public static final String DEVAUTH =""; + public static final String DEVAUTH ="-chenlong"; /** * 工厂对接服务名称 diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseSettingEntity.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseSettingEntity.java new file mode 100644 index 000000000..506744350 --- /dev/null +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseSettingEntity.java @@ -0,0 +1,25 @@ +package com.logpm.warehouse.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +@TableName("logpm_warehouse_setting") +@ApiModel(value = "WarehouseSetting对象", description = "仓库设置") +@EqualsAndHashCode(callSuper = true) +@Data +public class WarehouseSettingEntity extends TenantEntity { + private static final long serialVersionUID = 1L; + + /** + * 仓库id + */ + private Long warehouseId; + + /** + * 强制装车:0=不限制,1=强制 + */ + private Integer mandatoryLoading; +} diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseSettingClient.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseSettingClient.java new file mode 100644 index 000000000..70d94a8af --- /dev/null +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseSettingClient.java @@ -0,0 +1,19 @@ +package com.logpm.warehouse.feign; + +import org.springblade.common.constant.ModuleNameConstant; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; + +/** + * 仓库设置 Feign接口 + */ +@FeignClient( + value = ModuleNameConstant.APPLICATION_WAREHOUSE_NAME +) +public interface IWarehouseSettingClient { + + String API_PREFIX = "warehouse-setting/client"; + + @GetMapping(API_PREFIX + "/is-mandatory-loading") + Boolean isMandatoryLoading(Long warehouseId); +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseSettingController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseSettingController.java new file mode 100644 index 000000000..3e787089b --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseSettingController.java @@ -0,0 +1,26 @@ +package com.logpm.warehouse.controller; + +import com.logpm.warehouse.dto.WarehouseSettingDTO; +import com.logpm.warehouse.service.IWarehouseSettingService; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@AllArgsConstructor +@RequestMapping("/warehouse-setting") +@Api(value = "仓库设置", tags = "仓库设置") +public class WarehouseSettingController extends BladeController { + + private final IWarehouseSettingService warehouseSettingService; + + @PostMapping("/save") + public R save(WarehouseSettingDTO warehouseSettingDTO) { + return warehouseSettingService.saveSetting(warehouseSettingDTO); + } + +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseSettingDTO.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseSettingDTO.java new file mode 100644 index 000000000..15ee36b09 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/WarehouseSettingDTO.java @@ -0,0 +1,19 @@ +package com.logpm.warehouse.dto; + +import com.logpm.warehouse.entity.WarehouseSettingEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.List; + +@EqualsAndHashCode(callSuper = true) +@Data +public class WarehouseSettingDTO extends WarehouseSettingEntity { + + private static final long serialVersionUID = 1L; + + /** + * 仓库id集合 + */ + List warehouseListIds; +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseSettingClient.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseSettingClient.java new file mode 100644 index 000000000..421c1cc48 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseSettingClient.java @@ -0,0 +1,24 @@ +package com.logpm.warehouse.feign; + +import com.logpm.warehouse.service.IWarehouseSettingService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; + +@ApiIgnore() +@RestController +@AllArgsConstructor +public class WarehouseSettingClient implements IWarehouseSettingClient{ + + private final IWarehouseSettingService warehouseSettingService; + + /** + * 是否强制装车 + * @param warehouseId + * @return + */ + @Override + public Boolean isMandatoryLoading(Long warehouseId) { + return warehouseSettingService.isMandatoryLoading(warehouseId); + } +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseSettingMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseSettingMapper.java new file mode 100644 index 000000000..ed1e59b60 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseSettingMapper.java @@ -0,0 +1,7 @@ +package com.logpm.warehouse.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.warehouse.entity.WarehouseSettingEntity; + +public interface WarehouseSettingMapper extends BaseMapper { +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseSettingService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseSettingService.java new file mode 100644 index 000000000..b11e5aa8a --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseSettingService.java @@ -0,0 +1,13 @@ +package com.logpm.warehouse.service; + +import com.logpm.warehouse.dto.WarehouseSettingDTO; +import com.logpm.warehouse.entity.WarehouseSettingEntity; +import org.springblade.core.mp.base.BaseService; +import org.springblade.core.tool.api.R; + +public interface IWarehouseSettingService extends BaseService { + + boolean isMandatoryLoading(Long WarehouseId); + + R saveSetting(WarehouseSettingDTO warehouseSettingDTO); +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseSettingImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseSettingImpl.java new file mode 100644 index 000000000..67b927ed3 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseSettingImpl.java @@ -0,0 +1,69 @@ +package com.logpm.warehouse.service.impl; + + +import com.baomidou.mybatisplus.core.toolkit.SerializationUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.warehouse.dto.WarehouseSettingDTO; +import com.logpm.warehouse.entity.WarehouseSettingEntity; +import com.logpm.warehouse.mapper.WarehouseSettingMapper; +import com.logpm.warehouse.service.IWarehouseSettingService; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.api.R; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + + +@Service +@AllArgsConstructor +public class WarehouseSettingImpl extends BaseServiceImpl implements IWarehouseSettingService { + + public boolean isMandatoryLoading(Long WarehouseId){ + WarehouseSettingEntity setting = getSetting(WarehouseId); + int noLimit = 0; + int forcibly = 1; + int res = noLimit; + + if (setting != null && forcibly == setting.getMandatoryLoading() ) { + res = forcibly; + } + + return res == forcibly; + } + + @Transactional + @Override + public R saveSetting(WarehouseSettingDTO warehouseSettingDTO) { + if (warehouseSettingDTO == null) { + return R.fail("参数错误"); + } + + if (warehouseSettingDTO.getWarehouseListIds().isEmpty()) { + if (warehouseSettingDTO.getWarehouseId() == null) { + return R.fail("参数错误"); + } + + save(warehouseSettingDTO); + + return R.success("保存成功"); + } + + List list = new ArrayList<>(); + for (int i = 0; i < warehouseSettingDTO.getWarehouseListIds().size(); i++) { + WarehouseSettingEntity setting = SerializationUtils.clone(warehouseSettingDTO); + setting.setWarehouseId(warehouseSettingDTO.getWarehouseListIds().get(i)); + list.add(setting); + } + + return saveBatch(list) ? R.success("保存成功") : R.fail("保存失败"); + } + + private WarehouseSettingEntity getSetting(Long WarehouseId){ + return baseMapper.selectOne(Wrappers.lambdaQuery() + .eq(WarehouseSettingEntity::getWarehouseId, WarehouseId) + ); + } +} From 6a0633bc14541fe07b33186b665deb24c08b091a Mon Sep 17 00:00:00 2001 From: chenlong Date: Thu, 29 Aug 2024 15:41:22 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=BF=98=E5=8E=9F=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/springblade/common/constant/ModuleNameConstant.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java index 5857d4c24..d60420fe5 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/ModuleNameConstant.java @@ -9,7 +9,7 @@ public interface ModuleNameConstant { /** * 如果不需要 "" */ - public static final String DEVAUTH ="-chenlong"; + public static final String DEVAUTH =""; /** * 工厂对接服务名称