FengChaoYu vor 7 Monaten
Ursprung
Commit
a835d0152b

+ 61 - 5
mall-server-api/src/main/java/com/gree/mall/manager/logic/material/manage/WebsitPartsConfigLogic.java

@@ -8,8 +8,10 @@ import com.gree.mall.manager.bean.material.manage.WebsitPartsConfigVO;
 import com.gree.mall.manager.commonmapper.MaterialMapper;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.logic.common.CommonLogic;
+import com.gree.mall.manager.plus.entity.AdminWebsit;
 import com.gree.mall.manager.plus.entity.MaterialConfig;
 import com.gree.mall.manager.plus.entity.WebsitPartsRefundConfig;
+import com.gree.mall.manager.plus.service.AdminWebsitService;
 import com.gree.mall.manager.plus.service.MaterialConfigService;
 import com.gree.mall.manager.plus.service.WebsitPartsRefundConfigService;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
@@ -32,6 +34,7 @@ public class WebsitPartsConfigLogic {
     private final MaterialMapper materialMapper;
     private final MaterialConfigService materialConfigService;
     private final WebsitPartsRefundConfigService websitPartsRefundConfigService;
+    private final AdminWebsitService adminWebsitService;
 
     public IPage<WebsitPartsConfigVO> page(ZfireParamBean zfireParamBean) {
         AdminUserCom adminUser = commonLogic.getAdminUser();
@@ -64,11 +67,32 @@ public class WebsitPartsConfigLogic {
         if (adminUser.getType() == 2) {
             throw new RemoteServiceException("平台账号禁止操作");
         }
-        if (Objects.isNull(bean.getNewRefundInner()) || bean.getNewRefundInner().compareTo(0) <= 0) {
-            throw new RemoteServiceException("新件返还(市区)不能为空或少于等于0");
-        }
-        if (Objects.isNull(bean.getNewRefundOutside()) || bean.getNewRefundOutside().compareTo(0) <= 0) {
-            throw new RemoteServiceException("新件返还(外区)不能为空或少于等于0");
+        final AdminWebsit websit = adminWebsitService.lambdaQuery()
+                .eq(AdminWebsit::getCompanyWechatId, adminUser.getCompanyWechatId())
+                .eq(AdminWebsit::getWebsitId, bean.getWebsitId())
+                .one();
+        if (Objects.nonNull(websit)) {
+            if (websit.getPartsWebsitAttr()) {
+                if (Objects.isNull(bean.getNewRefundInner()) || bean.getNewRefundInner().compareTo(0) <= 0) {
+                    throw new RemoteServiceException("新件返还(市区)不能为空或少于等于0");
+                } else {
+                    bean.setNewRefundInner(30);
+                }
+            }
+            if (!websit.getPartsWebsitAttr()) {
+                if (Objects.isNull(bean.getNewRefundOutside()) || bean.getNewRefundOutside().compareTo(0) <= 0) {
+                    throw new RemoteServiceException("新件返还(外区)不能为空或少于等于0");
+                } else {
+                    bean.setNewRefundOutside(30);
+                }
+            }
+        } else {
+            if (Objects.isNull(bean.getNewRefundInner()) || bean.getNewRefundInner().compareTo(0) <= 0) {
+                throw new RemoteServiceException("新件返还(市区)不能为空或少于等于0");
+            }
+            if (Objects.isNull(bean.getNewRefundOutside()) || bean.getNewRefundOutside().compareTo(0) <= 0) {
+                throw new RemoteServiceException("新件返还(外区)不能为空或少于等于0");
+            }
         }
         if (Objects.isNull(bean.getOldRefund()) || bean.getOldRefund().compareTo(0) <= 0) {
             throw new RemoteServiceException("旧件返还不能为空或少于等于0");
@@ -116,6 +140,38 @@ public class WebsitPartsConfigLogic {
         if (adminUser.getType() == 2) {
             throw new RemoteServiceException("平台账号禁止操作");
         }
+
+        final AdminWebsit websit = adminWebsitService.lambdaQuery()
+                .eq(AdminWebsit::getCompanyWechatId, adminUser.getCompanyWechatId())
+                .eq(AdminWebsit::getWebsitId, bean.getWebsitId())
+                .one();
+        if (Objects.nonNull(websit)) {
+            if (websit.getPartsWebsitAttr()) {
+                if (Objects.isNull(bean.getNewRefundInner()) || bean.getNewRefundInner().compareTo(0) <= 0) {
+                    throw new RemoteServiceException("新件返还(市区)不能为空或少于等于0");
+                } else {
+                    bean.setNewRefundInner(30);
+                }
+            }
+            if (!websit.getPartsWebsitAttr()) {
+                if (Objects.isNull(bean.getNewRefundOutside()) || bean.getNewRefundOutside().compareTo(0) <= 0) {
+                    throw new RemoteServiceException("新件返还(外区)不能为空或少于等于0");
+                } else {
+                    bean.setNewRefundOutside(30);
+                }
+            }
+        } else {
+            if (Objects.isNull(bean.getNewRefundInner()) || bean.getNewRefundInner().compareTo(0) <= 0) {
+                throw new RemoteServiceException("新件返还(市区)不能为空或少于等于0");
+            }
+            if (Objects.isNull(bean.getNewRefundOutside()) || bean.getNewRefundOutside().compareTo(0) <= 0) {
+                throw new RemoteServiceException("新件返还(外区)不能为空或少于等于0");
+            }
+        }
+        if (Objects.isNull(bean.getOldRefund()) || bean.getOldRefund().compareTo(0) <= 0) {
+            throw new RemoteServiceException("旧件返还不能为空或少于等于0");
+        }
+
         WebsitPartsRefundConfig oldRefundConfig = websitPartsRefundConfigService.getById(bean.getId());
         if (oldRefundConfig.getIsDefault() && adminUser.getType() == 0) {
             throw new RemoteServiceException("非商户账号不能修改默认记录");