自动发布文章,权限插入
This commit is contained in:
@@ -73,6 +73,65 @@ public class NCResourceServiceImpl implements ResourceService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultDomain<Integer> batchCreateResources(List<TbResource> resources) {
|
||||
ResultDomain<Integer> resultDomain = new ResultDomain<>();
|
||||
try {
|
||||
if (resources == null || resources.isEmpty()) {
|
||||
resultDomain.fail("资源列表不能为空");
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
Date now = new Date();
|
||||
// 填充必要的默认值
|
||||
for (TbResource res : resources) {
|
||||
if (res.getID() == null) {
|
||||
res.setID(IDUtils.generateID());
|
||||
}
|
||||
if (res.getResourceID() == null) {
|
||||
res.setResourceID(IDUtils.generateID());
|
||||
}
|
||||
if (res.getCreateTime() == null) {
|
||||
res.setCreateTime(now);
|
||||
}
|
||||
if (res.getUpdateTime() == null) {
|
||||
res.setUpdateTime(now);
|
||||
}
|
||||
if (res.getStatus() == null) {
|
||||
res.setStatus(0);
|
||||
}
|
||||
if (res.getViewCount() == null) {
|
||||
res.setViewCount(0);
|
||||
}
|
||||
if (res.getLikeCount() == null) {
|
||||
res.setLikeCount(0);
|
||||
}
|
||||
if (res.getCollectCount() == null) {
|
||||
res.setCollectCount(0);
|
||||
}
|
||||
if (res.getIsRecommend() == null) {
|
||||
res.setIsRecommend(false);
|
||||
}
|
||||
if (res.getIsBanner() == null) {
|
||||
res.setIsBanner(false);
|
||||
}
|
||||
}
|
||||
|
||||
int count = resourceMapper.batchInsertResources(resources);
|
||||
if (count > 0) {
|
||||
logger.info("批量创建资源成功,共 {} 条", count);
|
||||
resultDomain.success("批量创建资源成功", count);
|
||||
} else {
|
||||
resultDomain.fail("批量创建资源失败");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("批量创建资源异常: {}", e.getMessage(), e);
|
||||
resultDomain.fail("批量创建资源失败: " + e.getMessage());
|
||||
}
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultDomain<TbResource> getResourcePage(TbResource filter, PageParam pageParam) {
|
||||
ResultDomain<TbResource> resultDomain = new ResultDomain<>();
|
||||
@@ -161,6 +220,19 @@ public class NCResourceServiceImpl implements ResourceService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultDomain<ResourceVO> createResource(ResourceVO resourceVO) {
|
||||
// 前端/管理端调用:使用当前登录用户的部门角色
|
||||
List<UserDeptRoleVO> userDeptRoles = null;
|
||||
try {
|
||||
userDeptRoles = LoginUtil.getCurrentDeptRole();
|
||||
} catch (Exception e) {
|
||||
logger.warn("获取当前用户部门角色失败: {}", e.getMessage());
|
||||
}
|
||||
return createResource(resourceVO, userDeptRoles);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResultDomain<ResourceVO> createResource(ResourceVO resourceVO, List<UserDeptRoleVO> userDeptRoles) {
|
||||
ResultDomain<ResourceVO> resultDomain = new ResultDomain<>();
|
||||
try {
|
||||
// 参数验证
|
||||
@@ -169,14 +241,6 @@ public class NCResourceServiceImpl implements ResourceService {
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
// 检查标题是否已存在
|
||||
List<UserDeptRoleVO> userDeptRoles = LoginUtil.getCurrentDeptRole();
|
||||
int count = resourceMapper.countByTitle(resourceVO.getResource().getTitle(), null, userDeptRoles);
|
||||
if (count > 0) {
|
||||
resultDomain.fail("资源标题已存在");
|
||||
return resultDomain;
|
||||
}
|
||||
|
||||
// 设置默认值
|
||||
if (resourceVO.getResource().getID() == null) {
|
||||
resourceVO.getResource().setID(IDUtils.generateID());
|
||||
|
||||
@@ -288,13 +288,15 @@
|
||||
<insert id="batchInsertResources" parameterType="java.util.List">
|
||||
INSERT INTO tb_resource (
|
||||
id, resource_id, title, content, summary, cover_image, tag_id, author, source,
|
||||
source_url, creator,create_time
|
||||
source_url, status, is_recommend, is_banner, publish_time,
|
||||
creator, updater, create_time, update_time, deleted
|
||||
) VALUES
|
||||
<foreach collection="resourceList" item="item" separator=",">
|
||||
(
|
||||
#{item.id}, #{item.resourceID}, #{item.title}, #{item.content}, #{item.summary}, #{item.coverImage},
|
||||
#{item.tagID}, #{item.author}, #{item.source}, #{item.sourceUrl},
|
||||
#{item.creator}, #{item.createTime}
|
||||
#{item.id}, #{item.resourceID}, #{item.title}, #{item.content}, #{item.summary}, #{item.coverImage},
|
||||
#{item.tagID}, #{item.author}, #{item.source}, #{item.sourceUrl},
|
||||
#{item.status}, #{item.isRecommend}, #{item.isBanner}, #{item.publishTime},
|
||||
#{item.creator}, #{item.updater}, #{item.createTime}, #{item.updateTime}, #{item.deleted}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
Reference in New Issue
Block a user