-
Notifications
You must be signed in to change notification settings - Fork 187
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
91a88ee
commit 51dffcb
Showing
15 changed files
with
245 additions
and
124 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
src/main/java/org/support/project/knowledge/deploy/v1_12/Migrate_1_12_0.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package org.support.project.knowledge.deploy.v1_12; | ||
|
||
import org.support.project.knowledge.deploy.Migrate; | ||
import org.support.project.ormapping.tool.dao.InitializeDao; | ||
|
||
public class Migrate_1_12_0 implements Migrate { | ||
|
||
public static Migrate_1_12_0 get() { | ||
return org.support.project.di.Container.getComp(Migrate_1_12_0.class); | ||
} | ||
|
||
@Override | ||
public boolean doMigrate() throws Exception { | ||
InitializeDao initializeDao = InitializeDao.get(); | ||
String[] sqlpaths = { | ||
"/org/support/project/knowledge/deploy/v1_12/migrate_v1_12_0.sql", | ||
}; | ||
initializeDao.initializeDatabase(sqlpaths); | ||
return true; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
144 changes: 144 additions & 0 deletions
144
src/main/java/org/support/project/knowledge/logic/LikeLogic.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
package org.support.project.knowledge.logic; | ||
|
||
import java.util.Locale; | ||
|
||
import org.support.project.common.config.Resources; | ||
import org.support.project.common.log.Log; | ||
import org.support.project.common.log.LogFactory; | ||
import org.support.project.common.util.DateUtils; | ||
import org.support.project.di.Container; | ||
import org.support.project.knowledge.config.AppConfig; | ||
import org.support.project.knowledge.config.SystemConfig; | ||
import org.support.project.knowledge.dao.CommentsDao; | ||
import org.support.project.knowledge.dao.KnowledgesDao; | ||
import org.support.project.knowledge.dao.LikeCommentsDao; | ||
import org.support.project.knowledge.dao.LikesDao; | ||
import org.support.project.knowledge.entity.LikeCommentsEntity; | ||
import org.support.project.knowledge.entity.LikesEntity; | ||
import org.support.project.knowledge.logic.activity.Activity; | ||
import org.support.project.knowledge.logic.activity.ActivityLogic; | ||
import org.support.project.web.bean.LoginedUser; | ||
import org.support.project.web.bean.MessageResult; | ||
import org.support.project.web.common.HttpStatus; | ||
import org.support.project.web.config.MessageStatus; | ||
import org.support.project.web.dao.SystemConfigsDao; | ||
import org.support.project.web.entity.SystemConfigsEntity; | ||
import org.support.project.web.exception.InvalidParamException; | ||
|
||
public class LikeLogic { | ||
/** LOG */ | ||
private static final Log LOG = LogFactory.getLog(LikeLogic.class); | ||
/** Get instance */ | ||
public static LikeLogic get() { | ||
return Container.getComp(LikeLogic.class); | ||
} | ||
|
||
|
||
/** | ||
* イイネの重複チェックを行うかをシステム設定情報から取得 | ||
* @return | ||
*/ | ||
private boolean getCheckOfLike() { | ||
boolean check = false; | ||
SystemConfigsEntity config = SystemConfigsDao.get().selectOnKey(SystemConfig.LIKE_CONFIG, AppConfig.get().getSystemName()); | ||
if (config != null) { | ||
if (SystemConfig.LIKE_CONFIG_ONLY_ONE.equals(config.getConfigValue())) { | ||
check = true; | ||
} | ||
} | ||
return check; | ||
} | ||
|
||
private boolean duplicateLike(Long knowledgeId, Integer userId) { | ||
// TODO Auto-generated method stub | ||
return false; | ||
} | ||
private boolean duplicateLikeComment(Long commentNo, Integer userId) { | ||
// TODO Auto-generated method stub | ||
return false; | ||
} | ||
|
||
|
||
/** | ||
* いいね!を追加 | ||
* | ||
* @param knowledgeId | ||
* @param loginedUser | ||
* @return | ||
* @throws InvalidParamException | ||
*/ | ||
public Long addLike(Long knowledgeId, LoginedUser loginedUser, Locale locale) throws InvalidParamException { | ||
LOG.debug("start addLike"); | ||
if (getCheckOfLike()) { | ||
Resources resources = Resources.getInstance(locale); | ||
if (loginedUser == null || loginedUser.getUserId().equals(Integer.MIN_VALUE)) { | ||
throw new InvalidParamException(new MessageResult( | ||
MessageStatus.Warning, HttpStatus.SC_403_FORBIDDEN, resources.getResource("knowledge.likes.required.signin"), "")); | ||
} | ||
LikesEntity likesEntity = LikesDao.get().selectExistsOnUser(knowledgeId, loginedUser.getUserId()); | ||
if (likesEntity != null) { | ||
throw new InvalidParamException(new MessageResult( | ||
MessageStatus.Warning, HttpStatus.SC_403_FORBIDDEN, resources.getResource("knowledge.likes.duplicate"), "")); | ||
} | ||
} | ||
LikesDao likesDao = LikesDao.get(); | ||
LikesEntity likesEntity = new LikesEntity(); | ||
likesEntity.setKnowledgeId(knowledgeId); | ||
likesDao.insert(likesEntity); | ||
|
||
KnowledgeLogic.get().updateKnowledgeExInfo(knowledgeId); | ||
|
||
Long count = likesDao.countOnKnowledgeId(knowledgeId); | ||
|
||
// 通知 | ||
if (!duplicateLike(knowledgeId, loginedUser.getUserId())) { | ||
NotifyLogic.get().notifyOnKnowledgeLiked(knowledgeId, likesEntity); | ||
} | ||
|
||
ActivityLogic.get().processActivity(Activity.KNOWLEDGE_LIKE, loginedUser, DateUtils.now(), | ||
KnowledgesDao.get().selectOnKey(knowledgeId)); | ||
|
||
return count; | ||
} | ||
|
||
|
||
/** | ||
* コメントにイイネを追加 | ||
* @param commentNo | ||
* @param loginedUser | ||
* @return | ||
* @throws InvalidParamException | ||
*/ | ||
public Long addLikeComment(Long commentNo, LoginedUser loginedUser, Locale locale) throws InvalidParamException { | ||
LOG.debug("start addLikeComment"); | ||
if (getCheckOfLike()) { | ||
Resources resources = Resources.getInstance(locale); | ||
if (loginedUser == null || loginedUser.getUserId().equals(Integer.MIN_VALUE)) { | ||
throw new InvalidParamException(new MessageResult( | ||
MessageStatus.Warning, HttpStatus.SC_403_FORBIDDEN, resources.getResource("knowledge.likes.required.signin"), "")); | ||
} | ||
LikeCommentsEntity like = LikeCommentsDao.get().selectExistsOnUser(commentNo, loginedUser.getUserId()); | ||
if (like != null) { | ||
throw new InvalidParamException(new MessageResult( | ||
MessageStatus.Warning, HttpStatus.SC_403_FORBIDDEN, resources.getResource("knowledge.likes.duplicate"), "")); | ||
} | ||
} | ||
LikeCommentsEntity like = new LikeCommentsEntity(); | ||
like.setCommentNo(commentNo); | ||
like = LikeCommentsDao.get().insert(like); | ||
Long count = LikeCommentsDao.get().selectOnCommentNo(commentNo); | ||
|
||
// 通知 | ||
if (!duplicateLikeComment(commentNo, loginedUser.getUserId())) { | ||
NotifyLogic.get().notifyOnCommentLiked(like); | ||
} | ||
|
||
ActivityLogic.get().processActivity(Activity.COMMENT_LIKE, loginedUser, DateUtils.now(), | ||
CommentsDao.get().selectOnKey(commentNo)); | ||
|
||
return count; | ||
} | ||
|
||
|
||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.