From 237794cca5d458376a9de0f3590ea850d45e2499 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 01 三月 2019 11:17:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java | 162 +++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 148 insertions(+), 14 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 5dd306b..3e4eacf 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
@@ -1,10 +1,12 @@
package com.yeshi.fanli.controller.client;
import java.io.PrintWriter;
+import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -21,6 +23,10 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+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;
@@ -40,6 +46,7 @@
import com.yeshi.fanli.entity.bus.user.Order;
import com.yeshi.fanli.entity.bus.user.ShamUser;
import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.common.ImageInfo;
import com.yeshi.fanli.entity.common.JumpDetail;
import com.yeshi.fanli.entity.common.JumpDetailV2;
@@ -62,6 +69,7 @@
import com.yeshi.fanli.exception.goods.ScanHistoryException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException;
+import com.yeshi.fanli.exception.user.UserCustomSettingsException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -87,12 +95,15 @@
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.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.service.inter.user.ShareManageService;
import com.yeshi.fanli.service.inter.user.TBPidService;
+import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
import com.yeshi.fanli.service.inter.user.UserGoodsStorageService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
@@ -105,6 +116,7 @@
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.user.UserSettingsVO;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
@@ -217,6 +229,16 @@
@Resource
private JumpDetailV2Service jumpDetailV2Service;
+
+ @Resource
+ private UserCustomSettingsService userCustomSettingsService;
+
+ @Resource
+ private ShareGoodsActivityOrderService shareGoodsActivityOrderService;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
@RequestMapping(value = "getrecommendsection")
public void getRecommendSection(AcceptData acceptData, int index, PrintWriter out) {
@@ -1297,14 +1319,30 @@
JSONObject data = new JSONObject();
data.put("count", count);
JSONArray array = new JSONArray();
- Gson gson = JsonUtil.getApiCommonGson();
+
+ GsonBuilder gsonBuilder = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder());
+ gsonBuilder.excludeFieldsWithoutExposeAnnotation();
+ gsonBuilder.registerTypeAdapter(Date.class, new JsonSerializer<Date>() {
+ @Override
+ public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) {
+ if (value == null) {
+ return new JsonPrimitive("");
+ } else {
+ return new JsonPrimitive(value.getTime() + "");
+ }
+ }
+ });
+
+ Gson gson = gsonBuilder.create();
+
if (list != null) {
- Map<String, String> map = hongBaoManageService.convertMap();
BigDecimal proportion = manageService.getFanLiRate();
for (ScanHistoryV2 sh : list) {
TaoBaoGoodsBrief goods = TaoBaoUtil.convert(sh.getCommonGoods());
goods.setId(sh.getId());
- array.add(gson.toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), "")));
+ TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), "");
+ extra.setCreatetime(sh.getCreateTime());
+ array.add(gson.toJson(extra));
}
}
data.put("data", array);
@@ -1583,7 +1621,8 @@
* @param out
*/
@RequestMapping(value = "getNewRecommendInfo")
- public void getNewRecommendInfo(AcceptData acceptData, String specialCard, String swiperCard, PrintWriter out) {
+ public void getNewRecommendInfo(AcceptData acceptData, Long uid, String specialCard, String swiperCard,
+ PrintWriter out) {
System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
if (system == null) {
@@ -1694,7 +1733,16 @@
if (("android".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) > 30)
|| ("ios".equalsIgnoreCase(acceptData.getPlatform())
&& Integer.parseInt(acceptData.getVersion()) > 37)) {
- root.put("invite", invite);
+ if (uid != null) {
+ try {
+ UserSettingsVO vo = userCustomSettingsService.getMySettings(uid);
+ if (vo == null || vo.getNoInvitationBonus() == null || vo.getNoInvitationBonus() == 0)// 娌℃湁鍏抽棴閭�璇�
+ root.put("invite", invite);
+ } catch (UserCustomSettingsException e) {
+ e.printStackTrace();
+ }
+ } else
+ root.put("invite", invite);
}
}
@@ -1708,10 +1756,11 @@
* @param acceptData
* @param id
* @param uid
+ * @param pageSource 椤甸潰鏉ユ簮
* @param out
*/
@RequestMapping(value = "getgoodsinfo", method = RequestMethod.POST)
- public void getGoodsInfo(AcceptData acceptData, String id, String uid, PrintWriter out) {
+ public void getGoodsInfo(AcceptData acceptData, String id, String uid, String from, PrintWriter out) {
if ("0".equalsIgnoreCase(uid)) {
uid = "";
@@ -1889,10 +1938,6 @@
goods.put("price", tb.getReservePrice().toString());
goods.put("zkPrice", tb.getZkPrice().toString());
- // 绾㈠寘
- BigDecimal proportion = manageService.getFanLiRate();
- String hongBao = TaoBaoUtil.getGoodsHongBaoInfo(tb, proportion);
- goods.put("hongBao", hongBao);
// 30澶╅攢閲�
goods.put("saleCount", TaoBaoUtil.getSaleCount(tb.getBiz30day()));
@@ -1932,13 +1977,21 @@
// 棰嗗埜浜哄垪琛�
List<ShamUser> listCouponUser = new ArrayList<ShamUser>();
-
+
+ String hongBao = null;
+
// 鑾峰彇鍒镐俊鎭�
if (!StringUtil.isNullOrEmpty(tb.getCouponInfo())) {
BigDecimal quanPrice = TaoBaoUtil.getAfterUseCouplePrice(tb);
JSONObject couponInfo = new JSONObject();
couponInfo.put("couponPrice", quanPrice.toString());
-
+
+ if (from != null && from.equals("miandan")) {
+ // 鍏嶅崟鍟嗗搧
+ hongBao = "楼" + quanPrice.toString();
+ }
+
+
// 鏈嶅姟绔浆閾�
if (convertInServer && !StringUtil.isNullOrEmpty(tb.getCouponLink())) {
couponInfo.put("couponUrl", tb.getCouponLink());
@@ -1957,7 +2010,14 @@
listCouponUser = shamUserService.listRandCouponUser(5, 1, 300);
}
}
-
+
+ // 绾㈠寘
+ if (hongBao == null) {
+ BigDecimal proportion = manageService.getFanLiRate();
+ hongBao = TaoBaoUtil.getGoodsHongBaoInfo(tb, proportion);
+ }
+ goods.put("hongBao", hongBao);
+
data.put("tbPidInfo", clientTBPid);
String jumpUrl = "https://item.taobao.com/item.htm?id=" + tb.getAuctionId();
@@ -2002,8 +2062,22 @@
data.put("goods", goods);
data.put("shareUsers", listShareUser);
data.put("couponUsers", listCouponUser);
- data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id="+id);
+ data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id);
+
+
+ if (!StringUtil.isNullOrEmpty(uid)
+ && shareGoodsActivityOrderService.countShareGoodsActivityOrder(Long.parseLong(uid)) > 0) {
+ } else if(!"miandan".equals(from)) {
+ // 闈炲厤鍗曞晢鍝�
+ JSONObject shareActivity = new JSONObject();
+ shareActivity.put("moneyDesc", "鏄ヨ妭鐙傛濂栭噾:楼" + TaoBaoUtil.getGoodsHongBaoMoney(tb,
+ new BigDecimal(hongBaoManageService.get("share_activity_proportion"))));
+ shareActivity.put("ruleDescPicture", "http://img.flqapp.com/resource/share_activity_img.png");
+
+ data.put("shareActivity", shareActivity);
+ }
+
out.print(JsonUtil.loadTrueResult(data));
final String tempUid = uid;
@@ -2162,4 +2236,64 @@
out.print(JsonUtil.loadTrueResult(data));
}
+ /**
+ * 娲诲姩鍒楄〃
+ *
+ * @param acceptData
+ * @param out
+ */
+ @RequestMapping(value = "getSpecialActivities")
+ public void getSpecialActivities(AcceptData acceptData, Long uid, PrintWriter out) {
+
+ System system = systemService.getSystemCache(acceptData.getPlatform(), acceptData.getPackages());
+ if (system == null) {
+ out.print(JsonUtil.loadFalseResult(1, "绯荤粺涓嶅瓨鍦�"));
+ return;
+ }
+
+ try {
+ // 涓撻娲诲姩
+ String specialCard = "special_activities";
+
+ List<Special> listSpecial = specialService.listPageBySystemAndCard(0, Integer.MAX_VALUE, specialCard,
+ system.getId());
+
+ if (listSpecial != null && listSpecial.size() > 0) {
+ for (Special special : listSpecial) {
+ special.setCreatetime(null);
+ special.setUpdatetime(null);
+ special.setState(null);
+ special.setRemark(null);
+ special.setCard(null);
+ special.setCardId(null);
+
+ JumpDetailV2 jumpDetail = special.getJumpDetail();
+ if (jumpDetail != null) {
+ jumpDetail.setId(null);
+ jumpDetail.setName(null);
+ }
+ // 閭�璇风櫥闄嗛獙璇�
+ if(jumpDetail.getType().equals("invite_web") && jumpDetail.getNeedLogin()
+ && uid != null) {
+
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra != null && userInfoExtra.getInviteCode() != null
+ && userInfoExtra.getInviteCode().trim().length() > 0) {
+
+ JSONObject params = new JSONObject();
+ params.put("url", configService.get("invite_activation_success_url"));
+ special.setParams(params.toString());
+ }
+ }
+ }
+ }
+
+ JSONObject root = new JSONObject();
+ root.put("special", listSpecial);
+
+ out.print(JsonUtil.loadTrueResult(root));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
}
--
Gitblit v1.8.0