From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 19 五月 2020 17:13:23 +0800
Subject: [PATCH] 饿了么绘图,添加口碑

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java |  906 +++++++++++++++++++++++++++----------------------------
 1 files changed, 444 insertions(+), 462 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java b/fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java
index 761628c..5bad427 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java
@@ -3,23 +3,23 @@
 import java.io.PrintWriter;
 import java.math.BigDecimal;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import javax.annotation.Resource;
-
-import net.sf.json.JSONObject;
+import javax.servlet.http.HttpServletRequest;
 
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.yeshi.utils.JsonUtil;
 
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import com.google.gson.reflect.TypeToken;
 import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
 import com.yeshi.fanli.entity.bus.lable.QualityFactory;
+import com.yeshi.fanli.entity.common.AdminUser;
 import com.yeshi.fanli.entity.taobao.PidUser;
 import com.yeshi.fanli.entity.taobao.SearchFilter;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
@@ -27,25 +27,22 @@
 import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
 import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
 import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
-import com.yeshi.fanli.exception.ExistObjectException;
-import com.yeshi.fanli.exception.NotExistObjectException;
-import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
 import com.yeshi.fanli.service.inter.goods.GoodsClassService;
 import com.yeshi.fanli.service.inter.goods.TaoBaoClassService;
-import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefRecordService;
 import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
 import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
 import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
 import com.yeshi.fanli.service.inter.taobao.TaobaoMeterialService;
+import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
 import com.yeshi.fanli.tag.PageEntity;
 import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.GsonUtil;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
-import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.taobao.TaoBaoUtil;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import org.yeshi.utils.JsonUtil;
+
+import net.sf.json.JSONObject;
 
 @Controller
 @RequestMapping("admin/new/api/v1/taobao")
@@ -53,212 +50,23 @@
 
 	@Resource
 	private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
-	@Resource
-	private TaoBaoGoodsBriefRecordService taoBaoGoodsBriefRecordService;
 
 	@Resource
-	private RedisManager redisManager;
-	@Resource
-	private QualityFactoryService selectionGoodsService;
+	private QualityFactoryService qualityFactoryService;
+
 	@Resource
 	private TaoBaoUnionConfigService taoBaoUnionConfigService;
-	
+
 	@Resource
 	private TaobaoMeterialService taobaoMeterialService;
 	@Resource
 	private GoodsClassService goodsClassService;
-	
+
 	@Resource
 	private TaoBaoClassService taoBaoClassService;
 	
-	
-	@RequestMapping(value = "getTBGoodsList", method = RequestMethod.POST)
-	public void getTaoBaoGoodsBriefList(int pageIndex, String key, PrintWriter out) {
-
-		List<TaoBaoGoodsBrief> taoBaoGoodsBriefList = taoBaoGoodsBriefService.getTBList(pageIndex - 1, key);
-		int count = taoBaoGoodsBriefService.getCount(key);
-		int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1;
-		PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage);
-		Map<String, String> map = new HashMap<String, String>();
-		map.put("key", key);
-		pe.setParams(map);
-		JSONObject data = new JSONObject();
-		data.put("pe", pe);
-		data.put("taoBaoGoodsBriefList", GsonUtil.toDFJson(taoBaoGoodsBriefList));
-		out.print(JsonUtil.loadTrueResult(data));
-	}
-
-	@RequestMapping(value = "getInvalidTaoBaoGoods", method = RequestMethod.POST)
-	public void getInvalidTaoBaoGoods(int pageIndex, PrintWriter out) {
-		List<TaoBaoGoodsBrief> taoBaoGoodsBriefList = taoBaoGoodsBriefService.getInvalidTB(pageIndex);
-		int count = taoBaoGoodsBriefService.getInvalidCount();
-		int totalPage = count % Constant.PAGE_SIZE == 0 ? count / Constant.PAGE_SIZE : count / Constant.PAGE_SIZE + 1;
-		PageEntity pe = new PageEntity(pageIndex, Constant.PAGE_SIZE, count, totalPage);
-		JSONObject data = new JSONObject();
-		data.put("pe", pe);
-		data.put("taoBaoGoodsBriefList", GsonUtil.toDFJson(taoBaoGoodsBriefList));
-		out.print(JsonUtil.loadTrueResult(data));
-	}
-
-	@RequestMapping(value = "getTaobaoGoods", method = RequestMethod.POST)
-	public void getTaoBaoGoodsBrief(long id, PrintWriter out) {
-		TaoBaoGoodsBrief taobao = taoBaoGoodsBriefService.getTaoBao(id);
-
-		if (taobao == null) {
-			out.append(JsonUtil.loadFalseResult("涓嶅瓨鍦ㄨ鍟嗗搧"));
-			return;
-		}
-		JSONObject data = new JSONObject();
-		data.put("taobao", GsonUtil.toDFJson(taobao));
-		List<String> list = new ArrayList<String>();
-		list = TaoBaoUtil.getTbImg(taobao.getAuctionId() + "");
-		data.put("imgList", list);
-		out.append(JsonUtil.loadTrueResult(data));
-	}
-
-	@RequestMapping(value = "updateTaoBaoGoodsBrief", method = RequestMethod.POST)
-	public void updateTaoBaoGoodsBrief(TaoBaoGoodsBrief tb, PrintWriter out) {
-		try {
-			taoBaoGoodsBriefService.updateTBGoods(tb);
-		} catch (NotExistObjectException e) {
-			out.append(JsonUtil.loadFalseResult(e.getMessage()));
-			return;
-		}
-		out.append(JsonUtil.loadTrueResult("淇敼鎴愬姛"));
-	}
-
-	@RequestMapping(value = "deleteTaoBaoGoods", method = RequestMethod.POST)
-	public void deleteTaoBaoGoods(long[] ids, PrintWriter out) {
-		for (long id : ids) {
-			taoBaoGoodsBriefService.deleteTaoBaoGoods(id);
-		}
-		out.append(JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛"));
-	}
-
-	@RequestMapping(value = "addTaoBaoGoodsBrief", method = RequestMethod.POST)
-	public void addTaoBaoGoodsBrief(String[] ids, PrintWriter out) {
-		List<JSONObject> list = new ArrayList<JSONObject>();
-		JSONObject data = null;
-		for (String id : ids) {
-			data = new JSONObject();
-			
-			TaoBaoGoodsBrief taoBaoGoodsBrief=null;
-			try {
-				taoBaoGoodsBrief = TaoKeApiUtil.searchGoodsDetail(Long.parseLong(id));
-				taoBaoGoodsBrief.setUpdatetime(new Date());
-				taoBaoGoodsBrief.setCreatetime(new Date());
-			} catch (NumberFormatException e1) {
-				e1.printStackTrace();
-			} catch (TaobaoGoodsDownException e1) {
-				e1.printStackTrace();
-			}
-			try {
-				taoBaoGoodsBriefService.insertSelective(taoBaoGoodsBrief);
-//				taoBaoGoodsBriefService.save(taoBaoGoodsBrief);
-				data.put("id", id);
-				data.put("msg", "娣诲姞鎴愬姛");
-			} catch (Exception e) {
-				data.put("id", id);
-				data.put("msg", e.getMessage());
-			}
-			list.add(data);
-		}
-		JSONObject dataAll = new JSONObject();
-		dataAll.put("list", list);
-		out.print(JsonUtil.loadTrueResult(dataAll));
-	}
-
-	@RequestMapping(value = "addRecommendSectionGoods", method = RequestMethod.POST)
-	public void addRecommendSectionGoods(long rsid, String tbids, PrintWriter out) {
-		String[] tbidStrArr = tbids.split(",");
-		long[] tbidArr = StringUtil.parseLong(tbidStrArr);
-		List<JSONObject> list = new ArrayList<JSONObject>();
-		JSONObject data = null;
-		for (long tbid : tbidArr) {
-			data = new JSONObject();
-			try {
-				taoBaoGoodsBriefService.addRecommendSectionGoods(rsid, tbid);
-				data.put("id", tbid);
-				data.put("msg", "娣诲姞鎴愬姛");
-			} catch (NotExistObjectException e) {
-				data.put("id", tbid);
-				data.put("msg", e.getMessage());
-			} catch (ExistObjectException e) {
-				data.put("id", tbid);
-				data.put("msg", e.getMessage());
-			}
-			list.add(data);
-		}
-		JSONObject dataAll = new JSONObject();
-		dataAll.put("list", list);
-		out.print(JsonUtil.loadTrueResult(dataAll));
-	}
-
-	/**
-	 * 
-	 * 鏂规硶璇存槑: 娣诲姞鍟嗗搧鍒版瘡鏃ヤ换鍔�
-	 * 
-	 * @author mawurui createTime 2018骞�3鏈�29鏃� 涓婂崍11:36:25
-	 * @param tbids
-	 * @param out
-	 */
-	@RequestMapping(value = "addEveryDayTask", method = RequestMethod.POST)
-	public void addEveryDayTask(String tbids, PrintWriter out) {
-		String[] tbidStrArr = tbids.split(",");
-		long[] tbidArr = StringUtil.parseLong(tbidStrArr);
-		List<JSONObject> list = new ArrayList<JSONObject>();
-		JSONObject data = null;
-		for (long tbid : tbidArr) {
-			data = new JSONObject();
-			try {
-				taoBaoGoodsBriefService.addEveryDayTask(tbid);
-				data.put("id", tbid);
-				data.put("msg", "娣诲姞鎴愬姛");
-			} catch (NotExistObjectException e) {
-				data.put("id", tbid);
-				data.put("msg", e.getMessage());
-			} catch (ExistObjectException e) {
-				data.put("id", tbid);
-				data.put("msg", e.getMessage());
-			}
-			list.add(data);
-		}
-		JSONObject dataAll = new JSONObject();
-		dataAll.put("list", list);
-		out.print(JsonUtil.loadTrueResult(dataAll));
-	}
-
-	@RequestMapping(value = "addClassRecommendGoods", method = RequestMethod.POST)
-	public void addClassRecommendGoods(long gcid, String tbids, PrintWriter out) {
-		String[] tbidStrArr = tbids.split(",");
-		long[] tbidArr = StringUtil.parseLong(tbidStrArr);
-		List<JSONObject> list = new ArrayList<JSONObject>();
-		JSONObject data = null;
-		for (long tbid : tbidArr) {
-			data = new JSONObject();
-			try {
-				taoBaoGoodsBriefService.addClassRecommendGoods(gcid, tbid);
-				data.put("id", tbid);
-				data.put("msg", "娣诲姞鎴愬姛");
-			} catch (NotExistObjectException e) {
-				data.put("id", tbid);
-				data.put("msg", e.getMessage());
-			} catch (ExistObjectException e) {
-				data.put("id", tbid);
-				data.put("msg", e.getMessage());
-			}
-			list.add(data);
-		}
-		JSONObject dataAll = new JSONObject();
-		dataAll.put("list", list);
-		out.print(JsonUtil.loadTrueResult(dataAll));
-	}
-
-	@RequestMapping(value = "updateAllTaoBaoGoods", method = RequestMethod.POST)
-	public void updateAllTaoBaoGoods(PrintWriter out) {
-		taoBaoGoodsBriefService.getUpdateTaoBao();
-		out.print(JsonUtil.loadTrueResult("鏇存柊瀹屾垚"));
-	}
+	@Resource
+	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
 
 	/**
 	 * 
@@ -279,191 +87,44 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "queryOnSale")
-	public void queryOnSale(String callback, Integer pageIndex, Integer pageSize, String key,  Long tbClassId, Integer startPrice,
-			Integer endPrice, String startTkRate, String endTkRate, Integer sort, Integer istmall, Integer hasCoupon,
-			Integer baoYou, Integer startDsr, Integer overseas, Integer needPrepay, Integer includePayRate30,
-			Integer includeGoodRate, Integer includeRfdRate, Integer npxLevel, PrintWriter out) {
+	public void queryOnSale(String callback, Integer pageIndex, Integer pageSize, String key, Long tbClassId,
+			Integer startPrice, Integer endPrice, String startTkRate, String endTkRate, Integer sort, Integer istmall,
+			Integer hasCoupon, Integer baoYou, Integer startDsr, Integer overseas, Integer needPrepay,
+			Integer includePayRate30, Integer includeGoodRate, Integer includeRfdRate, Integer npxLevel, String cid,
+			PrintWriter out) {
 
 		try {
-			
-			SearchFilter filter = new SearchFilter();
-			
+			// 鏌ヨ鐗╂枡
+			TaoBaoSearchResult result = getGoodsByWuLiao(pageIndex, pageSize, key, tbClassId, startPrice, endPrice,
+					startTkRate, endTkRate, sort, istmall, hasCoupon, baoYou, startDsr, overseas, needPrepay,
+					includePayRate30, includeGoodRate, includeRfdRate, npxLevel,cid);
 
-			// 椤靛ぇ灏忥紝榛樿20锛�1~100
-			if (pageSize == null || pageSize < 1)
-				pageSize = Constant.PAGE_SIZE;
-
-			filter.setPageSize(pageSize);
-
-			// 绗嚑椤碉紝榛樿锛氾紤
-			if (pageIndex == null || pageIndex < 1)
-				pageIndex = 1;
-
-			filter.setPage(pageIndex);
-
-			// 鏌ヨ璇� key------ 涓嶈兘涓虹┖---------
-			if (!StringUtil.isNullOrEmpty(key))
-				filter.setKey(key);
-
-			if(tbClassId != null ) {
-				GoodsClass rb = goodsClassService.getGoodsClass(tbClassId);
-				if (rb == null) {
-					JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ被鍨嬪凡涓嶅瓨鍦�,璇峰埛鏂伴噸璇�"));
-					return;
-				} else {
-					
-					// 娣樺疂绫荤洰id
-					String taoBaoCatIds = taoBaoClassService.getTaoBaoCatIds(tbClassId);
-					
-					if (StringUtil.isNullOrEmpty(taoBaoCatIds)){
-						JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ被鍨嬫窐瀹漣d涓虹┖锛岃閫氱煡鐩稿叧浜哄憳杩涜缁存姢"));
-						return;
-					} else {
-						filter.setCateIds(taoBaoCatIds);
-					}
-				}
-			}
-			
-			// 鏌ヨ鏉′欢鍜岀被鐩甶d涓嶈兘鍚屾椂涓虹┖
-			if (StringUtil.isNullOrEmpty(key) && tbClassId == null){
-				filter.setKey("濂宠");
-			}
-			
-				
-				
-			// 鎶樻墸浠疯寖鍥翠笅闄�
-			if (startPrice != null)
-				filter.setStartPrice(new BigDecimal(startPrice));
-
-			// 鎶樻墸浠疯寖鍥翠笂闄�
-			if (endPrice != null && endPrice > 0)
-				filter.setEndPrice(new BigDecimal(endPrice));
-
-			// 娣樺浣i噾姣旂巼涓嬮檺 濡傦細1234琛ㄧず12.34%
-			if (!StringUtil.isNullOrEmpty(startTkRate)) {
-				BigDecimal b = new BigDecimal(startTkRate);
-				double df = b.setScale(2, BigDecimal.ROUND_FLOOR).doubleValue();
-				int tkRate = (int) (df * 100);
-				filter.setStartTkRate(tkRate);
+			if (result == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈幏鍙栧埌娣樺疂鍟嗗搧淇℃伅"));
+				return;
 			}
 
-			// 娣樺浣i噾姣旂巼涓婇檺 濡傦細1234琛ㄧず12.34%
-			if (!StringUtil.isNullOrEmpty(endTkRate)) {
-				BigDecimal b = new BigDecimal(endTkRate);
-				double df = b.setScale(2, BigDecimal.ROUND_FLOOR).doubleValue();
-				int tkRate = (int) (df * 100);
-				filter.setEndTkRate(tkRate);
-			}
-
-			// 鎺掑簭瀛楁
-			// 閿�閲忥紙total_sales锛夋窐瀹剑閲戞瘮鐜囷紙tk_rate锛夌疮璁℃帹骞块噺锛坱k_total_sales锛夋�绘敮鍑轰剑閲戯紙tk_total_commi锛�
-			if (sort != null)
-				filter.setSort(sort);
-			// 鏌ヨ澶╃尗 1 true
-			if (istmall != null && istmall == 1)
-				filter.setTmall(true);
-			// 鏄惁鏈夊埜 1 true
-			if (hasCoupon != null && hasCoupon == 1)
-				filter.setQuan(1);
-			// 鏄惁鍖呴偖锛宼rue琛ㄧず鍖呴偖锛岀┖鎴杅alse琛ㄧず涓嶉檺
-			if (baoYou != null && baoYou == 1) {
-				filter.setBaoYou(true);
-				//filter.setIp("113.251.22.10");// 閲嶅簡
-				filter.setIp("218.72.111.105");// 鏉窞
-				
-			}
-
-			// 搴楅摵dsr璇勫垎
-			if (startDsr != null && startDsr >= 0 && startDsr <= 50000)
-				filter.setStartDsr(startDsr);
-			// 鏄惁娴峰鍟嗗搧
-			if (overseas != null && overseas == 1)
-				filter.setOverseas(true);
-			// 鏄惁鍔犲叆娑堣垂鑰呬繚闅滐紝
-			if (needPrepay != null && needPrepay == 1)
-				filter.setNeedPrepay(true);
-			// 鎴愪氦杞寲鏄惁楂樹簬琛屼笟鍧囧��
-			if (includePayRate30 != null && includePayRate30 == 1)
-				filter.setIncludePayRate30(true);
-			// 濂借瘎鐜囨槸鍚﹂珮浜庤涓氬潎鍊�
-			if (includeGoodRate != null && includeGoodRate == 1)
-				filter.setIncludeGoodRate(true);
-
-			// 閫�娆剧巼鏄惁浣庝簬琛屼笟鍧囧��
-			if (includeRfdRate != null && includeRfdRate == 1)
-				filter.setIncludeRfdRate(true);
-
-			// 鐗涚毊鐧g▼搴︼紝鍙栧�硷細1:涓嶉檺锛�2:鏃狅紝3:杞诲井
-			if (npxLevel != null && npxLevel > 0 && npxLevel < 4)
-				filter.setNpxLevel(npxLevel);
-
-			boolean islink = false;
-			Long auctionId = null;
-
-			/* 鍒ゆ柇鏄惁鏄晢鍝侀摼鎺ユ悳绱� */
-			if (key != null && key.contains("//") && key.contains("&")) {
-				String[] keyArray = key.split("\\?")[1].split("&");
-				if (keyArray != null && keyArray.length > 0) {
-					String id = keyArray[0].replace("id=", "").trim();
-					if (!StringUtil.isNullOrEmpty(id)) {
-						auctionId = Long.parseLong(id);
-						islink = true;
-					}
-				}
-			}
-
-			TaoBaoSearchResult result = null;
-			List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = null;
-
-			if (!islink) {
-				/* 娣樺疂鐗╂枡鎼滅储 */
-				result = TaoKeApiUtil.searchWuLiao(filter);
-				if (result == null) {
-					JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈幏鍙栧埌娣樺疂鍟嗗搧淇℃伅"));
-					return;
-				} else {
-					taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
-				}
-
-			} else {
-				/* 鍟嗗搧閾炬帴鎼滅储 */
-
-				TaoBaoGoodsBrief searchGoodsDetail = TaoKeApiUtil.searchGoodsDetail(auctionId);
-				if (searchGoodsDetail == null) {
-					JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈幏鍙栧埌娣樺疂鍟嗗搧淇℃伅"));
-					return;
-				} else {
-					taoBaoGoodsBriefs = new ArrayList<>();
-					taoBaoGoodsBriefs.add(searchGoodsDetail);
-
-					result = new TaoBaoSearchResult();
-					result.setTaoBaoGoodsBriefs(taoBaoGoodsBriefs);
-
-					PageEntity pageEntity = new PageEntity(pageIndex, pageSize, 0, 0);
-					result.setPageEntity(pageEntity);
-				}
-			}
-
-			if (taoBaoGoodsBriefs == null || taoBaoGoodsBriefs.size() == 0) {
+			List<TaoBaoGoodsBrief> listTaoBaoGoods = result.getTaoBaoGoodsBriefs();
+			if (listTaoBaoGoods == null || listTaoBaoGoods.size() == 0) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈煡璇㈠埌娣樺疂鍟嗗搧淇℃伅"));
 				return;
-			} 
+			}
 
 			// 鎻掑叆鍟嗗搧闆嗗悎
 			List<Long> listAuctionId = new ArrayList<Long>();
-			for (TaoBaoGoodsBrief goodsBrief : taoBaoGoodsBriefs) {
+			for (TaoBaoGoodsBrief goodsBrief : listTaoBaoGoods) {
 				listAuctionId.add(goodsBrief.getAuctionId());
 			}
-			
+
 			// 楠岃瘉鏄惁瀛樺湪鏁版嵁搴�
-			List<QualityFactory> listHas = selectionGoodsService.listQueryByAuctionId(listAuctionId);
-			
+			List<QualityFactory> listHas = qualityFactoryService.listQueryByAuctionId(listAuctionId);
+
 			List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
 
-			for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
-				
+			for (TaoBaoGoodsBrief taoBaoGoodsBrief : listTaoBaoGoods) {
+
 				taoBaoGoodsBrief.setId(null);
-				
+
 				Map<String, Object> map = new HashMap<String, Object>();
 
 				map.put("pictUrl", taoBaoGoodsBrief.getPictUrl());
@@ -508,11 +169,11 @@
 					}
 				}
 
-				// TODO /* 鍒稿悗浠�--璁$畻 */
+				/* 鍒稿悗浠�--璁$畻 */
 				BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
 				map.put("couponPrice", couponPrice);
 
-				// TODO /* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
+				/* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
 				BigDecimal tkRate = taoBaoGoodsBrief.getTkRate();
 				BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
 				BigDecimal profit = MoneyBigDecimalUtil.mul(tkRate, zkPrice);
@@ -537,7 +198,6 @@
 						}
 					}
 				}
-				
 
 				map.put("isExistence", existence);
 
@@ -555,15 +215,262 @@
 			data.put("listGoods", gson.toJson(listmap));
 
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-			
-			// 鎻掑叆鏈湴鏁版嵁-娣樺疂鏁版嵁璁板綍
-			taoBaoGoodsBriefRecordService.insertBatch(taoBaoGoodsBriefs);
-			
+
 		} catch (Exception e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
 			e.printStackTrace();
 		}
-		
+
+	}
+
+	/**
+	 * 鍔犲叆绮鹃�夊簱鍟嗗搧
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param key
+	 *            鍏抽敭璇�
+	 * @param startPrice
+	 *            浠锋牸灏忓��
+	 * @param endPrice
+	 *            浠锋牸澶у��
+	 * @param startTkRate
+	 *            浣i噾灏忓��
+	 * @param endTkRate
+	 *            浣i噾澶у��
+	 * @param sort
+	 *            鎺掑簭
+	 * @param out
+	 */
+	@RequestMapping(value = "addTBGoodsFactory")
+	public void addTBGoodsFactory(String callback, Integer pageIndex, Integer pageSize, String key, Long tbClassId,
+			Integer startPrice, Integer endPrice, String startTkRate, String endTkRate, Integer sort, Integer istmall,
+			Integer hasCoupon, Integer baoYou, Integer startDsr, Integer overseas, Integer needPrepay,
+			Integer includePayRate30, Integer includeGoodRate, Integer includeRfdRate, Integer npxLevel,
+			String auctionIds, String lableNames, HttpServletRequest request, PrintWriter out) {
+
+		try {
+
+			if (StringUtil.isNullOrEmpty(auctionIds)) {
+				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("璇烽�夋嫨姝g‘鐨勫晢鍝佸叆搴�")));
+				return;
+			}
+
+			Gson gson2 = new Gson();
+			List<Long> listTaoBaoId = gson2.fromJson(auctionIds, new TypeToken<ArrayList<Long>>() {
+			}.getType());
+			if (listTaoBaoId == null || listTaoBaoId.size() == 0) {
+				out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult("璇烽�夋嫨姝g‘鐨勫晢鍝佸叆搴�")));
+				return;
+			}
+
+			// 鏌ヨ鐗╂枡
+			TaoBaoSearchResult result = getGoodsByWuLiao(pageIndex, pageSize, key, tbClassId, startPrice, endPrice,
+					startTkRate, endTkRate, sort, istmall, hasCoupon, baoYou, startDsr, overseas, needPrepay,
+					includePayRate30, includeGoodRate, includeRfdRate, npxLevel,null);
+
+			if (result == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈幏鍙栧埌娣樺疂鍟嗗搧淇℃伅"));
+				return;
+			}
+
+			List<TaoBaoGoodsBrief> listTaoBaoGoods = result.getTaoBaoGoodsBriefs();
+			if (listTaoBaoGoods == null || listTaoBaoGoods.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈煡璇㈠埌娣樺疂鍟嗗搧淇℃伅"));
+				return;
+			}
+
+			List<TaoBaoGoodsBrief> listAddGoods = new ArrayList<TaoBaoGoodsBrief>();
+			for (TaoBaoGoodsBrief taoBaoGoodsBrief : listTaoBaoGoods) {
+				Long auctionId = taoBaoGoodsBrief.getAuctionId();
+				if (listTaoBaoId.contains(auctionId)) {
+					listAddGoods.add(taoBaoGoodsBrief);
+					listTaoBaoId.remove(auctionId);
+				}
+			}
+
+			if (listTaoBaoId != null && listTaoBaoId.size() > 0) {
+				for (Long auctionId : listTaoBaoId) {
+					/* 鏍规嵁auctionId 鑾峰彇娣樺疂鍟嗗搧 */
+					TaoBaoGoodsBrief goodsBrief = TaoKeApiUtil.searchGoodsDetail(auctionId);
+					if (goodsBrief != null) {
+						listAddGoods.add(goodsBrief);
+					}
+				}
+			}
+
+			AdminUser admin = (AdminUser) request.getSession().getAttribute(Constant.SESSION_ADMIN);
+			// 鎻掑叆绮鹃�夊簱
+			qualityFactoryService.addBatchTaoBaoGoods(listAddGoods, lableNames, admin);
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鍔犲叆鎴愬姛"));
+
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, e.getMessage()));
+			e.printStackTrace();
+		}
+
+	}
+
+	/**
+	 * 鏍规嵁鏉′欢娣樺疂鍟嗗搧鏌ヨ
+	 * 
+	 * @param pageIndex
+	 * @param pageSize
+	 * @param key
+	 * @param tbClassId
+	 * @param startPrice
+	 * @param endPrice
+	 * @param startTkRate
+	 * @param endTkRate
+	 * @param sort
+	 * @param istmall
+	 * @param hasCoupon
+	 * @param baoYou
+	 * @param startDsr
+	 * @param overseas
+	 * @param needPrepay
+	 * @param includePayRate30
+	 * @param includeGoodRate
+	 * @param includeRfdRate
+	 * @param npxLevel
+	 * @throws Exception
+	 */
+	public TaoBaoSearchResult getGoodsByWuLiao(Integer pageIndex, Integer pageSize, String key, Long tbClassId,
+			Integer startPrice, Integer endPrice, String startTkRate, String endTkRate, Integer sort, Integer istmall,
+			Integer hasCoupon, Integer baoYou, Integer startDsr, Integer overseas, Integer needPrepay,
+			Integer includePayRate30, Integer includeGoodRate, Integer includeRfdRate, Integer npxLevel, String cids)
+			throws Exception {
+
+		SearchFilter filter = new SearchFilter();
+		filter.setPageSize(pageSize);
+		filter.setPage(pageIndex);
+
+		// 鏌ヨ璇� key------ 涓嶈兘涓虹┖---------
+		if (!StringUtil.isNullOrEmpty(key))
+			filter.setKey(key);
+
+		if (tbClassId != null) {
+			GoodsClass rb = goodsClassService.getGoodsClass(tbClassId);
+			if (rb == null) {
+				throw new Exception("璇ョ被鍨嬪凡涓嶅瓨鍦�,璇峰埛鏂伴噸璇�");
+			}
+
+			// 娣樺疂绫荤洰id
+			String taoBaoCatIds = taoBaoClassService.getTaoBaoCatIds(tbClassId);
+			if (StringUtil.isNullOrEmpty(taoBaoCatIds)) {
+				throw new Exception("璇ョ被鍨嬫窐瀹漣d涓虹┖锛岃閫氱煡鐩稿叧浜哄憳杩涜缁存姢");
+			} else {
+				filter.setCateIds(taoBaoCatIds);
+			}
+		}
+		if (!StringUtil.isNullOrEmpty(cids))
+			filter.setCateIds(cids);
+
+		// 鏌ヨ鏉′欢鍜岀被鐩甶d涓嶈兘鍚屾椂涓虹┖
+		if (StringUtil.isNullOrEmpty(key) && tbClassId == null) {
+			filter.setKey("濂宠");
+		}
+		// 鎶樻墸浠疯寖鍥翠笅闄�
+		if (startPrice != null) {
+			filter.setStartPrice(new BigDecimal(startPrice));
+		}
+		// 鎶樻墸浠疯寖鍥翠笂闄�
+		if (endPrice != null && endPrice > 0) {
+			filter.setEndPrice(new BigDecimal(endPrice));
+		}
+		// 娣樺浣i噾姣旂巼涓嬮檺 濡傦細1234琛ㄧず12.34%
+		if (!StringUtil.isNullOrEmpty(startTkRate)) {
+			int tkRate = (int) (Float.parseFloat(startTkRate) * 100);
+			filter.setStartTkRate(tkRate);
+		}
+		// 娣樺浣i噾姣旂巼涓婇檺 濡傦細1234琛ㄧず12.34%
+		if (!StringUtil.isNullOrEmpty(endTkRate)) {
+			int tkRate = (int) (Float.parseFloat(endTkRate) * 100);
+			filter.setEndTkRate(tkRate);
+		}
+		// 鎺掑簭瀛楁
+		// 閿�閲忥紙total_sales锛夋窐瀹剑閲戞瘮鐜囷紙tk_rate锛夌疮璁℃帹骞块噺锛坱k_total_sales锛夋�绘敮鍑轰剑閲戯紙tk_total_commi锛�
+		if (sort != null) {
+			filter.setSort(sort);
+		}
+		// 鏌ヨ澶╃尗 1 true
+		if (istmall != null && istmall == 1) {
+			filter.setTmall(true);
+		}
+		// 鏄惁鏈夊埜 1 true
+		if (hasCoupon != null && hasCoupon == 1) {
+			filter.setQuan(1);
+		}
+		// 鏄惁鍖呴偖锛宼rue琛ㄧず鍖呴偖锛岀┖鎴杅alse琛ㄧず涓嶉檺
+		if (baoYou != null && baoYou == 1) {
+			filter.setBaoYou(true);
+			// filter.setIp("113.251.22.10");// 閲嶅簡
+			filter.setIp("218.72.111.105");// 鏉窞
+		}
+		// 搴楅摵dsr璇勫垎
+		if (startDsr != null && startDsr >= 0 && startDsr <= 50000) {
+			filter.setStartDsr(startDsr);
+		}
+		// 鏄惁娴峰鍟嗗搧
+		if (overseas != null && overseas == 1) {
+			filter.setOverseas(true);
+		}
+		// 鏄惁鍔犲叆娑堣垂鑰呬繚闅滐紝
+		if (needPrepay != null && needPrepay == 1) {
+			filter.setNeedPrepay(true);
+		}
+		// 鎴愪氦杞寲鏄惁楂樹簬琛屼笟鍧囧��
+		if (includePayRate30 != null && includePayRate30 == 1) {
+			filter.setIncludePayRate30(true);
+		}
+		// 濂借瘎鐜囨槸鍚﹂珮浜庤涓氬潎鍊�
+		if (includeGoodRate != null && includeGoodRate == 1) {
+			filter.setIncludeGoodRate(true);
+		}
+		// 閫�娆剧巼鏄惁浣庝簬琛屼笟鍧囧��
+		if (includeRfdRate != null && includeRfdRate == 1) {
+			filter.setIncludeRfdRate(true);
+		}
+		// 鐗涚毊鐧g▼搴︼紝鍙栧�硷細1:涓嶉檺锛�2:鏃狅紝3:杞诲井
+		if (npxLevel != null && npxLevel > 0 && npxLevel < 4) {
+			filter.setNpxLevel(npxLevel);
+		}
+
+		boolean islink = false;
+		Long auctionId = null;
+		/* 鍒ゆ柇鏄惁鏄晢鍝侀摼鎺ユ悳绱� */
+		if (key != null && key.contains("//") && key.contains("&")) {
+			String[] keyArray = key.split("\\?")[1].split("&");
+			if (keyArray != null && keyArray.length > 0) {
+				String id = keyArray[0].replace("id=", "").trim();
+				if (!StringUtil.isNullOrEmpty(id)) {
+					auctionId = Long.parseLong(id);
+					islink = true;
+				}
+			}
+		}
+
+		TaoBaoSearchResult result = null;
+
+		if (!islink) {
+			/* 娣樺疂鐗╂枡鎼滅储 */
+			result = TaoKeApiUtil.searchWuLiao(filter);
+		} else {
+			/* 鍟嗗搧閾炬帴鎼滅储 */
+			TaoBaoGoodsBrief searchGoodsDetail = TaoKeApiUtil.searchGoodsDetail(auctionId);
+			if (searchGoodsDetail != null) {
+				List<TaoBaoGoodsBrief> listGoods = new ArrayList<>();
+				listGoods.add(searchGoodsDetail);
+
+				result = new TaoBaoSearchResult();
+				result.setTaoBaoGoodsBriefs(listGoods);
+				PageEntity pageEntity = new PageEntity(pageIndex, pageSize, 1, 1);
+				result.setPageEntity(pageEntity);
+			}
+		}
+
+		return result;
 	}
 
 	/**
@@ -609,9 +516,9 @@
 			if (!StringUtil.isNullOrEmpty(key)) {
 				filter.setKey(key);
 			} else {
-				// 楂樹剑id 
+				// 楂樹剑id
 				if (!StringUtil.isNullOrEmpty(catIds)) {
-					
+
 					// 鐢疯+ 绫荤洰id
 					String[] split = catIds.split(",");
 					filter.setCateIds(split[1]);
@@ -623,7 +530,7 @@
 				filter.setStartPrice(new BigDecimal(startPrice));
 
 			// 鎶樻墸浠疯寖鍥翠笂闄�
-			if (endPrice != null )
+			if (endPrice != null)
 				filter.setEndPrice(new BigDecimal(endPrice));
 
 			// 浣i噾姣旂巼涓嬮檺
@@ -653,7 +560,7 @@
 				filter.setBaoYou(true);
 
 			// 閿�閲�
- 			if (!StringUtil.isNullOrEmpty(startBiz30day))
+			if (!StringUtil.isNullOrEmpty(startBiz30day))
 				filter.setStartBiz30day(startBiz30day);
 
 			List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
@@ -676,9 +583,9 @@
 				List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
 
 				for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
-					
+
 					taoBaoGoodsBrief.setId(null);
-					
+
 					Map<String, Object> map = new HashMap<String, Object>();
 
 					map.put("pictUrl", taoBaoGoodsBrief.getPictUrl());
@@ -738,7 +645,7 @@
 					BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
 					map.put("couponPrice", couponPrice);
 
-					// TODO /* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
+					/* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
 					BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
 					BigDecimal profit = MoneyBigDecimalUtil.mul(rate, zkPrice);
 					// 璁$畻缁撴灉
@@ -763,7 +670,7 @@
 							if (goodsBrief != null) {
 								Long id = goodsBrief.getId();
 								// 鏌ヨ绮鹃�夊簱
-								Long has = selectionGoodsService.queryCountByGoodsId(id);
+								Long has = qualityFactoryService.queryCountByGoodsId(id);
 
 								if (has != null && has > 0l) {
 									existence = 1; // 瀛樺湪鍟嗗搧涓�
@@ -788,13 +695,9 @@
 				data.put("listGoods", gson.toJson(listmap));
 
 				JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-				
-				// 鎻掑叆鏈湴鏁版嵁-娣樺疂鏁版嵁璁板綍
-				taoBaoGoodsBriefRecordService.insertBatch(taoBaoGoodsBriefs);
 			}
-			
+
 		} catch (Exception e) {
-			// TODO Auto-generated catch block
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
 			e.printStackTrace();
 		}
@@ -842,13 +745,11 @@
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
 
 		} catch (Exception e) {
-			// TODO Auto-generated catch block
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
 			e.printStackTrace();
 		}
 	}
 
-	
 	/**
 	 * 
 	 * @param callback
@@ -868,13 +769,13 @@
 	 * @param out
 	 */
 	@RequestMapping(value = "searchMaterial")
-	public void searchMaterial(String callback, Integer pageIndex, Integer pageSize, 
-			String subName, String superName, PrintWriter out) {
+	public void searchMaterial(String callback, Integer pageIndex, Integer pageSize, String subName, String superName,
+			PrintWriter out) {
 
 		try {
 
 			List<TaobaoMeterial> taobaoMeterials = null;
-			if (!StringUtil.isNullOrEmpty(subName) && !StringUtil.isNullOrEmpty(superName) ) {
+			if (!StringUtil.isNullOrEmpty(subName) && !StringUtil.isNullOrEmpty(superName)) {
 				taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperName(subName, superName);
 			} else if (!StringUtil.isNullOrEmpty(superName)) {
 				taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperName(null, superName);
@@ -882,60 +783,55 @@
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇烽�夋嫨绛涢�夌被鐩�"));
 				return;
 			}
-			
+
 			if (taobaoMeterials == null || taobaoMeterials.size() == 0) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("绫荤洰淇℃伅涓嶅瓨鍦�"));
 				return;
-			} 
-			
+			}
+
 			TaobaoMeterial taobaoMeterial = taobaoMeterials.get(0);
 			Integer materialId = taobaoMeterial.getMaterialId();
 			if (materialId == null) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ョ被鐩墿鏂橧D涓嶅瓨鍦�"));
 				return;
 			}
-			
-			
+
 			// 椤靛ぇ灏忥紝榛樿20锛�1~100
 			if (pageSize == null || pageSize < 1)
 				pageSize = Constant.PAGE_SIZE;
-
 
 			// 绗嚑椤碉紝榛樿锛氾紤
 			if (pageIndex == null || pageIndex < 1)
 				pageIndex = 1;
 
 			TaoBaoSearchResult result = TaoKeApiUtil.getMaterialByMaterialId(materialId, pageIndex, pageSize);
-			
+
 			if (result == null) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛湭鑾峰彇鍒扮浉鍏虫暟鎹�"));
 				return;
-			} 
-			
+			}
+
 			List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
 			if (taoBaoGoodsBriefs == null || taoBaoGoodsBriefs.size() == 0) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁"));
 				return;
-			} 
-			
-			
+			}
+
 			// 鎻掑叆鍟嗗搧闆嗗悎
 			List<Long> listAuctionId = new ArrayList<Long>();
 			for (TaoBaoGoodsBrief goodsBrief : taoBaoGoodsBriefs) {
 				listAuctionId.add(goodsBrief.getAuctionId());
 			}
-						
+
 			// 楠岃瘉鏄惁瀛樺湪鏁版嵁搴�
-			List<QualityFactory> listHas = selectionGoodsService.listQueryByAuctionId(listAuctionId);
-						
-			
+			List<QualityFactory> listHas = qualityFactoryService.listQueryByAuctionId(listAuctionId);
+
 			List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
 
 			for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
 				taoBaoGoodsBrief.setId(null);
-				
-				Map<String, Object> map = new HashMap<String, Object>();
 
+				Map<String, Object> map = new HashMap<String, Object>();
 
 				map.put("pictUrl", taoBaoGoodsBrief.getPictUrl());
 				map.put("title", taoBaoGoodsBrief.getTitle());
@@ -952,11 +848,11 @@
 				// 鏉ユ簮 0 鏃� 1娣樺疂 2 浜笢
 				map.put("goodsSource", 1);
 
-				// TODO /* 鍒稿悗浠�--璁$畻 */
+				/* 鍒稿悗浠�--璁$畻 */
 				BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
 				map.put("couponPrice", couponPrice);
 
-				// TODO /* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
+				/* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
 				BigDecimal tkRate = taoBaoGoodsBrief.getTkRate();
 				BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
 				BigDecimal profit = MoneyBigDecimalUtil.mul(tkRate, zkPrice);
@@ -981,8 +877,7 @@
 						}
 					}
 				}
-				
-				
+
 				map.put("isExistence", existence);
 
 				listmap.add(map);
@@ -999,69 +894,163 @@
 			data.put("listGoods", gson.toJson(listmap));
 
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-		
-			// 鎻掑叆鏈湴鏁版嵁-娣樺疂鏁版嵁璁板綍
-			taoBaoGoodsBriefRecordService.insertBatch(taoBaoGoodsBriefs);
-			
+
 		} catch (Exception e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
 			e.printStackTrace();
 		}
-		
-		
+
 	}
 	
+
+	private List<Map<String, Object>> filterTaoBaoGoodsWithQulity(List<TaoBaoGoodsBrief> goodsList) {
+
+		// 鎻掑叆鍟嗗搧闆嗗悎
+		List<Long> listAuctionId = new ArrayList<Long>();
+		for (TaoBaoGoodsBrief goodsBrief : goodsList) {
+			listAuctionId.add(goodsBrief.getAuctionId());
+		}
+
+		// 楠岃瘉鏄惁瀛樺湪鏁版嵁搴�
+		List<QualityFactory> listHas = qualityFactoryService.listQueryByAuctionId(listAuctionId);
+
+		List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
+
+		for (TaoBaoGoodsBrief taoBaoGoodsBrief : goodsList) {
+			taoBaoGoodsBrief.setId(null);
+
+			Map<String, Object> map = new HashMap<String, Object>();
+
+			map.put("pictUrl", taoBaoGoodsBrief.getPictUrl());
+			map.put("title", taoBaoGoodsBrief.getTitle());
+			map.put("auctionId", taoBaoGoodsBrief.getAuctionId());
+			map.put("auctionUrl", taoBaoGoodsBrief.getAuctionUrl());
+			map.put("zkPrice", taoBaoGoodsBrief.getZkPrice());
+			map.put("biz30day", taoBaoGoodsBrief.getBiz30day());
+			map.put("couponInfo", taoBaoGoodsBrief.getCouponInfo());
+			map.put("couponTotalCount", taoBaoGoodsBrief.getCouponTotalCount());
+			map.put("couponLeftCount", taoBaoGoodsBrief.getCouponLeftCount());
+			map.put("couponEffectiveEndTime", taoBaoGoodsBrief.getCouponEffectiveEndTime());
+			map.put("tkRate", taoBaoGoodsBrief.getTkRate());
+
+			// 鏉ユ簮 0 鏃� 1娣樺疂 2 浜笢
+			map.put("goodsSource", 1);
+
+			/* 鍒稿悗浠�--璁$畻 */
+			BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
+			map.put("couponPrice", couponPrice);
+
+			/* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
+			BigDecimal tkRate = taoBaoGoodsBrief.getTkRate();
+			BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
+			BigDecimal profit = MoneyBigDecimalUtil.mul(tkRate, zkPrice);
+			// 璁$畻缁撴灉
+			BigDecimal estimateProfit = MoneyBigDecimalUtil.div(profit, new BigDecimal("100"));
+
+			// 棰勮鏀剁泭
+			map.put("estimateProfit", estimateProfit);
+
+			int existence = 0;
+
+			/* 鏌ヨ鍟嗗搧鏄惁宸插瓨鍦ㄥ晢鍝佺簿閫夊簱涓� */
+			Long localAuctionId = taoBaoGoodsBrief.getAuctionId();
+			if (localAuctionId != null) {
+				if (listHas != null && listHas.size() > 0) {
+					for (QualityFactory selectionGoods : listHas) {
+						TaoBaoGoodsBrief hasgoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+						Long hasId = hasgoodsBrief.getAuctionId();
+						if (localAuctionId.equals(hasId) || localAuctionId == hasId) {
+							existence = 1; // 瀛樺湪鍟嗗搧涓�
+						}
+					}
+				}
+			}
+
+			map.put("isExistence", existence);
+
+			listmap.add(map);
+		}
+
+		return listmap;
+
+	}
+
 	
-	
+	@RequestMapping(value = "searchDaTaoKe")
+	public void searchDaTaoKe(String callback, Integer pageIndex, Integer pageSize, String key, Long cid,
+			PrintWriter out) {
+		try {
+			key = StringUtil.isNullOrEmpty(key) ? "" : key;
+			List<DaTaoKeDetailV2> list = daTaoKeGoodsDetailV2Service.listSearchByTitleWithCid(key, cid, pageIndex,
+					pageSize);
+			long count = daTaoKeGoodsDetailV2Service.countSearchByTitleWithCid(key, cid);
+			List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
+			for (DaTaoKeDetailV2 detail : list) {
+				goodsList.add(TaoBaoUtil.convert(detail));
+			}
+
+			List<Map<String, Object>> listmap = filterTaoBaoGoodsWithQulity(goodsList);
+
+			PageEntity pe = new PageEntity(pageIndex, pageSize, (int) count,(int)(count%pageSize==0?count/pageSize:count/pageSize+1));
+			JSONObject data = new JSONObject();
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls(); // 閲嶇偣
+			Gson gson = gsonBuilder.setDateFormat("yyyy-MM-dd").create();
+
+			data.put("pe", pe);
+			data.put("listGoods", gson.toJson(listmap));
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
 	@RequestMapping(value = "getQiangGou")
 	public void getQiangGou(String callback, Integer pageIndex, PrintWriter out) {
 
 		try {
 
-			
 			int pageSize = 40;
 
 			// 绗嚑椤碉紝榛樿锛氾紤
 			if (pageIndex == null || pageIndex < 1)
 				pageIndex = 1;
-			
+
 			String startTime = "2018-09-17 09:00:00";
-			
-			String endTime ="2018-09-17 16:00:00";
-			
-			TaoBaoSearchResult result = TaoKeApiUtil.taoQiangGou(pageIndex, pageSize,startTime, endTime);
-			
-			
-			
+
+			String endTime = "2018-09-17 16:00:00";
+
+			TaoBaoSearchResult result = TaoKeApiUtil.taoQiangGou(pageIndex, pageSize, startTime, endTime);
+
 			if (result == null) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛湭鑾峰彇鍒扮浉鍏虫暟鎹�"));
 				return;
-			} 
-			
+			}
+
 			List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
 			if (taoBaoGoodsBriefs == null || taoBaoGoodsBriefs.size() == 0) {
 				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏆傛棤鐩稿叧鏁版嵁"));
 				return;
-			} 
-			
-			
+			}
+
 			// 鎻掑叆鍟嗗搧闆嗗悎
 			List<Long> listAuctionId = new ArrayList<Long>();
 			for (TaoBaoGoodsBrief goodsBrief : taoBaoGoodsBriefs) {
 				listAuctionId.add(goodsBrief.getAuctionId());
 			}
-						
+
 			// 楠岃瘉鏄惁瀛樺湪鏁版嵁搴�
-			List<QualityFactory> listHas = selectionGoodsService.listQueryByAuctionId(listAuctionId);
-						
-			
+			List<QualityFactory> listHas = qualityFactoryService.listQueryByAuctionId(listAuctionId);
+
 			List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
 
 			for (TaoBaoGoodsBrief taoBaoGoodsBrief : taoBaoGoodsBriefs) {
 				taoBaoGoodsBrief.setId(null);
-				
-				Map<String, Object> map = new HashMap<String, Object>();
 
+				Map<String, Object> map = new HashMap<String, Object>();
 
 				map.put("pictUrl", taoBaoGoodsBrief.getPictUrl());
 				map.put("title", taoBaoGoodsBrief.getTitle());
@@ -1078,11 +1067,11 @@
 				// 鏉ユ簮 0 鏃� 1娣樺疂 2 浜笢
 				map.put("goodsSource", 1);
 
-				// TODO /* 鍒稿悗浠�--璁$畻 */
+				/* 鍒稿悗浠�--璁$畻 */
 				BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
 				map.put("couponPrice", couponPrice);
 
-				// TODO /* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
+				/* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
 				BigDecimal tkRate = taoBaoGoodsBrief.getTkRate();
 				BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
 				BigDecimal profit = MoneyBigDecimalUtil.mul(tkRate, zkPrice);
@@ -1107,10 +1096,8 @@
 						}
 					}
 				}
-				
-				
-				map.put("isExistence", existence);
 
+				map.put("isExistence", existence);
 				listmap.add(map);
 			}
 
@@ -1125,16 +1112,11 @@
 			data.put("listGoods", gson.toJson(listmap));
 
 			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-		
-//			// 鎻掑叆鏈湴鏁版嵁-娣樺疂鏁版嵁璁板綍
-			taoBaoGoodsBriefRecordService.insertBatch(taoBaoGoodsBriefs);
-			
 		} catch (Exception e) {
 			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
 			e.printStackTrace();
 		}
-		
-		
+
 	}
-	
+
 }

--
Gitblit v1.8.0