From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/controller/admin/TaoBaoGoodsBriefAdminController.java | 2189 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 1,111 insertions(+), 1,078 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 74b2f84..405b1de 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
@@ -1,1078 +1,1111 @@
-package com.yeshi.fanli.controller.admin;
-
-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 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.yeshi.fanli.entity.bus.clazz.GoodsClass;
-import com.yeshi.fanli.entity.bus.lable.QualityFactory;
-import com.yeshi.fanli.entity.taobao.PidUser;
-import com.yeshi.fanli.entity.taobao.SearchFilter;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
-import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
-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.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.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 net.sf.json.JSONObject;
-
-@Controller
-@RequestMapping("admin/new/api/v1/taobao")
-public class TaoBaoGoodsBriefAdminController {
-
-	@Resource
-	private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
-	@Resource
-	private TaoBaoGoodsBriefRecordService taoBaoGoodsBriefRecordService;
-
-	@Resource
-	private RedisManager redisManager;
-	@Resource
-	private QualityFactoryService selectionGoodsService;
-	@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));
-	}
-
-	@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("鏇存柊瀹屾垚"));
-	}
-
-	/**
-	 * 
-	 * @param callback
-	 * @param pageIndex
-	 * @param key
-	 *            鍏抽敭璇�
-	 * @param startPrice
-	 *            浠锋牸灏忓��
-	 * @param endPrice
-	 *            浠锋牸澶у��
-	 * @param startTkRate
-	 *            浣i噾灏忓��
-	 * @param endTkRate
-	 *            浣i噾澶у��
-	 * @param sort
-	 *            鎺掑簭
-	 * @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) {
-
-		try {
-
-			SearchFilter filter = new SearchFilter();
-
-			// 椤靛ぇ灏忥紝榛樿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)) {
-				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;
-			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) {
-				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<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());
-				map.put("title", taoBaoGoodsBrief.getTitle());
-				map.put("auctionId", taoBaoGoodsBrief.getAuctionId());
-				map.put("auctionUrl", taoBaoGoodsBrief.getAuctionUrl());
-				map.put("shopTitle", taoBaoGoodsBrief.getShopTitle());
-				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 鍦ㄥ敭 姝よ幏鍙栫殑娣樺疂淇℃伅鍧囦负鍦ㄥ敭鍟嗗搧 */
-				map.put("saleStae", 0);
-				// 鏉ユ簮 0 鏃� 1娣樺疂 2 浜笢
-				map.put("goodsSource", 1);
-
-				/* 1 瀹氬悜璁″垝 2 钀ラ攢杩斿埄 銆侀珮浣� 3 鏅剑 */
-				Integer includeDxjh = taoBaoGoodsBrief.getIncludeDxjh();
-				String tkMktStatus = taoBaoGoodsBrief.getTkMktStatus();
-
-				boolean include = false;
-				if (includeDxjh != null) {
-					if (includeDxjh == 1) {
-						// 瀹氬悜璁″垝
-						map.put("yongjinType", 1);
-						include = true;
-					}
-				}
-
-				if (!include) {
-
-					if ("1".equals(tkMktStatus)) {
-						// 钀ラ攢杩斿埄 銆侀珮浣�
-						map.put("yongjinType", 2);
-					} else {
-						// 鏅剑
-						map.put("yongjinType", 3);
-					}
-				}
-
-				/* 鍒稿悗浠�--璁$畻 */
-				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);
-			}
-
-			PageEntity pe = result.getPageEntity();
-
-			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));
-
-			// 鎻掑叆鏈湴鏁版嵁-娣樺疂鏁版嵁璁板綍
-			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 = "searchAlimamaWeb")
-	public void searchAlimamaWeb(String callback, Integer pageIndex, Integer pageSize, String key, Integer startPrice,
-			Integer endPrice, String startTkRate, String endTkRate, Integer sort, Integer istmall, Integer hasCoupon,
-			Integer searchType, Integer baoYou, String startBiz30day, String catIds, PrintWriter out) {
-
-		try {
-
-			SearchFilter filter = new SearchFilter();
-
-			// 椤靛ぇ灏忥紝榛樿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);
-
-			// 绛涢�夋潯浠� 浼樺厛绛涢�夋煡璇㈣瘝
-			if (!StringUtil.isNullOrEmpty(key)) {
-				filter.setKey(key);
-			} else {
-				// 楂樹剑id
-				if (!StringUtil.isNullOrEmpty(catIds)) {
-
-					// 鐢疯+ 绫荤洰id
-					String[] split = catIds.split(",");
-					filter.setCateIds(split[1]);
-				}
-			}
-
-			// 鎶樻墸浠疯寖鍥翠笅闄�
-			if (startPrice != null)
-				filter.setStartPrice(new BigDecimal(startPrice));
-
-			// 鎶樻墸浠疯寖鍥翠笂闄�
-			if (endPrice != null)
-				filter.setEndPrice(new BigDecimal(endPrice));
-
-			// 浣i噾姣旂巼涓嬮檺
-			if (!StringUtil.isNullOrEmpty(startTkRate)) {
-				filter.setStartTkRate(Integer.parseInt(startTkRate));
-			}
-
-			// 姣旂巼涓婇檺
-			if (!StringUtil.isNullOrEmpty(endTkRate)) {
-				filter.setEndTkRate(Integer.parseInt(endTkRate));
-			}
-
-			// 鎺掑簭瀛楁
-			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);
-
-			// 閿�閲�
-			if (!StringUtil.isNullOrEmpty(startBiz30day))
-				filter.setStartBiz30day(startBiz30day);
-
-			List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
-
-			/* 娣樺疂缃戠粶 鐖彇 */
-			TaoBaoSearchResult result = TaoBaoUtil.searchAlimamaWeb(filter, config.get(0), searchType);
-
-			List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = null;
-			if (result == null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈幏鍙栧埌娣樺疂鍟嗗搧淇℃伅"));
-				return;
-			} else {
-				taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
-			}
-
-			if (taoBaoGoodsBriefs == null || taoBaoGoodsBriefs.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈煡璇㈠埌娣樺疂鍟嗗搧淇℃伅"));
-				return;
-			} else {
-				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());
-					map.put("title", taoBaoGoodsBrief.getTitle());
-					map.put("auctionId", taoBaoGoodsBrief.getAuctionId());
-					map.put("auctionUrl", taoBaoGoodsBrief.getAuctionUrl());
-					map.put("shopTitle", taoBaoGoodsBrief.getShopTitle());
-					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());
-
-					/* 浣i噾鍙栬緝澶х殑鍊� */
-					String eventRate = taoBaoGoodsBrief.getEventRate();
-					BigDecimal rate;
-
-					BigDecimal tkRate2 = taoBaoGoodsBrief.getTkRate();
-					if (!StringUtil.isNullOrEmpty(eventRate)) {
-						BigDecimal eRate = new BigDecimal(eventRate);
-
-						int a = eRate.compareTo(tkRate2);
-						if (a >= 0) {
-							rate = eRate;
-						} else {
-							rate = tkRate2;
-						}
-					} else {
-						rate = tkRate2;
-					}
-					map.put("tkRate", rate);
-
-					/* 鍟嗗搧閿�鍞姸鎬侊細 0 鍦ㄥ敭 姝よ幏鍙栫殑娣樺疂淇℃伅鍧囦负鍦ㄥ敭鍟嗗搧 */
-					map.put("saleStae", 0);
-					// 鏉ユ簮 0 鏃� 1娣樺疂 2 浜笢
-					map.put("goodsSource", 1);
-
-					/* 1 瀹氬悜璁″垝 2 钀ラ攢杩斿埄 銆侀珮浣� 3 鏅剑 */
-					// Integer includeDxjh = taoBaoGoodsBrief.getIncludeDxjh();
-					// String tkMktStatus = taoBaoGoodsBrief.getTkMktStatus();
-					/*
-					 * boolean include = false; if (includeDxjh != null) { if
-					 * (includeDxjh == 1) { // 瀹氬悜璁″垝 map.put("yongjinType",1);
-					 * include = true; } }
-					 */
-
-					/*
-					 * if (!include){
-					 * 
-					 * if ("1".equals(tkMktStatus)) { // 钀ラ攢杩斿埄 銆侀珮浣�
-					 * map.put("yongjinType",2); } else { // 鏅剑
-					 * map.put("yongjinType",3); } }
-					 */
-
-					/* 鍒稿悗浠�--璁$畻 */
-					BigDecimal couponPrice = TaoBaoUtil.getAfterUseCouplePrice(taoBaoGoodsBrief);
-					map.put("couponPrice", couponPrice);
-
-					/* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
-					BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
-					BigDecimal profit = MoneyBigDecimalUtil.mul(rate, zkPrice);
-					// 璁$畻缁撴灉
-					BigDecimal estimateProfit = MoneyBigDecimalUtil.div(profit, new BigDecimal("100"));
-
-					// 棰勮鏀剁泭
-					map.put("estimateProfit", estimateProfit);
-
-					int existence = 0;
-
-					/* 鏌ヨ鍟嗗搧鏄惁宸插瓨鍦ㄥ晢鍝佺簿閫夊簱涓� */
-					Long localAuctionId = taoBaoGoodsBrief.getAuctionId();
-
-					if (localAuctionId != null) {
-						List<TaoBaoGoodsBrief> taoBaoGoodsBriefList = taoBaoGoodsBriefService
-								.queryByAuctionId(localAuctionId);
-
-						if (taoBaoGoodsBriefList != null && taoBaoGoodsBriefList.size() > 0) {
-
-							TaoBaoGoodsBrief goodsBrief = taoBaoGoodsBriefList.get(0);
-
-							if (goodsBrief != null) {
-								Long id = goodsBrief.getId();
-								// 鏌ヨ绮鹃�夊簱
-								Long has = selectionGoodsService.queryCountByGoodsId(id);
-
-								if (has != null && has > 0l) {
-									existence = 1; // 瀛樺湪鍟嗗搧涓�
-								}
-							}
-						}
-					}
-
-					map.put("isExistence", existence);
-
-					listmap.add(map);
-				}
-
-				PageEntity pe = result.getPageEntity();
-
-				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));
-
-				// 鎻掑叆鏈湴鏁版嵁-娣樺疂鏁版嵁璁板綍
-				taoBaoGoodsBriefRecordService.insertBatch(taoBaoGoodsBriefs);
-			}
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * 鑾峰彇娣樺疂楂樹剑鏌ヨ绫荤洰
-	 * 
-	 * @param callback
-	 * @param out
-	 */
-	@RequestMapping(value = "getNavList")
-	public void getNavList(String callback, PrintWriter out) {
-
-		try {
-
-			SearchFilter filter = new SearchFilter();
-			filter.setPageSize(10);
-			filter.setPage(1);
-
-			List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
-
-			/* 娣樺疂缃戠粶 鐖彇 */
-			TaoBaoSearchResult result = TaoBaoUtil.searchAlimamaWeb(filter, config.get(0), 3);
-
-			if (result == null) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娣樺疂鍒楄〃鑾峰彇澶辫触"));
-				return;
-			}
-
-			List<TaoBaoSearchNav> navList = result.getNavList();
-
-			if (navList == null || navList.size() == 0) {
-				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娣樺疂鍒楄〃鑾峰彇澶辫触"));
-				return;
-			}
-
-			GsonBuilder gsonBuilder = new GsonBuilder();
-			gsonBuilder.serializeNulls();
-			Gson gson = gsonBuilder.create();
-
-			JSONObject data = new JSONObject();
-			data.put("navList", gson.toJson(navList));
-
-			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-
-		} 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 = "searchMaterial")
-	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)) {
-				taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperName(subName, superName);
-			} else if (!StringUtil.isNullOrEmpty(superName)) {
-				taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperName(null, superName);
-			} else {
-				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<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());
-				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);
-			}
-
-			PageEntity pe = result.getPageEntity();
-
-			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));
-
-			// 鎻掑叆鏈湴鏁版嵁-娣樺疂鏁版嵁璁板綍
-			taoBaoGoodsBriefRecordService.insertBatch(taoBaoGoodsBriefs);
-
-		} 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);
-
-			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<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());
-				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);
-			}
-
-			PageEntity pe = result.getPageEntity();
-
-			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));
-
-			// // 鎻掑叆鏈湴鏁版嵁-娣樺疂鏁版嵁璁板綍
-			taoBaoGoodsBriefRecordService.insertBatch(taoBaoGoodsBriefs);
-
-		} catch (Exception e) {
-			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
-			e.printStackTrace();
-		}
-
-	}
-
-}
+package com.yeshi.fanli.controller.admin;
+
+import java.io.PrintWriter;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+import com.yeshi.fanli.entity.accept.AdminAcceptData;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+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.goods.facade.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.TaoBaoSearchNav;
+import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
+import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
+import com.yeshi.fanli.entity.taobao.TaobaoMeterial;
+import com.yeshi.goods.facade.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.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.goods.facade.service.DaTaoKeGoodsDetailV2Service;
+import com.yeshi.common.entity.PageEntity;
+import com.yeshi.fanli.util.Constant;
+import org.yeshi.utils.MoneyBigDecimalUtil;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+
+import net.sf.json.JSONObject;
+
+@Controller
+@RequestMapping("admin/new/api/v1/taobao")
+public class TaoBaoGoodsBriefAdminController {
+
+	@Resource
+	private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
+
+	@Resource
+	private QualityFactoryService qualityFactoryService;
+
+	@Resource
+	private TaoBaoUnionConfigService taoBaoUnionConfigService;
+
+	@Resource
+	private TaobaoMeterialService taobaoMeterialService;
+	@Resource
+	private GoodsClassService goodsClassService;
+
+	@Resource
+	private TaoBaoClassService taoBaoClassService;
+	
+	@Resource
+	private DaTaoKeGoodsDetailV2Service daTaoKeGoodsDetailV2Service;
+
+	/**
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param key
+	 *            鍏抽敭璇�
+	 * @param startPrice
+	 *            浠锋牸灏忓��
+	 * @param endPrice
+	 *            浠锋牸澶у��
+	 * @param startTkRate
+	 *            浣i噾灏忓��
+	 * @param endTkRate
+	 *            浣i噾澶у��
+	 * @param sort
+	 *            鎺掑簭
+	 * @param out
+	 */
+	@RequestMapping(value = "queryOnSale")
+	public void queryOnSale(AdminAcceptData acceptData, 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 {
+			// 鏌ヨ鐗╂枡
+			TaoBaoSearchResult result = getGoodsByWuLiao(pageIndex, pageSize, key, tbClassId, startPrice, endPrice,
+					startTkRate, endTkRate, sort, istmall, hasCoupon, baoYou, startDsr, overseas, needPrepay,
+					includePayRate30, includeGoodRate, includeRfdRate, npxLevel,cid);
+
+			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<String> listAuctionId = new ArrayList<>();
+			for (TaoBaoGoodsBrief goodsBrief : listTaoBaoGoods) {
+				listAuctionId.add(goodsBrief.getAuctionId());
+			}
+
+			// 楠岃瘉鏄惁瀛樺湪鏁版嵁搴�
+			List<QualityFactory> listHas = qualityFactoryService.listQueryByAuctionId(listAuctionId);
+
+			List<Map<String, Object>> listmap = new ArrayList<Map<String, Object>>();
+
+			for (TaoBaoGoodsBrief taoBaoGoodsBrief : listTaoBaoGoods) {
+
+				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("shopTitle", taoBaoGoodsBrief.getShopTitle());
+				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 鍦ㄥ敭 姝よ幏鍙栫殑娣樺疂淇℃伅鍧囦负鍦ㄥ敭鍟嗗搧 */
+				map.put("saleStae", 0);
+				// 鏉ユ簮 0 鏃� 1娣樺疂 2 浜笢
+				map.put("goodsSource", 1);
+
+				/* 1 瀹氬悜璁″垝 2 钀ラ攢杩斿埄 銆侀珮浣� 3 鏅剑 */
+				Integer includeDxjh = taoBaoGoodsBrief.getIncludeDxjh();
+				String tkMktStatus = taoBaoGoodsBrief.getTkMktStatus();
+
+				boolean include = false;
+				if (includeDxjh != null) {
+					if (includeDxjh == 1) {
+						// 瀹氬悜璁″垝
+						map.put("yongjinType", 1);
+						include = true;
+					}
+				}
+
+				if (!include) {
+
+					if ("1".equals(tkMktStatus)) {
+						// 钀ラ攢杩斿埄 銆侀珮浣�
+						map.put("yongjinType", 2);
+					} else {
+						// 鏅剑
+						map.put("yongjinType", 3);
+					}
+				}
+
+				/* 鍒稿悗浠�--璁$畻 */
+				BigDecimal couponPrice = TaoBaoUtil.getCouponPrice(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;
+
+				/* 鏌ヨ鍟嗗搧鏄惁宸插瓨鍦ㄥ晢鍝佺簿閫夊簱涓� */
+				String localAuctionId = taoBaoGoodsBrief.getAuctionId();
+				if (localAuctionId != null) {
+					if (listHas != null && listHas.size() > 0) {
+						for (QualityFactory selectionGoods : listHas) {
+							TaoBaoGoodsBrief hasgoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+							String hasId = hasgoodsBrief.getAuctionId();
+							if (TaoBaoUtil.isEqual( localAuctionId,hasId)) {
+								existence = 1; // 瀛樺湪鍟嗗搧涓�
+							}
+						}
+					}
+				}
+
+				map.put("isExistence", existence);
+
+				listmap.add(map);
+			}
+
+			PageEntity pe = result.getPageEntity();
+
+			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();
+		}
+
+	}
+
+	/**
+	 * 鍔犲叆绮鹃�夊簱鍟嗗搧
+	 * 
+	 * @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(AdminAcceptData acceptData,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<String> listTaoBaoId = gson2.fromJson(auctionIds, new TypeToken<ArrayList<String>>() {
+			}.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<>();
+			for (TaoBaoGoodsBrief taoBaoGoodsBrief : listTaoBaoGoods) {
+				String auctionId = taoBaoGoodsBrief.getAuctionId();
+				if (listTaoBaoId.contains(auctionId)) {
+					listAddGoods.add(taoBaoGoodsBrief);
+					listTaoBaoId.remove(auctionId);
+				}
+			}
+
+			if (listTaoBaoId != null && listTaoBaoId.size() > 0) {
+				for (String 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;
+		String 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 = id;
+					islink = true;
+				}
+			}
+		}
+
+		TaoBaoSearchResult result = null;
+
+		if (!islink) {
+			/* 娣樺疂鐗╂枡鎼滅储 */
+			result = TaoKeApiUtil.searchWuLiaoNew(filter,null,null);
+		} 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;
+	}
+
+	/**
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param key
+	 *            鍏抽敭璇�
+	 * @param startPrice
+	 *            浠锋牸灏忓��
+	 * @param endPrice
+	 *            浠锋牸澶у��
+	 * @param startTkRate
+	 *            浣i噾灏忓��
+	 * @param endTkRate
+	 *            浣i噾澶у��
+	 * @param sort
+	 *            鎺掑簭
+	 * @param out
+	 */
+	@RequestMapping(value = "searchAlimamaWeb")
+	public void searchAlimamaWeb(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String key, Integer startPrice,
+			Integer endPrice, String startTkRate, String endTkRate, Integer sort, Integer istmall, Integer hasCoupon,
+			Integer searchType, Integer baoYou, String startBiz30day, String catIds, PrintWriter out) {
+
+		try {
+
+			SearchFilter filter = new SearchFilter();
+
+			// 椤靛ぇ灏忥紝榛樿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);
+
+			// 绛涢�夋潯浠� 浼樺厛绛涢�夋煡璇㈣瘝
+			if (!StringUtil.isNullOrEmpty(key)) {
+				filter.setKey(key);
+			} else {
+				// 楂樹剑id
+				if (!StringUtil.isNullOrEmpty(catIds)) {
+
+					// 鐢疯+ 绫荤洰id
+					String[] split = catIds.split(",");
+					filter.setCateIds(split[1]);
+				}
+			}
+
+			// 鎶樻墸浠疯寖鍥翠笅闄�
+			if (startPrice != null)
+				filter.setStartPrice(new BigDecimal(startPrice));
+
+			// 鎶樻墸浠疯寖鍥翠笂闄�
+			if (endPrice != null)
+				filter.setEndPrice(new BigDecimal(endPrice));
+
+			// 浣i噾姣旂巼涓嬮檺
+			if (!StringUtil.isNullOrEmpty(startTkRate)) {
+				filter.setStartTkRate(Integer.parseInt(startTkRate));
+			}
+
+			// 姣旂巼涓婇檺
+			if (!StringUtil.isNullOrEmpty(endTkRate)) {
+				filter.setEndTkRate(Integer.parseInt(endTkRate));
+			}
+
+			// 鎺掑簭瀛楁
+			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);
+
+			// 閿�閲�
+			if (!StringUtil.isNullOrEmpty(startBiz30day))
+				filter.setStartBiz30day(startBiz30day);
+
+			List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
+
+			/* 娣樺疂缃戠粶 鐖彇 */
+			TaoBaoSearchResult result = TaoBaoUtil.searchAlimamaWeb(filter, config.get(0), searchType);
+
+			List<TaoBaoGoodsBrief> taoBaoGoodsBriefs = null;
+			if (result == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈幏鍙栧埌娣樺疂鍟嗗搧淇℃伅"));
+				return;
+			} else {
+				taoBaoGoodsBriefs = result.getTaoBaoGoodsBriefs();
+			}
+
+			if (taoBaoGoodsBriefs == null || taoBaoGoodsBriefs.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏈煡璇㈠埌娣樺疂鍟嗗搧淇℃伅"));
+				return;
+			} else {
+				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());
+					map.put("title", taoBaoGoodsBrief.getTitle());
+					map.put("auctionId", taoBaoGoodsBrief.getAuctionId());
+					map.put("auctionUrl", taoBaoGoodsBrief.getAuctionUrl());
+					map.put("shopTitle", taoBaoGoodsBrief.getShopTitle());
+					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());
+
+					/* 浣i噾鍙栬緝澶х殑鍊� */
+					String eventRate = taoBaoGoodsBrief.getEventRate();
+					BigDecimal rate;
+
+					BigDecimal tkRate2 = taoBaoGoodsBrief.getTkRate();
+					if (!StringUtil.isNullOrEmpty(eventRate)) {
+						BigDecimal eRate = new BigDecimal(eventRate);
+
+						int a = eRate.compareTo(tkRate2);
+						if (a >= 0) {
+							rate = eRate;
+						} else {
+							rate = tkRate2;
+						}
+					} else {
+						rate = tkRate2;
+					}
+					map.put("tkRate", rate);
+
+					/* 鍟嗗搧閿�鍞姸鎬侊細 0 鍦ㄥ敭 姝よ幏鍙栫殑娣樺疂淇℃伅鍧囦负鍦ㄥ敭鍟嗗搧 */
+					map.put("saleStae", 0);
+					// 鏉ユ簮 0 鏃� 1娣樺疂 2 浜笢
+					map.put("goodsSource", 1);
+
+					/* 1 瀹氬悜璁″垝 2 钀ラ攢杩斿埄 銆侀珮浣� 3 鏅剑 */
+					// Integer includeDxjh = taoBaoGoodsBrief.getIncludeDxjh();
+					// String tkMktStatus = taoBaoGoodsBrief.getTkMktStatus();
+					/*
+					 * boolean include = false; if (includeDxjh != null) { if
+					 * (includeDxjh == 1) { // 瀹氬悜璁″垝 map.put("yongjinType",1);
+					 * include = true; } }
+					 */
+
+					/*
+					 * if (!include){
+					 * 
+					 * if ("1".equals(tkMktStatus)) { // 钀ラ攢杩斿埄 銆侀珮浣�
+					 * map.put("yongjinType",2); } else { // 鏅剑
+					 * map.put("yongjinType",3); } }
+					 */
+
+					/* 鍒稿悗浠�--璁$畻 */
+					BigDecimal couponPrice = TaoBaoUtil.getCouponPrice(taoBaoGoodsBrief);
+					map.put("couponPrice", couponPrice);
+
+					/* 棰勮鏀剁泭锛� 鍏徃銆佺敤鎴� */
+					BigDecimal zkPrice = taoBaoGoodsBrief.getZkPrice();
+					BigDecimal profit = MoneyBigDecimalUtil.mul(rate, zkPrice);
+					// 璁$畻缁撴灉
+					BigDecimal estimateProfit = MoneyBigDecimalUtil.div(profit, new BigDecimal("100"));
+
+					// 棰勮鏀剁泭
+					map.put("estimateProfit", estimateProfit);
+
+					int existence = 0;
+
+					/* 鏌ヨ鍟嗗搧鏄惁宸插瓨鍦ㄥ晢鍝佺簿閫夊簱涓� */
+					String localAuctionId = taoBaoGoodsBrief.getAuctionId();
+
+					if (localAuctionId != null) {
+						List<TaoBaoGoodsBrief> taoBaoGoodsBriefList = taoBaoGoodsBriefService
+								.queryByAuctionId(localAuctionId);
+
+						if (taoBaoGoodsBriefList != null && taoBaoGoodsBriefList.size() > 0) {
+
+							TaoBaoGoodsBrief goodsBrief = taoBaoGoodsBriefList.get(0);
+
+							if (goodsBrief != null) {
+								String id = goodsBrief.getAuctionId();
+								// 鏌ヨ绮鹃�夊簱
+								Long has = qualityFactoryService.queryCountByGoodsId(id);
+
+								if (has != null && has > 0l) {
+									existence = 1; // 瀛樺湪鍟嗗搧涓�
+								}
+							}
+						}
+					}
+
+					map.put("isExistence", existence);
+
+					listmap.add(map);
+				}
+
+				PageEntity pe = result.getPageEntity();
+
+				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();
+		}
+	}
+
+	/**
+	 * 鑾峰彇娣樺疂楂樹剑鏌ヨ绫荤洰
+	 * 
+	 * @param callback
+	 * @param out
+	 */
+	@RequestMapping(value = "getNavList")
+	public void getNavList(AdminAcceptData acceptData,String callback, PrintWriter out) {
+
+		try {
+
+			SearchFilter filter = new SearchFilter();
+			filter.setPageSize(10);
+			filter.setPage(1);
+
+			List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
+
+			/* 娣樺疂缃戠粶 鐖彇 */
+			TaoBaoSearchResult result = TaoBaoUtil.searchAlimamaWeb(filter, config.get(0), 3);
+
+			if (result == null) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娣樺疂鍒楄〃鑾峰彇澶辫触"));
+				return;
+			}
+
+			List<TaoBaoSearchNav> navList = result.getNavList();
+
+			if (navList == null || navList.size() == 0) {
+				JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("娣樺疂鍒楄〃鑾峰彇澶辫触"));
+				return;
+			}
+
+			GsonBuilder gsonBuilder = new GsonBuilder();
+			gsonBuilder.serializeNulls();
+			Gson gson = gsonBuilder.create();
+
+			JSONObject data = new JSONObject();
+			data.put("navList", gson.toJson(navList));
+
+			JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+
+		} catch (Exception e) {
+			JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鏌ヨ寮傚父"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 
+	 * @param callback
+	 * @param pageIndex
+	 * @param out
+	 */
+	@RequestMapping(value = "searchMaterial")
+	public void searchMaterial(AdminAcceptData acceptData,String callback, Integer pageIndex, Integer pageSize, String subName, String superName,
+			PrintWriter out) {
+
+		try {
+
+			List<TaobaoMeterial> taobaoMeterials = null;
+			if (!StringUtil.isNullOrEmpty(subName) && !StringUtil.isNullOrEmpty(superName)) {
+				taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperName(subName, superName);
+			} else if (!StringUtil.isNullOrEmpty(superName)) {
+				taobaoMeterials = taobaoMeterialService.selectByClassNameAndSuperName(null, superName);
+			} else {
+				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<String> listAuctionId = new ArrayList<>();
+			for (TaoBaoGoodsBrief goodsBrief : taoBaoGoodsBriefs) {
+				listAuctionId.add(goodsBrief.getAuctionId());
+			}
+
+			// 楠岃瘉鏄惁瀛樺湪鏁版嵁搴�
+			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.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.getCouponPrice(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;
+
+				/* 鏌ヨ鍟嗗搧鏄惁宸插瓨鍦ㄥ晢鍝佺簿閫夊簱涓� */
+				String localAuctionId = taoBaoGoodsBrief.getAuctionId();
+				if (localAuctionId != null) {
+					if (listHas != null && listHas.size() > 0) {
+						for (QualityFactory selectionGoods : listHas) {
+							TaoBaoGoodsBrief hasgoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+							String hasId = hasgoodsBrief.getAuctionId();
+							if (TaoBaoUtil.isEqual(  localAuctionId,hasId)) {
+								existence = 1; // 瀛樺湪鍟嗗搧涓�
+							}
+						}
+					}
+				}
+
+				map.put("isExistence", existence);
+
+				listmap.add(map);
+			}
+
+			PageEntity pe = result.getPageEntity();
+
+			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();
+		}
+
+	}
+	
+
+	private List<Map<String, Object>> filterTaoBaoGoodsWithQulity(List<TaoBaoGoodsBrief> goodsList) {
+
+		// 鎻掑叆鍟嗗搧闆嗗悎
+		List<String> listAuctionId = new ArrayList<>();
+		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.getCouponPrice(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;
+
+			/* 鏌ヨ鍟嗗搧鏄惁宸插瓨鍦ㄥ晢鍝佺簿閫夊簱涓� */
+			String localAuctionId = taoBaoGoodsBrief.getAuctionId();
+			if (localAuctionId != null) {
+				if (listHas != null && listHas.size() > 0) {
+					for (QualityFactory selectionGoods : listHas) {
+						TaoBaoGoodsBrief hasgoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+						String hasId = hasgoodsBrief.getAuctionId();
+						if (TaoBaoUtil.isEqual(localAuctionId,hasId)) {
+							existence = 1; // 瀛樺湪鍟嗗搧涓�
+						}
+					}
+				}
+			}
+
+			map.put("isExistence", existence);
+
+			listmap.add(map);
+		}
+
+		return listmap;
+
+	}
+
+	
+	@RequestMapping(value = "searchDaTaoKe")
+	public void searchDaTaoKe(AdminAcceptData acceptData,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(AdminAcceptData acceptData,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);
+
+			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<String> listAuctionId = new ArrayList<>();
+			for (TaoBaoGoodsBrief goodsBrief : taoBaoGoodsBriefs) {
+				listAuctionId.add(goodsBrief.getAuctionId());
+			}
+
+			// 楠岃瘉鏄惁瀛樺湪鏁版嵁搴�
+			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.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.getCouponPrice(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;
+
+				/* 鏌ヨ鍟嗗搧鏄惁宸插瓨鍦ㄥ晢鍝佺簿閫夊簱涓� */
+				String localAuctionId = taoBaoGoodsBrief.getAuctionId();
+				if (localAuctionId != null) {
+					if (listHas != null && listHas.size() > 0) {
+						for (QualityFactory selectionGoods : listHas) {
+							TaoBaoGoodsBrief hasgoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+							String hasId = hasgoodsBrief.getAuctionId();
+							if ( TaoBaoUtil.isEqual(localAuctionId,hasId)) {
+								existence = 1; // 瀛樺湪鍟嗗搧涓�
+							}
+						}
+					}
+				}
+
+				map.put("isExistence", existence);
+				listmap.add(map);
+			}
+
+			PageEntity pe = result.getPageEntity();
+
+			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();
+		}
+
+	}
+
+}

--
Gitblit v1.8.0