From 0baae42054b50670dc7e6b1760b88d374696103e Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 20 十二月 2019 16:48:52 +0800
Subject: [PATCH] 最高返利添加版本区分
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 154 insertions(+), 23 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 20423fc..8b48a9d 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;
@@ -59,23 +61,27 @@
import com.yeshi.fanli.service.inter.goods.RecommendUserGoodsService;
import com.yeshi.fanli.service.inter.homemodule.SpecialService;
import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
-import com.yeshi.fanli.service.inter.msg.MsgAccountDetailService;
+import com.yeshi.fanli.service.inter.money.msg.MsgMoneyDetailService;
import com.yeshi.fanli.service.inter.msg.MsgConfigService;
import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService;
-import com.yeshi.fanli.service.inter.msg.MsgInviteDetailService;
-import com.yeshi.fanli.service.inter.msg.MsgMoneyDetailService;
-import com.yeshi.fanli.service.inter.msg.MsgOrderDetailService;
import com.yeshi.fanli.service.inter.msg.MsgOtherDetailService;
import com.yeshi.fanli.service.inter.msg.UserMsgReadStateService;
import com.yeshi.fanli.service.inter.msg.UserSystemMsgService;
+import com.yeshi.fanli.service.inter.order.msg.MsgOrderDetailService;
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.service.inter.user.invite.MsgInviteDetailService;
+import com.yeshi.fanli.service.inter.user.msg.MsgAccountDetailService;
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;
@@ -151,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";
@@ -189,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);
@@ -251,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,
@@ -292,9 +309,14 @@
data.put("totalCount", 0);
}
} catch (UserCustomSettingsException e) {
- e.printStackTrace();
}
+ 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;
}
@@ -303,6 +325,12 @@
int totalCount = num.getTypeAccount() + num.getTypeInvite() + num.getTypeMoney() + num.getTypeOrder()
+ num.getTypeScore() + num.getTypeSystem() + num.getTypeOther();
+ // 1.5.50鍙婁互鍚庣殑鐗堟湰闇�瑕佹坊鍔犺澶囨湭璇绘秷鎭�
+ if (VersionUtil.greaterThan_1_5_50(acceptData.getPlatform(), acceptData.getVersion())) {
+ totalCount += msgDeviceReadStateService.getUnReadCount(acceptData.getDevice(),
+ "android".equalsIgnoreCase(acceptData.getPlatform()) ? 1 : 2, MsgDeviceReadState.TYPE_KEFU);
+ }
+
JSONObject data = null;
if ("android".equalsIgnoreCase(acceptData.getPlatform())) {
data = JSONObject.fromObject(androidBuilder.excludeFieldsWithoutExposeAnnotation().create().toJson(num));
@@ -310,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);
@@ -452,6 +492,9 @@
public void getHomeMsgList(AcceptData acceptData, Long uid, int page, HttpSession session, PrintWriter out) {
if (uid != null && uid == 0)
uid = null;
+ if (uid != null)
+ userSystemMsgService.syncSystemZNX(uid);
+
String device = acceptData.getDevice();
if (device == null || device.trim().length() == 0) {
out.print(JsonUtil.loadFalseResult("璁惧鍙蜂笉鑳戒负绌�"));
@@ -551,7 +594,9 @@
// 鍒涘缓鏃堕棿鍦�28鍙峰悗鐨勬墠鏈夋柊浜烘杩�
if ((time > TimeUtil.convertToTimeTemp("2019-01-28", "yyyy-MM-dd") || uid == null)) {
UserHomeMsgVO vo = new UserHomeMsgVO();
- vo.setContent("鎭枩浣狅紝鎴愪负杩斿埄鍒哥殑鐢ㄦ埛\n鐙浼樻儬鍒稿府浣犵渷閽憋紱\n鍙備笌濂栭噾娲诲姩甯綘璧氶挶锛沑n璁╄繑鍒╁埜鎴愪负浣犵殑鐪侀挶鍔╂墜鍚э紒");
+ vo.setContent(String.format("鎭枩浣狅紝鎴愪负%s鐨勭敤鎴穃n鐙浼樻儬鍒稿府浣犵渷閽憋紱\n鍙備笌濂栭噾娲诲姩甯綘璧氶挶锛沑n璁�%s鎴愪负浣犵殑鐪侀挶鍔╂墜鍚э紒",
+ Constant.getAppName(acceptData.getPlatform(), acceptData.getVersion()),
+ Constant.getAppName(acceptData.getPlatform(), acceptData.getVersion())));
vo.setTitle("鏂颁汉娆㈣繋");
vo.setCreateTime(getTimeDesc(now, new Date(time)));
vo.setType(UserHomeMsgVO.TYPE_WELCOME);
@@ -576,6 +621,35 @@
out.print(JsonUtil.loadTrueResult(root));
}
+ private UserCommonMsgVO getKeFuMsg(AcceptData acceptData) {
+ MsgDeviceReadState kefuState = msgDeviceReadStateService.getByDeviceAndPlatformAndType(
+ UserCommonMsgVO.TYPE_KEFU, acceptData.getDevice(),
+ acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2);
+ // 浜哄伐瀹㈡湇
+ UserCommonMsgVO vo = new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_kefu.png", "浜哄伐瀹㈡湇", new Date(),
+ UserCommonMsgVO.TYPE_KEFU, "", false, null, null, 0);
+ if (kefuState != null) {
+ vo.setUnReadCount(kefuState.getUnReadCount() == null ? 0 : kefuState.getUnReadCount());
+ if (!StringUtil.isNullOrEmpty(kefuState.getLatestContent()))
+ vo.setLatestMsg(kefuState.getLatestContent());
+
+ if (vo.getUnReadCount() != null && vo.getUnReadCount() > 0)
+ 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;
+ }
+
/**
* 鑾峰彇娑堟伅鍒楄〃
*
@@ -585,10 +659,14 @@
* @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)
uid = null;
+ if (uid != null) {
+ userSystemMsgService.syncSystemZNX(uid);
+ }
List<UserMsgCenter> listCenter = new ArrayList<>();
@@ -600,7 +678,7 @@
// 瀹樺浠诲姟
if (uid != null) {
MsgCommonDTO guanXuanMsg = msgConfigService.getGuanXuanMsg();
- if (guanXuanMsg != null&&guanXuanMsg.getShow()==true) {
+ if (guanXuanMsg != null && guanXuanMsg.getShow() == true) {
boolean read = false;
UserMsgUnReadNum num = userMsgReadStateService.getReadStateByUid(uid);
if (num != null && (num.getGuanXuanReadTime() != null
@@ -613,16 +691,14 @@
} else
commonMsgList.add(new UserCommonMsgVO(guanXuanMsg.getIcon(), guanXuanMsg.getTitle(),
guanXuanMsg.getUpdateTime(), UserCommonMsgVO.TYPE_GUANXUAN, guanXuanMsg.getContent(), read,
- guanXuanMsg.getJumpDetail(), guanXuanMsg.getParams()));
+ guanXuanMsg.getJumpDetail(), guanXuanMsg.getParams(), 0));
}
}
- // 杩斿埄鍒稿皬鍔╂墜
+ // 鏉挎牀蹇渷灏忓姪鎵�
MsgCommonDTO zhuShouMsg = msgConfigService.getZhuShouMsg();
- if (zhuShouMsg != null&&zhuShouMsg.getShow()==true) {
-
+ if (zhuShouMsg != null && zhuShouMsg.getShow() == true) {
boolean read = false;
-
MsgDeviceReadState state = msgDeviceReadStateService.getByDeviceAndPlatformAndType(
UserCommonMsgVO.TYPE_ZHUSHOU, acceptData.getDevice(),
acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2);
@@ -637,12 +713,11 @@
} else
commonMsgList.add(new UserCommonMsgVO(zhuShouMsg.getIcon(), zhuShouMsg.getTitle(),
zhuShouMsg.getUpdateTime(), UserCommonMsgVO.TYPE_ZHUSHOU, zhuShouMsg.getContent(), read,
- zhuShouMsg.getJumpDetail(), zhuShouMsg.getParams()));
+ zhuShouMsg.getJumpDetail(), zhuShouMsg.getParams(), 0));
}
// 浜哄伐瀹㈡湇
- commonMsgList.add(new UserCommonMsgVO("http://img.flqapp.com/resource/msg/icon_kefu.png", "浜哄伐瀹㈡湇", new Date(),
- UserCommonMsgVO.TYPE_KEFU, "", false, null, null));
+ commonMsgList.add(getKeFuMsg(acceptData));
// 鎺ㄨ崘璁板綍
DeviceActive deviceActive = deviceActiveService.getDeviceByDeviceAndPlatform(acceptData.getDevice(),
@@ -657,12 +732,12 @@
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,
- jumpDetailV2Service.getByTypeCache("recommend_list"), null));
+ list.get(0).getPushTime(), UserCommonMsgVO.TYPE_RECOMMEND, list.get(0).getContent(), read,
+ jumpDetailV2Service.getByTypeCache("recommend_list"), null, 0));
}
}
@@ -671,7 +746,10 @@
// list = pushGoodsService.listHistoryByPushTime(0, 1, uid, createTime);
// 1銆佹椿鍔ㄥ尯鍩�
- List<Special> listSpecial = specialService.listByPlaceKey("msg_activities");
+ int platformCode = Constant.getPlatformCode(acceptData.getPlatform());
+
+ List<Special> listSpecial = specialService.listByPlaceKey("msg_activities", platformCode,
+ Integer.parseInt(acceptData.getVersion()));
if (listSpecial != null && listSpecial.size() > 0) {
for (Special special : listSpecial) {
@@ -695,7 +773,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);
}
@@ -763,7 +847,10 @@
if ((time > TimeUtil.convertToTimeTemp("2019-01-28", "yyyy-MM-dd") || uid == null)) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("title", "鏂颁汉娆㈣繋");
- map.put("content", "鎭枩浣狅紝鎴愪负杩斿埄鍒哥殑鐢ㄦ埛\n鐙浼樻儬鍒稿府浣犵渷閽憋紱\n鍙備笌濂栭噾娲诲姩甯綘璧氶挶锛沑n璁╄繑鍒╁埜鎴愪负浣犵殑鐪侀挶鍔╂墜鍚э紒");
+ map.put("content",
+ String.format("鎭枩浣狅紝鎴愪负%s鐨勭敤鎴穃n鐙浼樻儬鍒稿府浣犵渷閽憋紱\n鍙備笌濂栭噾娲诲姩甯綘璧氶挶锛沑n璁�%s鎴愪负浣犵殑鐪侀挶鍔╂墜鍚э紒",
+ Constant.getAppName(acceptData.getPlatform(), acceptData.getVersion()),
+ Constant.getAppName(acceptData.getPlatform(), acceptData.getVersion())));
map.put("createTime", new Date(time));
UserMsgCenter msgCenternre = new UserMsgCenter();
msgCenternre.setWelcomeMsg(map);
@@ -789,6 +876,30 @@
}
}
+ /**
+ * 鎻愰啋澶у浘
+ */
+ if (!"douyin".equalsIgnoreCase(acceptData.getChannel())) {
+ 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));
root.put("commonList", builder.create().toJson(commonMsgList));
root.put("count", listCenter.size());
@@ -935,4 +1046,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