From 2dc52e3ba49433a54368c3b64ba3539b4bb051ae Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 15 五月 2019 16:15:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java | 243 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 220 insertions(+), 23 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
index a92417f..a815927 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
@@ -8,7 +8,6 @@
import java.util.Collections;
import java.util.Date;
import java.util.List;
-import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -28,11 +27,11 @@
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
-import com.yeshi.fanli.dao.mybatis.HongBaoManageMapper;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.homemodule.Special;
import com.yeshi.fanli.entity.bus.homemodule.SuperSpecial;
import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture;
+import com.yeshi.fanli.entity.bus.lable.QualityFactory;
import com.yeshi.fanli.entity.bus.recommend.Honest;
import com.yeshi.fanli.entity.bus.recommend.RecommendBanner;
import com.yeshi.fanli.entity.bus.recommend.RecommendBannerV2;
@@ -53,10 +52,10 @@
import com.yeshi.fanli.entity.taobao.ClientTBPid;
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.SearchFilter;
-import com.yeshi.fanli.entity.taobao.TBPid;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
+import com.yeshi.fanli.entity.taobao.TaoBaoShop;
import com.yeshi.fanli.entity.taobao.TaoBaoShopInfo;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
import com.yeshi.fanli.entity.taobao.TaoKeAppInfo;
@@ -75,7 +74,6 @@
import com.yeshi.fanli.service.inter.config.SystemConfigService;
import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
-import com.yeshi.fanli.service.inter.goods.RecommendBannerService;
import com.yeshi.fanli.service.inter.goods.ScanHistoryV2Service;
import com.yeshi.fanli.service.inter.goods.SuperRecommendBannerService;
import com.yeshi.fanli.service.inter.goods.SuperRecommendBannerV2Service;
@@ -86,11 +84,13 @@
import com.yeshi.fanli.service.inter.homemodule.SuperSpecialService;
import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
+import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
import com.yeshi.fanli.service.inter.lable.QualityGoodsService;
import com.yeshi.fanli.service.inter.monitor.MonitorService;
import com.yeshi.fanli.service.inter.order.OrderService;
import com.yeshi.fanli.service.inter.order.ShareGoodsActivityOrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoShopService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.service.inter.user.TBPidService;
@@ -107,9 +107,9 @@
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.factory.MonitorFactory;
import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
-import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.vo.msg.ClientTextStyleVO;
import com.yeshi.fanli.vo.user.UserSettingsVO;
import net.sf.json.JSONArray;
@@ -118,9 +118,6 @@
@Controller
@RequestMapping("api/v1/user")
public class RecommendController {
-
- @Resource
- private RecommendBannerService recommendService;
@Resource
private BusinessSystemService businessSystemService;
@@ -147,9 +144,6 @@
private UserInfoService userInfoService;
@Resource
- private TaoBaoOrderUtil taoBaoOrderUtil;
-
- @Resource
private TaoBaoCouponService taoBaoCouponService;
@Resource
@@ -160,9 +154,6 @@
@Resource
private CollectionGoodsV2Service collectionGoodsV2Service;
-
- @Resource
- private HongBaoManageMapper hongBaoManageMapper;
@Resource
private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
@@ -225,12 +216,16 @@
private UserInfoExtraService userInfoExtraService;
@Resource
+ private QualityFlashSaleService qualityFlashSaleService;
+
+ @Resource
private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil;
+
+ @Resource
+ private TaoBaoShopService taoBaoShopService;
@RequestMapping(value = "getHonestList")
public void getHonestList(AcceptData acceptData, PrintWriter out) {
- BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
- acceptData.getPackages());
List<Honest> honestList = null;
List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID);
if ((Integer.parseInt(acceptData.getVersion()) >= 20 && "android".equalsIgnoreCase(acceptData.getPlatform()))
@@ -979,7 +974,6 @@
ClientTBPid clientTBPid = null;
// 鐢ㄦ埛宸茬粡鐧诲綍
if (!StringUtil.isNullOrEmpty(uid)) {
- TBPid tbPid = null;
if (acceptData.getPlatform().equalsIgnoreCase("android")) {
clientTBPid = tbPidService.getAndroidDefault();
} else {
@@ -1301,7 +1295,6 @@
// 浠庢帹鑽愭潵
if (page <= 1) {
array.clear();
- Map<String, String> map = hongBaoManageService.convertMap();
BigDecimal proportion = manageService.getFanLiRate();
if (!StringUtil.isNullOrEmpty(imei) || !StringUtil.isNullOrEmpty(idfa)) {
long startTime = java.lang.System.currentTimeMillis();
@@ -1343,14 +1336,12 @@
proportion.toString());
array.addAll(localArray);
} else {// 浠庣簿閫夊簱鏉�
- Map<String, String> map = hongBaoManageService.convertMap();
BigDecimal proportion = manageService.getFanLiRate();
array = qualityGoodsService.getRecommendToIndex((page - 1) * pageSize, pageSize, proportion.toString());
if (array == null) {
out.print(JsonUtil.loadFalseResult("娌℃湁鏇村浜�"));
return;
}
- long count = qualityGoodsService.countRecommendToIndex(proportion.toString());
}
JSONObject data = new JSONObject();
@@ -1570,9 +1561,198 @@
root.put("invite", invite);
}
}
-
out.print(JsonUtil.loadTrueResult(root));
+ }
+ /**
+ * 鏂扮増鎺ㄨ崘涓撻绠$悊(1.5.3)
+ *
+ * @param acceptData
+ * @param out
+ */
+ @RequestMapping(value = "getRecommendIndex")
+ public void getRecommendIndex(AcceptData acceptData, Long uid, PrintWriter out) {
+ try {
+ // 1銆佷笓棰樻ā鍧�
+ JSONObject root = specialService.listCacheSpecialToIndex(acceptData);
+
+ // 2銆侀《閮ㄨ疆鎾浘
+ List<SwiperPicture> topPicList = getSwiperByCard("index_top");
+ if (topPicList == null) {
+ topPicList = new ArrayList<SwiperPicture>();
+ }
+ root.put("topPicList", JsonUtil.getApiCommonGson().toJson(topPicList));
+
+ // 3銆侀個璇锋湁濂�
+ List<SwiperPicture> invitePicList = null;
+ if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+ && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
+ // 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥�
+ } else {
+ invitePicList = getSwiperByCard("index_invite");
+ }
+
+ if (invitePicList == null) {
+ invitePicList = new ArrayList<SwiperPicture>();
+ }
+ root.put("invitePicList", JsonUtil.getApiCommonGson().toJson(invitePicList));
+
+ // 4銆両OS鐨勫簳閮ㄧ綉椤甸摼鎺�
+ String platform = acceptData.getPlatform();
+ if ("ios".equalsIgnoreCase(platform)) {
+ root.put("htmlLink", configService.get("index_html_link_ios"));
+ }
+
+ root.put("spikeGoods", getSpikeGoodsContent(acceptData));
+
+ out.print(JsonUtil.loadTrueResult(root));
+ } catch (Exception e) {
+ out.print(JsonUtil.loadFalseResult(1, "鑾峰彇鏁版嵁澶辫触"));
+ try {
+ LogHelper.errorDetailInfo(e);
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * 閭�璇锋湁濂栨槸鍚﹂渶瑕佽繑鍥�
+ *
+ * @param uid
+ * @param acceptData
+ * @return
+ */
+ public List<SwiperPicture> getInvitePicList(Long uid, AcceptData acceptData) {
+ // 濡傛灉IOS褰撳墠鐗堟湰澶勪簬瀹℃牳鐘舵�佸氨涓嶈繑鍥�
+ if ("ios".equalsIgnoreCase(acceptData.getPlatform())
+ && configService.iosOnLining(Integer.parseInt(acceptData.getVersion()))) {
+ return null;
+ }
+
+ List<SwiperPicture> invitePicList = getSwiperByCard("index_invite");
+
+ return invitePicList;
+ }
+
+ public List<SwiperPicture> getSwiperByCard(String card) {
+ List<SwiperPicture> swiperList = null;
+ try {
+ swiperList = swiperPictureService.getByBannerCard(card);
+ } catch (Exception e) {
+ try {
+ LogHelper.errorDetailInfo(e);
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ e.printStackTrace();
+ }
+ return swiperList;
+ }
+
+ private JSONObject getSpikeGoodsContent(AcceptData acceptData) {
+ // 涓嬩竴娆″�掕鏃剁殑鏃堕棿
+ int type = qualityFlashSaleService.getNowType() + 1;
+ int hour = 0;
+ switch (type) {
+ case 1:
+ hour = 0;
+ break;
+ case 2:
+ hour = 9;
+ break;
+ case 3:
+ hour = 12;
+ break;
+ case 4:
+ hour = 14;
+ break;
+ case 5:
+ hour = 16;
+ break;
+ case 6:
+ hour = 20;
+ break;
+ case 7:
+ hour = 22;
+ break;
+ default:
+ break;
+ }
+
+ Calendar nextTime = Calendar.getInstance();
+ nextTime.set(Calendar.HOUR_OF_DAY, hour);
+ nextTime.set(Calendar.MINUTE, 0);
+ nextTime.set(Calendar.SECOND, 0);
+ nextTime.set(Calendar.MILLISECOND, 0);
+
+ JSONArray array = null;
+ String timekey = "spikeGoods_hour";
+ String cachekey = "spikeGoodsList";
+
+ String timeValue = redisManager.getCommonString(timekey);
+ if (timeValue == null || !timeValue.equals(hour + "")) {
+ redisManager.cacheCommonString(timekey, hour + "", 60 * 30);
+ } else {
+ String cacheValue = redisManager.getCommonString(cachekey);
+ if (!StringUtil.isNullOrEmpty(cacheValue)) {
+ array = JSONArray.fromObject(cacheValue);
+ }
+ }
+
+ if (array == null) {
+ array = new JSONArray();
+
+ BigDecimal proportion = manageService.getFanLiRate();
+ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder())
+ .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create();
+
+ // 缂撳瓨涓笉瀛樺湪
+ List<QualityFactory> listGoods = qualityGoodsService.listFlashSaleRandGoods();
+ if (listGoods == null) {
+ listGoods = new ArrayList<QualityFactory>();
+ }
+
+ /* 閬嶅巻鍒楄〃鏁版嵁 */
+ for (QualityFactory qualityFactory : listGoods) {
+
+ TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
+ if (taoBaoGoodsBrief == null) {
+ continue;
+ }
+ array.add(gson
+ .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
+ }
+
+ // 缂撳瓨鍗婁釜灏忔椂
+ redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30);
+ }
+ Long endTime = nextTime.getTimeInMillis() - java.lang.System.currentTimeMillis();
+
+ JSONObject root = new JSONObject();
+ root.put("time", nextTime.getTimeInMillis());
+ root.put("endTime", endTime > 0? endTime : 0);
+ root.put("listgoods", array);
+
+ return root;
+ }
+
+ /**
+ * 闄愭椂绉掓潃 1.5.3
+ *
+ * @param acceptData
+ * @param out
+ */
+ @RequestMapping(value = "getSpikeGoods")
+ public void getSpikeGoods(AcceptData acceptData, PrintWriter out) {
+ JSONObject params = new JSONObject();
+ params.put("url", configService.get("spike_goods_link"));
+ JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
+
+ JSONObject root = getSpikeGoodsContent(acceptData);
+ root.put("params", params);
+ root.put("jumpDetail", jumpDetail);
+ out.print(JsonUtil.loadTrueResult(root));
}
/**
@@ -1751,9 +1931,11 @@
goodsJson.put("price", tb.getReservePrice().toString());
goodsJson.put("zkPrice", tb.getZkPrice().toString());
+
// 30澶╅攢閲�
goodsJson.put("saleCount", TaoBaoUtil.getSaleCount(tb.getBiz30day()));
-
+ goodsJson.put("salesCount", TaoBaoUtil.getSaleCount(tb.getBiz30day()));
+
// 鍒嗕韩璧�
BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb);
data.put("shareMoney", "楼" + shareMoney);
@@ -1844,6 +2026,11 @@
}
goodsJson.put("hongBao", hongBao);
+ List<ClientTextStyleVO> labels = new ArrayList<>();
+ labels.add(new ClientTextStyleVO("鏍囩鍐呭", "#F14242"));
+ labels.add(new ClientTextStyleVO("鏍囩鍐呭", "#00FF00"));
+ goodsJson.put("labels", labels);
+
data.put("tbPidInfo", clientTBPid);
String jumpUrl = "https://item.taobao.com/item.htm?id=" + tb.getAuctionId();
@@ -1872,7 +2059,17 @@
}
}
// 搴楅摵
- goodsJson.put("shopInfo", tbShopInfo);
+ if (("android".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) >= 40)
+ || ("ios".equalsIgnoreCase(acceptData.getPlatform())
+ && Integer.parseInt(acceptData.getVersion()) >= 49)) {
+ TaoBaoShop shop = taoBaoShopService.getTaoBaoShop(goods.getAuctionId(), goods.getSellerId());
+ if (shop != null)
+ goodsJson.put("shopInfo", shop);
+ } else {
+ goodsJson.put("shopInfo", tbShopInfo);
+ }
+
+ goodsJson.put("fanliValid",Math.random()>0.5? true:false);// 鏄惁鏈夎繑鍒�
// 鍒嗕韩璺緞
String shareUrl = String.format("%s?id=" + tb.getAuctionId(), Constant.systemCommonConfig.getAppShareInfoUrl());
--
Gitblit v1.8.0