| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- /**
- * Copyright (c) 2015-2016, Michael Yang 杨福海 (fuhai999@gmail.com).
- *
- * Licensed under the GNU Lesser General Public License (LGPL) ,Version 3.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.gnu.org/licenses/lgpl-3.0.txt
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package io.jpress.model;
- import io.jpress.model.base.BaseComment;
- import io.jpress.model.core.Table;
- import io.jpress.model.query.CommentQuery;
- import io.jpress.model.query.ContentQuery;
- import io.jpress.model.query.UserQuery;
- import io.jpress.model.query.VoteQuery;
- import java.math.BigInteger;
- @Table(tableName = "comment", primaryKey = "id")
- public class Comment extends BaseComment<Comment> {
- private static final long serialVersionUID = 1L;
- public static final String TYPE_COMMENT = "comment";
- public static String STATUS_DELETE = "delete";
- public static String STATUS_DRAFT = "draft";
- public static String STATUS_NORMAL = "normal";
- private Content content;
- private User user;
- private Comment parent;
- public Content getContent() {
- if (content != null) {
- return content;
- }
- if (getContentId() != null) {
- content = ContentQuery.me().findById(getContentId());
- }
- return content;
- }
- public Content getContentById(BigInteger id) {
- return ContentQuery.me().findById(id);
- }
- public void setContent(Content content) {
- this.content = content;
- }
- public User getUser() {
- if (user != null) {
- return user;
- }
- if (getUserId() != null) {
- user = UserQuery.me().findById(getUserId());
- }
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- public Comment getParent() {
- if (parent != null) {
- return parent;
- }
- if (getContentId() != null) {
- parent = CommentQuery.me().findById(getParentId());
- }
- return parent;
- }
- public void setParent(Comment parent) {
- this.parent = parent;
- }
- public boolean isDelete() {
- return STATUS_DELETE.equals(getStatus());
- }
- public String getContentUrl() {
- BigInteger contentId = getContentId();
- if (contentId == null)
- return null;
- Content c = ContentQuery.me().findById(contentId);
- return c == null ? null : c.getUrl();
- }
- public boolean updateCommentCount() {
- long count = CommentQuery.me().findCountByParentIdInNormal(getId());
- if (count > 0) {
- setCommentCount(count);
- return this.update();
- }
- return false;
- }
- @Override
- public boolean update() {
- removeCache(getId());
- removeCache(getSlug());
- return super.update();
- }
- @Override
- public boolean delete() {
- removeCache(getId());
- removeCache(getSlug());
- return super.delete();
- }
- @Override
- public boolean save() {
- removeCache(getId());
- removeCache(getSlug());
- return super.save();
- }
- public Comment getlatestSon(BigInteger id){
- return CommentQuery.me().findLatestSon(id);
- }
- public boolean updateVoteUpCount() {
- long count = VoteQuery.me().findCountByCommentId(getId());
- if (count > 0) {
- setVoteUp(count);
- return this.update();
- }
- return false;
- }
- //判断是否处于已赞状态
- public boolean isvoted(BigInteger commentId, BigInteger userId, BigInteger uuUserId) {
- return VoteQuery.me().findCommentCountVote(commentId, userId, uuUserId);
- }
- }
|