admin
2019-06-10 a2e287f9bfec6f64bcd1dce4155b0139d1474cb7
设备消息,用户消息总未读消息修改
3个文件已修改
27 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/msg/MsgDeviceReadStateService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserMsgController.java
@@ -76,6 +76,7 @@
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.factory.CommonGoodsFactory;
import com.yeshi.fanli.util.factory.msg.UserMsgVOFactory;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@@ -292,7 +293,6 @@
                    data.put("totalCount", 0);
                }
            } catch (UserCustomSettingsException e) {
                e.printStackTrace();
            }
            out.print(JsonUtil.loadTrueResult(data));
@@ -303,6 +303,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));
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/MsgDeviceReadStateServiceImpl.java
@@ -99,4 +99,12 @@
        return totalCount;
    }
    @Override
    public int getUnReadCount(String device, int platform, String type) {
        MsgDeviceReadState state = getByDeviceAndPlatformAndType(type, device, platform);
        if (state == null)
            return 0;
        return state.getUnReadCount() == null ? 0 : state.getUnReadCount();
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/msg/MsgDeviceReadStateService.java
@@ -55,13 +55,22 @@
     */
    public void initReadState(String device, int platform, String type);
    
    /**
     * 获取设备未读消息数量
     *
     * @param device
     * @param platform
     * @return
     */
    public int getUnReadCount(String device,int platform);
    /**
     * 获取设备未读消息数量(根据类型)
     * @param device
     * @param platform
     * @param type
     * @return
     */
    public int getUnReadCount(String device, int platform, String type);
}