This commit is contained in:
张良(004796)
2024-05-10 14:30:34 +08:00
parent 49a5edf0e6
commit 42486f4739
5 changed files with 257 additions and 7 deletions

View File

@@ -2,22 +2,28 @@ package com.ruoyi.op;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.RechargeOrder;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.VipOrder;
import com.ruoyi.cai.domain.*;
import com.ruoyi.cai.pay.PayManager;
import com.ruoyi.cai.pay.PayStatusEnum;
import com.ruoyi.cai.service.RechargeOrderService;
import com.ruoyi.cai.service.UserMemberService;
import com.ruoyi.cai.service.UserService;
import com.ruoyi.cai.service.VipOrderService;
import com.ruoyi.cai.service.*;
import com.ruoyi.cai.ws.constant.RoomStatusEnums;
import com.ruoyi.common.utils.BeanConvertUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysOperLog;
import com.ruoyi.system.domain.SysOperLogCopy;
import com.ruoyi.system.mapper.SysOperLogMapper;
import com.ruoyi.system.mapper.SysOperLogCopyMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Component
@Slf4j
@@ -32,6 +38,49 @@ public class BusOp {
private RechargeOrderService rechargeOrderService;
@Autowired
private VipOrderService vipOrderService;
@Autowired
private UserCallService userCallService;
@Resource
private SysOperLogMapper sysOperLogMapper;
@Resource
private SysOperLogCopyMapper sysOperLogCopyMapper;
public void deleteUserCall(int days){
LocalDateTime deleteTimeFlag = LocalDateTime.now().plusDays(-days);
int current = 0;
while (true){
List<UserCall> list = userCallService.list(Wrappers.lambdaUpdate(UserCall.class)
.lt(UserCall::getCreateTime, deleteTimeFlag)
.eq(UserCall::getStatus, RoomStatusEnums.STATUS_CREATE.getCode())
.last("limit 100"));
if(current > 500 || CollectionUtils.isEmpty(list)){
break;
}
current++;
List<Long> ids = list.stream().map(UserCall::getId).collect(Collectors.toList());
userCallService.removeBatchByIds(ids);
}
}
public void copySysLog(int days){
Date copyTimeFlag = DateUtils.addDays(new Date(), -days);
int current = 0;
while (true){
List<SysOperLog> list = sysOperLogMapper.selectList(Wrappers.lambdaUpdate(SysOperLog.class)
.lt(SysOperLog::getOperTime, copyTimeFlag)
.orderByDesc(SysOperLog::getOperTime)
.last("limit 300"));
if(current > 500 || CollectionUtils.isEmpty(list)){
break;
}
current++;
for (SysOperLog sysOperLog : list) {
sysOperLogMapper.deleteById(sysOperLog.getOperId());
sysOperLogCopyMapper.insert(BeanConvertUtil.convertTo(sysOperLog, SysOperLogCopy::new));
}
}
}
public void checkVipOrder(LocalDateTime startTime, LocalDateTime endTime, String orderNo){
if(StringUtils.isNotEmpty(orderNo)){

View File

@@ -25,6 +25,23 @@ public class BusOpController {
@Autowired
private BusOp busOp;
@GetMapping("/copySysLog")
public R<Void> copySysLog(int days){
log.info("备份操作日志-开始");
busOp.copySysLog(days);
log.info("备份操作日志-结束");
return R.ok();
}
@GetMapping("/deleteUserCall")
public R<Void> deleteUserCall(){
log.info("清洗垃圾通话记录-开始");
busOp.deleteUserCall(15);
log.info("清洗垃圾通话记录-结束");
return R.ok();
}
@GetMapping("/refreshUserVipStatus")
public R<Void> refreshUserVipStatus(){
busOp.refreshUserVipStatus();

View File

@@ -0,0 +1,25 @@
package com.ruoyi.test.business;
import com.ruoyi.op.BusOp;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
@Slf4j
public class BusTest {
@Autowired
private BusOp busOp;
@Test
public void caiLoginManager(){
busOp.deleteUserCall(15);
}
@Test
public void joinAnchorInvite(){
busOp.copySysLog(1);
}
}