package com.yeshi.fanli.controller.xcx;
|
|
import java.io.PrintWriter;
|
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.dao.mybatis.HongBaoManageMapper;
|
import com.yeshi.fanli.entity.taobao.PidUser;
|
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.exception.taobao.TaobaoGoodsDownException;
|
import com.yeshi.fanli.service.inter.config.ConfigService;
|
import com.yeshi.fanli.service.inter.config.JumpDetailService;
|
import com.yeshi.fanli.service.inter.config.SystemConfigService;
|
import com.yeshi.fanli.service.inter.config.SystemService;
|
import com.yeshi.fanli.service.inter.goods.HonestService;
|
import com.yeshi.fanli.service.inter.goods.RecommendBannerService;
|
import com.yeshi.fanli.service.inter.goods.RecommendSectionGoodsService;
|
import com.yeshi.fanli.service.inter.goods.ShareGoodsService;
|
import com.yeshi.fanli.service.inter.goods.SuperRecommendBannerService;
|
import com.yeshi.fanli.service.inter.goods.SuperRecommendSectionService;
|
import com.yeshi.fanli.service.inter.goods.SuperRecommendSpecialService;
|
import com.yeshi.fanli.service.inter.goods.TaoBaoCouponService;
|
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
|
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
|
import com.yeshi.fanli.service.inter.order.OrderService;
|
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
|
import com.yeshi.fanli.service.inter.user.ScanHistoryService;
|
import com.yeshi.fanli.service.inter.user.ShareManageService;
|
import com.yeshi.fanli.service.inter.user.UserInfoService;
|
import com.yeshi.fanli.util.RedisManager;
|
import com.yeshi.fanli.util.StringUtil;
|
import com.yeshi.fanli.util.ThreadUtil;
|
import com.yeshi.fanli.util.taobao.DaTaoKeUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
|
import net.sf.json.JSONObject;
|
|
@Controller
|
@RequestMapping("api/xcx/v1/XcxUser")
|
public class XcxRecommendController {
|
|
@Resource
|
private RecommendBannerService recommendService;
|
|
@Resource
|
private SystemService systemService;
|
|
@Resource
|
private ShareGoodsService shareGoodsService;
|
|
@Resource
|
private SuperRecommendBannerService superRecommendBannerService;
|
|
@Resource
|
private SuperRecommendSectionService superRecommendSectionService;
|
|
@Resource
|
private SuperRecommendSpecialService superRecommendSpecialService;
|
|
@Resource
|
private RecommendSectionGoodsService recommendSectionGoodsService;
|
|
@Resource
|
private XcxMiniControllerUtil xcxMiniControllerUtil;
|
|
@Resource
|
private OrderService orderService;
|
|
@Resource
|
private ScanHistoryService scanHistoryService;
|
|
@Resource
|
private ShareManageService shareManageService;
|
|
@Resource
|
private ConfigService configService;
|
|
@Resource
|
private HongBaoManageService hongBaoManageService;
|
|
@Resource
|
private UserInfoService userInfoService;
|
|
@Resource
|
private TaoBaoOrderUtil taoBaoOrderUtil;
|
|
@Resource
|
private TaoBaoCouponService taoBaoCouponService;
|
|
@Resource
|
private JumpDetailService jumpDetailService;
|
|
@Resource
|
private SystemConfigService systemConfigService;
|
|
@Resource
|
private HonestService honestService;
|
|
|
|
@Resource
|
private HongBaoManageMapper hongBaoManageMapper;
|
|
@Resource
|
private TaoBaoGoodsBriefService taoBaoGoodsBriefService;
|
|
@Resource
|
private RedisManager redisManager;
|
|
@Resource
|
private TaoBaoUnionConfigService taoBaoUnionConfigService;
|
|
/**
|
*
|
* 方法说明: 获取商品详情
|
*
|
* @author mawurui createTime 2018年4月25日 下午5:03:50
|
* @param acceptData
|
* @param id
|
* @param uid
|
* @param out
|
*/
|
@SuppressWarnings("unused")
|
@RequestMapping(value = "getgoodsdetail", method = RequestMethod.POST)
|
public void getGoodsDetail(String appid, Integer version, String id, PrintWriter out) {
|
if (!configService.xcxShow(appid, version))
|
id = DaTaoKeUtil.getAuctionId(Long.parseLong(id)) + "";
|
|
// id=DaTaoKeUtil.getAuctionId(Long.parseLong(id))+"";
|
long begin = java.lang.System.currentTimeMillis();
|
if (StringUtil.isNullOrEmpty(id)) {
|
out.print(JsonUtil.loadFalseResult(1, "请上传id"));
|
return;
|
}
|
/*
|
* System system = xcxMiniControllerUtil.getSystem(acceptData); // 淘特价
|
* if (system.getId() == 7) { system =
|
* systemService.getSystem("ANDROID", "com.yeshi.ec.rebate"); }
|
*
|
* if (system == null) { out.print(JsonUtil.loadFalseResult(1,
|
* XcxMiniControllerUtil.NOSYSTEM)); return; }
|
*/
|
TaoBaoGoodsBrief tb = null;
|
try {
|
tb = redisManager.getTaoBaoGoodsBrief(Long.parseLong(id));
|
} catch (NumberFormatException e) {
|
e.printStackTrace();
|
} catch (TaobaoGoodsDownException e) {
|
e.printStackTrace();
|
}
|
|
if (tb != null) {
|
tb.setAuctionUrl(null);
|
tb.setId(0l);
|
List<TaoBaoUnionConfig> config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_SHARE_GOODS);
|
|
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
|
JSONObject data = new JSONObject();
|
TaoBaoGoodsBriefExtra taoBaoGoodsBriefExtra = TaoBaoUtil.getTaoBaoGoodsBriefExtra(tb, config.get(0));
|
if (!StringUtil.isNullOrEmpty(tb.getCouponLink()) && taoBaoGoodsBriefExtra.getTaoBaoQuanInfo() != null)
|
taoBaoGoodsBriefExtra.getTaoBaoQuanInfo().setCouponLink(tb.getCouponLink());
|
|
taoBaoGoodsBriefExtra.setAuctionUrl(null);
|
|
// 设置淘口令
|
taoBaoGoodsBriefExtra.setTbToken(redisManager.getXCXCouponToken(tb));
|
|
// 去掉pritUrl后面的尺寸
|
String pictUrl = taoBaoGoodsBriefExtra.getPictUrl();
|
String newUrl = pictUrl.substring(0, pictUrl.indexOf("_200x200"));
|
taoBaoGoodsBriefExtra.setPictUrl(newUrl);
|
|
data.put("taobao", gson.toJson(taoBaoGoodsBriefExtra));
|
String info = configService.get("detail_prompt");
|
data.put("info", info);
|
String onlyInfo = configService.get("only_info");
|
data.put("only", onlyInfo);
|
int showType = taoBaoGoodsBriefExtra.getShowType();
|
String price = "";
|
if (showType == 1 || showType == 3) {
|
price = taoBaoGoodsBriefExtra.getQuanPrice() + "";
|
} else {
|
price = taoBaoGoodsBriefExtra.getZkPrice() + "";
|
}
|
String appName = systemConfigService.get("appName", null);
|
data.put("sharePrice", "¥" + price + "元 送" + appName + "红包¥"
|
+ taoBaoGoodsBriefExtra.getTaoBaoHongBaoInfo().getHongbao() + "元 ");
|
data.put("shareTitle", taoBaoGoodsBriefExtra.getTitle());
|
data.put("shareContent", "¥" + price + "元");
|
data.put("shareImg", taoBaoGoodsBriefExtra.getPictUrl());
|
String html = configService.get("downAPP");
|
data.put("downAPP", html);
|
String shareSinaContent = configService.get("shareSinaContent");
|
data.put("shareSina",
|
"¥" + price + "元 送" + appName + "红包¥"
|
+ taoBaoGoodsBriefExtra.getTaoBaoHongBaoInfo().getHongbao() + "元 "
|
+ taoBaoGoodsBriefExtra.getTitle() + shareSinaContent);
|
|
data.put("sharemoney", "分享奖金 ¥" + taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb) + "元");
|
|
// 图文详情
|
Long idL = Long.parseLong(id);
|
List<String> goodsTextAndImageDetails = TaoBaoUtil.getGoodsTextAndImageDetails(idL);
|
data.put("goodsTextAndImageDetails", goodsTextAndImageDetails);
|
|
out.print(JsonUtil.loadTrueResult(data));
|
} else {
|
final String aid = id;
|
out.print(JsonUtil.loadFalseResult(2, "商品已下架"));
|
ThreadUtil.run(new Runnable() {
|
public void run() {
|
recommendSectionGoodsService.deleteRecommendSectionGoodsByTbAuctionId(Long.parseLong(aid));
|
}
|
});
|
}
|
long end = java.lang.System.currentTimeMillis();
|
java.lang.System.out.println("耗时:" + (end - begin));
|
return;
|
}
|
|
}
|