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