From 62a447d89331aee1feae7724c7616aa1bb2cfe79 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 16 十月 2024 14:28:37 +0800
Subject: [PATCH] 将CMQ替换为rabbitmq

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java | 1541 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 819 insertions(+), 722 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
index c60a57b..d4fe2b3 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
@@ -1,722 +1,819 @@
-package com.yeshi.fanli.controller.client.v2;
-
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.UUID;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.yeshi.utils.HttpUtil;
-import org.yeshi.utils.JsonUtil;
-import org.yeshi.utils.encrypt.DESUtil;
-import org.yeshi.utils.entity.FileUploadResult;
-import org.yeshi.utils.tencentcloud.COSManager;
-
-import com.yeshi.fanli.dto.taobao.api.TaoKeOfficialActivityConvertResultDTO;
-import com.yeshi.fanli.entity.accept.AcceptData;
-import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
-import com.yeshi.fanli.entity.bus.homemodule.FloatAD.FloatADTypeEnum;
-import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
-import com.yeshi.fanli.entity.bus.user.UserActiveLog;
-import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
-import com.yeshi.fanli.entity.common.JumpDetailV2;
-import com.yeshi.fanli.entity.config.AppHomeFloatImg;
-import com.yeshi.fanli.entity.system.ConfigKeyEnum;
-import com.yeshi.fanli.entity.taobao.ClientTBPid;
-import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.homemodule.FloatADService;
-import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService;
-import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
-import com.yeshi.fanli.service.inter.user.TBPidService;
-import com.yeshi.fanli.service.inter.user.UserActiveLogService;
-import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
-import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
-import com.yeshi.fanli.util.AESUtil;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.FilePathEnum;
-import com.yeshi.fanli.util.ImageUtil;
-import com.yeshi.fanli.util.RedisKeyEnum;
-import com.yeshi.fanli.util.RedisManager;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.TaoBaoConstant;
-import com.yeshi.fanli.util.ThreadUtil;
-import com.yeshi.fanli.util.VersionUtil;
-import com.yeshi.fanli.util.jd.JDUtil;
-import com.yeshi.fanli.util.suning.SuningUtil;
-import com.yeshi.fanli.util.taobao.TaoBaoUtil;
-import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import com.yeshi.fanli.util.vipshop.VipShopUtil;
-import com.yeshi.fanli.vo.elme.ElemeConvertInfoResultVO;
-import com.yeshi.fanli.vo.homemodule.FloatImgDetailVO;
-
-import net.sf.json.JSONObject;
-
-/**
- * 鍔ㄦ��
- *
- * @author Administrator
- */
-@Controller
-@RequestMapping("api/v2/config")
-public class ConfigControllerV2 {
-
-    @Resource
-    private ConfigService configService;
-
-    @Resource
-    private TBPidService tbPidService;
-
-    @Resource
-    private TaoBaoUnionConfigService taoBaoUnionConfigService;
-
-    @Resource
-    private UserInfoExtraService userInfoExtraService;
-
-    @Resource
-    private FloatADService floatADService;
-
-    @Resource
-    private JumpDetailV2Service jumpDetailV2Service;
-
-    @Resource
-    private MsgDeviceReadStateService msgDeviceReadStateService;
-
-    @Resource
-    private UserTaoLiJinOriginService uerTaoLiJinOriginService;
-
-    @Resource
-    private UserActiveLogService userActiveLogService;
-
-    @Resource
-    private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService;
-
-    @Resource
-    private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
-
-    @Resource
-    private RedisManager redisManager;
-
-    /**
-     * s 棣栭〉閰嶇疆淇℃伅
-     *
-     * @param acceptData
-     * @param out
-     */
-    @RequestMapping(value = "getHomeConfig", method = RequestMethod.POST)
-    public void getHomeConfig(AcceptData acceptData, Long uid, PrintWriter out) {
-        if (uid != null && uid == 0L)
-            uid = null;
-
-        AppHomeFloatImg appHomeFloatImg = configService.getAppHomeFloatImg(acceptData.getSystem());
-        if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && !Constant.IS_TEST) {
-            appHomeFloatImg = null;
-        }
-
-        JSONObject data = new JSONObject();
-        if (appHomeFloatImg != null) {
-            data.put("floatImg", appHomeFloatImg);
-        }
-
-        String notifyImg = configService.getAppHomeFloatNotifyImg(acceptData.getSystem());
-        if (!StringUtil.isNullOrEmpty(notifyImg)) {
-            data.put("floatNotifyImg", notifyImg);
-        }
-
-        // 鏃犳柊浜哄脊妗� 鍒欐煡璇㈤粯璁�
-        FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 0, acceptData.getSystem());
-
-        if (floatAD != null && floatAD.getTypeEnum() != FloatADTypeEnum.newUserRedPack) {
-            JSONObject detail = new JSONObject();
-            detail.put("img", floatAD.getPicture());
-            detail.put("jumpDetail", floatAD.getJumpDetail());
-            detail.put("params", floatAD.getParams());
-            detail.put("showTime", floatAD.getShowMode());
-            detail.put("accountLogin", floatAD.isJumpNeedLogin());
-            data.put("floatImgDetail", detail);
-        }
-
-        // 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁�
-        String couponHelp = configService.getValue(ConfigKeyEnum.taobaoCouponHelp.getKey(), acceptData.getSystem());
-        data.put("couponHelpUrl", couponHelp);
-
-        // 搴曢儴缃戦〉閾炬帴
-        String platform = acceptData.getPlatform();
-        if ("android".equalsIgnoreCase(platform)) {
-            data.put("htmlLink", configService.getValue(ConfigKeyEnum.indexHtmlLinkAndroid.getKey(), acceptData.getSystem()));
-        }
-
-        // 鍒ゆ柇鏂拌�佺敤鎴�
-        UserActiveLog da = null;
-        if (uid != null)
-            da = userActiveLogService.getFirstActiveInfo(uid);
-        // 鏂颁汉
-        if (da == null || (System.currentTimeMillis() - da.getCreateTime().getTime()) <= 1000 * 60 * 60 * 24 * 15L) {
-            data.put("userTimeType", 0);
-        } else {// 鑰佷汉
-            data.put("userTimeType", 1);
-        }
-        data.put("hotFuctionLink", configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform,
-                Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()));
-        out.print(JsonUtil.loadTrueResult(data));
-    }
-
-    /**
-     * s 棣栭〉閰嶇疆淇℃伅
-     *
-     * @param acceptData
-     * @param out
-     */
-    @RequestMapping(value = "getHomeConfigNew")
-    public void getHomeConfigNew(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
-        if (uid != null && uid == 0L)
-            uid = null;
-
-        String platform = acceptData.getPlatform();
-        String version = acceptData.getVersion();
-
-        // 娲诲姩寮规
-        List<FloatAD> listAD = new ArrayList<FloatAD>();
-        List<FloatImgDetailVO> listVO = new ArrayList<FloatImgDetailVO>();
-        List<FloatAD> list = floatADService.getValidFloatADCache(FloatAD.POSITION_INDEX, null, platform,
-                Integer.parseInt(version), acceptData.getSystem());
-        if (list != null && !list.isEmpty())
-            listAD.addAll(list);
-
-        for (int i = 0; i < listAD.size(); i++) {
-            FloatAD floatAD = listAD.get(i);
-            FloatADTypeEnum typeEnum = floatAD.getTypeEnum();
-            if (typeEnum == FloatADTypeEnum.newUserRedPack && (!VersionUtil.greaterThan_2_0_5(platform, version)
-                    || !userTaoLiJinNewbiesService.verifyHasReward(uid, acceptData.getDevice()))) {
-
-                listAD.remove(i);
-                i--;
-                continue;
-            }
-
-            JumpDetailV2 jumpDetail = floatAD.getJumpDetail();
-            if (jumpDetail != null) {
-                jumpDetail = jumpDetailV2Service.selectByPrimaryKey(jumpDetail.getId());
-                if (jumpDetail != null) {
-                    jumpDetail.setNeedLogin(floatAD.isJumpNeedLogin());
-                }
-            }
-            FloatImgDetailVO floatImgVO = new FloatImgDetailVO();
-            floatImgVO.setId(floatAD.getId().toString());
-            floatImgVO.setImg(floatAD.getPicture());
-            floatImgVO.setParams(floatAD.getParams());
-            floatImgVO.setJumpDetail(jumpDetail);
-            floatImgVO.setShowTime(floatAD.getShowMode());
-            floatImgVO.setAccountLogin(floatAD.isJumpNeedLogin());
-            if (floatAD.getPlaySound() != null)
-                floatImgVO.setPlaySound(floatAD.getPlaySound());// 榛樿閮芥挱鏀鹃煶鏁�
-            else
-                floatImgVO.setPlaySound(false);
-            listVO.add(floatImgVO);
-        }
-
-        JSONObject data = new JSONObject();
-        data.put("listAD", JsonUtil.getApiCommonGson().toJson(listVO));
-        data.put("protocol", configService.getValue(ConfigKeyEnum.userProtocolHomeData.getKey(), acceptData.getSystem()));
-
-        // 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁�
-        String couponHelp = configService.getValue(ConfigKeyEnum.taobaoCouponHelp.getKey(), acceptData.getSystem());
-        data.put("couponHelpUrl", couponHelp);
-
-        // 鍒ゆ柇鏂拌�佺敤鎴� 鏄剧ず鐑棬鍔熻兘鎸夐挳婊戝姩
-        UserActiveLog da = null;
-        if (uid != null)
-            da = userActiveLogService.getFirstActiveInfo(uid);
-        // 鏂颁汉
-        if (da == null || (System.currentTimeMillis() - da.getCreateTime().getTime()) <= 1000 * 60 * 60 * 24 * 15L) {
-            data.put("userTimeType", 0);
-        } else {// 鑰佷汉
-            data.put("userTimeType", 1);
-        }
-
-        // 鏄惁鏄剧ず鐑棬鍔熻兘鎸夐挳
-        data.put("hotFuctionLink",
-                configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform, Integer.parseInt(version), acceptData.getSystem()));
-        if (StringUtil.isNullOrEmpty(callback))
-            out.print(JsonUtil.loadTrueResult(data));
-        else
-            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-    }
-
-    /**
-     * 娑堟伅涓績寮规
-     *
-     * @param acceptData
-     * @param uid
-     * @param out
-     */
-    @RequestMapping(value = "getMSGConfig", method = RequestMethod.POST)
-    public void getMSGConfig(AcceptData acceptData, Long uid, PrintWriter out) {
-        out.print(JsonUtil.loadFalseResult("鎺ㄥ箍绾㈠寘鐩稿叧鍔熻兘宸蹭笅绾匡紒"));
-    }
-
-    @RequestMapping(value = "getTaoBaoCartConfig", method = RequestMethod.POST)
-    public void getTaoBaoCartConfig(AcceptData acceptData, String position, Long uid, PrintWriter out) {
-        if (uid == null || uid <= 0) {
-            out.print(JsonUtil.loadFalseResult("鐢ㄦ埛灏氭湭鐧诲綍"));
-            return;
-        }
-
-        // 鏄惁闇�瑕佽喘鐗╁煄杞摼
-        boolean convert = "0".equalsIgnoreCase(configService.getValue(ConfigKeyEnum.showTaobaoCartConvert.getKey(), acceptData.getSystem())) ? false
-                : true;
-
-        if (!"cart".equalsIgnoreCase(position) && !convert) {
-            out.print(JsonUtil.loadFalseResult(""));
-            return;
-        }
-
-        ClientTBPid clientTBPid = null;
-        if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
-            clientTBPid = tbPidService.getIOSDefault();
-        } else {
-            clientTBPid = tbPidService.getAndroidDefault();
-        }
-
-        String cartJS = configService.getValue(ConfigKeyEnum.taobaoCartJS.getKey(), acceptData.getSystem());
-        String cartUrl = configService.getValue(ConfigKeyEnum.taobaoCartLink.getKey(), acceptData.getSystem());
-        if (!convert)// 涓嶈浆閾�
-        {
-            cartUrl = "http://";
-            cartJS = "-";
-        }
-        String js = null;
-        String link = null;
-        try {
-            js = DESUtil.encode(cartJS, StringUtil.getBase64String("YeShiFANLI889*+"),
-                    StringUtil.getBase64String("*M#34f?,"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        try {
-            link = DESUtil.encode(cartUrl, StringUtil.getBase64String("YeShiFANLI889*+"),
-                    StringUtil.getBase64String("*M#34f?,"));
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        JSONObject data = new JSONObject();
-        data.put("js", js);
-        data.put("link", link);
-        data.put("tbPidInfo", clientTBPid);
-        out.print(JsonUtil.loadTrueResult(data));
-    }
-
-    @RequestMapping(value = "getWebConfig", method = RequestMethod.POST)
-    public void getWebConfig(AcceptData acceptData, String url, PrintWriter out) {
-        JSONObject data = new JSONObject();
-
-        if (url != null && url.contains("ifeeds.tmall.com/article.html?")) {
-            if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
-                data.put("baichuan", false);
-            else
-                data.put("baichuan", true);
-            data.put("goodsDetail", false);
-        } else if (url != null && (url.contains("s.click") || url.contains("taobao.com") || url.contains("tmall.com")
-                || url.contains("m.tb.cn"))) {
-            if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
-                data.put("baichuan", false);
-            else
-                data.put("baichuan", true);
-            data.put("goodsDetail", true);// 闇�瑕佹嫤鎴晢鍝佽鎯�
-        } else if (url != null && (url.contains("jd.com"))) {
-            // 涓嶈兘鍖呭惈璇︽儏椤�
-            String skuId = JDUtil.parseJDSkuIdByUrl(url);
-            if (StringUtil.isNullOrEmpty(skuId))// 涓嶈兘鎷︽埅璇︽儏椤甸潰锛岄槻姝㈠墠绔繘鍏ユ寰幆
-                if (url.startsWith("https://union-click.jd.com/jdc?"))
-                    data.put("goodsDetail", false);
-                else
-                    data.put("goodsDetail", true);
-            else
-                data.put("goodsDetail", false);
-
-            data.put("baichuan", false);// 涓嶉渶瑕侀噰鐢ㄩ樋閲岀櫨宸濈殑鏂瑰紡鍔犺浇webview
-
-        } else if (url != null && (url.contains(".vip.com"))) {// 鍞搧浼�
-            String goodsId = VipShopUtil.parseGoodsIdByUrl(url);
-            if (StringUtil.isNullOrEmpty(goodsId))// 涓嶈兘鎷︽埅璇︽儏椤甸潰锛岄槻姝㈠墠绔繘鍏ユ寰幆
-                data.put("goodsDetail", true);
-            else
-                data.put("goodsDetail", false);
-        } else if (url != null && (url.contains(".suning.com"))) {// 鑻忓畞
-            String goodsId = SuningUtil.parseGoodsIdByUrl(url);
-            if (StringUtil.isNullOrEmpty(goodsId))// 涓嶈兘鎷︽埅璇︽儏椤甸潰锛岄槻姝㈠墠绔繘鍏ユ寰幆
-                data.put("goodsDetail", true);
-            else
-                data.put("goodsDetail", false);
-        } else if (url != null && ((url.contains("yangkeduo.com") && !url.contains("yangkeduo.com/goods.html?")
-                && !url.contains("yangkeduo.com/duo_coupon_landing.html?"))
-                || (url.startsWith("https://p.pinduoduo.com/")))) {
-            data.put("baichuan", false);// 涓嶉渶瑕侀噰鐢ㄩ樋閲岀櫨宸濈殑鏂瑰紡鍔犺浇webview
-            data.put("goodsDetail", true);// 涓嶉渶瑕佹嫤鎴晢鍝佽鎯�
-        } else {
-            data.put("baichuan", false);// 涓嶉渶瑕侀噰鐢ㄩ樋閲岀櫨宸濈殑鏂瑰紡鍔犺浇webview
-            data.put("goodsDetail", false);// 涓嶉渶瑕佹嫤鎴晢鍝佽鎯�
-        }
-        // TODO 鍓嶇闇�瑕佸鐞�
-        // if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(),
-        // acceptData.getVersion())) {
-        // JSONObject js = new JSONObject();
-        // String jsStr = configService.get("url_extract_id");
-        // String md5 = StringUtil.Md5(jsStr);
-        // js.put("md5", md5);
-        // data.put("js", js);
-        // }
-
-        out.print(JsonUtil.loadTrueResult(data));
-    }
-
-    @RequestMapping(value = "getWebJS", method = RequestMethod.POST)
-    public void getWebJS(AcceptData acceptData, PrintWriter out) {
-        JSONObject data = new JSONObject();
-        String urlIdJS = configService.getValue("url_extract_id", acceptData.getSystem());
-        data.put("urlIdJSMD5", StringUtil.Md5(urlIdJS));
-        data.put("urlIdJS", AESUtil.encrypt(urlIdJS, Constant.UIDAESKEY));
-        out.print(JsonUtil.loadTrueResult(data));
-    }
-
-    /**
-     * 鑾峰彇璐﹀彿缁戝畾涓殑閰嶇疆淇℃伅
-     *
-     * @param acceptData
-     * @param out
-     */
-
-    @RequestMapping(value = "getBindAccountConfig", method = RequestMethod.POST)
-    public void getBindAccountConfig(AcceptData acceptData, PrintWriter out) {
-        String alipayHelpUrl = configService.getValue(ConfigKeyEnum.alipayHelp.getKey(), acceptData.getSystem());// 鏀粯瀹濆府鍔�
-        String alipayBindFailUrl = configService.getValue(ConfigKeyEnum.alipayBindFailReason.getKey(), acceptData.getSystem());// 鏀粯瀹濈粦瀹氬け璐ュ師鍥�
-        JSONObject data = new JSONObject();
-        data.put("alipayHelp", alipayHelpUrl);
-        data.put("alipayBindFailReason", alipayBindFailUrl);
-        out.print(JsonUtil.loadTrueResult(data));
-    }
-
-    /**
-     * 鑾峰彇璁㈠崟閰嶇疆
-     *
-     * @param acceptData
-     * @param out
-     */
-
-    @RequestMapping(value = "getOrderConfig", method = RequestMethod.POST)
-    public void getOrderConfig(AcceptData acceptData, PrintWriter out) {
-        JSONObject data = new JSONObject();
-        // 娴嬭瘯
-        data.put("showTaoBaoOrder",
-                "0".equalsIgnoreCase(configService.getValue(ConfigKeyEnum.showTaobaoOrder.getKey(), acceptData.getSystem()).trim()) ? false : true);
-        data.put("taoBaoOrderUrl", "https://main.m.taobao.com/olist/index.html");
-        out.print(JsonUtil.loadTrueResult(data));
-    }
-
-    @RequestMapping(value = "getKeFuConfig", method = RequestMethod.POST)
-    public void getKeFuConfig(AcceptData acceptData, PrintWriter out) {
-        JSONObject data = new JSONObject();
-        data.put("meiqia", "1".equalsIgnoreCase(configService.getValue(ConfigKeyEnum.kefuMeiqia.getKey(), acceptData.getSystem())) ? true : false);// 鏄惁璺宠浆缇庢唇锛屼笉璺宠浆缇庢唇灏辩敤鍘熸潵鐨�
-        out.print(JsonUtil.loadTrueResult(data));
-        // 璁剧疆娑堟伅宸茶
-        ThreadUtil.run(new Runnable() {
-            @Override
-            public void run() {
-                msgDeviceReadStateService.setDeviceMsgRead(MsgDeviceReadState.TYPE_KEFU, acceptData.getDevice(),
-                        "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2);
-            }
-        });
-    }
-
-    /**
-     * 鑾峰彇閭�璇风爜甯姪閾炬帴
-     *
-     * @param acceptData
-     * @param out
-     */
-    @RequestMapping(value = "getInviteCodeInputHelp", method = RequestMethod.POST)
-    public void getInviteCodeInputHelp(AcceptData acceptData, PrintWriter out) {
-        JSONObject data = new JSONObject();
-        data.put("helpUrl", configService.getValue(ConfigKeyEnum.inviteCodeInputHelp.getKey(), acceptData.getSystem()));
-        out.print(JsonUtil.loadTrueResult(data));
-    }
-
-    /**
-     * 鑾峰彇楗夸簡涔堢殑鎺ㄥ箍閾炬帴
-     *
-     * @param acceptData
-     * @param uid
-     * @param out
-     */
-    @RequestMapping(value = "getElemeLink")
-    public void getElemeLink(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
-
-        UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
-        if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
-            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
-            return;
-        }
-        String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + "");
-        String elmeLink = redisManager.getCommonString(key);
-        if (StringUtil.isNullOrEmpty(elmeLink)) {
-            TaoKeOfficialActivityConvertResultDTO dto = TaoKeApiUtil.officialActivityConvert(
-                    TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3], "1571715733668", userInfoExtra.getRelationId());
-            if (dto != null)
-                elmeLink = dto.getShort_click_url();
-            if (!StringUtil.isNullOrEmpty(elmeLink)) {
-                redisManager.cacheCommonString(key, elmeLink, 60 * 60);// 缂撳瓨1涓皬鏃�
-            }
-        }
-
-        JSONObject data = new JSONObject();
-
-        // data.put("hongBao",
-        // configService.get("eleme_hongbao_link").replace("{鐢ㄦ埛ID}", uid + ""));
-        // data.put("goods",
-        // configService.get("eleme_goods_link").replace("{鐢ㄦ埛ID}", uid + ""));
-
-        data.put("hongBao", elmeLink);
-        data.put("goods", elmeLink);
-
-        ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, TaoBaoConstant.TAOBAO_ELEME_PID,
-                null, TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3]);
-        data.put("taoKeParams", clientTBPid1);
-        if (StringUtil.isNullOrEmpty(callback))
-            out.print(JsonUtil.loadTrueResult(data));
-        else
-            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-    }
-
-    /**
-     * @param acceptData
-     * @param uid
-     * @param activityId 娲诲姩ID
-     * @param share      -鏄惁涓哄垎浜�
-     * @param callback
-     * @param out        void 杩斿洖绫诲瀷
-     * @throws
-     * @Title: getElemeLinkNew
-     * @Description:
-     */
-    @RequestMapping(value = "getElemeLinkNew")
-    public void getElemeLinkNew(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg,
-                                String callback, PrintWriter out) {
-
-        UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
-        if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
-            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
-            return;
-        }
-        String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + "-" + activityId + "-" + share);
-        String elmeResult = redisManager.getCommonString(key);
-        JSONObject data = new JSONObject();
-        TaoKeOfficialActivityConvertResultDTO dto = null;
-        if (StringUtil.isNullOrEmpty(elmeResult)) {
-            if (share) {
-                dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3],
-                        activityId, userInfoExtra.getRelationId());
-            } else {
-                dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3], activityId,
-                        userInfoExtra.getRelationId());
-            }
-
-            if (dto != null) {
-                if (share) {// 鐢熸垚鍙d护
-                    String token = TaoKeApiUtil.getTKToken("http://", "楗夸簡涔�", dto.getShort_click_url());
-                    dto.setToken(TaoBaoUtil.filterTaoToken(token));
-                }
-                redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
-            }
-        } else {
-            dto = JsonUtil.getSimpleGson().fromJson(elmeResult, TaoKeOfficialActivityConvertResultDTO.class);
-
-            if (share && StringUtil.isNullOrEmpty(dto.getToken())) {
-                // 淇濆瓨鍙d护
-                String token = TaoKeApiUtil.getTKToken("http://", "楗夸簡涔�", dto.getShort_click_url());
-                dto.setToken(TaoBaoUtil.filterTaoToken(token));
-                redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
-            }
-
-        }
-
-        ElemeConvertInfoResultVO info = new ElemeConvertInfoResultVO(null, dto.getToken(), dto.getShort_click_url());
-        if (share && shareImg) {
-            InputStream elmeShareImg = ImageUtil.drawSimpleImage(
-                    this.getClass().getClassLoader().getResourceAsStream("image/elme_bg.png"), 1080, 1646,
-                    HttpUtil.getAsInputStream(dto.getWx_qrcode_url()), 500, 500, 295, 908);
-
-            if (elmeShareImg != null) {
-                String filePath = FilePathEnum.elmeShare.getPath() + "-" + uid + "-"
-                        + UUID.randomUUID().toString().replace("-", "") + ".png";
-                FileUploadResult uploadResult = COSManager.getInstance().uploadFile(elmeShareImg, filePath);
-                if (uploadResult != null)
-                    info.setQrCodeImg(uploadResult.getUrl());
-            }
-
-            if (info.getQrCodeImg() == null) {
-                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�"));
-                return;
-            }
-
-        }
-
-        data.put("info", info);
-
-        ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
-                share ? TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT : TaoBaoConstant.TAOBAO_ELEME_PID, null,
-                TaoBaoConstant.TAOBAO_ELEME_PID.split("_")[3]);
-        clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]);
-        data.put("taoKeParams", clientTBPid1);
-        if (StringUtil.isNullOrEmpty(callback))
-            out.print(JsonUtil.loadTrueResult(data));
-        else
-            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-    }
-
-    @RequestMapping(value = "getKouBeiLink")
-    public void getKouBeiLink(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg,
-                              String callback, PrintWriter out) {
-
-        UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
-        if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
-            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
-            return;
-        }
-        String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.kouBeiLink, uid + "-" + activityId + "-" + share);
-        String elmeResult = redisManager.getCommonString(key);
-        JSONObject data = new JSONObject();
-        TaoKeOfficialActivityConvertResultDTO dto = null;
-        if (StringUtil.isNullOrEmpty(elmeResult)) {
-            if (share) {
-                dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT.split("_")[3],
-                        activityId, userInfoExtra.getRelationId());
-            } else {
-                dto = TaoKeApiUtil.officialActivityConvert(TaoBaoConstant.TAOBAO_KOUBEI_PID.split("_")[3], activityId,
-                        userInfoExtra.getRelationId());
-            }
-
-            if (dto != null) {
-                if (share) {// 鐢熸垚鍙d护
-                    String token = TaoKeApiUtil.getTKToken("http://", "鍙g", dto.getClick_url());
-                    dto.setToken(TaoBaoUtil.filterTaoToken(token));
-                }
-                redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
-            }
-        } else {
-            dto = JsonUtil.getSimpleGson().fromJson(elmeResult, TaoKeOfficialActivityConvertResultDTO.class);
-
-            if (share && StringUtil.isNullOrEmpty(dto.getToken())) {
-                // 淇濆瓨鍙d护
-                String token = TaoKeApiUtil.getTKToken("http://", "鍙g", dto.getClick_url());
-                dto.setToken(TaoBaoUtil.filterTaoToken(token));
-                redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
-            }
-
-        }
-
-        ElemeConvertInfoResultVO info = new ElemeConvertInfoResultVO(null, dto.getToken(), dto.getClick_url());
-        if (share && shareImg) {
-            InputStream elmeShareImg = ImageUtil.drawSimpleImage(
-                    this.getClass().getClassLoader().getResourceAsStream("image/elme_bg.png"), 1080, 1646,
-                    HttpUtil.getAsInputStream(dto.getWx_qrcode_url()), 500, 500, 295, 908);
-
-            if (elmeShareImg != null) {
-                String filePath = FilePathEnum.elmeShare.getPath() + "-" + uid + "-"
-                        + UUID.randomUUID().toString().replace("-", "") + ".png";
-                FileUploadResult uploadResult = COSManager.getInstance().uploadFile(elmeShareImg, filePath);
-                if (uploadResult != null)
-                    info.setQrCodeImg(uploadResult.getUrl());
-            }
-
-            if (info.getQrCodeImg() == null) {
-                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�"));
-                return;
-            }
-
-        }
-
-        data.put("info", info);
-
-        ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
-                share ? TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT : TaoBaoConstant.TAOBAO_KOUBEI_PID, null,
-                TaoBaoConstant.TAOBAO_KOUBEI_PID.split("_")[3]);
-        clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]);
-        data.put("taoKeParams", clientTBPid1);
-        if (StringUtil.isNullOrEmpty(callback))
-            out.print(JsonUtil.loadTrueResult(data));
-        else
-            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
-    }
-
-    /**
-     * 鑾峰彇楗夸簡涔堢殑鎺ㄥ箍閾炬帴
-     *
-     * @param acceptData
-     * @param uid
-     * @param out
-     */
-    @RequestMapping(value = "userProtocolListen")
-    public void userProtocolListen(AcceptData acceptData, Long uid, int type, PrintWriter out) {
-        LogHelper.userProtocolListen(String.format("%s#%s#%s", acceptData.getDevice(), uid, type));
-        out.print(JsonUtil.loadTrueResult(""));
-    }
-
-    /**
-     * 鏄惁鏄剧ず骞垮憡
-     *
-     * @param acceptData
-     * @param uid
-     * @param out        void 杩斿洖绫诲瀷
-     * @throws
-     * @Title: showAd
-     * @Description:
-     */
-    @RequestMapping(value = "getShowAd")
-    public void showAd(AcceptData acceptData, Long uid, PrintWriter out) {
-        String value = configService.getValue(ConfigKeyEnum.showSplashAd.getKey(), acceptData.getSystem());
-        boolean huaweiShowAd = true;
-        if ("huawei".equalsIgnoreCase(acceptData.getChannel())) {
-            String version = configService.getValue(ConfigKeyEnum.huaweiOnLineVersionCode.getKey(), acceptData.getSystem());
-            if (!StringUtil.isNullOrEmpty(version)) {
-                if (Integer.parseInt(version) == Integer.parseInt(acceptData.getVersion())) {
-                    huaweiShowAd = false;
-                }
-            }
-        }
-
-        JSONObject data = new JSONObject();
-        if ("0".equalsIgnoreCase(value.trim())) {
-            data.put("show", false);
-        } else {
-            if (huaweiShowAd) {
-                data.put("show", true);
-                //鍔犺浇骞垮憡鏁版嵁
-                data.put("ad", configService.getValue(ConfigKeyEnum.gdtAdInfo, acceptData.getSystem()));
-            } else
-                data.put("show", false);
-        }
-        out.print(JsonUtil.loadTrueResult(data));
-    }
-
-    /**
-     * 鑾峰彇娉ㄩ攢鍗忚
-     *
-     * @param acceptData
-     * @param out
-     */
-    @RequestMapping(value = "getLogoutProtocol")
-    public void getLogoutProtocol(String callback, AcceptData acceptData, PrintWriter out) {
-        JSONObject data = new JSONObject();
-        data.put("link", configService.getValue(ConfigKeyEnum.accountLogoutProtocolLink.getKey(), acceptData.getSystem()));
-        JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
-    }
-}
+package com.yeshi.fanli.controller.client.v2;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.SystemPIDInfo;
+import com.yeshi.fanli.entity.common.Config;
+import com.yeshi.fanli.exception.goods.ConvertLinkException;
+import com.yeshi.fanli.service.manger.PIDManager;
+import com.yeshi.fanli.service.manger.goods.ConvertLinkManager;
+import com.yeshi.fanli.util.email.MailSenderUtil;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.multipart.MultipartFile;
+import org.yeshi.utils.HttpUtil;
+import org.yeshi.utils.JsonUtil;
+import org.yeshi.utils.TimeUtil;
+import org.yeshi.utils.encrypt.DESUtil;
+import org.yeshi.utils.entity.FileUploadResult;
+import org.yeshi.utils.tencentcloud.COSManager;
+
+import com.yeshi.fanli.dto.taobao.api.TaoKeOfficialActivityConvertResultDTO;
+import com.yeshi.fanli.entity.accept.AcceptData;
+import com.yeshi.fanli.entity.bus.homemodule.FloatAD;
+import com.yeshi.fanli.entity.bus.homemodule.FloatAD.FloatADTypeEnum;
+import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState;
+import com.yeshi.fanli.entity.bus.user.UserActiveLog;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
+import com.yeshi.fanli.entity.common.JumpDetailV2;
+import com.yeshi.fanli.entity.config.AppHomeFloatImg;
+import com.yeshi.fanli.entity.system.ConfigKeyEnum;
+import com.yeshi.fanli.entity.taobao.ClientTBPid;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
+import com.yeshi.fanli.service.inter.config.ConfigService;
+import com.yeshi.fanli.service.inter.homemodule.FloatADService;
+import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService;
+import com.yeshi.fanli.service.inter.redpack.UserTaoLiJinNewbiesService;
+import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
+import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
+import com.yeshi.fanli.service.inter.user.TBPidService;
+import com.yeshi.fanli.service.inter.user.UserActiveLogService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.util.AESUtil;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.FilePathEnum;
+import com.yeshi.fanli.util.ImageUtil;
+import com.yeshi.fanli.util.RedisKeyEnum;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TaoBaoConstant;
+import com.yeshi.fanli.util.ThreadUtil;
+import com.yeshi.fanli.util.VersionUtil;
+import com.yeshi.fanli.util.jd.JDUtil;
+import com.yeshi.fanli.util.suning.SuningUtil;
+import com.yeshi.fanli.util.taobao.TaoBaoUtil;
+import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
+import com.yeshi.fanli.util.vipshop.VipShopUtil;
+import com.yeshi.fanli.vo.elme.ElemeConvertInfoResultVO;
+import com.yeshi.fanli.vo.homemodule.FloatImgDetailVO;
+
+import net.sf.json.JSONObject;
+
+/**
+ * 鍔ㄦ��
+ *
+ * @author Administrator
+ */
+@Controller
+@RequestMapping("api/v2/config")
+public class ConfigControllerV2 {
+
+    @Resource
+    private ConfigService configService;
+
+    @Resource
+    private TBPidService tbPidService;
+
+    @Resource
+    private FloatADService floatADService;
+
+    @Resource
+    private JumpDetailV2Service jumpDetailV2Service;
+
+    @Resource
+    private MsgDeviceReadStateService msgDeviceReadStateService;
+
+    @Resource
+    private UserActiveLogService userActiveLogService;
+
+    @Resource
+    private UserTaoLiJinNewbiesService userTaoLiJinNewbiesService;
+
+    @Resource
+    private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+    @Resource
+    private RedisManager redisManager;
+
+    @Resource
+    private PIDManager pidManager;
+
+    @Resource
+    private ConvertLinkManager convertLinkManager;
+
+    /**
+     * s 棣栭〉閰嶇疆淇℃伅
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping(value = "getHomeConfig", method = RequestMethod.POST)
+    public void getHomeConfig(AcceptData acceptData, Long uid, PrintWriter out) {
+        if (uid != null && uid == 0L)
+            uid = null;
+
+        AppHomeFloatImg appHomeFloatImg = configService.getAppHomeFloatImg(acceptData.getSystem());
+        if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && !Constant.IS_TEST) {
+            appHomeFloatImg = null;
+        }
+
+        JSONObject data = new JSONObject();
+        if (appHomeFloatImg != null) {
+            data.put("floatImg", appHomeFloatImg);
+        }
+
+        String notifyImg = configService.getAppHomeFloatNotifyImg(acceptData.getSystem());
+        if (!StringUtil.isNullOrEmpty(notifyImg)) {
+            data.put("floatNotifyImg", notifyImg);
+        }
+
+        // 鏃犳柊浜哄脊妗� 鍒欐煡璇㈤粯璁�
+        FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 0, acceptData.getSystem());
+
+        if (floatAD != null && floatAD.getTypeEnum() != FloatADTypeEnum.newUserRedPack) {
+            JSONObject detail = new JSONObject();
+            detail.put("img", floatAD.getPicture());
+            detail.put("jumpDetail", floatAD.getJumpDetail());
+            detail.put("params", floatAD.getParams());
+            detail.put("showTime", floatAD.getShowMode());
+            detail.put("accountLogin", floatAD.isJumpNeedLogin());
+            data.put("floatImgDetail", detail);
+        }
+
+        // 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁�
+        String couponHelp = configService.getValue(ConfigKeyEnum.taobaoCouponHelp.getKey(), acceptData.getSystem());
+        data.put("couponHelpUrl", couponHelp);
+
+        // 搴曢儴缃戦〉閾炬帴
+        String platform = acceptData.getPlatform();
+        if ("android".equalsIgnoreCase(platform)) {
+            data.put("htmlLink", configService.getValue(ConfigKeyEnum.indexHtmlLinkAndroid.getKey(), acceptData.getSystem()));
+        }
+
+        // 鍒ゆ柇鏂拌�佺敤鎴�
+        UserActiveLog da = null;
+        if (uid != null)
+            da = userActiveLogService.getFirstActiveInfo(uid);
+        // 鏂颁汉
+        if (da == null || (System.currentTimeMillis() - da.getCreateTime().getTime()) <= 1000 * 60 * 60 * 24 * 15L) {
+            data.put("userTimeType", 0);
+        } else {// 鑰佷汉
+            data.put("userTimeType", 1);
+        }
+        data.put("hotFuctionLink", configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform,
+                Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()));
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
+    /**
+     * s 棣栭〉閰嶇疆淇℃伅
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping(value = "getHomeConfigNew")
+    public void getHomeConfigNew(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
+        if (uid != null && uid == 0L)
+            uid = null;
+
+        String platform = acceptData.getPlatform();
+        String version = acceptData.getVersion();
+
+        // 娲诲姩寮规
+        List<FloatAD> listAD = new ArrayList<FloatAD>();
+        List<FloatImgDetailVO> listVO = new ArrayList<FloatImgDetailVO>();
+        List<FloatAD> list = floatADService.getValidFloatADCache(FloatAD.POSITION_INDEX, null, platform,
+                Integer.parseInt(version), acceptData.getSystem());
+        if (list != null && !list.isEmpty())
+            listAD.addAll(list);
+
+        for (int i = 0; i < listAD.size(); i++) {
+            FloatAD floatAD = listAD.get(i);
+            FloatADTypeEnum typeEnum = floatAD.getTypeEnum();
+            if (typeEnum == FloatADTypeEnum.newUserRedPack && (!VersionUtil.greaterThan_2_0_5(platform, version)
+                    || !userTaoLiJinNewbiesService.verifyHasReward(uid, acceptData.getDevice()))) {
+
+                listAD.remove(i);
+                i--;
+                continue;
+            }
+
+            JumpDetailV2 jumpDetail = floatAD.getJumpDetail();
+            if (jumpDetail != null) {
+                jumpDetail = jumpDetailV2Service.selectByPrimaryKey(jumpDetail.getId());
+                if (jumpDetail != null) {
+                    jumpDetail.setNeedLogin(floatAD.isJumpNeedLogin());
+                }
+            }
+            FloatImgDetailVO floatImgVO = new FloatImgDetailVO();
+            floatImgVO.setId(floatAD.getId().toString());
+            floatImgVO.setImg(floatAD.getPicture());
+            floatImgVO.setParams(floatAD.getParams());
+            floatImgVO.setJumpDetail(jumpDetail);
+            floatImgVO.setShowTime(floatAD.getShowMode());
+            floatImgVO.setAccountLogin(floatAD.isJumpNeedLogin());
+            if (floatAD.getPlaySound() != null)
+                floatImgVO.setPlaySound(floatAD.getPlaySound());// 榛樿閮芥挱鏀鹃煶鏁�
+            else
+                floatImgVO.setPlaySound(false);
+            listVO.add(floatImgVO);
+        }
+
+        JSONObject data = new JSONObject();
+        data.put("listAD", JsonUtil.getApiCommonGson().toJson(listVO));
+        data.put("protocol", configService.getValue(ConfigKeyEnum.userProtocolHomeData.getKey(), acceptData.getSystem()));
+
+        // 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁�
+        String couponHelp = configService.getValue(ConfigKeyEnum.taobaoCouponHelp.getKey(), acceptData.getSystem());
+        data.put("couponHelpUrl", couponHelp);
+
+        // 鍒ゆ柇鏂拌�佺敤鎴� 鏄剧ず鐑棬鍔熻兘鎸夐挳婊戝姩
+        UserActiveLog da = null;
+        if (uid != null)
+            da = userActiveLogService.getFirstActiveInfo(uid);
+        // 鏂颁汉
+        if (da == null || (System.currentTimeMillis() - da.getCreateTime().getTime()) <= 1000 * 60 * 60 * 24 * 15L) {
+            data.put("userTimeType", 0);
+        } else {// 鑰佷汉
+            data.put("userTimeType", 1);
+        }
+
+        // 鏄惁鏄剧ず鐑棬鍔熻兘鎸夐挳
+        data.put("hotFuctionLink",
+                configService.getByVersion(ConfigKeyEnum.hotFunctionUrl.getKey(), platform, Integer.parseInt(version), acceptData.getSystem()));
+        if (StringUtil.isNullOrEmpty(callback))
+            out.print(JsonUtil.loadTrueResult(data));
+        else
+            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+    }
+
+    /**
+     * 娑堟伅涓績寮规
+     *
+     * @param acceptData
+     * @param uid
+     * @param out
+     */
+    @RequestMapping(value = "getMSGConfig", method = RequestMethod.POST)
+    public void getMSGConfig(AcceptData acceptData, Long uid, PrintWriter out) {
+        out.print(JsonUtil.loadFalseResult("鎺ㄥ箍绾㈠寘鐩稿叧鍔熻兘宸蹭笅绾匡紒"));
+    }
+
+    @RequestMapping(value = "getTaoBaoCartConfig", method = RequestMethod.POST)
+    public void getTaoBaoCartConfig(AcceptData acceptData, String position, Long uid, PrintWriter out) {
+        if (uid == null || uid <= 0) {
+            out.print(JsonUtil.loadFalseResult("鐢ㄦ埛灏氭湭鐧诲綍"));
+            return;
+        }
+
+        // 鏄惁闇�瑕佽喘鐗╁煄杞摼
+        boolean convert = "0".equalsIgnoreCase(configService.getValue(ConfigKeyEnum.showTaobaoCartConvert.getKey(), acceptData.getSystem())) ? false
+                : true;
+
+        if (!"cart".equalsIgnoreCase(position) && !convert) {
+            out.print(JsonUtil.loadFalseResult(""));
+            return;
+        }
+
+        ClientTBPid clientTBPid = null;
+        if ("ios".equalsIgnoreCase(acceptData.getPlatform())) {
+            clientTBPid = tbPidService.getIOSDefault();
+        } else {
+            clientTBPid = tbPidService.getAndroidDefault();
+        }
+
+        String cartJS = configService.getValue(ConfigKeyEnum.taobaoCartJS.getKey(), acceptData.getSystem());
+        String cartUrl = configService.getValue(ConfigKeyEnum.taobaoCartLink.getKey(), acceptData.getSystem());
+        if (!convert)// 涓嶈浆閾�
+        {
+            cartUrl = "http://";
+            cartJS = "-";
+        }
+        String js = null;
+        String link = null;
+        try {
+            js = DESUtil.encode(cartJS, StringUtil.getBase64String("YeShiFANLI889*+"),
+                    StringUtil.getBase64String("*M#34f?,"));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        try {
+            link = DESUtil.encode(cartUrl, StringUtil.getBase64String("YeShiFANLI889*+"),
+                    StringUtil.getBase64String("*M#34f?,"));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        JSONObject data = new JSONObject();
+        data.put("js", js);
+        data.put("link", link);
+        data.put("tbPidInfo", clientTBPid);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
+    @RequestMapping(value = "getWebConfig", method = RequestMethod.POST)
+    public void getWebConfig(AcceptData acceptData, String url, PrintWriter out) {
+        JSONObject data = new JSONObject();
+
+        if (url != null && url.contains("ifeeds.tmall.com/article.html?")) {
+            if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
+                data.put("baichuan", false);
+            else
+                data.put("baichuan", true);
+            data.put("goodsDetail", false);
+        } else if (url != null && (url.contains("s.click") || url.contains("taobao.com") || url.contains("tmall.com")
+                || url.contains("m.tb.cn"))) {
+            if (VersionUtil.greaterThan_2_0(acceptData.getPlatform(), acceptData.getVersion()))
+                data.put("baichuan", false);
+            else
+                data.put("baichuan", true);
+            data.put("goodsDetail", true);// 闇�瑕佹嫤鎴晢鍝佽鎯�
+        } else if (url != null && (url.contains("jd.com"))) {
+            // 涓嶈兘鍖呭惈璇︽儏椤�
+            String skuId = JDUtil.parseJDSkuIdByUrl(url);
+            if (StringUtil.isNullOrEmpty(skuId))// 涓嶈兘鎷︽埅璇︽儏椤甸潰锛岄槻姝㈠墠绔繘鍏ユ寰幆
+                if (url.startsWith("https://union-click.jd.com/jdc?"))
+                    data.put("goodsDetail", false);
+                else
+                    data.put("goodsDetail", true);
+            else
+                data.put("goodsDetail", false);
+
+            data.put("baichuan", false);// 涓嶉渶瑕侀噰鐢ㄩ樋閲岀櫨宸濈殑鏂瑰紡鍔犺浇webview
+
+        } else if (url != null && (url.contains(".vip.com"))) {// 鍞搧浼�
+            String goodsId = VipShopUtil.parseGoodsIdByUrl(url);
+            if (StringUtil.isNullOrEmpty(goodsId))// 涓嶈兘鎷︽埅璇︽儏椤甸潰锛岄槻姝㈠墠绔繘鍏ユ寰幆
+                data.put("goodsDetail", true);
+            else
+                data.put("goodsDetail", false);
+        } else if (url != null && (url.contains(".suning.com"))) {// 鑻忓畞
+            String goodsId = SuningUtil.parseGoodsIdByUrl(url);
+            if (StringUtil.isNullOrEmpty(goodsId))// 涓嶈兘鎷︽埅璇︽儏椤甸潰锛岄槻姝㈠墠绔繘鍏ユ寰幆
+                data.put("goodsDetail", true);
+            else
+                data.put("goodsDetail", false);
+        } else if (url != null && ((url.contains("yangkeduo.com") && !url.contains("yangkeduo.com/goods.html?")
+                && !url.contains("yangkeduo.com/duo_coupon_landing.html?"))
+                || (url.startsWith("https://p.pinduoduo.com/")))) {
+            data.put("baichuan", false);// 涓嶉渶瑕侀噰鐢ㄩ樋閲岀櫨宸濈殑鏂瑰紡鍔犺浇webview
+            data.put("goodsDetail", true);// 涓嶉渶瑕佹嫤鎴晢鍝佽鎯�
+        } else {
+            data.put("baichuan", false);// 涓嶉渶瑕侀噰鐢ㄩ樋閲岀櫨宸濈殑鏂瑰紡鍔犺浇webview
+            data.put("goodsDetail", false);// 涓嶉渶瑕佹嫤鎴晢鍝佽鎯�
+        }
+        // TODO 鍓嶇闇�瑕佸鐞�
+        // if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(),
+        // acceptData.getVersion())) {
+        // JSONObject js = new JSONObject();
+        // String jsStr = configService.get("url_extract_id");
+        // String md5 = StringUtil.Md5(jsStr);
+        // js.put("md5", md5);
+        // data.put("js", js);
+        // }
+
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
+    @RequestMapping(value = "getWebJS", method = RequestMethod.POST)
+    public void getWebJS(AcceptData acceptData, PrintWriter out) {
+        JSONObject data = new JSONObject();
+        String urlIdJS = configService.getValue("url_extract_id", acceptData.getSystem());
+        data.put("urlIdJSMD5", StringUtil.Md5(urlIdJS));
+        data.put("urlIdJS", AESUtil.encrypt(urlIdJS, Constant.UIDAESKEY));
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
+    /**
+     * 鑾峰彇璐﹀彿缁戝畾涓殑閰嶇疆淇℃伅
+     *
+     * @param acceptData
+     * @param out
+     */
+
+    @RequestMapping(value = "getBindAccountConfig", method = RequestMethod.POST)
+    public void getBindAccountConfig(AcceptData acceptData, PrintWriter out) {
+        String alipayHelpUrl = configService.getValue(ConfigKeyEnum.alipayHelp.getKey(), acceptData.getSystem());// 鏀粯瀹濆府鍔�
+        String alipayBindFailUrl = configService.getValue(ConfigKeyEnum.alipayBindFailReason.getKey(), acceptData.getSystem());// 鏀粯瀹濈粦瀹氬け璐ュ師鍥�
+        JSONObject data = new JSONObject();
+        data.put("alipayHelp", alipayHelpUrl);
+        data.put("alipayBindFailReason", alipayBindFailUrl);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
+    /**
+     * 鑾峰彇璁㈠崟閰嶇疆
+     *
+     * @param acceptData
+     * @param out
+     */
+
+    @RequestMapping(value = "getOrderConfig", method = RequestMethod.POST)
+    public void getOrderConfig(AcceptData acceptData, PrintWriter out) {
+        JSONObject data = new JSONObject();
+        // 娴嬭瘯
+        data.put("showTaoBaoOrder",
+                "0".equalsIgnoreCase(configService.getValue(ConfigKeyEnum.showTaobaoOrder.getKey(), acceptData.getSystem()).trim()) ? false : true);
+        data.put("taoBaoOrderUrl", "https://main.m.taobao.com/olist/index.html");
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
+    @RequestMapping(value = "getKeFuConfig", method = RequestMethod.POST)
+    public void getKeFuConfig(AcceptData acceptData, PrintWriter out) {
+        JSONObject data = new JSONObject();
+        data.put("meiqia", "1".equalsIgnoreCase(configService.getValue(ConfigKeyEnum.kefuMeiqia.getKey(), acceptData.getSystem())) ? true : false);// 鏄惁璺宠浆缇庢唇锛屼笉璺宠浆缇庢唇灏辩敤鍘熸潵鐨�
+        out.print(JsonUtil.loadTrueResult(data));
+        // 璁剧疆娑堟伅宸茶
+        ThreadUtil.run(new Runnable() {
+            @Override
+            public void run() {
+                msgDeviceReadStateService.setDeviceMsgRead(MsgDeviceReadState.TYPE_KEFU, acceptData.getDevice(),
+                        "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2);
+            }
+        });
+    }
+
+    /**
+     * 鑾峰彇閭�璇风爜甯姪閾炬帴
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping(value = "getInviteCodeInputHelp", method = RequestMethod.POST)
+    public void getInviteCodeInputHelp(AcceptData acceptData, PrintWriter out) {
+        JSONObject data = new JSONObject();
+        data.put("helpUrl", configService.getValue(ConfigKeyEnum.inviteCodeInputHelp.getKey(), acceptData.getSystem()));
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
+    /**
+     * 鑾峰彇楗夸簡涔堢殑鎺ㄥ箍閾炬帴
+     *
+     * @param acceptData
+     * @param uid
+     * @param out
+     */
+    @RequestMapping(value = "getElemeLink")
+    public void getElemeLink(AcceptData acceptData, Long uid, String callback, PrintWriter out) {
+        UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
+        if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
+            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
+            return;
+        }
+
+        String elmePid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_ELME, SystemPIDInfo.PidType.fanli);
+
+        String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + "");
+        String elmeLink = redisManager.getCommonString(key);
+        if (StringUtil.isNullOrEmpty(elmeLink)) {
+            TaoKeOfficialActivityConvertResultDTO dto = null;
+            try {
+                dto = convertLinkManager.taobaoOfficialActivityConvert(uid, elmePid, "1571715733668", userInfoExtra.getRelationId(), false);
+            } catch (ConvertLinkException e) {
+                e.printStackTrace();
+                if (StringUtil.isNullOrEmpty(callback))
+                    out.print(JsonUtil.loadFalseResult(e.getMessage()));
+                else
+                    out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getMessage())));
+                return;
+            }
+            if (dto != null)
+                elmeLink = dto.getShort_click_url();
+            if (!StringUtil.isNullOrEmpty(elmeLink)) {
+                redisManager.cacheCommonString(key, elmeLink, 60 * 60);// 缂撳瓨1涓皬鏃�
+            }
+        }
+
+        JSONObject data = new JSONObject();
+
+        // data.put("hongBao",
+        // configService.get("eleme_hongbao_link").replace("{鐢ㄦ埛ID}", uid + ""));
+        // data.put("goods",
+        // configService.get("eleme_goods_link").replace("{鐢ㄦ埛ID}", uid + ""));
+
+        data.put("hongBao", elmeLink);
+        data.put("goods", elmeLink);
+
+        ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY, elmePid,
+                null, elmePid.split("_")[3]);
+        data.put("taoKeParams", clientTBPid1);
+        if (StringUtil.isNullOrEmpty(callback))
+            out.print(JsonUtil.loadTrueResult(data));
+        else
+            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+    }
+
+    /**
+     * @param acceptData
+     * @param uid
+     * @param activityId 娲诲姩ID
+     * @param share      -鏄惁涓哄垎浜�
+     * @param callback
+     * @param out        void 杩斿洖绫诲瀷
+     * @throws
+     * @Title: getElemeLinkNew
+     * @Description:
+     */
+    @RequestMapping(value = "getElemeLinkNew")
+    public void getElemeLinkNew(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg,
+                                String callback, PrintWriter out) {
+
+        UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
+        if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
+            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
+            return;
+        }
+
+        String elmePid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_ELME, SystemPIDInfo.PidType.fanli);
+        String relationPid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.share);
+
+        String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.elmeLink, uid + "-" + activityId + "-" + share);
+        String elmeResult = redisManager.getCommonString(key);
+        JSONObject data = new JSONObject();
+        TaoKeOfficialActivityConvertResultDTO dto = null;
+        if (StringUtil.isNullOrEmpty(elmeResult)) {
+            try {
+                if (share) {
+                    dto = convertLinkManager.taobaoOfficialActivityConvert(uid, relationPid, activityId, userInfoExtra.getRelationId(), true);
+                } else {
+                    dto = convertLinkManager.taobaoOfficialActivityConvert(uid, elmePid, activityId,
+                            userInfoExtra.getRelationId(), false);
+                }
+            } catch (ConvertLinkException e) {
+                if (StringUtil.isNullOrEmpty(callback))
+                    out.print(JsonUtil.loadFalseResult(e.getMessage()));
+                else
+                    out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getMessage())));
+                return;
+            }
+
+            if (dto != null) {
+                if (share) {// 鐢熸垚鍙d护
+                    String token = TaoKeApiUtil.getTKToken("http://", "楗夸簡涔�", dto.getShort_click_url());
+                    dto.setToken(TaoBaoUtil.filterTaoToken(token));
+                }
+                redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
+            }
+        } else {
+            dto = JsonUtil.getSimpleGson().fromJson(elmeResult, TaoKeOfficialActivityConvertResultDTO.class);
+
+            if (share && StringUtil.isNullOrEmpty(dto.getToken())) {
+                // 淇濆瓨鍙d护
+                String token = TaoKeApiUtil.getTKToken("http://", "楗夸簡涔�", dto.getShort_click_url());
+                dto.setToken(TaoBaoUtil.filterTaoToken(token));
+                redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
+            }
+
+        }
+
+        ElemeConvertInfoResultVO info = new ElemeConvertInfoResultVO(null, dto.getToken(), dto.getShort_click_url());
+        if (share && shareImg) {
+            InputStream elmeShareImg = ImageUtil.drawSimpleImage(
+                    this.getClass().getClassLoader().getResourceAsStream("image/elme_bg.png"), 1080, 1646,
+                    HttpUtil.getAsInputStream(dto.getWx_qrcode_url()), 500, 500, 295, 908);
+
+            if (elmeShareImg != null) {
+                String filePath = FilePathEnum.elmeShare.getPath() + "-" + uid + "-"
+                        + UUID.randomUUID().toString().replace("-", "") + ".png";
+                FileUploadResult uploadResult = COSManager.getInstance().uploadFile(elmeShareImg, filePath);
+                if (uploadResult != null)
+                    info.setQrCodeImg(uploadResult.getUrl());
+            }
+
+            if (info.getQrCodeImg() == null) {
+                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�"));
+                return;
+            }
+
+        }
+
+        data.put("info", info);
+
+        ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
+                share ? relationPid : elmePid, null,
+                elmePid.split("_")[3]);
+        clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]);
+        data.put("taoKeParams", clientTBPid1);
+        if (StringUtil.isNullOrEmpty(callback))
+            out.print(JsonUtil.loadTrueResult(data));
+        else
+            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+    }
+
+    @RequestMapping(value = "getKouBeiLink")
+    public void getKouBeiLink(AcceptData acceptData, Long uid, String activityId, boolean share, boolean shareImg,
+                              String callback, PrintWriter out) {
+
+        String relationPid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.share);
+
+        UserExtraTaoBaoInfo userInfoExtra = userExtraTaoBaoInfoService.getByUid(uid);
+        if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getRelationId())) {
+            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(1001, "璇风粦瀹氭窐瀹�")));
+            return;
+        }
+        String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.kouBeiLink, uid + "-" + activityId + "-" + share);
+        String elmeResult = redisManager.getCommonString(key);
+        JSONObject data = new JSONObject();
+        TaoKeOfficialActivityConvertResultDTO dto = null;
+        if (StringUtil.isNullOrEmpty(elmeResult)) {
+
+            try {
+                if (share) {
+                    dto = convertLinkManager.taobaoOfficialActivityConvert(uid, relationPid,
+                            activityId, userInfoExtra.getRelationId(), true);
+                } else {
+                    dto = convertLinkManager.taobaoOfficialActivityConvert(uid, TaoBaoConstant.TAOBAO_KOUBEI_PID,
+                            activityId, userInfoExtra.getRelationId(), false);
+                }
+            } catch (ConvertLinkException e) {
+                out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadFalseResult(e.getCode(), e.getMessage())));
+                return;
+            }
+
+            if (dto != null) {
+                if (share) {// 鐢熸垚鍙d护
+                    String token = TaoKeApiUtil.getTKToken("http://", "鍙g", dto.getClick_url());
+                    dto.setToken(TaoBaoUtil.filterTaoToken(token));
+                }
+                redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
+            }
+        } else {
+            dto = JsonUtil.getSimpleGson().fromJson(elmeResult, TaoKeOfficialActivityConvertResultDTO.class);
+
+            if (share && StringUtil.isNullOrEmpty(dto.getToken())) {
+                // 淇濆瓨鍙d护
+                String token = TaoKeApiUtil.getTKToken("http://", "鍙g", dto.getClick_url());
+                dto.setToken(TaoBaoUtil.filterTaoToken(token));
+                redisManager.cacheCommonString(key, JsonUtil.getSimpleGson().toJson(dto), 60 * 60);// 缂撳瓨1涓皬鏃�
+            }
+
+        }
+
+        ElemeConvertInfoResultVO info = new ElemeConvertInfoResultVO(null, dto.getToken(), dto.getClick_url());
+        if (share && shareImg) {
+            InputStream elmeShareImg = ImageUtil.drawSimpleImage(
+                    this.getClass().getClassLoader().getResourceAsStream("image/elme_bg.png"), 1080, 1646,
+                    HttpUtil.getAsInputStream(dto.getWx_qrcode_url()), 500, 500, 295, 908);
+
+            if (elmeShareImg != null) {
+                String filePath = FilePathEnum.elmeShare.getPath() + "-" + uid + "-"
+                        + UUID.randomUUID().toString().replace("-", "") + ".png";
+                FileUploadResult uploadResult = COSManager.getInstance().uploadFile(elmeShareImg, filePath);
+                if (uploadResult != null)
+                    info.setQrCodeImg(uploadResult.getUrl());
+            }
+
+            if (info.getQrCodeImg() == null) {
+                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鍒嗕韩鍥剧敓鎴愬け璐�"));
+                return;
+            }
+
+        }
+
+        data.put("info", info);
+
+        ClientTBPid clientTBPid1 = new ClientTBPid(TaoBaoConstant.TAOBAO_AUTH_APPKEY,
+                share ? relationPid : TaoBaoConstant.TAOBAO_KOUBEI_PID, null,
+                TaoBaoConstant.TAOBAO_KOUBEI_PID.split("_")[3]);
+        clientTBPid1.setAdZoneId(clientTBPid1.getPid().split("_")[3]);
+        data.put("taoKeParams", clientTBPid1);
+        if (StringUtil.isNullOrEmpty(callback))
+            out.print(JsonUtil.loadTrueResult(data));
+        else
+            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(data)));
+    }
+
+    /**
+     * 鑾峰彇楗夸簡涔堢殑鎺ㄥ箍閾炬帴
+     *
+     * @param acceptData
+     * @param uid
+     * @param out
+     */
+    @RequestMapping(value = "userProtocolListen")
+    public void userProtocolListen(AcceptData acceptData, Long uid, int type, PrintWriter out) {
+        out.print(JsonUtil.loadTrueResult(""));
+    }
+
+    /**
+     * 鏄惁鏄剧ず骞垮憡
+     *
+     * @param acceptData
+     * @param uid
+     * @param out        void 杩斿洖绫诲瀷
+     * @throws
+     * @Title: showAd
+     * @Description:
+     */
+    @RequestMapping(value = "getShowAd")
+    public void showAd(AcceptData acceptData, Long uid, PrintWriter out) {
+        String value = configService.getValue(ConfigKeyEnum.showSplashAd.getKey(), acceptData.getSystem());
+
+        boolean show = false;
+        try {
+            JSONObject configData = JSONObject.fromObject(value);
+            if (configData != null) {
+                String channel = acceptData.getChannel().toLowerCase();
+                if (configData.optString(channel) == null) {
+                    channel = "qq";
+                }
+                int version = configData.optInt(channel);
+
+
+                if (Integer.parseInt(acceptData.getVersion()) >= version) {
+                    show = false;
+                } else {
+                    show = true;
+                }
+            }
+        } catch (Exception e) {
+
+        }
+
+
+        JSONObject data = new JSONObject();
+        if (show) {
+            data.put("show", true);
+            //鍔犺浇骞垮憡鏁版嵁
+            data.put("ad", configService.getValue(ConfigKeyEnum.gdtAdInfo, acceptData.getSystem()));
+        } else
+            data.put("show", false);
+        out.print(JsonUtil.loadTrueResult(data));
+    }
+
+    /**
+     * 鑾峰彇娉ㄩ攢鍗忚
+     *
+     * @param acceptData
+     * @param out
+     */
+    @RequestMapping(value = "getLogoutProtocol")
+    public void getLogoutProtocol(String callback, AcceptData acceptData, PrintWriter out) {
+        JSONObject data = new JSONObject();
+        data.put("link", configService.getValue(ConfigKeyEnum.accountLogoutProtocolLink.getKey(), acceptData.getSystem()));
+        JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
+    }
+
+    /**
+     * @return void
+     * @author hxh
+     * @description 闅愮鎶曡瘔
+     * @date 17:51 2021/10/18
+     * @param: acceptData
+     * @param: content
+     * @param: images
+     * @param: out
+     **/
+    @RequestMapping(value = "reportPrivacy")
+    public void reportPrivacy(AcceptData acceptData, String content, MultipartFile[] images, PrintWriter out) {
+        String urlList = "";
+        if (images != null && images.length > 0)
+            for (MultipartFile f : images) {
+                try {
+                    String name = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMddHHmmssSSS") + "_" + ((int) (Math.random() * 100000)) + ".jpg";
+                    FileUploadResult result = COSManager.getInstance().uploadFile(f.getInputStream(), "privacy/report/" + name);
+                    if (result != null)
+                        urlList += result.getUrl() + " , ";
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        String title = null;
+        try {
+            title = "闅愮鎶曡瘔锛�" + URLDecoder.decode(content, "UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("鍖呭悕锛�" + acceptData.getPackages());
+        buffer.append("\n\r");
+        buffer.append("UTDID锛�" + acceptData.getUtdid());
+        buffer.append("\n\r");
+        buffer.append("DEVICE锛�" + acceptData.getDevice());
+        buffer.append("\n\r");
+        buffer.append("鎶曡瘔鍐呭锛�");
+        buffer.append(content);
+        buffer.append("\n\r");
+        buffer.append("鎻愪緵鐨勬埅鍥句负锛�" + urlList);
+
+        Config config = configService.getConfig(ConfigKeyEnum.extractCodeEmailFrom.getKey(), acceptData.getSystem());
+        String[] sts = config.getValue().split(",");
+        String account = sts[0];
+        String pwd = sts[1];
+        MailSenderUtil.sendEmail("help@banliapp.com", account, pwd, title, buffer.toString());
+        out.print(JsonUtil.loadTrueResult(""));
+    }
+}

--
Gitblit v1.8.0