// Path: xbin-store-cloud-common/src/main/java/cn/binux/pojo/XbinResult.java
// public class XbinResult {
// 
//     // 响应业务状态
//     private Integer status;
// 
//     // 响应消息
//     private String msg;
// 
//     // 响应中的数据
//     private Object data;
// 
//     public static XbinResult build(Integer status, String msg, Object data) {
//         return new XbinResult(status, msg, data);
//     }
// 
//     public static XbinResult ok(Object data) {
//         return new XbinResult(data);
//     }
// 
//     public static XbinResult ok() {
//         return new XbinResult(null);
//     }
// 
//     public XbinResult() {
// 
//     }
// 
//     public static XbinResult build(Integer status, String msg) {
//         return new XbinResult(status, msg, null);
//     }
// 
//     public XbinResult(Integer status, String msg, Object data) {
//         this.status = status;
//         this.msg = msg;
//         this.data = data;
//     }
// 
//     public XbinResult(Object data) {
//         this.status = 200;
//         this.msg = "OK";
//         this.data = data;
//     }
// 
//     public Boolean isOK() {
//         return this.status == 200;
//     }
// 
//     public Integer getStatus() {
//         return status;
//     }
// 
//     public void setStatus(Integer status) {
//         this.status = status;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public void setMsg(String msg) {
//         this.msg = msg;
//     }
// 
//     public Object getData() {
//         return data;
//     }
// 
//     public void setData(Object data) {
//         this.data = data;
//     }
// 
// 
// 
// }
// 
// Path: xbin-store-cloud-service-search-api/src/main/java/cn/binux/search/service/SearchService.java
// @FeignClient(value = "xbin-store-cloud-service-search",fallback = SearchServiceHystrix.class)
// public interface SearchService {
// 
//     //http://localhost:8512/search/SolrService/importAllItems/TztyomXxDyi92
//     /**
//      * 导入全部商品索引
//      *
//      * @return
//      */
//     @RequestMapping(value = "/importAllItems",method = RequestMethod.POST)
//     XbinResult importAllItems();
// 
//     //http://localhost:8512/search/SolrService/search/查询条件/1/60
//     /**
//      * 查询商品
//      * @param queryString 查询条件
//      * @param page 第几页
//      * @param rows 每页几条
//      * @return 返回商品Json
//      * @throws Exception
//      */
//     @RequestMapping(value = "/search",method = RequestMethod.POST)
//     SearchResult search(
//             @RequestParam("q")                  String queryString,
//             @RequestParam(name = "page",defaultValue = "1")   Integer page,
//             @RequestParam(name = "rows",defaultValue = "0")   Integer rows
//     );
// }


import cn.binux.pojo.SearchResult;
import cn.binux.pojo.SolrItem;
import cn.binux.pojo.XbinResult;
import cn.binux.search.mapper.SearchMapper;
import cn.binux.search.service.SearchService;
import io.swagger.annotations.*;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
package cn.binux.search.service.impl;



/**
 * Solr Service 实现类
 *
 * @author xubin.
 * @create 2017-05-03
 */

@RestController
public class SearchServiceImpl implements SearchService {

    @Autowired
    private SearchMapper searchMapper;

    @Autowired
    private SolrClient solrClient;

    private static Logger logger = LoggerFactory.getLogger(SearchServiceImpl.class);

    @Override
    @ApiOperation("初始化solr数据 导入全部商品数据")
    @ApiResponses(
            {
                    @ApiResponse(code = 200, message = "Successful — 请求已完成"),
                    @ApiResponse(code = 400, message = "请求中有语法问题，或不能满足请求"),
                    @ApiResponse(code = 401, message = "未授权客户机访问数据"),
                    @ApiResponse(code = 404, message = "服务器找不到给定的资源；文档不存在"),
                    @ApiResponse(code = 500, message = "服务器不能完成请求")
            }
    )
// Path: xbin-store-cloud-common/src/main/java/cn/binux/pojo/XbinResult.java
// public class XbinResult {
// 
//     // 响应业务状态
//     private Integer status;
// 
//     // 响应消息
//     private String msg;
// 
//     // 响应中的数据
//     private Object data;
// 
//     public static XbinResult build(Integer status, String msg, Object data) {
//         return new XbinResult(status, msg, data);
//     }
// 
//     public static XbinResult ok(Object data) {
//         return new XbinResult(data);
//     }
// 
//     public static XbinResult ok() {
//         return new XbinResult(null);
//     }
// 
//     public XbinResult() {
// 
//     }
// 
//     public static XbinResult build(Integer status, String msg) {
//         return new XbinResult(status, msg, null);
//     }
// 
//     public XbinResult(Integer status, String msg, Object data) {
//         this.status = status;
//         this.msg = msg;
//         this.data = data;
//     }
// 
//     public XbinResult(Object data) {
//         this.status = 200;
//         this.msg = "OK";
//         this.data = data;
//     }
// 
//     public Boolean isOK() {
//         return this.status == 200;
//     }
// 
//     public Integer getStatus() {
//         return status;
//     }
// 
//     public void setStatus(Integer status) {
//         this.status = status;
//     }
// 
//     public String getMsg() {
//         return msg;
//     }
// 
//     public void setMsg(String msg) {
//         this.msg = msg;
//     }
// 
//     public Object getData() {
//         return data;
//     }
// 
//     public void setData(Object data) {
//         this.data = data;
//     }
// 
// 
// 
// }
// 
// Path: xbin-store-cloud-service-search-api/src/main/java/cn/binux/search/service/SearchService.java
// @FeignClient(value = "xbin-store-cloud-service-search",fallback = SearchServiceHystrix.class)
// public interface SearchService {
// 
//     //http://localhost:8512/search/SolrService/importAllItems/TztyomXxDyi92
//     /**
//      * 导入全部商品索引
//      *
//      * @return
//      */
//     @RequestMapping(value = "/importAllItems",method = RequestMethod.POST)
//     XbinResult importAllItems();
// 
//     //http://localhost:8512/search/SolrService/search/查询条件/1/60
//     /**
//      * 查询商品
//      * @param queryString 查询条件
//      * @param page 第几页
//      * @param rows 每页几条
//      * @return 返回商品Json
//      * @throws Exception
//      */
//     @RequestMapping(value = "/search",method = RequestMethod.POST)
//     SearchResult search(
//             @RequestParam("q")                  String queryString,
//             @RequestParam(name = "page",defaultValue = "1")   Integer page,
//             @RequestParam(name = "rows",defaultValue = "0")   Integer rows
//     );
// }


// Path: xbin-store-cloud-service-search/src/main/java/cn/binux/search/service/impl/SearchServiceImpl.java
import cn.binux.pojo.SearchResult;
import cn.binux.pojo.SolrItem;
import cn.binux.pojo.XbinResult;
import cn.binux.search.mapper.SearchMapper;
import cn.binux.search.service.SearchService;
import io.swagger.annotations.*;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

package cn.binux.search.service.impl;



/**
 * Solr Service 实现类
 *
 * @author xubin.
 * @create 2017-05-03
 */

@RestController
public class SearchServiceImpl implements SearchService {

    @Autowired
    private SearchMapper searchMapper;

    @Autowired
    private SolrClient solrClient;

    private static Logger logger = LoggerFactory.getLogger(SearchServiceImpl.class);

    @Override
    @ApiOperation("初始化solr数据 导入全部商品数据")
    @ApiResponses(
            {
                    @ApiResponse(code = 200, message = "Successful — 请求已完成"),
                    @ApiResponse(code = 400, message = "请求中有语法问题，或不能满足请求"),
                    @ApiResponse(code = 401, message = "未授权客户机访问数据"),
                    @ApiResponse(code = 404, message = "服务器找不到给定的资源；文档不存在"),
                    @ApiResponse(code = 500, message = "服务器不能完成请求")
            }
    )
    public XbinResult importAllItems() {