Parcourir la source

修复校验逻辑

lmx il y a 4 jours
Parent
commit
ea3bf53445

+ 71 - 2
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreProductScrmServiceImpl.java

@@ -441,8 +441,8 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
                 String productTypeName = getProductTypeName(product.getCateId());
                 if (com.fs.common.utils.StringUtils.isNotEmpty(productTypeName)) {
                     // 直接使用工具类方法校验
-                    boolean isAllowed = BusinessScopeProductTypeUtil.isProductTypeAllowed(
-                            store.getSelectableProductTypes(), productTypeName);
+//                    boolean isAllowed = BusinessScopeProductTypeUtil.isProductTypeAllowed(store.getSelectableProductTypes(), productTypeName);
+                    boolean isAllowed = validateShopBusinessScope(store.getBusinessScope(),productTypeName);
                     if (!isAllowed) {
                         return R.error("该商品类型[" + productTypeName + "]不在店铺经营范围允许的商品类型内,请联系管理员核实经营范围");
                     }
@@ -512,6 +512,75 @@ public class FsStoreProductScrmServiceImpl implements IFsStoreProductScrmService
         return R.ok();
     }
 
+    /**
+     * 校验店铺添加药品是否含有祥光资质
+     * @param businessScope
+     * @param productTypeName
+     * @return
+     */
+    public Boolean validateShopBusinessScope(String businessScope, String productTypeName) {
+        Set<String> judgmentSet = new HashSet<>();
+        Boolean res = Boolean.TRUE;
+        switch (productTypeName) {
+            case "中成药":
+                judgmentSet.add("中成药");
+                judgmentSet.add("中成药");
+                judgmentSet.add("药品零售");
+                break;
+            case "处方药":
+                judgmentSet.add("处方药/化学药制剂");
+                judgmentSet.add("处方药/化学药制剂");
+                judgmentSet.add("药品零售");
+                break;
+            case "中药饮片":
+                judgmentSet.add("中药饮片");
+                judgmentSet.add("中药饮片");
+                judgmentSet.add("药品零售");
+                break;
+            case "保健食品":
+                judgmentSet.add("保健食品销售");
+                judgmentSet.add("保健食品销售");
+                judgmentSet.add("保健食品销售");
+                break;
+            case "I类器械":
+                judgmentSet.add("第一类医疗器械销售");
+                judgmentSet.add("第一类医疗器械销售");
+                judgmentSet.add("第一类医疗器械备案凭证");
+                break;
+            case "II类器械":
+                judgmentSet.add("第二类医疗器械销售");
+                judgmentSet.add("第二类医疗器械销售");
+                judgmentSet.add("第二类医疗器械备案凭证");
+                break;
+            case "III类器械":
+                judgmentSet.add("第二类医疗器械经营");
+                judgmentSet.add("第二类医疗器械经营");
+                judgmentSet.add("第二类医疗器械注册证");
+                break;
+            case "甲类非处方":
+                judgmentSet.add("甲类非处方药/化学药制剂");
+                judgmentSet.add("甲类非处方药/化学药制剂");
+                judgmentSet.add("药品零售");
+                break;
+            case "乙类非处方":
+                judgmentSet.add("乙类非处方药/化学药制剂");
+                judgmentSet.add("乙类非处方药/化学药制剂");
+                judgmentSet.add("药品零售");
+                break;
+        }
+
+        if(null != judgmentSet && !judgmentSet.isEmpty()){
+           for(String item:judgmentSet){
+               res = res && businessScope.contains(item);
+               if(!res) break;
+           }
+        }
+        else{
+            res = false;
+        }
+        return res;
+    }
+
 
     private void addProductAttr(Long productId, List<ProductArrtDTO> items, List<FsStoreProductAttrValueScrm> values,Long storeId){
         //清空attr