Commit 22974429 authored by liwei's avatar liwei

超出一个月的动态,不允许再进行评论

parent ec88da62
...@@ -21,6 +21,7 @@ import org.rcisoft.core.model.CyPageInfo; ...@@ -21,6 +21,7 @@ import org.rcisoft.core.model.CyPageInfo;
import org.rcisoft.core.model.CyPersistModel; import org.rcisoft.core.model.CyPersistModel;
import org.rcisoft.core.service.CyFileStorageService; import org.rcisoft.core.service.CyFileStorageService;
import org.rcisoft.core.util.CyUserUtil; import org.rcisoft.core.util.CyUserUtil;
import org.rcisoft.core.util.TimeUtil;
import org.rcisoft.sys.dictionary.entity.DictData; import org.rcisoft.sys.dictionary.entity.DictData;
import org.rcisoft.sys.dictionary.service.DictionaryService; import org.rcisoft.sys.dictionary.service.DictionaryService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -29,6 +30,10 @@ import org.springframework.transaction.annotation.Isolation; ...@@ -29,6 +30,10 @@ import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -300,9 +305,31 @@ public class OpmArticleServiceImpl extends ServiceImpl<OpmArticleRepository, Opm ...@@ -300,9 +305,31 @@ public class OpmArticleServiceImpl extends ServiceImpl<OpmArticleRepository, Opm
*/ */
@Override @Override
public CyPersistModel addComment(ArticleCommentDTO dto) { public CyPersistModel addComment(ArticleCommentDTO dto) {
//超过规定的时间不能评论 //校验 超过规定的时间不能评论 计算天数对应的秒数
List<DictData> articleConfig = dictionaryService.selectByTypes("article_config"); List<DictData> articleConfig = dictionaryService.selectByTypes("article_config");
String restriction = articleConfig.get(0).getDictValue(); DictData dictData = articleConfig.stream().filter(item -> item.getDictLabel().equals("comment_limit_days")).findFirst().orElse(null);
Integer limitDays = Integer.valueOf(dictData.getDictValue());
long limitSeconds = limitDays * 24 * 60 * 60;
//获取当前日期时间
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String nowDate = now.format(formatter);
//获取动态创建时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String createDate = sdf.format(dto.getCreateDate());
try {
//计算当前时间和动态创建时间的秒数差
long timeSeconds = TimeUtil.getTimeSecond(createDate,nowDate);
if (timeSeconds >= limitSeconds){
//超过限制时间 不允许进行评论
throw new CyServiceException("该动态超出规定时间,不允许再进行评论");
}
log.info("当前时间:"+nowDate+"评论时间:"+createDate+"相差:"+timeSeconds+"秒");
} catch (ParseException e) {
e.printStackTrace();
}
//校验通过 进行插入评论数据
dto.setCommentedUserId(Integer.valueOf(CyUserUtil.getAuthenBusinessId())); dto.setCommentedUserId(Integer.valueOf(CyUserUtil.getAuthenBusinessId()));
dto.setCreateDate(new Date()); dto.setCreateDate(new Date());
dto.setUpdateDate(new Date()); dto.setUpdateDate(new Date());
...@@ -315,6 +342,6 @@ public class OpmArticleServiceImpl extends ServiceImpl<OpmArticleRepository, Opm ...@@ -315,6 +342,6 @@ public class OpmArticleServiceImpl extends ServiceImpl<OpmArticleRepository, Opm
if (dto.getParentId() != null){ if (dto.getParentId() != null){
baseMapper.addCommentCount(dto.getParentId()); baseMapper.addCommentCount(dto.getParentId());
} }
return new CyPersistModel(line); return new CyPersistModel(1);
} }
} }
...@@ -612,7 +612,7 @@ ...@@ -612,7 +612,7 @@
and user_id = #{entity.targetId} and user_id = #{entity.targetId}
</insert> </insert>
<insert id="leaveMessage"> <insert id="leaveMessage">
insert into opm_user_leave_message (target_id,create_by,create_date,update_by,update_date,content,del_status) insert into mem_user_leave_message (target_id,create_by,create_date,update_by,update_date,content,del_status)
values(#{targetId},#{userId},NOW(),#{userId},NOW(),#{content},#{delStatus}) values(#{targetId},#{userId},NOW(),#{userId},NOW(),#{content},#{delStatus})
</insert> </insert>
<select id="leaveMessageByPagination" resultType="org.rcisoft.business.memInfo.entity.MemInfo"> <select id="leaveMessageByPagination" resultType="org.rcisoft.business.memInfo.entity.MemInfo">
...@@ -625,12 +625,12 @@ ...@@ -625,12 +625,12 @@
oulm.target_id, oulm.target_id,
mi.avatar, mi.avatar,
mi.mem_nick_name mi.mem_nick_name
FROM opm_user_leave_message oulm FROM mem_user_leave_message oulm
LEFT JOIN mem_info mi ON mi.user_id = oulm.target_id LEFT JOIN mem_info mi ON mi.user_id = oulm.target_id
WHERE oulm.create_by = #{entity.userId} WHERE oulm.create_by = #{entity.userId}
AND oulm.create_date = ( AND oulm.create_date = (
SELECT MAX(oulm2.create_date) SELECT MAX(oulm2.create_date)
FROM opm_user_leave_message oulm2 FROM mem_user_leave_message oulm2
WHERE oulm2.target_id = oulm.target_id WHERE oulm2.target_id = oulm.target_id
AND oulm2.create_by = #{entity.userId} AND oulm2.create_by = #{entity.userId}
) )
...@@ -646,7 +646,7 @@ ...@@ -646,7 +646,7 @@
oulm.target_id, oulm.target_id,
mi.avatar, mi.avatar,
mi.mem_nick_name mi.mem_nick_name
from opm_user_leave_message oulm from mem_user_leave_message oulm
LEFT JOIN mem_info mi ON mi.user_id = oulm.create_by LEFT JOIN mem_info mi ON mi.user_id = oulm.create_by
WHERE WHERE
(oulm.create_by = #{entity.userId} and oulm.target_id = #{entity.targetId}) (oulm.create_by = #{entity.userId} and oulm.target_id = #{entity.targetId})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment