瀏覽代碼

限制限定项目数量开发

anderx 1 年之前
父節點
當前提交
e0fd8a76c0

+ 3 - 0
src/main/java/com/goafanti/business/controller/RestrictProjectController.java

@@ -33,6 +33,9 @@ public class RestrictProjectController extends CertifyApiController {
                     ParamUtils.getParamName(in,bindingResult.getFieldError().getField())));
             return res;
         }
+        if (restrictProjectService.checkMax()){
+            return res.error(buildError("领取失败!您的“私有客户/私有限定项目”总计已超出最大限制,请移出相关数据后,再来领取!"));
+        }
         return res.data(restrictProjectService.add(in));
     }
 

+ 2 - 0
src/main/java/com/goafanti/business/service/RestrictProjectService.java

@@ -15,4 +15,6 @@ public interface RestrictProjectService {
     Object getFollowDetails(String uid);
 
     Object getRestrictProjectUser(String ids);
+
+    boolean checkMax();
 }

+ 30 - 0
src/main/java/com/goafanti/business/service/impl/RestrictProjectServiceImpl.java

@@ -16,6 +16,7 @@ import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.customer.bo.BusinessListBo;
 import com.goafanti.customer.bo.FollowBusinessBo;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -39,6 +40,13 @@ public class RestrictProjectServiceImpl extends BaseMybatisDao<RestrictProjectMa
     @Resource
     private BusinessProjectMapper businessProjectMapper;
 
+    @Value(value = "${yxzj_max}")
+    private Integer YXZJ_MAX = null;
+    @Value(value = "${yxy_max}")
+    private Integer YXY_MAX = null;
+    @Value(value = "${yxjl_max}")
+    private Integer YXJL_MAX = null;
+
 
 
 
@@ -263,4 +271,26 @@ public class RestrictProjectServiceImpl extends BaseMybatisDao<RestrictProjectMa
         }
         return list;
     }
+
+    @Override
+    public boolean checkMax() {
+        int i = userMapper.checkUserMax(TokenManager.getAdminId());
+        int limitmax=100;
+        //加入限定项目的数量
+        int rpCount =restrictProjectMapper.selectPrivateByAid(TokenManager.getAdminId());
+        i=i+rpCount+1;
+        if (TokenManager.hasRole(AFTConstants.SALESMAN_DIRECTOR)){
+            if(limitmax<YXZJ_MAX)limitmax = YXZJ_MAX;
+        } else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)){
+            if(limitmax<YXJL_MAX)limitmax = YXJL_MAX;
+
+        } else if (TokenManager.hasRole(AFTConstants.SALESMAN)){
+            if(limitmax<YXY_MAX)limitmax = YXY_MAX;
+
+        }
+        if (i >= limitmax) {
+            return true;
+        }
+        return false;
+    }
 }