Browse Source

用户未读公告统计接口补充

zdm 6 years ago
parent
commit
6721f516da

+ 1 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/base/BaseRequestMapping.java

@ -217,6 +217,7 @@ public class BaseRequestMapping {
     */
    public static class UserNotice extends Basic {
        public static final String PREFIX  = "/userNotice";
        public static final String COUNT  = "/count";
    }
    /**

+ 11 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/notice/UserNoticeEndpoint.java

@ -54,4 +54,15 @@ public class UserNoticeEndpoint extends EnvelopRestEndpoint {
        return userNoticeService.queryPage(page, size, userId);
    }
    @GetMapping(value = BaseRequestMapping.UserNotice.COUNT)
    @ApiOperation(value = "根据用户id,判断该用户是否有未读消息")
    public ObjEnvelop<Long> countUserNotice() throws Exception {
        String userId = getUID();
        if(StringUtils.isBlank(userId)){
            return failed("用户信息获取失败!",ObjEnvelop.class);
        }
        Long lo=userNoticeService.countUnReadNotice(userId);
        return success("success",lo);
    }
}

+ 18 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/service/notice/UserNoticeService.java

@ -73,6 +73,24 @@ public class UserNoticeService extends BaseJpaService<UserNoticeDO, UserNoticeDa
        return PageEnvelop.getSuccessListWithPage("查找成功",list, page, size,count);
    }
    /**
     * 查找该用户是否存在未读公告
     * @param userId
     * @return
     */
    public Long countUnReadNotice(String userId){
        StringBuffer sqlCount = new StringBuffer("SELECT COUNT(*) count from base_notice n , base_user_notice u WHERE n.del = '1' ");
        List<Object> args = new ArrayList<>();
        if(StringUtils.isNotBlank(userId)){
            sqlCount.append(" and u.user_id='").append(userId).append("' ");
            args.add(userId);
        }
        sqlCount.append(" and u.notice_id = n.id and u.del = '1'");
        List<Map<String,Object>> countList = jdbcTempalte.queryForList(sqlCount.toString());
        long count = Long.valueOf(countList.get(0).get("count").toString());
        return count;
    }
}