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