package com.yeshi.fanli.controller.client; import java.io.PrintWriter; import java.math.BigDecimal; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; 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.hongbao.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 org.yeshi.utils.JsonUtil; 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 = s11Service.getBanner(); List 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 list = s11Service.getPreSaleGoodsCache(page); JSONArray array = new JSONArray(); if (list != null) { BigDecimal proportion = hongBaoManageService.getFanLiRate(); 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 list = s11Service.getPreSaleGoodsByType(key, page); JSONArray array = new JSONArray(); if (list != null) { BigDecimal proportion = hongBaoManageService.getFanLiRate(); 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)); } }