From 884196860ac5970eb1ac33386c65378284df4679 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 29 四月 2019 09:00:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java |  326 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 326 insertions(+), 0 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java
new file mode 100644
index 0000000..2ff7f31
--- /dev/null
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/BrandController.java
@@ -0,0 +1,326 @@
+package com.yeshi.fanli.controller.client;
+
+import java.io.PrintWriter;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+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.accept.AcceptData;
+import com.yeshi.fanli.entity.brand.BrandClass;
+import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
+import com.yeshi.fanli.entity.bus.lable.QualityFactory;
+import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.fanli.entity.taobao.TaoBaoShop;
+import com.yeshi.fanli.exception.taobao.TaoKeApiException;
+import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
+import com.yeshi.fanli.service.inter.brand.BrandClassService;
+import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
+import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
+import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+@Controller
+@RequestMapping("api/v1/brand")
+public class BrandController {
+
+	@Resource
+	private BrandClassService brandClassService;
+
+	@Resource
+	private BrandClassShopService brandClassShopService;
+
+	@Resource
+	private TaoBaoShopService taoBaoShopService;
+
+	@Resource
+	private TaoBaoShopHistoryService taoBaoShopHistoryService;
+
+	@Resource
+	private HongBaoManageService manageService;
+
+	@Resource
+	private QualityGoodsService qualityGoodsService;
+
+	/**
+	 * 鑾峰彇鍝佺墝鍒嗙被
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "getClass", method = RequestMethod.POST)
+	public void getClass(AcceptData acceptData, PrintWriter out) {
+		try {
+			List<BrandClass> list = brandClassService.listBrandClassEffectiveCache();
+			if (list == null) {
+				list = new ArrayList<BrandClass>();
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("count", list.size());
+			data.put("list", JsonUtil.getApiCommonGson().toJson(list));
+
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * 娣诲姞瓒宠抗
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "addHistory", method = RequestMethod.POST)
+	public void addHistory(AcceptData acceptData, Long sid, Long uid, PrintWriter out) {
+		try {
+			if (sid == null || sid == 0) {
+				out.print(JsonUtil.loadFalseResult("搴楅摵id涓虹┖"));
+				return;
+			}
+			
+			out.print(JsonUtil.loadTrueResult("璁板綍鎴愬姛"));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("璁板綍澶辫触"));
+			e.printStackTrace();
+		}
+	}
+
+
+	/**
+	 * 娣诲姞瓒宠抗
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "deleteHistory", method = RequestMethod.POST)
+	public void deleteHistory(AcceptData acceptData, String ids, Long uid, PrintWriter out) {
+		try {
+			if (StringUtil.isNullOrEmpty(ids)) {
+				out.print(JsonUtil.loadFalseResult("鏈�夋嫨鏁版嵁"));
+				return;
+			}
+			taoBaoShopHistoryService.deleteHistory(Arrays.asList(ids.split(",")), uid, acceptData.getDevice());
+			out.print(JsonUtil.loadTrueResult("鍒犻櫎鎴愬姛"));
+		} catch (Exception e) {
+			out.print(JsonUtil.loadFalseResult("鍒犻櫎澶辫触"));
+			e.printStackTrace();
+		}
+	}
+	
+	/**
+	 * 搴楅摵瓒宠抗
+	 * 
+	 * @param acceptData
+	 * @param type       绮鹃��1锛� 瓒宠抗鍒楄〃2
+	 * @param out
+	 */
+	@RequestMapping(value = "getHistory", method = RequestMethod.POST)
+	public void getHistory(AcceptData acceptData, Integer page, Long uid, Integer type, PrintWriter out) {
+		try {
+			int pageSize;
+			if (type == 1) {
+				pageSize = 4;
+			} else {
+				pageSize = Constant.PAGE_SIZE;
+			}
+
+			long count = 0;
+			List<TaoBaoShopHistory> listHistory = null;
+			if (uid == null || uid == 0) {
+				String device = acceptData.getDevice();
+				count = taoBaoShopHistoryService.countByDevice(device);
+				if (count > 0) {
+					listHistory = taoBaoShopHistoryService.listByDevice((page - 1) * pageSize, pageSize, device);
+				}
+			} else {
+				count = taoBaoShopHistoryService.countByUid(uid);
+				if (count > 0) {
+					listHistory = taoBaoShopHistoryService.listByUid((page - 1) * pageSize, pageSize, uid);
+				}
+			}
+
+			List<TaoBaoShop> list = new ArrayList<TaoBaoShop>();
+			if (listHistory != null && listHistory.size() > 0) {
+				for (TaoBaoShopHistory history : listHistory) {
+					TaoBaoShop taoBaoShop = history.getTaoBaoShop();
+					if (taoBaoShop != null) {
+						
+						String shopLink = taoBaoShop.getShopLink();
+						if (StringUtil.isNullOrEmpty(shopLink)) {
+							taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
+						}
+						
+						String shopNameCustom = taoBaoShop.getShopNameCustom();
+						if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+							taoBaoShop.setShopName(shopNameCustom);
+						}
+						
+						String shopIconCustom = taoBaoShop.getShopIconCustom();
+						if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+							taoBaoShop.setShopIcon(shopIconCustom);
+						}
+						
+						list.add(taoBaoShop);
+					}
+				}
+			}
+
+			JSONObject data = new JSONObject();
+			data.put("count", list.size());
+			data.put("list", JsonUtil.getApiCommonGson().toJson(list));
+
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			e.printStackTrace();
+			out.print(JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
+		}
+	}
+
+	/**
+	 * 搴楅摵鍒楄〃
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "getShopList", method = RequestMethod.POST)
+	public void getShopList(AcceptData acceptData, Integer page, Long cid, PrintWriter out) {
+		try {
+			if (page == null || page < 1) {
+				page = 1;
+			}
+			JSONObject data = brandClassShopService.listEffectiveCache(page, cid);
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			e.printStackTrace();
+			out.print(JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
+		}
+	}
+
+	/**
+	 * 搴楅摵璇︽儏椤�
+	 * 
+	 * @param acceptData
+	 * @param out
+	 */
+	@RequestMapping(value = "getShopInfo", method = RequestMethod.POST)
+	public void getShopInfo(AcceptData acceptData, Integer page, Long sid, Long uid, PrintWriter out) {
+		try {
+			JSONObject data = new JSONObject();
+			if (page == 1) {
+				TaoBaoShop taoBaoShop = taoBaoShopService.selectByPrimaryKey(sid);
+				if (taoBaoShop == null) {
+					out.print(JsonUtil.loadFalseResult("搴楅摵淇℃伅鑾峰彇澶辫触"));
+				}
+				String shopLink = taoBaoShop.getShopLink();
+				if (StringUtil.isNullOrEmpty(shopLink)) {
+					taoBaoShop.setShopLink(TaoBaoUtil.getShopLink(taoBaoShop.getId()));
+				}
+				
+				String shopNameCustom = taoBaoShop.getShopNameCustom();
+				if (!StringUtil.isNullOrEmpty(shopNameCustom)) {
+					taoBaoShop.setShopName(shopNameCustom);
+				}
+				
+				String shopIconCustom = taoBaoShop.getShopIconCustom();
+				if (!StringUtil.isNullOrEmpty(shopIconCustom)) {
+					taoBaoShop.setShopIcon(shopIconCustom);
+				}
+				data.put("shop", taoBaoShop);
+				
+				
+				ThreadUtil.run(new Runnable() {
+					public void run() {
+						// 娣诲姞瓒宠抗
+						taoBaoShopHistoryService.addHistory(sid, uid, acceptData.getDevice());
+					}
+				});
+				
+			}
+
+			int pageSize = Constant.PAGE_SIZE;
+			List<QualityFactory> listQuery = qualityGoodsService.listByShopId((page - 1) * pageSize, pageSize, sid);
+
+			long count = 0;
+			JSONArray array = new JSONArray();
+			if (listQuery != null && listQuery.size() > 0) {
+				List<Long> listGid = new ArrayList<Long>();
+				for (QualityFactory qualityFactory : listQuery) {
+					TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
+					if (taoBaoGoodsBrief == null) {
+						continue;
+					}
+					listGid.add(taoBaoGoodsBrief.getAuctionId());
+				}
+
+				// API缃戠粶鎺ュ彛楠岃瘉鏄惁鍦ㄥ敭
+				List<TaoBaoGoodsBrief> listTaoKeGoods = null;
+				try {
+					listTaoKeGoods = TaoKeApiUtil.getBatchGoodsInfo(listGid);
+				} catch (TaoKeApiException e) {
+					e.printStackTrace();
+				} catch (TaobaoGoodsDownException e) {
+					e.printStackTrace();
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+
+				Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+						.excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+				BigDecimal proportion = manageService.getFanLiRate();
+				for (QualityFactory selectionGoods : listQuery) {
+					TaoBaoGoodsBrief taoBaoGoodsBrief = selectionGoods.getTaoBaoGoodsBrief();
+					if (taoBaoGoodsBrief == null) {
+						continue;
+					}
+
+					if (listTaoKeGoods != null && listTaoKeGoods.size() > 0) {
+						boolean stateSale = false; // 榛樿鍋滃敭
+						Long goodsId = taoBaoGoodsBrief.getAuctionId();
+						for (TaoBaoGoodsBrief taoKeGoods : listTaoKeGoods) {
+							Long auctionId = taoKeGoods.getAuctionId();
+							if (goodsId == auctionId || goodsId.equals(auctionId)) {
+								stateSale = true; // 鍦ㄥ敭
+								break;
+							}
+						}
+
+						if (!stateSale) {
+							continue;
+						}
+					}
+					array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
+				}
+				count = qualityGoodsService.countByShopId(sid);
+			}
+			data.put("count", count);
+			data.put("list", array);
+			out.print(JsonUtil.loadTrueResult(data));
+		} catch (Exception e) {
+			e.printStackTrace();
+			out.print(JsonUtil.loadFalseResult("鏌ヨ澶辫触"));
+		}
+	}
+
+}

--
Gitblit v1.8.0