This commit is contained in:
张良(004796)
2024-01-22 10:23:59 +08:00
parent caa4e22800
commit a30b615fc3
10 changed files with 104 additions and 3 deletions

View File

@@ -11,4 +11,5 @@ import com.ruoyi.cai.domain.DynamicImages;
*/
public interface DynamicImagesService extends IService<DynamicImages> {
void removeByDynamicId(Long dynamicId);
}

View File

@@ -30,4 +30,8 @@ public interface DynamicService extends IService<Dynamic> {
void saveDynamic(DynamicAddReq res);
Page<DynamicAdminVo> pageAdmin(PageQuery pageQuery, DynamicAdminVo bo);
void deleteDynamic(Long id);
void clearDynamic(Integer hours);
}

View File

@@ -1,5 +1,6 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.DynamicImages;
import com.ruoyi.cai.mapper.DynamicImagesMapper;
@@ -14,4 +15,9 @@ import org.springframework.stereotype.Service;
*/
@Service
public class DynamicImagesServiceImpl extends ServiceImpl<DynamicImagesMapper, DynamicImages> implements DynamicImagesService {
@Override
public void removeByDynamicId(Long dynamicId) {
this.remove(Wrappers.lambdaQuery(DynamicImages.class)
.eq(DynamicImages::getDynamicId,dynamicId));
}
}

View File

@@ -1,6 +1,7 @@
package com.ruoyi.cai.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -26,13 +27,16 @@ import com.ruoyi.cai.service.UserService;
import com.ruoyi.cai.util.CaiFileUtils;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.BeanConvertUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -174,4 +178,41 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
return page;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteDynamic(Long id) {
Dynamic dynamic = this.getById(id);
if(dynamic == null){
throw new ServiceException("动态不存在!");
}
Long userId = LoginHelper.getUserId();
if(!dynamic.getUserId().equals(userId)){
throw new ServiceException("只能删除自己的动态哦");
}
this.removeById(id);
dynamicImagesService.removeByDynamicId(id);
}
@Override
public void clearDynamic(Integer hours){
int index = 0;
LocalDateTime deleteTimeFlag = LocalDateTime.now().plusHours(-hours);
while (true){
List<Dynamic> list = this.list(Wrappers.lambdaUpdate(Dynamic.class)
.eq(Dynamic::getAuditStatus, AuditStatusEnum.AUDITING.getCode())
.lt(Dynamic::getCreateTime, deleteTimeFlag)
.isNull(Dynamic::getSort)
.last("limit 100"));
if(index > 500 || CollectionUtils.isEmpty(list)){
break;
}
index++;
for (Dynamic dynamic : list) {
DynamicService dynamicService = SpringUtil.getBean(DynamicService.class);
dynamicService.deleteDynamic(dynamic.getId());
}
}
}
}

View File

@@ -52,6 +52,7 @@ public class UserOnlineServiceImpl extends ServiceImpl<UserOnlineMapper, UserOnl
}
}
OnlineStatusVo vo = new OnlineStatusVo();
vo.setOpenVideoStatus(openVideoStatus);
vo.setStatus(status);
vo.setOnlineStatus(onlineStatus);
vo.setStatusMsg(statusMsg);