From b59fef5c00b15fdfdfa9d4be26e5bf6b41c75458 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期日, 23 二月 2020 00:16:52 +0800 Subject: [PATCH] 2.0.7相关服务端功能添加 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java | 270 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 239 insertions(+), 31 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java index 018b8c7..87cbb54 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/ConfigController.java @@ -1,6 +1,8 @@ package com.yeshi.fanli.controller.client.v1; import java.io.PrintWriter; +import java.util.ArrayList; +import java.util.List; import javax.annotation.Resource; @@ -12,15 +14,33 @@ 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.homemodule.SwiperPicture; +import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState; +import com.yeshi.fanli.entity.bus.user.UserActiveLog; +import com.yeshi.fanli.entity.bus.user.UserInfo; +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.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.homemodule.SwiperPictureService; +import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService; 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.UserInfoService; +import com.yeshi.fanli.service.inter.user.notify.UserActivedRecordService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.ThreadUtil; +import com.yeshi.fanli.util.VersionUtil; +import com.yeshi.fanli.vo.user.UserDialogBtnVO; +import com.yeshi.fanli.vo.user.UserDialogVO; import net.sf.json.JSONObject; @@ -49,14 +69,38 @@ @Resource private FloatADService floatADService; + @Resource + private JumpDetailV2Service jumpDetailV2Service; + + @Resource + private MsgDeviceReadStateService msgDeviceReadStateService; + + @Resource + private UserTaoLiJinOriginService uerTaoLiJinOriginService; + + @Resource + private UserActiveLogService userActiveLogService; + + @Resource + private SwiperPictureService swiperPictureService; + + @Resource + private UserActivedRecordService userActivedRecordService; + + @Resource + private UserInfoService userInfoService; + /** - * 棣栭〉閰嶇疆淇℃伅 + * 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(); if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && !Constant.IS_TEST) { appHomeFloatImg = null; @@ -72,41 +116,68 @@ data.put("floatNotifyImg", notifyImg); } - // 鎮诞澶у浘 1.5.2 -2019.3.20 - FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX); - if (floatAD != null) { + // 鏃犳柊浜哄脊妗� 鍒欐煡璇㈤粯璁� + FloatAD floatAD = floatADService.getEffectiveFloatAD(FloatAD.POSITION_INDEX, 0); + 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()); - - if (uid != null && userInfoExtraService.isNewUser(uid)) { - // 鏂扮敤鎴� - data.put("floatImgDetail", detail); - } else { - data.put("floatImgDetail", detail); - } + data.put("floatImgDetail", detail); } // 棰嗗埜甯姪閾炬帴,1.5.2鍚庣敓鏁� - String couponHelp = configService.get("taobao_coupon_help"); + String couponHelp = configService.get(ConfigKeyEnum.taobaoCouponHelp.getKey()); data.put("couponHelpUrl", couponHelp); // 搴曢儴缃戦〉閾炬帴 String platform = acceptData.getPlatform(); if ("android".equalsIgnoreCase(platform)) { - data.put("htmlLink", configService.get("index_html_link_android")); + data.put("htmlLink", configService.get(ConfigKeyEnum.indexHtmlLinkAndroid.getKey())); } + // 鍒ゆ柇鏂拌�佺敤鎴� + 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())));// out.print(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, Long uid, PrintWriter out) { + 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.get(ConfigKeyEnum.showTaobaoCartConvert.getKey())) ? false + : true; + + if (!"cart".equalsIgnoreCase(position) && !convert) { + out.print(JsonUtil.loadFalseResult("")); return; } @@ -117,8 +188,13 @@ clientTBPid = tbPidService.getAndroidDefault(); } - String cartJS = configService.get("taobao_cart_js"); - String cartUrl = configService.get("taobao_cart_link"); + String cartJS = configService.get(ConfigKeyEnum.taobaoCartJS.getKey()); + String cartUrl = configService.get(ConfigKeyEnum.taobaoCartLink.getKey()); + if (!convert)// 涓嶈浆閾� + { + cartUrl = "http://"; + cartJS = "-"; + } String js = null; String link = null; try { @@ -144,7 +220,8 @@ @RequestMapping(value = "getWebConfig", method = RequestMethod.POST) public void getWebConfig(AcceptData acceptData, String url, PrintWriter out) { JSONObject data = new JSONObject(); - if (url != null && (url.contains("s.click") || url.contains("taobao.com") || url.contains("tmall.com"))) { + if (url != null && (url.contains("s.click") || url.contains("taobao.com") || url.contains("tmall.com") + || url.contains("m.tb.cn"))) { data.put("baichuan", true);// 閲囩敤闃块噷鐧惧窛鐨勬柟寮忓姞杞絯ebview data.put("goodsDetail", true);// 闇�瑕佹嫤鎴晢鍝佽鎯� } else { @@ -164,24 +241,103 @@ @RequestMapping(value = "getBindAccountConfig", method = RequestMethod.POST) public void getBindAccountConfig(AcceptData acceptData, PrintWriter out) { - String alipayHelpUrl = configService.get("alipay_help");// 鏀粯瀹濆府鍔� - String alipayBindFailUrl = configService.get("alipay_bind_fail_reason");// 鏀粯瀹濈粦瀹氬け璐ュ師鍥� + String alipayHelpUrl = configService.get(ConfigKeyEnum.alipayHelp.getKey());// 鏀粯瀹濆府鍔� + String alipayBindFailUrl = configService.get(ConfigKeyEnum.alipayBindFailReason.getKey());// 鏀粯瀹濈粦瀹氬け璐ュ師鍥� JSONObject data = new JSONObject(); data.put("alipayHelp", alipayHelpUrl); data.put("alipayBindFailReason", alipayBindFailUrl); out.print(JsonUtil.loadTrueResult(data)); } + /** + * 鍏抽棴鎻愰啋 + * + * @param acceptData + * @param uid + * @param id + * @param type + * 0-鍏抽棴 1-鐐瑰嚮鍙宠竟鎸夐挳 2-鐐瑰嚮宸﹁竟鎸夐挳 + * @param out + */ + @RequestMapping(value = "closeDialogNotify", method = RequestMethod.POST) + public void closeDialogNotify(AcceptData acceptData, Long uid, String id, int type, PrintWriter out) { + + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + if (StringUtil.isNullOrEmpty(id)) { + out.print(JsonUtil.loadFalseResult("id涓虹┖")); + return; + } + if (id.equalsIgnoreCase("tearcherNotify")) { + userActivedRecordService.setTearcherNotified(uid); + out.print(JsonUtil.loadTrueResult("")); + } else { + out.print(JsonUtil.loadFalseResult("id涓嶅瓨鍦�")); + } + } + @RequestMapping(value = "getUserConfig", method = RequestMethod.POST) - public void getUserConfig(AcceptData acceptData, PrintWriter out) { + public void getUserConfig(AcceptData acceptData, Long uid, PrintWriter out) { try { // 鐢ㄦ埛鍗忚閾炬帴 - String serviceProtocol = configService.get("service_protocol_link"); + String serviceProtocol = configService.get(ConfigKeyEnum.serviceProtocolLink.getKey()); // 闅愮鏉℃閾炬帴 - String privacyProtocol = configService.get("privacy_protocol_link"); + String privacyProtocol = configService.get(ConfigKeyEnum.privacyProtocolLink.getKey()); JSONObject data = new JSONObject(); data.put("serviceProtocolLink", serviceProtocol); data.put("privacyProtocolLink", privacyProtocol); + // 璐墿杞﹁烦杞柟寮�(鍖呭惈jumpDetail涓巔arams) + JSONObject source = JSONObject + .fromObject(configService.getByVersion(ConfigKeyEnum.taobaoCartJumpDetail.getKey(), + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()))); + data.put("taoBaoCart", source); + + if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) { + // 鎴戠殑鐣岄潰banner + List<SwiperPicture> banner = swiperPictureService.getByBannerCardAndVersion("my_interface_banner", + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion())); + if (banner == null) + banner = new ArrayList<SwiperPicture>(); + data.put("banner", JsonUtil.getApiCommonGson().toJson(banner)); + } + + if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())) { + // 杞摼鐨勭綉椤甸摼鎺� + String convertLinkUrl = configService.get(ConfigKeyEnum.convertDocWebLink.getKey()); + data.put("convertLinkUrl", convertLinkUrl); + if (uid != null) { + + String tearcherLink = configService.getByVersion(ConfigKeyEnum.tearcherLink.getKey(), + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion())); + if (userActivedRecordService.canNotifyAddTearcher(uid)) { + UserInfo userInfo = userInfoService.selectAvailableByPrimaryKey(uid); + if (userInfo != null) { + JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web", + Constant.getPlatformCode(acceptData.getPlatform()), + Integer.parseInt(acceptData.getVersion())); + + JSONObject negativeParams = new JSONObject(); + negativeParams.put("url", configService.getByVersion(ConfigKeyEnum.newerGonglue.getKey(), + acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()))); + + JSONObject positiveParams = new JSONObject(); + positiveParams.put("url", tearcherLink); + + UserDialogVO dialog = new UserDialogVO("tearcherNotify", true, + "HI," + userInfo.getNickName(), + "鎴戞槸浣犵殑瀵煎笀锛屼负浣犲湪鐪佽禋杩囩▼涓В闅剧瓟鐤戯紝瀵逛綘涓�瀵逛竴杈呭锛屽�惧惉浣犵殑闇�姹傛�荤粨骞跺弽棣堢粰鏉挎牀蹇渷瀹樻柟杩愯惀鍥㈤槦锛屽揩鏉ユ坊鍔犳垜鍚с��", + new UserDialogBtnVO("澶嶅埗瀵煎笀寰俊", jumpDetail, positiveParams), + new UserDialogBtnVO("鍘绘柊鎵嬫敾鐣�", jumpDetail, negativeParams)); + data.put("dialog", dialog); + } + } + + data.put("tearcherLink", tearcherLink); + } + + } out.print(JsonUtil.loadTrueResult(data)); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触")); @@ -198,16 +354,68 @@ */ @RequestMapping(value = "getOrderParseConfig", method = RequestMethod.POST) public void getOrderParseConfig(AcceptData acceptData, PrintWriter out) { - String orderJS = configService.get("taobao_order_parse_js"); - JSONObject data = new JSONObject(); - try { - data.put("orderJS", DESUtil.encode(orderJS, StringUtil.getBase64String("YeShiFANLI889*+"), - StringUtil.getBase64String("*M#34f?,"))); - data.put("orderUrl", DESUtil.encode("https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm", - StringUtil.getBase64String("YeShiFANLI889*+"), StringUtil.getBase64String("*M#34f?,"))); - } catch (Exception e) { - e.printStackTrace(); + + if ("0".equalsIgnoreCase(configService.get(ConfigKeyEnum.autoFindTaobaoOrder.getKey()))) + out.print(JsonUtil.loadFalseResult(1, "鏆備笉鏀寔")); + else { + String orderJS = configService.get(ConfigKeyEnum.taobaoOrderParseJS.getKey()); + JSONObject data = new JSONObject(); + try { + data.put("orderJS", DESUtil.encode(orderJS, StringUtil.getBase64String("YeShiFANLI889*+"), + StringUtil.getBase64String("*M#34f?,"))); + data.put("orderUrl", + DESUtil.encode("https://buyertrade.taobao.com/trade/itemlist/list_bought_items.htm", + StringUtil.getBase64String("YeShiFANLI889*+"), StringUtil.getBase64String("*M#34f?,"))); + } catch (Exception e) { + e.printStackTrace(); + } + 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.get(ConfigKeyEnum.showTaobaoOrder.getKey()).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.get(ConfigKeyEnum.kefuMeiqia.getKey())) ? 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.get(ConfigKeyEnum.inviteCodeInputHelp.getKey())); + out.print(JsonUtil.loadTrueResult(data)); + } + } -- Gitblit v1.8.0