Browse Source

获取数据过滤类修改

hulh 8 years ago
parent
commit
803cf04093

+ 16 - 0
src/main/java/com/uas/platform/b2c/core/utils/RegexConstant.java

@@ -20,6 +20,11 @@ public class RegexConstant {
      */
     public static final String NumberData = "^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$";
 
+    /**
+     * 仅包含数字
+     */
+    public static final String ONLY_NUMBER = "^[0-9]*$";
+
     /**
      * 整数的正则表达式
      */
@@ -45,4 +50,15 @@ public class RegexConstant {
         Matcher matcher = numberPattern.matcher(str);
         return matcher.find();
     }
+
+    /**
+     * 判断字符串是否只有数字
+     * @param str
+     * @return
+     */
+    public static Boolean onlyHaveNumber(String str) {
+        Pattern numberPattern = Pattern.compile(ONLY_NUMBER);
+        Matcher matcher = numberPattern.matcher(str);
+        return matcher.find();
+    }
 }

+ 0 - 38
src/main/java/com/uas/platform/b2c/prod/commodity/model/GoodsFilter.java

@@ -60,43 +60,5 @@ public class GoodsFilter {
      */
     private Boolean haveImg;
 
-    public String getCode() {
-        return code;
-    }
 
-    public String getBrand() {
-        return brand;
-    }
-
-    public String getStore() {
-        return store;
-    }
-
-    public String getKindUuid() {
-        return kindUuid;
-    }
-
-    public String getCurrency() {
-        return currency;
-    }
-
-    public Boolean getSaleSelf() {
-        return saleSelf;
-    }
-
-    public Boolean getBreakUp() {
-        return breakUp;
-    }
-
-    public Boolean getStandard() {
-        return standard;
-    }
-
-    public Boolean getAudited() {
-        return audited;
-    }
-
-    public Boolean getHaveImg() {
-        return haveImg;
-    }
 }

+ 23 - 4
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java

@@ -20,6 +20,7 @@ import com.uas.platform.b2c.core.utils.DoubleArith;
 import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.core.utils.PatternUtil;
+import com.uas.platform.b2c.core.utils.RegexConstant;
 import com.uas.platform.b2c.external.erp.commodity.util.ModelConverter;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
@@ -3295,10 +3296,14 @@ public class GoodsServiceImpl implements GoodsService {
 			info.expression(PredicateUtils.or((CriterionExpression[]) brandExpression));
 		}
 		if (!StringUtils.isEmpty(goodsFilter.getStore())) {
-			SimpleExpression[] storeExpression = new SimpleExpression[2];
-			storeExpression[0] = PredicateUtils.like("enUU", goodsFilter.getStore(), false, true);
-			storeExpression[1] = PredicateUtils.like("enterpriseName", goodsFilter.getStore(), false, true);
-			info.expression(PredicateUtils.or((CriterionExpression[]) storeExpression));
+            if (RegexConstant.onlyHaveNumber(goodsFilter.getStore())) {
+                SimpleExpression[] storeExpression = new SimpleExpression[2];
+                storeExpression[0] = PredicateUtils.eq("enUU", goodsFilter.getStore(), true);
+                storeExpression[1] = PredicateUtils.like("enterpriseName", goodsFilter.getStore(), false, true);
+                info.expression(PredicateUtils.or((CriterionExpression[]) storeExpression));
+            } else {
+                info.filter("enterpriseName", goodsFilter.getStore());
+            }
 		}
 		if (!StringUtils.isEmpty(goodsFilter.getKindUuid())) {
 			// 如果包含多个叶子类目ID,则获取所有的叶子类目对应的商品信息
@@ -3322,5 +3327,19 @@ public class GoodsServiceImpl implements GoodsService {
 		if (goodsFilter.getBreakUp() != null) {
 			info.filter("breakUp", goodsFilter.getBreakUp(), false);
 		}
+		if (goodsFilter.getHaveImg() != null) {
+            if (goodsFilter.getHaveImg()) {
+                info.expression(PredicateUtils.isNotNull("img"));
+            } else {
+                info.expression(PredicateUtils.isNull("img"));
+            }
+        }
+        if (goodsFilter.getStandard() != null) {
+            if (goodsFilter.getStandard()) {
+                info.expression(PredicateUtils.isNotNull("uuid"));
+            } else {
+                info.expression(PredicateUtils.isNull("uuid"));
+            }
+        }
 	}
 }

+ 8 - 5
src/main/webapp/resources/js/admin/controllers/product/productManageCtrl.js

@@ -2,6 +2,7 @@ define(['app/app'], function(app) {
     'use strict';
     app.register.controller('productManageCtrl', ['$scope', '$modal', 'toaster', 'ngTableParams', 'BaseService', '$http', 'Goods', 'BackgroundRecord', 'Commodity', function($scope, $modal, toaster, ngTableParams, BaseService, $http, Goods, BackgroundRecord, Commodity) {
 
+        $scope.goodsFilter = {};
         var initTitleInfo = function () {
             BackgroundRecord.getUserTitle({}, function (data) {
                 $scope.tableTabs = data;
@@ -22,7 +23,7 @@ define(['app/app'], function(app) {
             counts: [],
             getData: function ($defer, params) {
                 var param = BaseService.parseParams(params.url());
-                Goods.loadGoodsList(param, {}, function (data) {
+                Goods.loadGoodsList(param, $scope.goodsFilter, function (data) {
                     $scope.goodsList = data.content;
                     angular.forEach($scope.goodsList, function (list) {
                         list.isChoosed = false
@@ -108,7 +109,7 @@ define(['app/app'], function(app) {
         };
         $scope.selectDown = false;
         $scope.treeOptions = {
-            nodeChildren: "items",
+            nodeChildren: "children",
             dirSelectable: false,
             injectClasses: {
                 ul: "a1",
@@ -122,15 +123,17 @@ define(['app/app'], function(app) {
             }
         };
         $scope.showSelected = function(node) {
-            $scope.leaf = node.label;
+            $scope.leaf = node.nameCn;
             $scope.selectDown = false;
         };
 
 
         // 搜索事件
-        $scope.searchClick = function (data) {
-
+        $scope.searchClick = function () {
+            $scope.manageTableParams.page(1);
+            $scope.manageTableParams.reload();
         };
+
         // 产品导出事件
         $scope.exportClick = function (data) {
             var modalInstance = $modal.open({

+ 22 - 5
src/main/webapp/resources/view/admin/product/productManage.html

@@ -5,14 +5,14 @@
                 <div class="form-inline">
                     <div class="form-group form-group-sm">
                         <label class="control-label">
-                            关键字
-                            <input class="form-control width140" type="text" placeholder="商家/类目/型号/品牌等">
+                            型号
+                            <input class="form-control width140" type="text" ng-model="goodsFilter.code" placeholder="型号">
                         </label>
                     </div>
                     <div class="form-group form-group-sm">
                         <label class="control-label">
                             商家:
-                            <input class="form-control width140" type="text" placeholder="商家ID/商家名称">
+                            <input class="form-control width140" type="text" ng-model="goodsFilter.store" placeholder="商家ID/商家名称">
                         </label>
                     </div>
                     <div class="form-group form-group-sm">
@@ -20,14 +20,19 @@
                             在售状态:
                             <select name="" id="1" class="form-control width88">
                                 <option value="">全部</option>
+                                <option value="">已上架</option>
+                                <option value="">新品未上架</option>
+                                <option value="">已下架</option>
                             </select>
                         </label>
                     </div>
                     <div class="form-group form-group-sm">
                         <label class="control-label">
                             &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;币种:
-                            <select name="" id="2" class="form-control width60">
+                            <select id="2" class="form-control width60" ng-model="goodsFilter.currency">
                                 <option value="">全部</option>
+                                <option value="RMB">RMB</option>
+                                <option value="USD">USD</option>
                             </select>
                         </label>
                     </div>
@@ -36,6 +41,8 @@
                             拆包售卖:
                             <select name="" id="3" class="form-control width88">
                                 <option value="">全部</option>
+                                <option value="">可拆卖</option>
+                                <option value="">不可拆卖</option>
                             </select>
                         </label>
                     </div>
@@ -44,6 +51,8 @@
                             审核状态:
                             <select name="" id="4" class="form-control width60">
                                 <option value="">全部</option>
+                                <option value="">已审核</option>
+                                <option value="">未审核</option>
                             </select>
                         </label>
                     </div>
@@ -63,7 +72,7 @@
                                          tree-model="kindInfo"
                                          options="treeOptions"
                                          on-selection="showSelected(node)">
-                                        <span ng-bind="node.label"></span>
+                                        <span ng-bind="node.nameCn"></span>
                                     </div>
                                 </li>
                             </ul>
@@ -80,6 +89,8 @@
                             在售数量:
                             <select name="" id="6" class="form-control width88">
                                 <option value="">全部</option>
+                                <option value="">有货</option>
+                                <option value="">不足起订量</option>
                             </select>
                         </label>
                     </div>
@@ -88,6 +99,8 @@
                             销售方式:
                             <select name="" id="7" class="form-control width60">
                                 <option value="">全部</option>
+                                <option value="">自营</option>
+                                <option value="">寄售</option>
                             </select>
                         </label>
                     </div>
@@ -96,6 +109,8 @@
                             产品类型:
                             <select name="" id="8" class="form-control width88">
                                 <option value="">全部</option>
+                                <option value="">标准产品</option>
+                                <option value="">非标准产品</option>
                             </select>
                         </label>
                     </div>
@@ -104,6 +119,8 @@
                             图片类型:
                             <select name="" id="9" class="form-control width88">
                                 <option value="">全部</option>
+                                <option value="">自有图片</option>
+                                <option value="">默认图片</option>
                             </select>
                         </label>
                     </div>