From 972d3bc71115ec977dccf835fbcd148da3bcc86c Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 03 九月 2019 16:41:49 +0800
Subject: [PATCH] 统计可用的免单券数量-countUsableFreeCouponForBuy

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java |  104 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 98 insertions(+), 6 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java
index 8cf4ffb..da9a5ab 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java
@@ -39,9 +39,11 @@
 import com.yeshi.fanli.entity.bus.msg.MsgInviteDetail;
 import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail;
 import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
+import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
 import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail;
 import com.yeshi.fanli.entity.bus.msg.UserMsgUnReadNum;
 import com.yeshi.fanli.entity.bus.msg.UserSystemMsg;
+import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
 import com.yeshi.fanli.entity.common.JumpDetailV2;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.goods.RecommendUserGoods;
@@ -71,12 +73,15 @@
 import com.yeshi.fanli.service.inter.push.DeviceActiveService;
 import com.yeshi.fanli.service.inter.push.PushGoodsService;
 import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.RedisManager;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.VersionUtil;
+import com.yeshi.fanli.util.account.UserUtil;
+import com.yeshi.fanli.util.annotation.RequestSerializableByKey;
 import com.yeshi.fanli.util.factory.CommonGoodsFactory;
 import com.yeshi.fanli.util.factory.msg.UserMsgVOFactory;
 import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -152,6 +157,9 @@
 	@Resource
 	private MsgDeviceReadStateService msgDeviceReadStateService;
 
+	@Resource
+	private UserInfoExtraService userInfoExtraService;
+
 	// 娑堟伅鐨勭被鍨�
 	final static String MSG_TYPE_ORDER = "order";
 	final static String MSG_TYPE_MONEY = "money";
@@ -190,8 +198,15 @@
 			List<MsgOrderDetail> detailList = msgOrderDetailService.listMsgOrderDetail(uid, page);
 			count = msgOrderDetailService.countMsgOrderDetail(uid);
 			if (detailList != null)
-				for (MsgOrderDetail detail : detailList)
-					list.add(UserMsgVOFactory.create(detail));
+				for (MsgOrderDetail detail : detailList) {
+					JSONObject params = new JSONObject();
+					params.put("orderNo", detail.getOrderId());
+					if (detail.getType() == MsgTypeOrderTypeEnum.share
+							|| detail.getType() == MsgTypeOrderTypeEnum.invite)
+						params.put("orderHideNo", UserUtil.filterOrderId(detail.getOrderId()));
+					list.add(UserMsgVOFactory.create(detail, jumpDetailV2Service.getByTypeCache("order_search"),
+							params));
+				}
 			break;
 		case MSG_TYPE_MONEY:
 			userMsgReadStateService.readMoneyMsg(uid);
@@ -252,6 +267,7 @@
 	 * @param uid
 	 * @param out
 	 */
+	@RequestSerializableByKey(key = "#acceptData.device")
 	@RequestMapping(value = "getUnReadMsgCount", method = RequestMethod.POST)
 	public void getUnReadMsgCount(AcceptData acceptData, Long uid, PrintWriter out) {
 		GsonBuilder androidBuilder = new GsonBuilder().registerTypeAdapter(Integer.class,
@@ -295,6 +311,12 @@
 			} catch (UserCustomSettingsException e) {
 			}
 
+			if (VersionUtil.greaterThan_1_5_50(acceptData.getPlatform(), acceptData.getVersion())) {
+				int totalCount = msgDeviceReadStateService.getUnReadCount(acceptData.getDevice(),
+						"android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2, MsgDeviceReadState.TYPE_KEFU);
+				data.put("totalCount", totalCount);
+			}
+			data.put("mineCount", 0);
 			out.print(JsonUtil.loadTrueResult(data));
 			return;
 		}
@@ -316,6 +338,18 @@
 			data = JSONObject.fromObject(JsonUtil.getApiCommonGson().toJson(num));
 		}
 		data.put("totalCount", totalCount);
+		// "鎴戠殑"閫夐」瑙掓爣
+		int welfareCenterNews = 0;
+		if (uid != null) {
+			UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+			if (userInfoExtra != null) {
+				if (userInfoExtra.getCouponNews() != null) {
+					welfareCenterNews = userInfoExtra.getCouponNews();
+				}
+			}
+		}
+
+		data.put("mineCount", welfareCenterNews);
 
 		try {
 			UserSettingsVO vo = userCustomSettingsService.getMySettings(uid);
@@ -598,7 +632,15 @@
 				vo.setRead(false);
 			else
 				vo.setRead(true);
-		}
+
+			if (kefuState.getLatestContentTime() != null)
+				vo.setTime(kefuState.getLatestContentTime());
+
+		} else
+			vo.setRead(true);
+
+		if (StringUtil.isNullOrEmpty(vo.getLatestMsg()))
+			vo.setLatestMsg("[鐐瑰嚮鎵撳紑浜哄伐瀹㈡湇]");
 
 		return vo;
 	}
@@ -612,6 +654,7 @@
 	 * @param type
 	 * @param out
 	 */
+	@RequestSerializableByKey(key = "#acceptData.device")
 	@RequestMapping(value = "getHomeMsgListNew", method = RequestMethod.POST)
 	public void getHomeMsgListNew(AcceptData acceptData, Long uid, PrintWriter out) {
 		if (uid != null && uid == 0)
@@ -681,11 +724,11 @@
 						acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2);
 				boolean read = false;
 				if (state != null && state.getReadTime() != null
-						&& list.get(0).getCreateTime().getTime() < state.getReadTime().getTime())
+						&& list.get(0).getPushTime().getTime() < state.getReadTime().getTime())
 					read = true;
 
 				commonMsgList.add(new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_recommend.png", "鎺ㄨ崘璁板綍",
-						list.get(0).getCreateTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), read,
+						list.get(0).getPushTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), read,
 						jumpDetailV2Service.getByTypeCache("recommend_list"), null, 0));
 			}
 		}
@@ -719,7 +762,13 @@
 			List<MsgOrderDetail> detailList = msgOrderDetailService.listMsgOrderDetail(uid, page);
 			if (detailList != null && detailList.size() > 0) {
 				for (MsgOrderDetail detail : detailList) {
-					UserMsgVO userMsgVO = UserMsgVOFactory.create(detail);
+					JSONObject params = new JSONObject();
+					params.put("orderNo", detail.getOrderId());
+					if (detail.getType() == MsgTypeOrderTypeEnum.share
+							|| detail.getType() == MsgTypeOrderTypeEnum.invite)
+						params.put("orderHideNo", UserUtil.filterOrderId(detail.getOrderId()));
+					UserMsgVO userMsgVO = UserMsgVOFactory.create(detail,
+							jumpDetailV2Service.getByTypeCache("order_search"), params);
 					userMsgVO.setType(MSG_TYPE_ORDER);
 					list.add(userMsgVO);
 				}
@@ -811,6 +860,29 @@
 								"http://img.flqapp.com/resource/msg/icon_msg_system.png",
 								getTimeDesc(new Date(), usm.getCreateTime()), num.getTypeSystem()));
 			}
+		}
+
+		/**
+		 * 鎻愰啋澶у浘
+		 */
+		MsgCommonDTO notify = msgConfigService.getNotifyMsg();
+
+		if (notify != null && notify.getShow() == true) {
+			boolean read = false;
+			MsgDeviceReadState state = msgDeviceReadStateService.getByDeviceAndPlatformAndType(
+					UserCommonMsgVO.TYPE_NOTIFY, acceptData.getDevice(),
+					acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2);
+			if (state != null && state.getReadTime() != null
+					&& zhuShouMsg.getUpdateTime().getTime() < state.getReadTime().getTime())
+				read = true;
+			if (notify.getJumpDetail() == null)
+				read = true;
+			// 鏌ヨ鏄惁宸茶
+			UserCommonMsgVO vo = new UserCommonMsgVO(notify.getIcon(), notify.getTitle(), notify.getUpdateTime(),
+					UserCommonMsgVO.TYPE_NOTIFY, notify.getContent(), read, notify.getJumpDetail(), notify.getParams(),
+					0);
+			vo.setPicture(notify.getPicture());
+			root.put("notifyMsg", builder.create().toJson(vo));
 		}
 
 		root.put("list", builder.create().toJson(listCenter));
@@ -959,4 +1031,24 @@
 		out.print(JsonUtil.loadTrueResult(""));
 	}
 
+	/**
+	 * 涓婁紶鏈�杩戠殑瀹㈡湇娑堟伅
+	 * 
+	 * @param acceptData
+	 * @param content
+	 * @param time
+	 * @param out
+	 */
+	@RequestMapping(value = "uploadLatestKeFuMsg", method = RequestMethod.POST)
+	public void uploadLatestKeFuMsg(AcceptData acceptData, String content, Long datetime, PrintWriter out) {
+
+		if (StringUtil.isNullOrEmpty(content) || datetime == null) {
+			out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�"));
+			return;
+		}
+		msgDeviceReadStateService.addUnreadDeviceMsg(MsgDeviceReadState.TYPE_KEFU, acceptData.getDevice(),
+				"android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2, 0, content, new Date(datetime));
+		out.print(JsonUtil.loadTrueResult(""));
+	}
+
 }

--
Gitblit v1.8.0