package com.yeshi.fanli.controller.client.v1;
|
|
import java.io.PrintWriter;
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
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.yeshi.fanli.entity.accept.AcceptData;
|
import com.yeshi.fanli.entity.bus.clazz.GoodsClass;
|
import com.yeshi.fanli.entity.bus.recommend.RecommendBanner;
|
import com.yeshi.fanli.entity.common.JumpDetailV2;
|
import com.yeshi.fanli.entity.taobao.ClientTBPid;
|
import com.yeshi.fanli.entity.taobao.PidUser;
|
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.TaoBaoUnionConfig;
|
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
|
import com.yeshi.fanli.service.inter.special.S11Service;
|
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
|
import com.yeshi.fanli.service.inter.user.TBPidService;
|
import com.yeshi.fanli.util.TimeUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
/**
|
* 双11的内容
|
*
|
* @author Administrator
|
*
|
*/
|
@Controller
|
@RequestMapping("api/v1/s11")
|
public class S11Controller {
|
|
@Resource
|
private S11Service s11Service;
|
|
@Resource
|
private TBPidService tbPidService;
|
|
@Resource
|
private HongBaoManageService hongBaoManageService;
|
|
@Resource
|
private TaoBaoUnionConfigService taoBaoUnionConfigService;
|
|
/**
|
* 获取分类与banner
|
*
|
* @param acceptData
|
* @param out
|
*/
|
@RequestMapping(value = "getBannerAndClass")
|
public void getClass(AcceptData acceptData, PrintWriter out) {
|
JSONObject data = new JSONObject();
|
|
JumpDetailV2 jdv = new JumpDetailV2();
|
jdv.setActivity("com.yeshi.ec.rebate.myapplication.ui.mine.weex.WeexApplicationActivity");
|
jdv.setController("WeexNativeController");
|
jdv.setType("weex");
|
|
List<RecommendBanner> recommendBanner = s11Service.getBanner();
|
List<GoodsClass> goodsClass = s11Service.getGoodsClassCache();
|
Gson gson = new Gson();
|
|
data.put("banner", gson.toJson(recommendBanner));
|
|
JSONArray array = new JSONArray();
|
for (GoodsClass gc : goodsClass) {
|
JSONObject item = JSONObject.fromObject(gson.toJson(gc));
|
item.put("jumpDetail", jdv);
|
JSONObject params = new JSONObject();
|
params.put("url", gc.getUrl());
|
item.put("params", params);
|
array.add(item);
|
}
|
data.put("classes", array);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
/**
|
* 获取推荐商品
|
*
|
* @param acceptData
|
* @param out
|
*/
|
@RequestMapping(value = "getRecommendGoods")
|
public void getRecommendGoods(AcceptData acceptData, int page, PrintWriter out) {
|
List<TaoBaoGoodsBrief> list = s11Service.getPreSaleGoodsCache(page);
|
JSONArray array = new JSONArray();
|
if (list != null) {
|
BigDecimal proportion = hongBaoManageService.getFanLiRate(acceptData.getSystem());
|
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
|
boolean is11 = System.currentTimeMillis() > TimeUtil.convertToTimeTemp("2018-11-11", "yyyy-MM-dd") ? true
|
: false;
|
for (TaoBaoGoodsBrief goods : list) {
|
TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), "");
|
if (!is11)
|
extra.setShopType(3);
|
array.add(gson.toJson(extra));
|
}
|
}
|
JSONObject data = new JSONObject();
|
data.put("data", array);
|
data.put("count", 10000);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
@RequestMapping(value = "getGoodsByType")
|
public void getGoodsByType(AcceptData acceptData, int page, String key, PrintWriter out) {
|
List<TaoBaoGoodsBrief> list = s11Service.getPreSaleGoodsByType(key, page);
|
JSONArray array = new JSONArray();
|
if (list != null) {
|
BigDecimal proportion = hongBaoManageService.getFanLiRate(acceptData.getSystem());
|
Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create();
|
boolean is11 = System.currentTimeMillis() > TimeUtil.convertToTimeTemp("2018-11-11", "yyyy-MM-dd") ? true
|
: false;
|
for (TaoBaoGoodsBrief goods : list) {
|
TaoBaoGoodsBriefExtra extra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(goods, proportion.toString(), "");
|
if (!is11)
|
extra.setShopType(3);
|
array.add(gson.toJson(extra));
|
}
|
}
|
JSONObject data = new JSONObject();
|
data.put("data", array);
|
data.put("count", 10000);
|
out.print(JsonUtil.loadTrueResult(data));
|
}
|
|
@RequestMapping(value = "getTBPidInfo")
|
public void getTBInfo(AcceptData acceptData, Long uid, PrintWriter out) {
|
ClientTBPid tbPid = null;
|
if (uid != null && uid > 0) {
|
TBPid pid = null;
|
if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
|
pid = tbPidService.getTBPid(uid, PidUser.TYPE_FANLI_ANDROID);
|
} else {
|
pid = tbPidService.getTBPid(uid, PidUser.TYPE_FANLI_IOS);
|
}
|
|
if (pid != null) {
|
String appId = pid.getPid().split("_")[2];
|
String adzoneId = pid.getPid().split("_")[3];
|
TaoBaoUnionConfig taoBaoUnionConfig = taoBaoUnionConfigService.getConfigByAppIdCache(appId);
|
tbPid = new ClientTBPid(taoBaoUnionConfig.getAppKey(), pid.getPid(), appId, adzoneId);
|
}
|
}
|
if (tbPid == null) {
|
if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
|
tbPid = tbPidService.getAndroidDefault();
|
} else {
|
tbPid = tbPidService.getIOSDefault();
|
}
|
}
|
out.print(JsonUtil.loadTrueResult(tbPid));
|
}
|
|
}
|