Browse Source

Merge remote-tracking branch 'origin/dev-mysql' into dev-mysql

yujia 8 years ago
parent
commit
55f459d5fe

+ 26 - 0
src/main/java/com/uas/platform/b2c/common/search/controller/SearcherController.java

@@ -18,6 +18,8 @@ import org.apache.commons.collections.map.HashedMap;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -25,6 +27,10 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -380,4 +386,24 @@ public class SearcherController {
 		SystemSession.setUser((User)request.getSession().getAttribute("user"));
 		return searcherService.deleteSearchHistoryByuserUUAndenUU();
 	}
+
+	/**
+	 * 分页获取搜索记录
+	 * @return
+	 */
+	@RequestMapping(value = "/searchHistory/page",method = RequestMethod.GET)
+	@ResponseBody
+	public Page<SearchHistory> getByUserUuByPage(PageParams params) {
+		final PageInfo info = new PageInfo(params);
+		if(info.getSort() == null){
+			info.sorting("searchTime", Sort.Direction.DESC);
+		}
+		Page<SearchHistory> pageLogs = searchHistoryDao.findAll(new Specification<SearchHistory>() {
+			public Predicate toPredicate(Root<SearchHistory> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+				query.where(info.getPredicates(root, query, builder));
+				return null;
+			}
+		}, info);
+		return pageLogs;
+	}
 }

+ 1 - 1
src/main/java/com/uas/platform/b2c/core/filter/SSOInterceptor.java

@@ -195,7 +195,7 @@ public class SSOInterceptor extends AbstractSSOInterceptor {
         if (needPermission != null) {
             if ("prod".equals(profile)) {
                 if (!user.getEnterprise().getUu().toString().equals(enUU)) {
-                    if ("进入优软商城后台进行运营维护".equals(needPermission)) {
+                    if ("优软商城后台-运维".equals(needPermission)) {
                         throw new AccessDeniedException("无法访问,没有 " + needPermission + " 权限!");
                     }
                 }

+ 11 - 3
src/main/webapp/resources/js/admin/controllers/ads/ads_component.js

@@ -31,7 +31,7 @@ define([ 'app/app' ], function(app) {
 
         $scope.weight = function(brand){
             ComponentActive.setSimpleInfoWeight({weight: brand.inputWeight}, brand, function(data){
-                toaster.pop('success', '处理成功', '【' + data[0].nameCn + '】' + '禁用成功');
+                toaster.pop('success', '处理成功', '【' + data[0].code + '】' + '禁用成功');
                 loadData();
             }, function(res){
                 toaster.pop('error', '错误', res.data);
@@ -40,7 +40,7 @@ define([ 'app/app' ], function(app) {
         $scope.disweight = function(brand){
             ComponentActive.setSimpleInfoWeight({weight: 0}, brand, function(data){
                 if (data.searchWeight == 0){
-                    toaster.pop('success', '处理成功', '【' + data.nameCn + '】' + '已取消推广');
+                    toaster.pop('success', '处理成功', '【' + data.code + '】' + '已取消推广');
                     $scope.load('weight');
                 } else{
                     toaster.pop('error', '错误', '取消推广失败');
@@ -51,12 +51,20 @@ define([ 'app/app' ], function(app) {
         };
         $scope.updateweight = function(brand){
             ComponentActive.setSimpleInfoWeight({weight: brand.inputWeight}, brand, function(data){
-                toaster.pop('success', '处理成功', '【' + data.nameCn + '】' + '已修改推广');
+                toaster.pop('success', '处理成功', '【' + data.code + '】' + '已修改推广');
                 $scope.load('weight');
             }, function(res){
                 toaster.pop('error', '错误', res.data);
             })
         };
 
+        $scope.searchComponent = function(keyword){
+            ComponentActive.getByCode({ code: keyword}, {}, function(data){
+                $scope.searchTableParams = new NgTableParams({}, { dataset: data});
+            }, function(res){
+                toaster.pop('error', '错误', res.data);
+            })
+        };
+
     }]);
 });

+ 50 - 1
src/main/webapp/resources/js/admin/controllers/search/search_See.js

@@ -1,6 +1,6 @@
 define(['app/app'], function (app) {
     'use strict';
-    app.register.controller('SearchSeeBrandCtrl', ['$scope', '$http', '$rootScope', 'SessionService', function($scope, $http, $rootScope, SessionService) {
+    app.register.controller('SearchSeeBrandCtrl', ['$scope', '$http', '$rootScope', 'ngTableParams', 'SessionService', 'BaseService', function($scope, $http, $rootScope, ngTableParams, SessionService, BaseService) {
         $scope.searchType = 'original';// 搜索类型
         $scope.searchType = {
             original: false,
@@ -87,6 +87,20 @@ define(['app/app'], function (app) {
                     },function (error) {
                     });
 
+                    $http({
+                        method:'GET',
+                        url:'search/componentGoods/collect',
+                        params:{
+                            'keyword' : $scope.keyword,
+                            'collectList' : 'goods_brand',
+                            'paramJSON':{}
+                        }}).then(function (data) {
+                        $scope.result = data.data;
+                        $scope.brandtime = (new Date()).valueOf() - timestart;
+                        console.log(data);
+                    },function (error) {
+                    });
+
 
 
                    // window.location.href = 'search?w=' + encodeURI(encodeURIComponent($scope.keyword)) + '&type=all';
@@ -102,6 +116,41 @@ define(['app/app'], function (app) {
             if(!$scope.keyword) $scope.keyword = '';
         };
 
+        //table设置
+        $scope.searchLogTableParams = new ngTableParams({
+            page : 1,
+            count : 20
+        }, {
+            total : 0,
+            getData : function ($defer, params) {
+                $scope.paginationParams = params;
+                const param = BaseService.parseParams(params.url());
+                //param.status = $scope.status;
+                if($scope.search !=null){
+                    if($scope.search == 1){
+                        param.userUu = $scope.searchContent;
+                    }
+                    if($scope.search == 2){
+                        param.userName = $scope.searchContent;
+                    }
+                }
+
+                $http({
+                    method:'GET',
+                    url:'search/searchHistory/page',
+                    params:param
+                }).then(function (data) {
+                    params.total(data.totalElements);
+                    $defer.resolve(data.data.content);
+                    $scope.logs = data.data.content;
+                    params.total(data.data.totalElements);
+                    console.log(data.data.content);
+                },function (error) {
+                });
+            }
+        });
+
+
         // 搜索框失去焦点,关闭联想框
         $scope.onBlur = function() {
             $scope.associate = false;

+ 14 - 1
src/main/webapp/resources/view/admin/ads/ads_component.html

@@ -27,7 +27,20 @@
             <!-- ng-tableStart -->
             <div class="fullscreen" style="padding: 10px;overflow-y:auto;">
                 <input  style="height: 30px"  ng-model="keyword"/>
-                <button ng-click="updateweight(brand)" class="btn btn-danger btn-sm" ng-if="brand.searchWeight"><i class="fa fa-check"></i> 修改推广</button>
+                <button ng-click="searchComponent(keyword)" class="btn btn-danger btn-sm" ><i class="fa fa-check"></i> 搜索器件</button>
+                <table ng-table="searchTableParams" class="table table-condensed table-bordered table-striped">
+                    <tr ng-repeat="brand in $data">
+                        <td data-title="'器件名'" filter="{code: 'text'}">{{brand.code}}</td>
+                        <td data-title="'品牌名'" filter="{brand.nameCn: 'text'}">{{brand.brand.nameCn}}</td>
+                        <td data-title="'权重'" >{{brand.searchWeight}}</td>
+                        <td data-title="'操作'">
+                            <button ng-click="updateweight(brand)" class="btn btn-danger btn-sm" ng-if="!brand.searchWeight"><i class="fa fa-check"></i> 推广</button>
+                            <button ng-click="disweight(brand)" class="btn btn-danger btn-sm" ng-if="brand.searchWeight"><i class="fa fa-check"></i> 解除推广</button>
+                            <button ng-click="updateweight(brand)" class="btn btn-danger btn-sm" ng-if="brand.searchWeight"><i class="fa fa-check"></i> 修改推广</button>
+                            <input type="number" style="height: 30px"  ng-model="brand.inputWeight"/>
+                        </td>
+                    </tr>
+                </table>
             </div>
             <!-- ng-tableEnd -->
         </div>

+ 11 - 20
src/main/webapp/resources/view/admin/search/search_See.html

@@ -14,7 +14,9 @@
                     共<span class="totalNum">{{result.total}}</span>条
                 </p>
                 <p style="margin-top: 8px; font-weight: bold;">
-                    共耗时<span class="totalNum">{{result.time}}</span>ms  ,kind共耗时 {{kindtime}} ms
+                    共耗时<span class="totalNum">{{result.time}}</span>ms  <br><br>
+                    类目统计共耗时 {{kindtime}} ms <br><br>
+                    品牌统计共耗时 {{brandtime}} ms
                 </p>
             </div>
             <div class="col-xs-offset-4 col-xs-7">
@@ -24,10 +26,7 @@
 					<button ng-click="search()" class="btn btn-primary" type="button">搜索</button>
 				</span>
                 </div>
-                <ul class="association" ng-show="associate || associateEnter"  ng-class="{'none': !associate || !associateEnter}" ng-mouseenter="onAssociateEnter()" ng-mouseleave="onAssociateLeave()">
-                    <li ng-repeat="as in associates" ng-bind="as" ng-class="{'active': $index==selectIndex}"
-                        ng-click="onAssociateClick(as)"></li>
-                </ul>
+
             </div>
         </div>
         <!--
@@ -39,30 +38,22 @@
             </div>
             -->
         <p ng-model="test"></p>
-        <table ng-table="logUsageTableParams"
+        <table ng-table="searchLogTableParams"
                class="table table-bordered table-striped table-hover" style="word-break:break-all; word-wrap:break-all;">
             <thead>
             <tr class="tr-default">
                 <th width="10%;" class="text-center">用户UU号</th>
-                <th width="7%;" class="text-center">用户名</th>
-                <th width="10%" class="text-center">标题</th>
-                <th width="30%" class="text-center">具体操作信息</th>
-                <th width="8%%" class="text-center">时间</th>
-                <th width="10%" class="text-center">ip</th>
-                <th width="10%" class="text-center">手机号</th>
-                <th width="15%" class="text-center">邮箱</th>
+                <th width="7%;" class="text-center">企业UU号</th>
+                <th width="10%" class="text-center">搜索词</th>
+                <th width="30%" class="text-center">搜索时间</th>
             </tr>
             </thead>
             <tbody ng-repeat="logUsage in $data">
             <tr class="text-center">
                 <td><span ng-bind="logUsage.userUU"></span></td>
-                <td><span ng-bind="logUsage.user.userName"></span></td>
-                <td><span ng-bind="logUsage.title"></span></td>
-                <td><span ng-bind="logUsage.message+logUsage.detail"></span></td>
-                <td><span ng-bind="logUsage.time | date:'yyyy-MM-dd HH:mm:ss'"></span></td>
-                <td><span ng-bind="logUsage.ip"></span></td>
-                <td><span ng-bind="logUsage.user.userTel"></span></td>
-                <td><span ng-bind="logUsage.user.userEmail"></span></td>
+                <td><span ng-bind="logUsage.userEnuu"></span></td>
+                <td><span ng-bind="logUsage.keyword"></span></td>
+                <td><span ng-bind="logUsage.searchTime | date:'yyyy-MM-dd HH:mm:ss'"></span></td>
             </tr>
             </tbody>
         </table>