From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java | 2942 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 1,558 insertions(+), 1,384 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java index 4a93d1d..27a49bf 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/DynamicControllerV2.java @@ -1,39 +1,12 @@ package com.yeshi.fanli.controller.client.v2; -import java.io.IOException; -import java.io.InputStream; -import java.io.PrintWriter; -import java.lang.reflect.Type; -import java.math.BigDecimal; -import java.net.MalformedURLException; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - -import javax.annotation.Resource; - -import org.apache.commons.beanutils.PropertyUtils; -import org.springframework.core.task.TaskExecutor; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.yeshi.utils.HttpUtil; -import org.yeshi.utils.JsonUtil; -import org.yeshi.utils.QRCodeUtil; -import org.yeshi.utils.entity.FileUploadResult; -import org.yeshi.utils.tencentcloud.COSManager; - -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.google.gson.*; +import com.yeshi.common.vo.ClientTextStyleVO; import com.yeshi.fanli.dto.jd.JDCouponInfo; +import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemFunction; +import com.yeshi.fanli.entity.SystemPIDInfo; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.clazz.GoodsClass; import com.yeshi.fanli.entity.bus.homemodule.CommonShareInfo; @@ -53,9 +26,10 @@ import com.yeshi.fanli.entity.jd.JDGoods; import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.taobao.TaoBaoLink; -import com.yeshi.fanli.exception.goods.ConvertLinkExceptionException; -import com.yeshi.fanli.exception.share.ShareGoodsException; -import com.yeshi.fanli.exception.user.cloud.UserCloudException; +import com.yeshi.fanli.exception.goods.ConvertLinkException; +import com.yeshi.fanli.exception.pdd.PDDAuthException; +import com.yeshi.fanli.exception.pdd.PDDGoodsException; +import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; import com.yeshi.fanli.service.inter.config.ConfigService; @@ -63,1566 +37,1766 @@ import com.yeshi.fanli.service.inter.dynamic.ArticleOfficialService; import com.yeshi.fanli.service.inter.dynamic.DynamicInfoService; import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; -import com.yeshi.fanli.service.inter.goods.ShareGoodsService; -import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; import com.yeshi.fanli.service.inter.homemodule.CommonShareInfoService; import com.yeshi.fanli.service.inter.homemodule.SpecialService; import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; -import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.pdd.PDDAuthService; import com.yeshi.fanli.service.inter.user.QrCodeService; +import com.yeshi.fanli.service.inter.user.UserFunctionsLimitService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.service.inter.user.cloud.UserCloudService; import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.service.manger.goods.ConvertLinkManager; -import com.yeshi.fanli.util.Constant; -import com.yeshi.fanli.util.FilePathEnum; -import com.yeshi.fanli.util.ImageUtil; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager; +import com.yeshi.fanli.service.manger.goods.jd.JDConvertLinkManager; +import com.yeshi.fanli.service.manger.goods.pdd.PDDConvertLinkManager; +import com.yeshi.fanli.service.manger.goods.tb.TBConvertLinkManager; +import com.yeshi.fanli.util.*; import com.yeshi.fanli.util.StringUtil; -import com.yeshi.fanli.util.TimeUtil; -import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.cache.JDGoodsCacheUtil; +import com.yeshi.fanli.util.exception.ExceptionConstant; +import com.yeshi.fanli.util.goods.GoodsJumpUtil; +import com.yeshi.fanli.util.goods.GoodsTextUtil; import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.jd.JDUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; import com.yeshi.fanli.util.taobao.DaTaoKeUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.vo.dynamic.ArticleVO; +import com.yeshi.fanli.vo.goods.ConvertLinkJumpVO; import com.yeshi.fanli.vo.goods.GoodsDetailVO; import com.yeshi.fanli.vo.homemodule.BannerVO; import com.yeshi.fanli.vo.homemodule.SpecialVO; -import com.yeshi.fanli.vo.msg.ClientTextStyleVO; - +import com.yeshi.fanli.vo.pdd.PDDConvertLinkResultVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.beanutils.PropertyUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.core.task.TaskExecutor; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.yeshi.utils.*; +import org.yeshi.utils.entity.FileUploadResult; +import org.yeshi.utils.tencentcloud.COSManager; + +import javax.annotation.Resource; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintWriter; +import java.lang.reflect.Type; +import java.math.BigDecimal; +import java.net.MalformedURLException; +import java.util.*; /** * 鍔ㄦ�� - * - * @author Administrator * + * @author Administrator */ @Controller @RequestMapping("api/v2/dynamic") public class DynamicControllerV2 { - @Resource - private HongBaoManageService hongBaoManageService; + private Logger logger= LoggerFactory.getLogger(DynamicControllerV2.class); - @Resource - private TaoBaoGoodsBriefService taoBaoGoodsBriefService; + @Resource + private TaoBaoLinkManager taoBaoLinkManager; - @Resource - private JumpDetailV2Service jumpDetailV2Service; + @Resource + private JumpDetailV2Service jumpDetailV2Service; - @Resource - private DynamicInfoService dynamicInfoService; + @Resource + private DynamicInfoService dynamicInfoService; - @Resource - private SpecialService specialService; + @Resource + private SpecialService specialService; - @Resource - private ArticleOfficialService articleOfficialService; + @Resource + private ArticleOfficialService articleOfficialService; - @Resource - private SwiperPictureService swiperPictureService; + @Resource + private SwiperPictureService swiperPictureService; - @Resource - private ConfigService configService; + @Resource + private ConfigService configService; - @Resource - private GoodsEvaluateService goodsEvaluateService; + @Resource + private GoodsEvaluateService goodsEvaluateService; - @Resource - private UserInfoService userInfoService; - @Resource - private UserInfoExtraService userInfoExtraService; + @Resource + private UserInfoService userInfoService; + @Resource + private UserInfoExtraService userInfoExtraService; - @Resource - private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; - @Resource - private JDGoodsCacheUtil jdGoodsCacheUtil; + @Resource + private JDGoodsCacheUtil jdGoodsCacheUtil; - @Resource - private QrCodeService qrCodeService; + @Resource + private QrCodeService qrCodeService; - @Resource - private ConvertLinkManager convertLinkManager; + @Resource + private ConvertLinkManager convertLinkManager; - @Resource - private ShareGoodsService shareGoodsService; + @Resource + private TBConvertLinkManager tbConvertLinkManager; - @Resource - private DailyCountMomentsService dailyCountMomentsService; + @Resource + private JDConvertLinkManager jdConvertLinkManager; - @Resource - private CommonShareInfoService commonShareInfoService; + @Resource + private PDDConvertLinkManager pddConvertLinkManager; - @Resource - private UserCloudService userCloudService; + @Resource + private DailyCountMomentsService dailyCountMomentsService; - @Resource(name = "taskExecutor") - private TaskExecutor executor; + @Resource + private CommonShareInfoService commonShareInfoService; - private final static long TYPE_REXIAO = 1;// 鐑攢 - private final static long TYPE_TUIJIAN = 2;// 鎺ㄨ崘 - private final static long TYPE_HAODIAN = 3;// 濂藉簵 - private final static long TYPE_YAOQING = 4;// 閭�璇� - private final static long TYPE_HUODONG = 5;// 娲诲姩 - private final static long TYPE_XUEYUAN = 6;// 瀛﹂櫌 - private final static long TYPE_FAQUAN = 7;// 鍙戝湀 - private final static long TYPE_SUCAI = 8;// 绱犳潗 + @Resource + private PDDAuthService pddAuthService; - private static Map<Long, GoodsClass> classMap = null; + @Resource + private UserFunctionsLimitService userFunctionsLimitService; - private Map<Long, GoodsClass> getAllDynamicClass() { - if (classMap != null && classMap.size() > 0) - return classMap; - classMap = new HashMap<Long, GoodsClass>(); - List<GoodsClass> listSub = new ArrayList<GoodsClass>(); - listSub.add(new GoodsClass(0L, "浠婃棩鍗曞搧")); - listSub.addAll(DaTaoKeUtil.goodsClasses); - GoodsClass menu = new GoodsClass(TYPE_REXIAO, "鐑攢"); - menu.setListSub(listSub); - classMap.put(TYPE_REXIAO, menu); + @Resource + private PIDManager pidManager; - menu = new GoodsClass(TYPE_TUIJIAN, "鎺ㄨ崘"); - menu.setListSub(new ArrayList<GoodsClass>()); - classMap.put(TYPE_TUIJIAN, menu); + @Resource(name = "taskExecutor") + private TaskExecutor executor; - menu = new GoodsClass(TYPE_HAODIAN, "濂藉簵"); - menu.setListSub(new ArrayList<GoodsClass>()); - classMap.put(TYPE_HAODIAN, menu); + private final static long TYPE_REXIAO = 1;// 鐑攢 + private final static long TYPE_TUIJIAN = 2;// 鎺ㄨ崘 + private final static long TYPE_HAODIAN = 3;// 濂藉簵 + private final static long TYPE_YAOQING = 4;// 閭�璇� + private final static long TYPE_HUODONG = 5;// 娲诲姩 + private final static long TYPE_XUEYUAN = 6;// 瀛﹂櫌 + private final static long TYPE_FAQUAN = 7;// 鍙戝湀 + private final static long TYPE_SUCAI = 8;// 绱犳潗 - menu = new GoodsClass(TYPE_YAOQING, "閭�璇�"); - menu.setListSub(new ArrayList<GoodsClass>()); - classMap.put(TYPE_YAOQING, menu); + private static Map<Long, GoodsClass> classMap = null; - menu = new GoodsClass(TYPE_HUODONG, "娲诲姩"); - List<GoodsClass> sub5 = new ArrayList<GoodsClass>(); - sub5.add(new GoodsClass(0L, "鍏ㄩ儴")); - sub5.add(new GoodsClass(1L, "娣樺疂")); - sub5.add(new GoodsClass(2L, "浜笢")); - sub5.add(new GoodsClass(3L, "鎷煎澶�")); - menu.setListSub(sub5); - classMap.put(TYPE_HUODONG, menu); + private Map<Long, GoodsClass> getAllDynamicClass() { + if (classMap != null && classMap.size() > 0) + return classMap; + classMap = new HashMap<Long, GoodsClass>(); + List<GoodsClass> listSub = new ArrayList<GoodsClass>(); + listSub.add(new GoodsClass(0L, "浠婃棩鍗曞搧")); + listSub.addAll(DaTaoKeUtil.goodsClasses); - menu = new GoodsClass(TYPE_XUEYUAN, "瀛﹂櫌"); - menu.setListSub(new ArrayList<GoodsClass>()); - classMap.put(TYPE_XUEYUAN, menu); + GoodsClass menu = new GoodsClass(TYPE_REXIAO, "鐑攢"); + menu.setListSub(listSub); + classMap.put(TYPE_REXIAO, menu); - menu = new GoodsClass(TYPE_FAQUAN, "鍙戝湀"); - menu.setListSub(new ArrayList<GoodsClass>()); - classMap.put(TYPE_FAQUAN, menu); + menu = new GoodsClass(TYPE_TUIJIAN, "鎺ㄨ崘"); + menu.setListSub(new ArrayList<GoodsClass>()); + classMap.put(TYPE_TUIJIAN, menu); - menu = new GoodsClass(TYPE_SUCAI, "绱犳潗"); - menu.setListSub(new ArrayList<GoodsClass>()); - classMap.put(TYPE_SUCAI, menu); - return classMap; - } + menu = new GoodsClass(TYPE_HAODIAN, "濂藉簵"); + menu.setListSub(new ArrayList<GoodsClass>()); + classMap.put(TYPE_HAODIAN, menu); - /** - * 鏌ヨ椤堕儴鍒嗙被 - * - * @param acceptData - * @param page - * @param cid - * @param out - */ - @RequestMapping(value = "getClass", method = RequestMethod.POST) - public void getClass(AcceptData acceptData, Long cid, PrintWriter out) { - // ios 鍙繑鍥炲瓙闆嗗垎绫� - if (cid != null) { - Map<Long, GoodsClass> map = getAllDynamicClass(); - JSONObject data = new JSONObject(); - data.put("list", JsonUtil.getApiCommonGson().toJson(map.get(cid).getListSub())); - out.print(JsonUtil.loadTrueResult(data)); - return; - } + menu = new GoodsClass(TYPE_YAOQING, "閭�璇�"); + menu.setListSub(new ArrayList<GoodsClass>()); + classMap.put(TYPE_YAOQING, menu); - // Android 杩斿洖鍒嗙被浠ュ強椤堕儴鏁版嵁 - List<GoodsClass> listSub = new ArrayList<GoodsClass>(); - listSub.add(new GoodsClass(0L, "浠婃棩鍗曞搧")); - listSub.addAll(DaTaoKeUtil.goodsClasses); + menu = new GoodsClass(TYPE_HUODONG, "娲诲姩"); + List<GoodsClass> sub5 = new ArrayList<GoodsClass>(); + sub5.add(new GoodsClass(0L, "鍏ㄩ儴")); + sub5.add(new GoodsClass(1L, "娣樺疂")); + sub5.add(new GoodsClass(2L, "浜笢")); + sub5.add(new GoodsClass(3L, "鎷煎澶�")); + menu.setListSub(sub5); + classMap.put(TYPE_HUODONG, menu); - GoodsClass menu1 = new GoodsClass(1L, "鐑攢"); - menu1.setListSub(listSub); + menu = new GoodsClass(TYPE_XUEYUAN, "瀛﹂櫌"); + menu.setListSub(new ArrayList<GoodsClass>()); + classMap.put(TYPE_XUEYUAN, menu); - GoodsClass menu2 = new GoodsClass(2L, "鎺ㄨ崘"); - menu2.setListSub(new ArrayList<GoodsClass>()); + menu = new GoodsClass(TYPE_FAQUAN, "鍙戝湀"); + menu.setListSub(new ArrayList<GoodsClass>()); + classMap.put(TYPE_FAQUAN, menu); - GoodsClass menu3 = new GoodsClass(3L, "濂藉簵"); - menu3.setListSub(new ArrayList<GoodsClass>()); + menu = new GoodsClass(TYPE_SUCAI, "绱犳潗"); + menu.setListSub(new ArrayList<GoodsClass>()); + classMap.put(TYPE_SUCAI, menu); + return classMap; + } - GoodsClass menu4 = new GoodsClass(4L, "閭�璇�"); - menu4.setListSub(new ArrayList<GoodsClass>()); + /** + * 鏌ヨ椤堕儴鍒嗙被 + * + * @param acceptData + * @param cid + * @param out + */ + @RequestMapping(value = "getClass", method = RequestMethod.POST) + public void getClass(AcceptData acceptData, Long cid, PrintWriter out) { + // ios 鍙繑鍥炲瓙闆嗗垎绫� + if (cid != null) { + Map<Long, GoodsClass> map = getAllDynamicClass(); + JSONObject data = new JSONObject(); + data.put("list", JsonUtil.getApiCommonGson().toJson(map.get(cid).getListSub())); + out.print(JsonUtil.loadTrueResult(data)); + return; + } - GoodsClass menu5 = new GoodsClass(5L, "娲诲姩"); - List<GoodsClass> sub5 = new ArrayList<GoodsClass>(); - sub5.add(new GoodsClass(0L, "鍏ㄩ儴")); - sub5.add(new GoodsClass(1L, "娣樺疂")); - sub5.add(new GoodsClass(2L, "浜笢")); - sub5.add(new GoodsClass(3L, "鎷煎澶�")); - menu5.setListSub(sub5); + // Android 杩斿洖鍒嗙被浠ュ強椤堕儴鏁版嵁 + List<GoodsClass> listSub = new ArrayList<GoodsClass>(); + listSub.add(new GoodsClass(0L, "浠婃棩鍗曞搧")); + listSub.addAll(DaTaoKeUtil.goodsClasses); - GoodsClass menu6 = new GoodsClass(6L, "瀛﹂櫌"); - menu6.setListSub(new ArrayList<GoodsClass>()); + GoodsClass menu1 = new GoodsClass(1L, "鐑攢"); + menu1.setListSub(listSub); - List<GoodsClass> list = new ArrayList<GoodsClass>(); + GoodsClass menu2 = new GoodsClass(2L, "鎺ㄨ崘"); + menu2.setListSub(new ArrayList<GoodsClass>()); - Map<Long, GoodsClass> map = getAllDynamicClass(); + GoodsClass menu3 = new GoodsClass(3L, "濂藉簵"); + menu3.setListSub(new ArrayList<GoodsClass>()); - if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())) { - // 2.0.7杩斿洖鍙戝湀+娲诲姩+瀛﹂櫌+绱犳潗 - list.add(map.get(TYPE_FAQUAN)); - list.add(map.get(TYPE_HUODONG)); - // list.add(map.get(TYPE_XUEYUAN)); - list.add(map.get(TYPE_SUCAI)); - } else if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) { - // 2.0.6杩斿洖鐑攢+娲诲姩+鎺ㄨ崘+瀛﹂櫌+閭�璇� - list.add(map.get(TYPE_REXIAO)); - list.add(map.get(TYPE_HUODONG)); - list.add(map.get(TYPE_TUIJIAN)); - // list.add(map.get(TYPE_XUEYUAN)); - list.add(map.get(TYPE_YAOQING)); - } else if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) { - // 2.0.5杩斿洖鐑攢+娲诲姩+鎺ㄨ崘+閭�璇� - list.add(map.get(TYPE_REXIAO)); - list.add(map.get(TYPE_HUODONG)); - list.add(map.get(TYPE_TUIJIAN)); - list.add(map.get(TYPE_YAOQING)); - } else { - // 2.0.5浠ュ墠鐨勭増鏈繑鍥炵儹閿�+娲诲姩+鎺ㄨ崘+濂藉簵+閭�璇� - list.add(map.get(TYPE_REXIAO)); - list.add(map.get(TYPE_HUODONG)); - list.add(map.get(TYPE_TUIJIAN)); - list.add(map.get(TYPE_HAODIAN)); - list.add(map.get(TYPE_YAOQING)); - } + GoodsClass menu4 = new GoodsClass(4L, "閭�璇�"); + menu4.setListSub(new ArrayList<GoodsClass>()); - JSONObject data = new JSONObject(); - data.put("list", JsonUtil.getApiCommonGson().toJson(list)); - out.print(JsonUtil.loadTrueResult(data)); - } + GoodsClass menu5 = new GoodsClass(5L, "娲诲姩"); + List<GoodsClass> sub5 = new ArrayList<GoodsClass>(); + sub5.add(new GoodsClass(0L, "鍏ㄩ儴")); + sub5.add(new GoodsClass(1L, "娣樺疂")); + sub5.add(new GoodsClass(2L, "浜笢")); + sub5.add(new GoodsClass(3L, "鎷煎澶�")); + menu5.setListSub(sub5); - /** - * 鍔ㄦ�佸晢鍝佸垪琛� - * - * @param acceptData - * @param page - * @param cid - * @param subId - * @param out - */ - @RequestMapping(value = "getList", method = RequestMethod.POST) - public void getList(AcceptData acceptData, Integer page, Long cid, Long subId, PrintWriter out) { - if (cid == null) { - out.print(JsonUtil.loadFalseResult("涓诲垎绫籭d涓嶈兘涓虹┖")); - return; - } + GoodsClass menu6 = new GoodsClass(6L, "瀛﹂櫌"); + menu6.setListSub(new ArrayList<GoodsClass>()); - if (cid != null) { - if (cid == 5) { // 娲诲姩涓婚 - getSpecialList(acceptData, page, subId, out); - return; - } else if (cid == 6) { // 瀛﹂櫌 - getArticleList(acceptData, page, null, false, out); - return; - } - } + List<GoodsClass> list = new ArrayList<GoodsClass>(); - long count = 0; + Map<Long, GoodsClass> map = getAllDynamicClass(); - int platform = 1; - if ("ios".equalsIgnoreCase(acceptData.getPlatform())) { - platform = 2; - } + if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())) { + // 2.0.7杩斿洖鍙戝湀+娲诲姩+瀛﹂櫌+绱犳潗 + if (acceptData.getSystem() == SystemEnum.blks) { + list.add(map.get(TYPE_FAQUAN)); + list.add(map.get(TYPE_HUODONG)); + // list.add(map.get(TYPE_XUEYUAN)); + // 涓嶈繑鍥炵礌鏉愪簡 + // list.add(map.get(TYPE_SUCAI)); + } else { + list.add(map.get(TYPE_FAQUAN)); + } + } else if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) { + // 2.0.6杩斿洖鐑攢+娲诲姩+鎺ㄨ崘+瀛﹂櫌+閭�璇� + list.add(map.get(TYPE_REXIAO)); + list.add(map.get(TYPE_HUODONG)); + list.add(map.get(TYPE_TUIJIAN)); + // list.add(map.get(TYPE_XUEYUAN)); + list.add(map.get(TYPE_YAOQING)); + } else if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) { + // 2.0.5杩斿洖鐑攢+娲诲姩+鎺ㄨ崘+閭�璇� + list.add(map.get(TYPE_REXIAO)); + list.add(map.get(TYPE_HUODONG)); + list.add(map.get(TYPE_TUIJIAN)); + list.add(map.get(TYPE_YAOQING)); + } else { + // 2.0.5浠ュ墠鐨勭増鏈繑鍥炵儹閿�+娲诲姩+鎺ㄨ崘+濂藉簵+閭�璇� + list.add(map.get(TYPE_REXIAO)); + list.add(map.get(TYPE_HUODONG)); + list.add(map.get(TYPE_TUIJIAN)); + list.add(map.get(TYPE_HAODIAN)); + list.add(map.get(TYPE_YAOQING)); + } - int version = Integer.parseInt(acceptData.getVersion()); - List<DynamicInfo> list = dynamicInfoService.queryV2(platform, version, (page - 1) * Constant.PAGE_SIZE, - Constant.PAGE_SIZE, cid, subId); - if (list == null) { - list = new ArrayList<DynamicInfo>(); - } else { - count = dynamicInfoService.count(cid, subId); - } + JSONObject data = new JSONObject(); + data.put("list", JsonUtil.getApiCommonGson().toJson(list)); + out.print(JsonUtil.loadTrueResult(data)); + } - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("list", getGson().toJson(list)); - out.print(JsonUtil.loadTrueResult(data)); - } + /** + * 鍔ㄦ�佸晢鍝佸垪琛� + * + * @param acceptData + * @param page + * @param cid + * @param subId + * @param out + */ + @RequestMapping(value = "getList", method = RequestMethod.POST) + public void getList(AcceptData acceptData, Integer page, Long cid, Long subId, PrintWriter out) { + if (cid == null) { + out.print(JsonUtil.loadFalseResult("涓诲垎绫籭d涓嶈兘涓虹┖")); + return; + } - /** - * 娲诲姩鍒楄〃 - * - * @param acceptData - * @param out - */ - private void getSpecialList(AcceptData acceptData, Integer page, Long subId, PrintWriter out) { - if (subId == null) { - out.print(JsonUtil.loadFalseResult("鍒嗙被id涓嶈兘涓虹┖")); - return; - } + if (cid != null) { + if (cid == 5) { // 娲诲姩涓婚 + getSpecialList(acceptData, page, subId, out); + return; + } else if (cid == 6) { // 瀛﹂櫌 + getArticleList(acceptData, page, null, false, out); + return; + } + } - // 骞冲彴鍖哄垎 - int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); - List<String> listKey = new ArrayList<String>(); + long count = 0; - if (subId == 1) { // 娣樺疂 - listKey.add("special_channel_tb"); - } else if (subId == 2) { // 浜笢 - listKey.add("special_channel_jd"); - } else if (subId == 3) { // 鎷煎澶� - listKey.add("special_channel_pdd"); - } else { // 鍏ㄩ儴 - listKey.add("special_channel_tb"); - listKey.add("special_channel_jd"); - listKey.add("special_channel_pdd"); - } + int platform = 1; + if ("ios".equalsIgnoreCase(acceptData.getPlatform())) { + platform = 2; + } - List<SpecialVO> list = specialService.listByPlaceKeyHasLabel((page - 1) * Constant.PAGE_SIZE, - Constant.PAGE_SIZE, listKey, platformCode, Integer.parseInt(acceptData.getVersion())); + int version = Integer.parseInt(acceptData.getVersion()); + List<DynamicInfo> list = dynamicInfoService.queryV2(platform, version, (page - 1) * Constant.PAGE_SIZE, + Constant.PAGE_SIZE, cid, subId); + if (list == null) { + list = new ArrayList<DynamicInfo>(); + } else { + count = dynamicInfoService.count(cid, subId); + } - long time = System.currentTimeMillis(); + JSONObject data = new JSONObject(); + data.put("count", count); + data.put("list", getGson().toJson(list)); + out.print(JsonUtil.loadTrueResult(data)); + } - // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑 - for (int i = 0; i < list.size(); i++) { - Special special = list.get(i); - if (special.getState() == 1L) { - continue; - } + /** + * 娲诲姩鍒楄〃 + * + * @param acceptData + * @param out + */ + private void getSpecialList(AcceptData acceptData, Integer page, Long subId, PrintWriter out) { + if (subId == null) { + out.print(JsonUtil.loadFalseResult("鍒嗙被id涓嶈兘涓虹┖")); + return; + } - // 鏄惁娲诲姩宸茶繃鏈� - if (special.getStartTime() != null && special.getEndTime() != null) { - if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { - continue; - } else { - special.setTimeTask(true); - special.setCountDownTime((special.getEndTime().getTime() - time) / 1000); - } - } + // 骞冲彴鍖哄垎 + int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); + List<String> listKey = new ArrayList<String>(); - // 璁剧疆鏍囩 - List<SpecialLabel> listLabels = special.getListLabels(); - if (listLabels != null && !listLabels.isEmpty()) { - List<ClientTextStyleVO> labels = new ArrayList<>(); - for (SpecialLabel specialLabel : listLabels) { - labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor())); - } - special.setLabels(labels); - } + if (subId == 1) { // 娣樺疂 + listKey.add("special_channel_tb"); + } else if (subId == 2) { // 浜笢 + listKey.add("special_channel_jd"); + } else if (subId == 3) { // 鎷煎澶� + listKey.add("special_channel_pdd"); + } else { // 鍏ㄩ儴 + listKey.add("special_channel_tb"); + listKey.add("special_channel_jd"); + listKey.add("special_channel_pdd"); + } - } + List<SpecialVO> list = specialService.listByPlaceKeyHasLabel((page - 1) * Constant.PAGE_SIZE, + Constant.PAGE_SIZE, listKey, platformCode, Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); - long count = specialService.countByPlaceKeyList(listKey, platformCode, - Integer.parseInt(acceptData.getVersion())); + long time = System.currentTimeMillis(); - GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); - Gson gson = gsonBuilder.create(); - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("list", gson.toJson(list)); - out.print(JsonUtil.loadTrueResult(data)); - } + // 鍒犻櫎灏氭湭鍚敤鐨勮繃鏈熺殑 + for (int i = 0; i < list.size(); i++) { + Special special = list.get(i); + if (special.getState() == 1L) { + continue; + } - /** - * 鏃堕棿澶勭悊 - * - * @return - */ - private Gson getGson() { - GsonBuilder gb = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()); - gb.excludeFieldsWithoutExposeAnnotation(); - gb.registerTypeAdapter(Date.class, new JsonSerializer<Date>() { - @Override - public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { - String desc = ""; - if (value != null) { - // 鍒ゆ柇鏄惁鏄悓涓�澶� + // 鏄惁娲诲姩宸茶繃鏈� + if (special.getStartTime() != null && special.getEndTime() != null) { + if (time < special.getStartTime().getTime() || time > special.getEndTime().getTime()) { + continue; + } else { + special.setTimeTask(true); + special.setCountDownTime((special.getEndTime().getTime() - time) / 1000); + } + } - Calendar calendar = Calendar.getInstance(); - calendar.setTime(value); - int y1 = calendar.get(Calendar.YEAR);// 鑾峰彇骞翠唤 - int d1 = calendar.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� + // 璁剧疆鏍囩 + List<SpecialLabel> listLabels = special.getListLabels(); + if (listLabels != null && !listLabels.isEmpty()) { + List<ClientTextStyleVO> labels = new ArrayList<>(); + for (SpecialLabel specialLabel : listLabels) { + labels.add(new ClientTextStyleVO(specialLabel.getName(), specialLabel.getBgColor())); + } + special.setLabels(labels); + } - Date nowDate = new Date(); - Calendar calendar2 = Calendar.getInstance(); - calendar2.setTime(nowDate); - int y2 = calendar2.get(Calendar.YEAR);// 鑾峰彇骞翠唤 - int d2 = calendar2.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� + } - long old = value.getTime(); - long now = nowDate.getTime(); - if (y1 == y2) { - if (d1 == d2) { - long cha = now - old; - if (cha < 1000 * 60 * 2L) { - desc = "鍒氬垰"; - } else if (cha < 1000 * 60 * 60L) { - desc = (cha / (1000 * 60)) + "鍒嗛挓鍓�"; - } else { - desc = (cha / (1000 * 60 * 60)) + "灏忔椂鍓�"; - } - } else if (d2 - d1 == 1) { - desc = "鏄ㄥぉ"; - } else { - desc = (d2 - d1) + "澶╁墠"; - } - } else { - int timeDistance = 0; - for (int i = y1; i < y2; i++) { - if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { - timeDistance += 366; // 闂板勾 - } else { - timeDistance += 365; // 涓嶆槸闂板勾 - } - } - desc = timeDistance + (d2 - d1) + "澶╁墠"; - } + long count = specialService.countByPlaceKeyList(listKey, platformCode, + Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); - return new JsonPrimitive(desc); - } + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); + Gson gson = gsonBuilder.create(); + JSONObject data = new JSONObject(); + data.put("count", count); + data.put("list", gson.toJson(list)); + out.print(JsonUtil.loadTrueResult(data)); + } - return new JsonPrimitive(""); - } - }); + /** + * 鏃堕棿澶勭悊 + * + * @return + */ + private Gson getGson() { + GsonBuilder gb = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()); + gb.excludeFieldsWithoutExposeAnnotation(); + gb.registerTypeAdapter(Date.class, new JsonSerializer<Date>() { + @Override + public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { + String desc = ""; + if (value != null) { + // 鍒ゆ柇鏄惁鏄悓涓�澶� - Gson gson = gb.create(); - return gson; - } + Calendar calendar = Calendar.getInstance(); + calendar.setTime(value); + int y1 = calendar.get(Calendar.YEAR);// 鑾峰彇骞翠唤 + int d1 = calendar.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� - /** - * 娲诲姩鍒楄〃 - * - * @param acceptData - * @param out - */ - private void getArticleList(AcceptData acceptData, Integer page, String key, boolean search, PrintWriter out) { - List<ArticleVO> list = articleOfficialService.queryValid((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, - key); - if (list != null) { - for (ArticleVO article : list) { - String tags = article.getTags(); - if (StringUtil.isNullOrEmpty(tags)) { - continue; - } + Date nowDate = new Date(); + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(nowDate); + int y2 = calendar2.get(Calendar.YEAR);// 鑾峰彇骞翠唤 + int d2 = calendar2.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� - String[] arrayTags = tags.split("\\s+"); - if (arrayTags == null || arrayTags.length == 0) { - continue; - } + long old = value.getTime(); + long now = nowDate.getTime(); + if (y1 == y2) { + if (d1 == d2) { + long cha = now - old; + if (cha < 1000 * 60 * 2L) { + desc = "鍒氬垰"; + } else if (cha < 1000 * 60 * 60L) { + desc = (cha / (1000 * 60)) + "鍒嗛挓鍓�"; + } else { + desc = (cha / (1000 * 60 * 60)) + "灏忔椂鍓�"; + } + } else if (d2 - d1 == 1) { + desc = "鏄ㄥぉ"; + } else { + desc = (d2 - d1) + "澶╁墠"; + } + } else { + int timeDistance = 0; + for (int i = y1; i < y2; i++) { + if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { + timeDistance += 366; // 闂板勾 + } else { + timeDistance += 365; // 涓嶆槸闂板勾 + } + } + desc = timeDistance + (d2 - d1) + "澶╁墠"; + } - String[] arrayTagsColour = null; - String tagsColour = article.getTagsColour(); - if (!StringUtil.isNullOrEmpty(tagsColour)) { - arrayTagsColour = tagsColour.split("\\s+"); - } + return new JsonPrimitive(desc); + } - String color = "#FE0014"; - List<ClientTextStyleVO> labels = new ArrayList<ClientTextStyleVO>(); - for (int i = 0; i < arrayTags.length; i++) { - String tag = arrayTags[i]; - if (arrayTagsColour != null && arrayTagsColour.length == arrayTags.length) { - color = arrayTagsColour[i]; - } - ClientTextStyleVO styleVO = new ClientTextStyleVO(); - styleVO.setColor(color); - styleVO.setContent(tag); - labels.add(styleVO); - } - article.setLabels(labels); - } - } + return new JsonPrimitive(""); + } + }); - GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); - Gson gson = gsonBuilder.create(); + Gson gson = gb.create(); + return gson; + } - JSONObject data = new JSONObject(); - if (page == 1 && !search) { - List<BannerVO> banners = swiperPictureService.getByBannerCardAndVersion("article_banners", - acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion())); - if (banners == null) - banners = new ArrayList<>(); - data.put("banners", gson.toJson(banners)); + /** + * 娲诲姩鍒楄〃 + * + * @param acceptData + * @param out + */ + private void getArticleList(AcceptData acceptData, Integer page, String key, boolean search, PrintWriter out) { + List<ArticleVO> list = articleOfficialService.queryValid((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, + key); + if (list != null) { + for (ArticleVO article : list) { + String tags = article.getTags(); + if (StringUtil.isNullOrEmpty(tags)) { + continue; + } - List<SpecialVO> listSpecial = specialService.listByVersion(0, Integer.MAX_VALUE, "article_specials", - acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion())); - if (listSpecial == null) - listSpecial = new ArrayList<>(); + String[] arrayTags = tags.split("\\s+"); + if (arrayTags == null || arrayTags.length == 0) { + continue; + } - for (SpecialVO special : listSpecial) { - boolean needLogin = special.isJumpLogin(); - JumpDetailV2 jumpDetail = special.getJumpDetail(); - if (jumpDetail != null) { - jumpDetail.setNeedLogin(needLogin); - special.setJumpDetail(jumpDetail); - } - } - data.put("specials", gson.toJson(listSpecial)); - } - data.put("count", articleOfficialService.countValid(key)); - data.put("list", gson.toJson(list)); - out.print(JsonUtil.loadTrueResult(data)); - } + String[] arrayTagsColour = null; + String tagsColour = article.getTagsColour(); + if (!StringUtil.isNullOrEmpty(tagsColour)) { + arrayTagsColour = tagsColour.split("\\s+"); + } - /** - * 鏂囩珷鎼滅储 - * - * @param acceptData - * @param page - * @param key - * @param out - */ - @RequestMapping(value = "readArticle", method = RequestMethod.POST) - public void readArticle(AcceptData acceptData, String id, PrintWriter out) { - if (StringUtil.isNullOrEmpty(id)) { - out.print(JsonUtil.loadFalseResult("id涓嶈兘涓虹┖")); - return; - } - articleOfficialService.updateReadNum(id); - out.print(JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); - } + String color = "#FE0014"; + List<ClientTextStyleVO> labels = new ArrayList<ClientTextStyleVO>(); + for (int i = 0; i < arrayTags.length; i++) { + String tag = arrayTags[i]; + if (arrayTagsColour != null && arrayTagsColour.length == arrayTags.length) { + color = arrayTagsColour[i]; + } + ClientTextStyleVO styleVO = new ClientTextStyleVO(); + styleVO.setColor(color); + styleVO.setContent(tag); + labels.add(styleVO); + } + article.setLabels(labels); + } + } - /** - * 鏂囩珷鎼滅储 - * - * @param acceptData - * @param page - * @param key - * @param out - */ - @RequestMapping(value = "searchArticle", method = RequestMethod.POST) - public void searchArticle(AcceptData acceptData, Integer page, String key, PrintWriter out) { - getArticleList(acceptData, page, key, true, out); - } + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); + Gson gson = gsonBuilder.create(); - /** - * 鏂囩珷鎼滅储 - * - * @param acceptData - * @param page - * @param key - * @param out - */ - @RequestMapping(value = "getArticleHot", method = RequestMethod.POST) - public void getArticleHot(AcceptData acceptData, PrintWriter out) { - JSONObject data = new JSONObject(); - data.put("words", configService.get(ConfigKeyEnum.articleHotWords.getKey())); - out.print(JsonUtil.loadTrueResult(data)); - } + JSONObject data = new JSONObject(); + if (page == 1 && !search) { + List<BannerVO> banners = swiperPictureService.getByBannerCardAndVersion("article_banners", + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); + if (banners == null) + banners = new ArrayList<>(); + data.put("banners", gson.toJson(banners)); - /** - * 2.0.7鐗堟湰鍚庤皟鐢� 鍔ㄦ�佸垪琛紙閫傜敤浜庡彂鍦堜笌绱犳潗锛� - * - * @param acceptData - * @param page - * @param cid - * @param subId - * @param out - */ - @RequestMapping(value = "getDynamicList", method = RequestMethod.POST) - public void getDynamicListNew(AcceptData acceptData, Integer page, Long cid, String subId, PrintWriter out) { - try { - int type = 1; - if (cid == TYPE_FAQUAN) { - type = 1; - } else if (cid == TYPE_SUCAI) { - type = 2; - } - List<GoodsEvaluate> listNew = new ArrayList<GoodsEvaluate>(); + List<SpecialVO> listSpecial = specialService.listByVersion(0, Integer.MAX_VALUE, "article_specials", + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); + if (listSpecial == null) + listSpecial = new ArrayList<>(); - List<GoodsEvaluate> list = goodsEvaluateService.queryMaterialsCache((page - 1) * Constant.PAGE_SIZE, - Constant.PAGE_SIZE, type); + for (SpecialVO special : listSpecial) { + boolean needLogin = special.isJumpLogin(); + JumpDetailV2 jumpDetail = special.getJumpDetail(); + if (jumpDetail != null) { + jumpDetail.setNeedLogin(needLogin); + special.setJumpDetail(jumpDetail); + } + } + data.put("specials", gson.toJson(listSpecial)); + } + data.put("count", articleOfficialService.countValid(key)); + data.put("list", gson.toJson(list)); + out.print(JsonUtil.loadTrueResult(data)); + } - if (!VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) { - listNew.addAll(list); - } else if (list.size() > 0) { // 娲诲姩鍥剧墖涓嶅厑璁歌烦杞� - for (GoodsEvaluate goodsEvaluate : list) { - EvaluateEnum evaluateEnum = goodsEvaluate.getType(); - // 鍗曞搧 娲诲姩鍙互涓�閿簯鍙戝崟 - if (evaluateEnum == EvaluateEnum.activity || evaluateEnum == EvaluateEnum.single ) { - goodsEvaluate.setCloud(true); - } - - - if (evaluateEnum != EvaluateEnum.activity) { - listNew.add(goodsEvaluate); - continue; - } + /** + * 鏂囩珷鎼滅储 + * + * @param acceptData + * @param id + * @param out + */ + @RequestMapping(value = "readArticle", method = RequestMethod.POST) + public void readArticle(AcceptData acceptData, String id, PrintWriter out) { + if (StringUtil.isNullOrEmpty(id)) { + out.print(JsonUtil.loadFalseResult("id涓嶈兘涓虹┖")); + return; + } + articleOfficialService.updateReadNum(id); + out.print(JsonUtil.loadTrueResult("鎿嶄綔鎴愬姛")); + } - GoodsEvaluate evaluateNew = new GoodsEvaluate(); - try { - PropertyUtils.copyProperties(evaluateNew, goodsEvaluate); - } catch (Exception e) { - e.printStackTrace(); - continue; - } - // 璺宠浆杩囨浮椤� - // String jumpLink = - // configService.get(ConfigKeyEnum.activityDetailLink.getKey()) - // + "?type=%s&id=%s"; - // jumpLink = String.format(jumpLink, "circle", - // evaluateNew.getId()); - // evaluateNew.setJumpLink(jumpLink); + /** + * 鏂囩珷鎼滅储 + * + * @param acceptData + * @param page + * @param key + * @param out + */ + @RequestMapping(value = "searchArticle", method = RequestMethod.POST) + public void searchArticle(AcceptData acceptData, Integer page, String key, PrintWriter out) { + getArticleList(acceptData, page, key, true, out); + } - // 鍥剧墖鏁伴噺 - if (evaluateNew.getImgList() != null && evaluateNew.getImgList().size() > 0) { - int size = evaluateNew.getImgList().size(); - List<ImgInfo> listInfoNew = new ArrayList<ImgInfo>(); + /** + * 鏂囩珷鎼滅储 + * + * @param acceptData + * @param out + */ + @RequestMapping(value = "getArticleHot", method = RequestMethod.POST) + public void getArticleHot(AcceptData acceptData, PrintWriter out) { + JSONObject data = new JSONObject(); + data.put("words", configService.getValue(ConfigKeyEnum.articleHotWords.getKey(), SystemInfoUtil.getSystem(acceptData))); + out.print(JsonUtil.loadTrueResult(data)); + } - for (ImgInfo imgInfo : goodsEvaluate.getImgList()) { - if (imgInfo.getType() != ImgEnum.activity) { - listInfoNew.add(imgInfo); - continue; - } - ImgInfo infoNew = new ImgInfo(); - try { - PropertyUtils.copyProperties(infoNew, imgInfo); - } catch (Exception e) { - e.printStackTrace(); - continue; - } - infoNew.setType(ImgEnum.img); - // 鍥剧墖澶т簬涓�寮犳椂 鏄剧ず涔濆鏍煎浘 - if (size > 1) { - infoNew.setW(1); - infoNew.setH(1); - } - listInfoNew.add(infoNew); - } - evaluateNew.setImgList(listInfoNew); - } - listNew.add(evaluateNew); - } - } + /** + * 2.0.7鐗堟湰鍚庤皟鐢� 鍔ㄦ�佸垪琛紙閫傜敤浜庡彂鍦堜笌绱犳潗锛� + * + * @param acceptData + * @param page + * @param cid + * @param subId + * @param out + */ + @RequestMapping(value = "getDynamicList", method = RequestMethod.POST) + public void getDynamicListNew(AcceptData acceptData, Integer page, Long cid, String subId, Long uid, PrintWriter out) { + try { + int type = 1; + if (cid == TYPE_FAQUAN) { + type = 1; + } else if (cid == TYPE_SUCAI) { + type = 2; + } + List<GoodsEvaluate> listNew = new ArrayList<>(); - GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); - gsonBuilder.registerTypeAdapter(ImgEnum.class, new JsonSerializer<ImgEnum>() { - @Override - public JsonElement serialize(ImgEnum value, Type theType, JsonSerializationContext context) { - if (value == null) { - return new JsonPrimitive(""); - } else { - return new JsonPrimitive(value.getVlaue()); - } - } - }).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { - @Override - public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { - if (value == null) { - return new JsonPrimitive(""); - } else { - // 淇濈暀2浣嶅皬鏁� - return new JsonPrimitive(MoneyBigDecimalUtil.getWithNoZera(value) + ""); - } - } - }).registerTypeAdapter(Date.class, new JsonSerializer<Date>() { - @Override - public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { - String desc = ""; - if (value != null) { - // 鍒ゆ柇鏄惁鏄悓涓�澶� + List<GoodsEvaluate> list = goodsEvaluateService.queryMaterialsCache((page - 1) * Constant.PAGE_SIZE, + Constant.PAGE_SIZE, type, acceptData.getSystem()); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(value); - int y1 = calendar.get(Calendar.YEAR);// 鑾峰彇骞翠唤 - int d1 = calendar.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� + if (!VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) { + listNew.addAll(list); + } else if (list.size() > 0) { // 娲诲姩鍥剧墖涓嶅厑璁歌烦杞� - Date nowDate = new Date(); - Calendar calendar2 = Calendar.getInstance(); - calendar2.setTime(nowDate); - int y2 = calendar2.get(Calendar.YEAR);// 鑾峰彇骞翠唤 - int d2 = calendar2.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� + // 浜戝彂鍗曟槸鍚﹀紑鍚� + boolean cloudOpen = configService.isRobotCloudOpen(ConfigKeyEnum.robotCloudOpenCircle.getKey(), acceptData.getPlatform(), acceptData.getVersion(), SystemInfoUtil.getSystem(acceptData)); + if (!cloudOpen && uid != null) { + List<String> testUsers = configService.getTestUsers(SystemInfoUtil.getSystem(acceptData)); + if (testUsers != null && testUsers.contains(uid + "")) { + cloudOpen = true; + } + } - long old = value.getTime(); - long now = nowDate.getTime(); - if (y1 == y2) { - if (d1 == d2) { - long cha = now - old; - if (cha < 1000 * 60 * 2L) { - desc = "鍒氬垰"; - } else if (cha < 1000 * 60 * 60L) { - desc = (cha / (1000 * 60)) + "鍒嗛挓鍓�"; - } else { - desc = (cha / (1000 * 60 * 60)) + "灏忔椂鍓�"; - } - } else if (d2 - d1 == 1) { - desc = "鏄ㄥぉ"; - } else { - desc = (d2 - d1) + "澶╁墠"; - } - } else { - int timeDistance = 0; - for (int i = y1; i < y2; i++) { - if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { - timeDistance += 366; // 闂板勾 - } else { - timeDistance += 365; // 涓嶆槸闂板勾 - } - } - desc = timeDistance + (d2 - d1) + "澶╁墠"; - } + for (GoodsEvaluate goodsEvaluate : list) { + if (goodsEvaluate.getGoods() != null) { + goodsEvaluate.getGoods().setCreatetime(null); + } + GoodsEvaluate evaluateNew = new GoodsEvaluate(); + try { + PropertyUtils.copyProperties(evaluateNew, goodsEvaluate); + } catch (Exception e) { + e.printStackTrace(); + continue; + } - return new JsonPrimitive(desc); - } + EvaluateEnum evaluateEnum = evaluateNew.getType(); + // 鍗曞搧 娲诲姩鍙互涓�閿簯鍙戝崟 + if (evaluateEnum == EvaluateEnum.activity || evaluateEnum == EvaluateEnum.single) { + evaluateNew.setCloud(cloudOpen); + } - return new JsonPrimitive(""); - } - }); - Gson gson = gsonBuilder.create(); - long count = goodsEvaluateService.countValidMaterials(type); + if (evaluateEnum != EvaluateEnum.activity) { + listNew.add(evaluateNew); + continue; + } - JSONArray jsonArray = new JSONArray(); - String listStr = gson.toJson(listNew); - JSONArray array = JSONArray.fromObject(listStr); - for (int i = 0; i < array.size(); i++) { - Object object = array.get(i); - JSONObject json = JSONObject.fromObject(object); - Object shareNum = json.get("shareNum"); - if (shareNum != null) { - int num = Integer.parseInt(shareNum.toString()); + // 璺宠浆杩囨浮椤� + // String jumpLink = + // configService.get(ConfigKeyEnum.activityDetailLink.getKey()) + // + "?type=%s&id=%s"; + // jumpLink = String.format(jumpLink, "circle", + // evaluateNew.getId()); + // evaluateNew.setJumpLink(jumpLink); - if (num >= 100000000) { - double sales = num; - String salesCountMidea = String.format("%.1f", sales / 100000000); - json.put("shareNum", salesCountMidea + "浜�"); - } else if (num >= 10000) { - double sales = num; - String salesCountMidea = String.format("%.1f", sales / 10000); - json.put("shareNum", salesCountMidea + "涓�"); - } - } - jsonArray.add(json); - } + // 鍥剧墖鏁伴噺 + if (evaluateNew.getImgList() != null && evaluateNew.getImgList().size() > 0) { + int size = evaluateNew.getImgList().size(); + List<ImgInfo> listInfoNew = new ArrayList<ImgInfo>(); - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("list", jsonArray); - out.print(JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - e.printStackTrace(); - out.print(JsonUtil.loadFalseResult(1, "鏌ヨ淇℃伅澶辫触")); - LogHelper.errorDetailInfo(e); - } + for (ImgInfo imgInfo : goodsEvaluate.getImgList()) { - } + if (acceptData.getSystem() == SystemEnum.yhqjx || acceptData.getSystem() == SystemEnum.hsb) { + imgInfo.setGoods(null); + imgInfo.setGoodsVO(null); + } - /** - * - * @param acceptData - * @param uid - * @param id - * @param type - * 1-鏀惧ぇ 2-淇濆瓨 3-鍒嗕韩 - * @param goodsId - * @param goodsType - * @param out - */ - @RequestMapping(value = "evaluateShare", method = RequestMethod.POST) - public void evaluateShare(AcceptData acceptData, Long uid, String id, Integer type, String goodsId, - Integer goodsType, PrintWriter out) { - try { - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + if (imgInfo.getType() != ImgEnum.activity) { + listInfoNew.add(imgInfo); + + + continue; + } + ImgInfo infoNew = new ImgInfo(); + try { + PropertyUtils.copyProperties(infoNew, imgInfo); + } catch (Exception e) { + e.printStackTrace(); + continue; + } + infoNew.setType(ImgEnum.img); + // 鍥剧墖澶т簬涓�寮犳椂 鏄剧ず涔濆鏍煎浘 + if (size > 1) { + infoNew.setW(1); + infoNew.setH(1); + } + listInfoNew.add(infoNew); + } + evaluateNew.setImgList(listInfoNew); + } + listNew.add(evaluateNew); + } + } + + GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); + gsonBuilder.registerTypeAdapter(ImgEnum.class, new JsonSerializer<ImgEnum>() { + @Override + public JsonElement serialize(ImgEnum value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + return new JsonPrimitive(value.getVlaue()); + } + } + }).registerTypeAdapter(BigDecimal.class, new JsonSerializer<BigDecimal>() { + @Override + public JsonElement serialize(BigDecimal value, Type theType, JsonSerializationContext context) { + if (value == null) { + return new JsonPrimitive(""); + } else { + // 淇濈暀2浣嶅皬鏁� + return new JsonPrimitive(MoneyBigDecimalUtil.getWithNoZera(value) + ""); + } + } + }).registerTypeAdapter(Date.class, new JsonSerializer<Date>() { + @Override + public JsonElement serialize(Date value, Type theType, JsonSerializationContext context) { + String desc = ""; + if (value != null) { + // 鍒ゆ柇鏄惁鏄悓涓�澶� + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(value); + int y1 = calendar.get(Calendar.YEAR);// 鑾峰彇骞翠唤 + int d1 = calendar.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� + + Date nowDate = new Date(); + Calendar calendar2 = Calendar.getInstance(); + calendar2.setTime(nowDate); + int y2 = calendar2.get(Calendar.YEAR);// 鑾峰彇骞翠唤 + int d2 = calendar2.get(Calendar.DAY_OF_YEAR);// 鑾峰彇骞翠腑绗嚑澶� + + long old = value.getTime(); + long now = nowDate.getTime(); + if (y1 == y2) { + if (d1 == d2) { + long cha = now - old; + if (cha < 1000 * 60 * 2L) { + desc = "鍒氬垰"; + } else if (cha < 1000 * 60 * 60L) { + desc = (cha / (1000 * 60)) + "鍒嗛挓鍓�"; + } else { + desc = (cha / (1000 * 60 * 60)) + "灏忔椂鍓�"; + } + } else if (d2 - d1 == 1) { + desc = "鏄ㄥぉ"; + } else { + desc = (d2 - d1) + "澶╁墠"; + } + } else { + int timeDistance = 0; + for (int i = y1; i < y2; i++) { + if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) { + timeDistance += 366; // 闂板勾 + } else { + timeDistance += 365; // 涓嶆槸闂板勾 + } + } + desc = timeDistance + (d2 - d1) + "澶╁墠"; + } + + return new JsonPrimitive(desc); + } + + return new JsonPrimitive(""); + } + }); + Gson gson = gsonBuilder.create(); + long count = goodsEvaluateService.countValidMaterials(type, acceptData.getSystem()); + + JSONArray jsonArray = new JSONArray(); + + String listStr = gson.toJson(listNew); + JSONArray array = JSONArray.fromObject(listStr); + for (int i = 0; i < array.size(); i++) { + Object object = array.get(i); + JSONObject json = JSONObject.fromObject(object); + Object shareNum = json.get("shareNum"); + if (shareNum != null) { + int num = Integer.parseInt(shareNum.toString()); + + if (num >= 100000000) { + double sales = num; + String salesCountMidea = String.format("%.1f", sales / 100000000); + json.put("shareNum", salesCountMidea + "浜�"); + } else if (num >= 10000) { + double sales = num; + String salesCountMidea = String.format("%.1f", sales / 10000); + json.put("shareNum", salesCountMidea + "涓�"); + } + } + jsonArray.add(json); + } + + JSONObject data = new JSONObject(); + data.put("count", count); + data.put("list", jsonArray); + out.print(JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + e.printStackTrace(); + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ淇℃伅澶辫触")); + LogHelper.errorDetailInfo(e); + } + + } + + + /** + * 杞摼 + * + * @param acceptData + * @param uid + * @param link + * @param out + */ + @RequestMapping(value = "convertLink", method = RequestMethod.POST) + public void convertLink(AcceptData acceptData, Long uid, String link, PrintWriter out) { + if (StringUtil.isNullOrEmpty(link)) { + out.print(JsonUtil.loadFalseResult("閾炬帴涓虹┖")); + return; + } + + ConvertLinkJumpVO convertLinkJumpVO = null; + //鍒ゆ柇result鏄惁涓烘窐鍙d护 + List<String> urlList = UrlUtils.parseUrlsFromText(link); + if (urlList.size() > 0) { + //鍙鐞嗕含涓�/鎷煎澶氶摼鎺� + String url = urlList.get(0); + if (JDUtil.isJDLink(url)) { + try { + url = jdConvertLinkManager.convertShortUrl(url, uid, acceptData.getSystem(), uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli); + } catch (Exception e) { + logger.warn(String.format("浜笢杞摼鍑洪敊锛歮aterialId-%s",url), e); + } + convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getJDJumpInfo(url), Constant.SOURCE_TYPE_JD); + outPrintConvertResult(convertLinkJumpVO, out); + return; + } + + if (PinDuoDuoUtil.isPDDLink(url)) { + String pddGoodsId = PinDuoDuoUtil.getPDDGoodsId(url); + String customParams = pddAuthService.getFanliCustomParams(uid); + PDDConvertLinkResultVO convertLinkResult = null; + try { + convertLinkResult = pddConvertLinkManager.convertGoods(pddGoodsId, acceptData.getSystem(), customParams, uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli); + convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getPDDJumpInfo(convertLinkResult), Constant.SOURCE_TYPE_PDD); + outPrintConvertResult(convertLinkJumpVO, out); + return; + } catch (PDDGoodsException e) { + e.printStackTrace(); + //鍟嗗搧涓嬬嚎 + out.print(JsonUtil.loadFalseResult(ExceptionConstant.CODE_GOODS_OFFLINE, "鍟嗗搧宸蹭笅绾�")); + return; + } catch (PDDAuthException e) { + e.printStackTrace(); + //鎷煎澶氭湭鎺堟潈 + out.print(JsonUtil.loadFalseResult(ExceptionConstant.CODE_AUTH_PDD_NO_AUTH, "鎷煎澶氬皻鏈巿鏉冿紝璇锋巿鏉�")); + return; + } + } + + + return; + } + + List<String> tokenList = TaoBaoUtil.getTokenListFromTextWithKuoHao(link); + if (tokenList.size() > 0) { + //杩樺師鍙d护 + try { + TaoKeApiUtil.TokenConvertResult convertResult = TaoKeApiUtil.tokenConvert(tokenList.get(0)); + if (convertResult != null) { + String originUrl = convertResult.getOrigin_url(); + String goodsId = convertResult.getNum_iid(); + TaoBaoLink taoBaoLink = tbConvertLinkManager.convertGoods(goodsId, uid, acceptData.getSystem(), uid == null ? SystemPIDInfo.PidType.coupon : SystemPIDInfo.PidType.fanli); + convertLinkJumpVO = new ConvertLinkJumpVO(GoodsJumpUtil.getTBJumpInfo(taoBaoLink), Constant.SOURCE_TYPE_TAOBAO); + outPrintConvertResult(convertLinkJumpVO, out); + return; + } else { + throw new Exception("杞摼澶辫触"); + } + } catch (Exception e) { + e.printStackTrace(); + //杈撳嚭鍘熸潵鐨勬窐鍙d护 + JSONObject root = new JSONObject(); + root.put("data", new Gson().toJson(new ConvertLinkJumpVO(null, Constant.SOURCE_TYPE_TAOBAO))); + root.put("code", ExceptionConstant.CODE_JUMP_NO_SUPPORT); + out.print(root.toString()); + return; + } + + } + out.print(JsonUtil.loadFalseResult("涓嶆敮鎸佺殑绫诲瀷")); + } + + + private void outPrintConvertResult(ConvertLinkJumpVO vo, PrintWriter out) { + out.print(JsonUtil.loadTrueResult(new Gson().toJson(vo))); + } + + + /** + * 澶嶅埗鎺ㄨ崘璇� + * + * @param acceptData + * @param uid + * @param id + * @param out + */ + @RequestMapping(value = "evaluateCopyRecommend", method = RequestMethod.POST) + public void evaluateCopyRecommend(AcceptData acceptData, Long uid, String id, PrintWriter out) { + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); + if (goodsEvaluate == null) { + out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } + JSONObject data = new JSONObject(); + String result = GoodsTextUtil.decodeAppHtmlText(goodsEvaluate.getTitle()); + data.put("content", result); + out.print(JsonUtil.loadTrueResult(data)); + } + + /** + * @param acceptData + * @param uid + * @param id + * @param type 1-鏀惧ぇ 2-淇濆瓨 3-鍒嗕韩 + * @param goodsId + * @param goodsType + * @param out + */ + @RequestMapping(value = "evaluateShare", method = RequestMethod.POST) + public void evaluateShare(AcceptData acceptData, Long uid, String id, Integer type, String goodsId, + Integer goodsType, PrintWriter out) { + try { + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (StringUtil.isNullOrEmpty(id) || type == null) { + out.print(JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉鑳戒负绌�")); + return; + } + + if (type == 1 && (StringUtil.isNullOrEmpty(goodsId) || goodsType == null)) { + out.print(JsonUtil.loadFalseResult("鍟嗗搧鍙傛暟涓嶈兘涓虹┖")); + return; + } + + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); + if (goodsEvaluate == null) { + out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } + + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } + + + if (userFunctionsLimitService.isLimit(uid, SystemFunction.share, new Date())) { + out.print(JsonUtil.loadFalseResult(1, "璇ュ姛鑳介檺鍒朵娇鐢�")); + return; + } + - if (StringUtil.isNullOrEmpty(id) || type == null) { - out.print(JsonUtil.loadFalseResult("浼犻�掑弬鏁颁笉鑳戒负绌�")); - return; - } + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + String relationId = null; + if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null + && taoBaoInfo.getRelationValid() == true) + relationId = taoBaoInfo.getRelationId(); - if (type == 1 && (StringUtil.isNullOrEmpty(goodsId) || goodsType == null)) { - out.print(JsonUtil.loadFalseResult("鍟嗗搧鍙傛暟涓嶈兘涓虹┖")); - return; - } + if (StringUtil.isNullOrEmpty(relationId)) { + out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); + return; + } + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); + if (SystemInfoUtil.hasFunctions(acceptData.getSystem(), SystemFunction.threeSale)) { + inviteCode = userInfoExtraService.getInviteCodeByUid(uid); + if (StringUtil.isNullOrEmpty(inviteCode)) { + out.print(JsonUtil.loadFalseResult(1, "閭�璇风爜鏈縺娲�")); + return; + } + } - GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); - if (goodsEvaluate == null) { - out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); - return; - } + List<ImgInfo> imgs = goodsEvaluate.getImgList(); + if (imgs == null) { + out.print(JsonUtil.loadFalseResult("璇ュ浘鐗囧唴瀹瑰凡涓嶅瓨鍦�")); + return; + } - UserInfo user = userInfoService.getUserByIdWithMybatis(uid); - if (user == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + List<String> list = new ArrayList<>(); + Integer dynamicType = goodsEvaluate.getDynamicType(); + if (dynamicType == null || dynamicType.intValue() == 2) { + for (ImgInfo imgInfo : imgs) { + if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) + continue; + if (imgInfo.getType() == ImgEnum.img) + list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); + else if (imgInfo.getType() == ImgEnum.activity) + if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { + list.add(imgInfo.getActivityPic()); + } + } + } else { + // 鍗曞搧 + if (goodsEvaluate.getType() == EvaluateEnum.single) { + for (ImgInfo imgInfo : imgs) { + if (imgInfo.getType() == ImgEnum.video) + continue; - if (user != null && user.getState() != UserInfo.STATE_NORMAL) { - out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); - return; - } + GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); + if (goodsVO == null) { + list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() + : imgInfo.getUrlHD()); + continue; + } - UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - String relationId = null; - if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null - && taoBaoInfo.getRelationValid() == true) - relationId = taoBaoInfo.getRelationId(); + String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl(), SystemInfoUtil.getSystem(acceptData)); + if (!StringUtil.isNullOrEmpty(jumpLink)) { + list.add(jumpLink); + } + } - if (StringUtil.isNullOrEmpty(relationId)) { - out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); - return; - } + } else if (goodsEvaluate.getType() == EvaluateEnum.multiple) { + if (type == 1) { + for (ImgInfo imgInfo : imgs) { + if (imgInfo.getGoodsVO() != null) + if (imgInfo.getGoodsVO().getGoodsId().equalsIgnoreCase(goodsId) + && imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) { + String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode, + imgInfo.getUrl(), SystemInfoUtil.getSystem(acceptData)); + if (!StringUtil.isNullOrEmpty(jumpLink)) { + list.add(jumpLink); + } + break; + } + } + } else if (type == 2 || type == 3) { + for (ImgInfo imgInfo : imgs) { + if (imgInfo.getGoodsVO() != null) { + String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode, + imgInfo.getUrl(), SystemInfoUtil.getSystem(acceptData)); + if (!StringUtil.isNullOrEmpty(jumpLink)) { + list.add(jumpLink); + } + } + } + } - String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); - if (StringUtil.isNullOrEmpty(inviteCode)) { - out.print(JsonUtil.loadFalseResult(1, "閭�璇风爜鏈縺娲�")); - return; - } + } else if (goodsEvaluate.getType() == EvaluateEnum.activity) { + for (ImgInfo imgInfo : imgs) { + if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) + continue; + if (imgInfo.getType() == ImgEnum.img) + list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() + : imgInfo.getUrlHD()); + else if (imgInfo.getType() == ImgEnum.activity) + if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { + list.add(imgInfo.getActivityPic()); + } else if (!StringUtil.isNullOrEmpty(imgInfo.getUrl())) { + list.add(imgInfo.getUrl()); + } + } + } + } - List<ImgInfo> imgs = goodsEvaluate.getImgList(); - if (imgs == null) { - out.print(JsonUtil.loadFalseResult("璇ュ浘鐗囧唴瀹瑰凡涓嶅瓨鍦�")); - return; - } + Integer shareCount = goodsEvaluate.getShareNum(); + if (shareCount == null) { + shareCount = 0; + } - List<String> list = new ArrayList<>(); - Integer dynamicType = goodsEvaluate.getDynamicType(); - if (dynamicType == null || dynamicType.intValue() == 2) { - for (ImgInfo imgInfo : imgs) { - if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) - continue; - if (imgInfo.getType() == ImgEnum.img) - list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() : imgInfo.getUrlHD()); - else if (imgInfo.getType() == ImgEnum.activity) - if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { - list.add(imgInfo.getActivityPic()); - } - } - } else { - // 鍗曞搧 - if (goodsEvaluate.getType() == EvaluateEnum.single) { - for (ImgInfo imgInfo : imgs) { - if (imgInfo.getType() == ImgEnum.video) - continue; + if (type == 3) { + shareCount++; + goodsEvaluateService.addShareNum(id); - GoodsDetailVO goodsVO = imgInfo.getGoodsVO(); - if (goodsVO == null) { - list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() - : imgInfo.getUrlHD()); - continue; - } + executor.execute(new Runnable() { + @Override + public void run() { // 娣诲姞姣忔棩缁熻 + dailyCountMomentsService.addShareClick(); + } + }); + } - String jumpLink = getJumpLink(goodsVO, user, relationId, inviteCode, imgInfo.getUrl()); - if (!StringUtil.isNullOrEmpty(jumpLink)) { - list.add(jumpLink); - } - } + if (list.size() == 0) { + out.print(JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); + return; + } - } else if (goodsEvaluate.getType() == EvaluateEnum.multiple) { - if (type == 1) { - for (ImgInfo imgInfo : imgs) { - if (imgInfo.getGoodsVO() != null) - if (imgInfo.getGoodsVO().getGoodsId().equalsIgnoreCase(goodsId) - && imgInfo.getGoodsVO().getGoodsType() == goodsType.intValue()) { - String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode, - imgInfo.getUrl()); - if (!StringUtil.isNullOrEmpty(jumpLink)) { - list.add(jumpLink); - } - break; - } - } - } else if (type == 2 || type == 3) { - for (ImgInfo imgInfo : imgs) { - if (imgInfo.getGoodsVO() != null) { - String jumpLink = getJumpLink(imgInfo.getGoodsVO(), user, relationId, inviteCode, - imgInfo.getUrl()); - if (!StringUtil.isNullOrEmpty(jumpLink)) { - list.add(jumpLink); - } - } - } - } + JSONObject data = new JSONObject(); + data.put("count", shareCount); + data.put("list", list); + out.print(JsonUtil.loadTrueResult(data)); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�")); + return; + } + } - } else if (goodsEvaluate.getType() == EvaluateEnum.activity) { - for (ImgInfo imgInfo : imgs) { - if (imgInfo.getType() == ImgEnum.goods || imgInfo.getType() == ImgEnum.video) - continue; - if (imgInfo.getType() == ImgEnum.img) - list.add(StringUtil.isNullOrEmpty(imgInfo.getUrlHD()) ? imgInfo.getUrl() - : imgInfo.getUrlHD()); - else if (imgInfo.getType() == ImgEnum.activity) - if (!StringUtil.isNullOrEmpty(imgInfo.getActivityPic())) { - list.add(imgInfo.getActivityPic()); - } else if (!StringUtil.isNullOrEmpty(imgInfo.getUrl())) { - list.add(imgInfo.getUrl()); - } - } - } - } + private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode, + String mainPic, SystemEnum system) { + String jumpLink = null; + if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { + TaoBaoLink taoBaoLink = null; + try { + taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForShare(system, user.getId(),goodsVO.getGoodsId(), + relationId, null); + } catch (TaoBaoConvertLinkException e) { + e.printStackTrace(); + } + jumpLink = ShareControllerV2.getERCodeContentNew( + configService.getValue(ConfigKeyEnum.taobaoShareQrcodeText.getKey(), system), taoBaoLink.getGoods(), + TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); + } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { + JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(goodsVO.getGoodsId()); + if (jdGoods == null) { + return null; + } - Integer shareCount = goodsEvaluate.getShareNum(); - if (shareCount == null) { - shareCount = 0; - } + String couponUrl = null; + JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods); + if (couponInfo != null) { + couponUrl = couponInfo.getLink(); + } + String materialId = "https://item.jd.com/" + goodsVO.getGoodsId() + ".html"; + try { + jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, null, pidManager.getPidCache(system, Constant.SOURCE_TYPE_JD, SystemPIDInfo.PidType.share), + user.getId() + ""); + } catch (Exception e) { + logger.warn(String.format("浜笢杞摼鍑洪敊锛歮aterialId-%s couponUrl-%s",materialId,couponUrl), e); + } + } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) { + PDDGoodsDetail pddGoodsDetail = PinDuoDuoApiUtil.getGoodsDetail(goodsVO.getGoodsId()); + if (pddGoodsDetail == null) { + return null; + } - if (type == 3) { - shareCount++; - goodsEvaluateService.addShareNum(id); + jumpLink = PinDuoDuoApiUtil.getPromotionUrl(pddGoodsDetail.getGoodsSign(), pidManager.getPidCache(system, Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share), user.getId() + ""); + } - executor.execute(new Runnable() { - @Override - public void run() { // 娣诲姞姣忔棩缁熻 - dailyCountMomentsService.addShareClick(); - } - }); - } + FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode, + mainPic, goodsVO); + if (uploadResult != null) { + return uploadResult.getUrl(); + } + return null; + } - if (list.size() == 0) { - out.print(JsonUtil.loadFalseResult("璇ヤ俊鎭凡涓嬫灦")); - return; - } + /** + * 璇勮澶嶅埗-H5 + * + * @param acceptData + * @param id + * @param cid 璇勮id + * @param out + */ + @RequestMapping(value = "evaluateComment", method = RequestMethod.POST) + public void evaluateComment(AcceptData acceptData, Long uid, String id, String cid, PrintWriter out) { + if (StringUtil.isNullOrEmpty(id)) { + out.print(JsonUtil.loadFalseResult("id涓嶈兘涓虹┖")); + return; + } - JSONObject data = new JSONObject(); - data.put("count", shareCount); - data.put("list", list); - out.print(JsonUtil.loadTrueResult(data)); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�")); - return; - } - } + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); + if (goodsEvaluate == null) { + out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } - private String getJumpLink(GoodsDetailVO goodsVO, UserInfo user, String relationId, String inviteCode, - String mainPic) { - String jumpLink = null; - if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_TAOBAO) { - TaoBaoLink taoBaoLink = null; - try { - taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(user.getId(), Long.parseLong(goodsVO.getGoodsId()), - relationId); - } catch (ShareGoodsException e) { - e.printStackTrace(); - } - jumpLink = ShareControllerV2.getERCodeContentNew( - configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), taoBaoLink.getGoods(), - TaoBaoUtil.filterTaoToken(taoBaoLink.getTaoToken())); - } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_JD) { - JDGoods jdGoods = jdGoodsCacheUtil.getGoodsInfo(Long.parseLong(goodsVO.getGoodsId())); - if (jdGoods == null) { - return null; - } + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - String couponUrl = null; - JDCouponInfo couponInfo = JDUtil.getShowCouponInfo(jdGoods); - if (couponInfo != null) { - couponUrl = couponInfo.getLink(); - } - String materialId = "https://item.jd.com/" + goodsVO.getGoodsId() + ".html"; - jumpLink = JDApiUtil.convertLinkWithSubUnionId(materialId, couponUrl, JDApiUtil.POSITION_SHARE + "", - user.getId() + ""); - } else if (goodsVO.getGoodsType() == Constant.SOURCE_TYPE_PDD) { - jumpLink = PinDuoDuoApiUtil.getPromotionUrl(Long.parseLong(goodsVO.getGoodsId()), - PinDuoDuoApiUtil.PID_SHARE + "", user.getId() + ""); - } + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } - FileUploadResult uploadResult = qrCodeService.drawDynamicGoodsPoster(jumpLink, user.getPortrait(), inviteCode, - mainPic, goodsVO); - if (uploadResult != null) { - return uploadResult.getUrl(); - } - return null; - } + if (userFunctionsLimitService.isLimit(uid, SystemFunction.share, new Date())) { + out.print(JsonUtil.loadFalseResult(1, "璇ュ姛鑳介檺鍒朵娇鐢�")); + return; + } - /** - * 璇勮澶嶅埗-H5 - * - * @param acceptData - * @param id - * @param cid - * 璇勮id - * @param out - */ - @RequestMapping(value = "evaluateComment", method = RequestMethod.POST) - public void evaluateComment(AcceptData acceptData, Long uid, String id, String cid, PrintWriter out) { - if (StringUtil.isNullOrEmpty(id)) { - out.print(JsonUtil.loadFalseResult("id涓嶈兘涓虹┖")); - return; - } + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + String relationId = null; + if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null + && taoBaoInfo.getRelationValid() == true) + relationId = taoBaoInfo.getRelationId(); - GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); - if (goodsEvaluate == null) { - out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); - return; - } + if (StringUtil.isNullOrEmpty(relationId)) { + out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); + return; + } - UserInfo user = userInfoService.getUserByIdWithMybatis(uid); - if (user == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + String text = ""; + CommentInfo comment = null; + List<CommentInfo> comments = goodsEvaluate.getComments(); + if (comments != null) { + for (CommentInfo commentInfo : comments) { + if (cid.equals(commentInfo.getId())) { + text = commentInfo.getContent(); + comment = commentInfo; + break; + } + } + } - if (user != null && user.getState() != UserInfo.STATE_NORMAL) { - out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); - return; - } + String newText = text; // 闈為�氱敤鍒搁渶瑕侀獙璇� - UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - String relationId = null; - if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null - && taoBaoInfo.getRelationValid() == true) - relationId = taoBaoInfo.getRelationId(); + //鐗逛环鍙渶瑕佸鍒舵枃瀛楋紝涓嶉渶瑕佽浆閾� + if (acceptData.getSystem() == SystemEnum.yhqjx || acceptData.getSystem() == SystemEnum.hsb) { + newText = GoodsTextUtil.decodeAppHtmlText(newText); + //鍙鍒舵枃瀛� + JSONObject data = new JSONObject(); + data.put("text", newText); + out.print(JsonUtil.loadTrueResult(data)); + return; + } - if (StringUtil.isNullOrEmpty(relationId)) { - out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); - return; - } - String text = ""; - CommentInfo comment = null; - List<CommentInfo> comments = goodsEvaluate.getComments(); - if (comments != null) { - for (CommentInfo commentInfo : comments) { - if (cid.equals(commentInfo.getId())) { - text = commentInfo.getContent(); - comment = commentInfo; - break; - } - } - } + if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) { + try { + newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true); + } catch (ConvertLinkException e) { + if (e.getCode() != ConvertLinkException.CODE_NONE) { + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } - String newText = text; // 闈為�氱敤鍒搁渶瑕侀獙璇� - if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) { - try { - newText = convertLinkManager.convertLinkFromText(text, uid, true); - } catch (ConvertLinkExceptionException e) { - if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { - out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } + // 鏇挎崲浠锋牸 + if (goodsEvaluate.getType() == EvaluateEnum.single) { + GoodsDetailVO goods = goodsEvaluate.getGoods(); + newText = newText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goods.getZkPrice()) + ""); + if (!goods.isHasCoupon()) { + newText = newText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); + newText = newText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); + } else { + newText = newText.replace("[鍒稿悗浠穄", MoneyBigDecimalUtil.getWithNoZera(goods.getCouponPrice()) + ""); + } + newText = newText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); + } - // 鏇挎崲浠锋牸 - if (goodsEvaluate.getType() == EvaluateEnum.single) { - GoodsDetailVO goods = goodsEvaluate.getGoods(); - newText = newText.replace("[鍘熶环]", MoneyBigDecimalUtil.getWithNoZera(goods.getZkPrice()) + ""); - if (!goods.isHasCoupon()) { - newText = newText.replace("棰嗗埜鎶㈣喘", "鎶㈣喘"); - newText = newText.replace("銆愬埜鍚庝环銆慬鍒稿悗浠穄鍏�", ""); - } else { - newText = newText.replace("[鍒稿悗浠穄", MoneyBigDecimalUtil.getWithNoZera(goods.getCouponPrice()) + ""); - } - newText = newText.replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n").replace("\r\n\r\n", "\r\n"); - } + JSONObject data = new JSONObject(); + data.put("text", newText); + out.print(JsonUtil.loadTrueResult(data)); - JSONObject data = new JSONObject(); - data.put("text", newText); - out.print(JsonUtil.loadTrueResult(data)); + executor.execute(new Runnable() { + @Override + public void run() { // 娣诲姞姣忔棩缁熻 + dailyCountMomentsService.addCopyComment(); + } + }); + } - executor.execute(new Runnable() { - @Override - public void run() { // 娣诲姞姣忔棩缁熻 - dailyCountMomentsService.addCopyComment(); - } - }); - } + /** + * 璇勮澶嶅埗-涓撻 + * + * @param acceptData + * @param id + * @param out + */ + @RequestMapping(value = "copySpecialComment", method = RequestMethod.POST) + public void copySpecialComment(AcceptData acceptData, Long uid, Long id, PrintWriter out) { + if (uid == null || id == null) { + out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); + return; + } - /** - * 璇勮澶嶅埗-涓撻 - * - * @param acceptData - * @param id - * @param out - */ - @RequestMapping(value = "copySpecialComment", method = RequestMethod.POST) - public void copySpecialComment(AcceptData acceptData, Long uid, Long id, PrintWriter out) { - if (uid == null || id == null) { - out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); - return; - } + CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(id, CommonShareInfoEnum.special.name()); + if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) { + out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } - CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(id, CommonShareInfoEnum.special.name()); - if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) { - out.print(JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); - return; - } + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - UserInfo user = userInfoService.getUserByIdWithMybatis(uid); - if (user == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } - if (user != null && user.getState() != UserInfo.STATE_NORMAL) { - out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); - return; - } + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + String relationId = null; + if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null + && taoBaoInfo.getRelationValid() == true) + relationId = taoBaoInfo.getRelationId(); - UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - String relationId = null; - if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null - && taoBaoInfo.getRelationValid() == true) - relationId = taoBaoInfo.getRelationId(); + if (StringUtil.isNullOrEmpty(relationId)) { + out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); + return; + } - if (StringUtil.isNullOrEmpty(relationId)) { - out.print(JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); - return; - } + String text = shareInfo.getComment(); + String newText = text; + if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) { + try { + newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true); + } catch (ConvertLinkException e) { + if (e.getCode() != ConvertLinkException.CODE_NONE) { + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } - String text = shareInfo.getComment(); - String newText = text; - if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) { - try { - newText = convertLinkManager.convertLinkFromText(text, uid, true); - } catch (ConvertLinkExceptionException e) { - if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { - out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - out.print(JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } + JSONObject data = new JSONObject(); + data.put("text", newText); + out.print(JsonUtil.loadTrueResult(data)); + } - JSONObject data = new JSONObject(); - data.put("text", newText); - out.print(JsonUtil.loadTrueResult(data)); - } + @RequestMapping(value = "getActivityDetail") + public void getActivityDetail(String callback, AcceptData acceptData, Long uid, String type, String id, + PrintWriter out) { + if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); + return; + } - @RequestMapping(value = "getActivityDetail") - public void getActivityDetail(String callback, AcceptData acceptData, Long uid, String type, String id, - PrintWriter out) { - if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); - return; - } + String title = ""; + String comment = ""; + String params = ""; + String desc = ""; + Date startTime = null; + Date endTime = null; + JumpDetailV2 jumpDetail = null; + List<String> imgs = new ArrayList<>(); + if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩 + GoodsEvaluate evaluate = goodsEvaluateService.getById(id); + if (evaluate == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦")); + return; + } - String title = ""; - String comment = ""; - String params = ""; - String desc = ""; - Date startTime = null; - Date endTime = null; - JumpDetailV2 jumpDetail = null; - List<String> imgs = new ArrayList<>(); - if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩 - GoodsEvaluate evaluate = goodsEvaluateService.getById(id); - if (evaluate == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦")); - return; - } + title = evaluate.getTitle(); + List<CommentInfo> comments = evaluate.getComments(); + if (comments != null && comments.size() > 0) { + comment = comments.get(0).getContent(); + } - title = evaluate.getTitle(); - List<CommentInfo> comments = evaluate.getComments(); - if (comments != null && comments.size() > 0) { - comment = comments.get(0).getContent(); - } + String jumpLink = null; + if (!StringUtil.isNullOrEmpty(evaluate.getJumpLink())) { + jumpLink = evaluate.getJumpLink(); + } - String jumpLink = null; - if (!StringUtil.isNullOrEmpty(evaluate.getJumpLink())) { - jumpLink = evaluate.getJumpLink(); - } + List<ImgInfo> imgList = evaluate.getImgList(); + if (imgList != null && imgList.size() > 0) { + for (ImgInfo imgInfo : imgList) { + if (!StringUtil.isNullOrEmpty(imgInfo.getUrl()) + && (imgInfo.getType() == ImgEnum.img || imgInfo.getType() == ImgEnum.activity)) { + imgs.add(imgInfo.getUrl()); + } - List<ImgInfo> imgList = evaluate.getImgList(); - if (imgList != null && imgList.size() > 0) { - for (ImgInfo imgInfo : imgList) { - if (!StringUtil.isNullOrEmpty(imgInfo.getUrl()) - && (imgInfo.getType() == ImgEnum.img || imgInfo.getType() == ImgEnum.activity)) { - imgs.add(imgInfo.getUrl()); - } + if (imgInfo.getType() == ImgEnum.img || imgInfo.getType() == ImgEnum.activity) { + if (StringUtil.isNullOrEmpty(jumpLink) && !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { + jumpLink = imgInfo.getActivityUrl(); + } + } + } + } - if (imgInfo.getType() == ImgEnum.img || imgInfo.getType() == ImgEnum.activity) { - if (StringUtil.isNullOrEmpty(jumpLink) && !StringUtil.isNullOrEmpty(imgInfo.getActivityUrl())) { - jumpLink = imgInfo.getActivityUrl(); - } - } - } - } + int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); + jumpDetail = jumpDetailV2Service.getByTypeCache("web", platformCode, + Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); + JSONObject inner = new JSONObject(); + inner.put("url", jumpLink); + params = inner.toString(); + } else { + long pid = Long.parseLong(id); + if (CommonShareInfoEnum.special.name().equalsIgnoreCase(type)) { + Special special = specialService.selectByPrimaryKey(pid); + if (special == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦")); + return; + } - int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); - jumpDetail = jumpDetailV2Service.getByTypeCache("web", platformCode, - Integer.parseInt(acceptData.getVersion())); - JSONObject inner = new JSONObject(); - inner.put("url", jumpLink); - params = inner.toString(); - } else { - long pid = Long.parseLong(id); - if (CommonShareInfoEnum.special.name().equalsIgnoreCase(type)) { - Special special = specialService.selectByPrimaryKey(pid); - if (special == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦")); - return; - } + params = special.getParams(); + jumpDetail = special.getJumpDetail(); + if (!StringUtil.isNullOrEmpty(special.getPicture())) { + imgs.add(special.getPicture()); + } - params = special.getParams(); - jumpDetail = special.getJumpDetail(); - if (!StringUtil.isNullOrEmpty(special.getPicture())) { - imgs.add(special.getPicture()); - } + title = special.getName(); - title = special.getName(); + desc = special.getRemark(); + startTime = special.getStartTime(); + endTime = special.getEndTime(); + } else if (CommonShareInfoEnum.banner.name().equalsIgnoreCase(type)) { + SwiperPicture swiper = swiperPictureService.selectByPrimaryKey(pid); + if (swiper == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦")); + return; + } + params = swiper.getParams(); + jumpDetail = swiper.getJumpDetail(); + if (!StringUtil.isNullOrEmpty(swiper.getSrc())) { + imgs.add(swiper.getSrc()); + } - desc = special.getRemark(); - startTime = special.getStartTime(); - endTime = special.getEndTime(); - } else if (CommonShareInfoEnum.banner.name().equalsIgnoreCase(type)) { - SwiperPicture swiper = swiperPictureService.selectByPrimaryKey(pid); - if (swiper == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ユ椿鍔ㄥ凡涓嬫灦")); - return; - } - params = swiper.getParams(); - jumpDetail = swiper.getJumpDetail(); - if (!StringUtil.isNullOrEmpty(swiper.getSrc())) { - imgs.add(swiper.getSrc()); - } + title = swiper.getTitle(); + desc = swiper.getDesc(); + startTime = swiper.getStartTime(); + endTime = swiper.getEndTime(); + } + CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type); + if (shareInfo != null && !StringUtil.isNullOrEmpty(shareInfo.getComment())) { + comment = shareInfo.getComment(); + } + } - title = swiper.getTitle(); - desc = swiper.getDesc(); - startTime = swiper.getStartTime(); - endTime = swiper.getEndTime(); - } - CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type); - if (shareInfo != null && !StringUtil.isNullOrEmpty(shareInfo.getComment())) { - comment = shareInfo.getComment(); - } - } + if (!StringUtil.isNullOrEmpty(comment)) { // 鏇挎崲娣樺疂瀹樻柟娲诲姩 + List<String> activityIdList = convertLinkManager.getTaoBaoOfficialActivityId(comment); + for (String st : activityIdList) + comment = comment.replace(st, ""); + } - if (!StringUtil.isNullOrEmpty(comment)) { // 鏇挎崲娣樺疂瀹樻柟娲诲姩 - List<String> activityIdList = convertLinkManager.getTaoBaoOfficialActivityId(comment); - for (String st : activityIdList) - comment = comment.replace(st, ""); - } + JSONObject data = new JSONObject(); + data.put("title", title); + data.put("desc", desc); + data.put("comment", comment); + data.put("params", params); + data.put("jumpDetail", jumpDetail); + data.put("imgs", imgs); + if (startTime != null) { + data.put("startTime", TimeUtil.getGernalTime(startTime.getTime(), "yyyy.MM.dd")); + } - JSONObject data = new JSONObject(); - data.put("title", title); - data.put("desc", desc); - data.put("comment", comment); - data.put("params", params); - data.put("jumpDetail", jumpDetail); - data.put("imgs", imgs); - if (startTime != null) { - data.put("startTime", TimeUtil.getGernalTime(startTime.getTime(), "yyyy.MM.dd")); - } + if (endTime != null) { + data.put("endTime", TimeUtil.getGernalTime(endTime.getTime(), "yyyy.MM.dd")); + } - if (endTime != null) { - data.put("endTime", TimeUtil.getGernalTime(endTime.getTime(), "yyyy.MM.dd")); - } + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } + /** + * 璇勮澶嶅埗-涓撻 + * + * @param acceptData + * @param id + * @param out + */ + @RequestMapping(value = "copyShareComment") + public void copyShareComment(String callback, AcceptData acceptData, Long uid, String id, String type, + PrintWriter out) { + if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); + return; + } - /** - * 璇勮澶嶅埗-涓撻 - * - * @param acceptData - * @param id - * @param out - */ - @RequestMapping(value = "copyShareComment") - public void copyShareComment(String callback, AcceptData acceptData, Long uid, String id, String type, - PrintWriter out) { - if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); - return; - } + if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩 + copyActivityComment(callback, acceptData, uid, id, out); + return; + } - if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩 - copyActivityComment(callback, acceptData, uid, id, out); - return; - } + long pid = Long.parseLong(id); + CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type); + if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } - long pid = Long.parseLong(id); - CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type); - if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); - return; - } + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - UserInfo user = userInfoService.getUserByIdWithMybatis(uid); - if (user == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + JsonUtil.printMode(out, callback, + JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } - if (user != null && user.getState() != UserInfo.STATE_NORMAL) { - JsonUtil.printMode(out, callback, - JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); - return; - } + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + String relationId = null; + if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null + && taoBaoInfo.getRelationValid() == true) + relationId = taoBaoInfo.getRelationId(); - UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - String relationId = null; - if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null - && taoBaoInfo.getRelationValid() == true) - relationId = taoBaoInfo.getRelationId(); + if (StringUtil.isNullOrEmpty(relationId)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); + return; + } - if (StringUtil.isNullOrEmpty(relationId)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); - return; - } + String text = shareInfo.getComment(); + String newText = text; + if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) { + try { + newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true); + } catch (ConvertLinkException e) { + if (e.getCode() != ConvertLinkException.CODE_NONE) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } - String text = shareInfo.getComment(); - String newText = text; - if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) { - try { - newText = convertLinkManager.convertLinkFromText(text, uid, true); - } catch (ConvertLinkExceptionException e) { - if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } + JSONObject data = new JSONObject(); + data.put("text", newText); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } - JSONObject data = new JSONObject(); - data.put("text", newText); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } + /** + * 娲诲姩鍒嗕韩缁樺浘 + * + * @param type + * @param id + * @param erCodeContent + * @return String 杩斿洖绫诲瀷 + * @throws + * @Title: createActivityShareImg + * @Description: + */ + private String createActivityShareImg(String type, String id, String erCodeContent) { - /** - * 娲诲姩鍒嗕韩缁樺浘 - * @Title: createActivityShareImg - * @Description: - * @param title - * @param desc - * @param imgUrl - * @param erCodeContent - * @return - * String 杩斿洖绫诲瀷 - * @throws - */ - private String createActivityShareImg(String type, String id, String erCodeContent) { + String title = ""; + String desc = ""; + String img = ""; + if ("circle".equalsIgnoreCase(type)) { - String title = ""; - String desc = ""; - String img = ""; - if ("circle".equalsIgnoreCase(type)) { + } else if ("banner".equalsIgnoreCase(type)) { + SwiperPicture picture = swiperPictureService.selectByPrimaryKey(Long.parseLong(id)); + title = picture.getTitle(); + desc = picture.getDesc(); + img = picture.getSrc(); + } else if ("special".equalsIgnoreCase(type)) { + Special special = specialService.selectByPrimaryKey(Long.parseLong(id)); + title = special.getName(); + desc = special.getRemark(); + img = special.getPicture(); + } - } else if ("banner".equalsIgnoreCase(type)) { - SwiperPicture picture = swiperPictureService.selectByPrimaryKey(Long.parseLong(id)); - title = picture.getTitle(); - desc = picture.getDesc(); - img = picture.getSrc(); - } else if ("special".equalsIgnoreCase(type)) { - Special special = specialService.selectByPrimaryKey(Long.parseLong(id)); - title = special.getName(); - desc = special.getRemark(); - img = special.getPicture(); - } + try { + InputStream erCodeInputStream = null; + erCodeInputStream = QRCodeUtil.getInstance(250).encode(erCodeContent); + int[] size = new int[2]; + try { + size = ImageUtil.getImgWidthAndHeight(img); + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + InputStream resultInputStream = ImageUtil.drawActivityShareImg(HttpUtil.getAsInputStream(img), + (float) size[0] / size[1], title, desc, erCodeInputStream); + if (resultInputStream != null) { + String filePath = FilePathEnum.activityShare.getPath() + UUID.randomUUID().toString().replace("-", "") + + ".png"; + FileUploadResult result = COSManager.getInstance().uploadFile(resultInputStream, filePath); + if (result != null) + return result.getUrl(); + } + } catch (Exception e1) { + e1.printStackTrace(); + } - try { - InputStream erCodeInputStream = null; - erCodeInputStream = QRCodeUtil.getInstance(250).encode(erCodeContent); - int[] size = new int[2]; - try { - size = ImageUtil.getImgWidthAndHeight(img); - } catch (MalformedURLException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - InputStream resultInputStream = ImageUtil.drawActivityShareImg(HttpUtil.getAsInputStream(img), - (float) size[0] / size[1], title, desc, erCodeInputStream); - if (resultInputStream != null) { - String filePath = FilePathEnum.activityShare.getPath() + UUID.randomUUID().toString().replace("-", "") - + ".png"; - FileUploadResult result = COSManager.getInstance().uploadFile(resultInputStream, filePath); - if (result != null) - return result.getUrl(); - } - } catch (Exception e1) { - e1.printStackTrace(); - } + return null; + } - return null; - } + /** + * 璇勮澶嶅埗-涓撻 + * + * @param acceptData + * @param id + * @param out + */ + @RequestMapping(value = "getActivityShareImg") + public void getActivityShareImg(String callback, AcceptData acceptData, Long uid, String id, String type, + PrintWriter out) { + if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); + return; + } - /** - * 璇勮澶嶅埗-涓撻 - * - * @param acceptData - * @param id - * @param out - */ - @RequestMapping(value = "getActivityShareImg") - public void getActivityShareImg(String callback, AcceptData acceptData, Long uid, String id, String type, - PrintWriter out) { - if (uid == null || StringUtil.isNullOrEmpty(id) || StringUtil.isNullOrEmpty(type)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍙傛暟涓嶈兘涓虹┖")); - return; - } + if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩 + // copyActivityComment(callback, acceptData, uid, id, out); + // TODO 鍒嗕韩鍙戝湀鐨勫浘 + return; + } - if ("circle".equalsIgnoreCase(type)) { // 鍙戝湀娲诲姩 - // copyActivityComment(callback, acceptData, uid, id, out); - // TODO 鍒嗕韩鍙戝湀鐨勫浘 - return; - } + long pid = Long.parseLong(id); + CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type); + if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } - long pid = Long.parseLong(id); - CommonShareInfo shareInfo = commonShareInfoService.getByPidAndType(pid, type); - if (shareInfo == null || StringUtil.isNullOrEmpty(shareInfo.getComment())) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); - return; - } + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - UserInfo user = userInfoService.getUserByIdWithMybatis(uid); - if (user == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + JsonUtil.printMode(out, callback, + JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } - if (user != null && user.getState() != UserInfo.STATE_NORMAL) { - JsonUtil.printMode(out, callback, - JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); - return; - } + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + String relationId = null; + if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null + && taoBaoInfo.getRelationValid() == true) + relationId = taoBaoInfo.getRelationId(); - UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - String relationId = null; - if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null - && taoBaoInfo.getRelationValid() == true) - relationId = taoBaoInfo.getRelationId(); + if (StringUtil.isNullOrEmpty(relationId)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); + return; + } - if (StringUtil.isNullOrEmpty(relationId)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); - return; - } + String text = shareInfo.getComment(); + String newText = text; + String imgUrl = null; + if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) { + try { + String erCodeContent = ""; + newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true); + // 鑾峰彇鍙d护 + List<String> tokenList = TaoBaoUtil.getTokenListFromTextWithKuoHao(newText); + if (tokenList != null && tokenList.size() > 0) { + // 鏋勯�犲垎浜摼鎺� + erCodeContent = ShareControllerV2.getTaoBaoActiivtyERCodeContentNew( + configService.getValue(ConfigKeyEnum.taobaoShareQrcodeText.getKey(), SystemInfoUtil.getSystem(acceptData)), tokenList.get(0)); + } else { + // 鑾峰彇閾炬帴 + List<String> urlList = JDUtil.getJDShortLinksFromText(newText); + if (urlList != null && urlList.size() > 0) { + erCodeContent = urlList.get(0); + } else { + urlList = PinDuoDuoUtil.getPDDShortLinksFromText(newText); + if (urlList != null && urlList.size() > 0) { + erCodeContent = urlList.get(0); + } + } + } - String text = shareInfo.getComment(); - String newText = text; - String imgUrl = null; - if (shareInfo.getNeedSpin() != null && shareInfo.getNeedSpin()) { - try { - String erCodeContent = ""; - newText = convertLinkManager.convertLinkFromText(text, uid, true); - // 鑾峰彇鍙d护 - List<String> tokenList = TaoBaoUtil.getTokenListFromTextWithKuoHao(newText); - if (tokenList != null && tokenList.size() > 0) { - // 鏋勯�犲垎浜摼鎺� - erCodeContent = ShareControllerV2.getTaoBaoActiivtyERCodeContentNew( - configService.get(ConfigKeyEnum.taobaoShareQrcodeText.getKey()), tokenList.get(0)); - } else { - // 鑾峰彇閾炬帴 - List<String> urlList = JDUtil.getJDShortLinksFromText(newText); - if (urlList != null && urlList.size() > 0) { - erCodeContent = urlList.get(0); - } else { - urlList = PinDuoDuoUtil.getPDDShortLinksFromText(newText); - if (urlList != null && urlList.size() > 0) { - erCodeContent = urlList.get(0); - } - } - } + imgUrl = createActivityShareImg(type, id, erCodeContent); + } catch (ConvertLinkException e) { + if (e.getCode() != ConvertLinkException.CODE_NONE) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } - imgUrl = createActivityShareImg(type, id, erCodeContent); - } catch (ConvertLinkExceptionException e) { - if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } + if (StringUtil.isNullOrEmpty(imgUrl)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�")); + } else { + JSONObject data = new JSONObject(); + data.put("text", newText); + data.put("img", imgUrl); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + } - if (StringUtil.isNullOrEmpty(imgUrl)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�")); - } else { - JSONObject data = new JSONObject(); - data.put("text", newText); - data.put("img", imgUrl); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } - } + /** + * 璇勮澶嶅埗 + * + * @param acceptData + * @param id + * @param out + */ + private void copyActivityComment(String callback, AcceptData acceptData, Long uid, String id, PrintWriter out) { + if (StringUtil.isNullOrEmpty(id)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("id涓嶈兘涓虹┖")); + return; + } - /** - * 璇勮澶嶅埗 - * - * @param acceptData - * @param id - * @param out - */ - private void copyActivityComment(String callback, AcceptData acceptData, Long uid, String id, PrintWriter out) { - if (StringUtil.isNullOrEmpty(id)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("id涓嶈兘涓虹┖")); - return; - } + GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); + if (goodsEvaluate == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); + return; + } - GoodsEvaluate goodsEvaluate = goodsEvaluateService.getById(id); - if (goodsEvaluate == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇ュ唴瀹瑰凡涓嶅瓨鍦�")); - return; - } + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - UserInfo user = userInfoService.getUserByIdWithMybatis(uid); - if (user == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + JsonUtil.printMode(out, callback, + JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } - if (user != null && user.getState() != UserInfo.STATE_NORMAL) { - JsonUtil.printMode(out, callback, - JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); - return; - } + UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); + String relationId = null; + if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null + && taoBaoInfo.getRelationValid() == true) + relationId = taoBaoInfo.getRelationId(); - UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid); - String relationId = null; - if (taoBaoInfo != null && taoBaoInfo.getRelationId() != null && taoBaoInfo.getRelationValid() != null - && taoBaoInfo.getRelationValid() == true) - relationId = taoBaoInfo.getRelationId(); + if (StringUtil.isNullOrEmpty(relationId)) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); + return; + } - if (StringUtil.isNullOrEmpty(relationId)) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "娣樺疂鏈巿鏉冿紝璇峰墠寰�\"鎴戠殑\"缁戝畾娣樺疂璐﹀彿")); - return; - } + String text = ""; + CommentInfo comment = null; + List<CommentInfo> comments = goodsEvaluate.getComments(); + if (comments != null && comments.size() > 0) { + CommentInfo info = comments.get(0); + text = info.getContent(); + comment = info; + } - String text = ""; - CommentInfo comment = null; - List<CommentInfo> comments = goodsEvaluate.getComments(); - if (comments != null && comments.size() > 0) { - CommentInfo info = comments.get(0); - text = info.getContent(); - comment = info; - } + String newText = text; // 闈為�氱敤鍒搁渶瑕侀獙璇� + if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) { + try { + newText = convertLinkManager.convertLinkFromText(acceptData.getSystem(), text, uid, true, true); + } catch (ConvertLinkException e) { + if (e.getCode() != ConvertLinkException.CODE_NONE) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } catch (Exception e) { + LogHelper.errorDetailInfo(e); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); + return; + } + } + JSONObject data = new JSONObject(); + data.put("text", newText); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - String newText = text; // 闈為�氱敤鍒搁渶瑕侀獙璇� - if (comment != null && (comment.getNeedSpin() == null || comment.getNeedSpin())) { - try { - newText = convertLinkManager.convertLinkFromText(text, uid, true); - } catch (ConvertLinkExceptionException e) { - if (e.getCode() != ConvertLinkExceptionException.CODE_NONE) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璇勮鐢熸垚澶辫触")); - return; - } - } - JSONObject data = new JSONObject(); - data.put("text", newText); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + executor.execute(new Runnable() { + @Override + public void run() { // 娣诲姞姣忔棩缁熻 + dailyCountMomentsService.addCopyComment(); + } + }); + } - executor.execute(new Runnable() { - @Override - public void run() { // 娣诲姞姣忔棩缁熻 - dailyCountMomentsService.addCopyComment(); - } - }); - } - } -- Gitblit v1.8.0