package com.stylefeng.guns.modular.system.util;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.modular.system.model.HouseResource;
|
import com.stylefeng.guns.modular.system.model.ReportHouseResource;
|
import com.stylefeng.guns.modular.system.service.IHouseResourceService;
|
import com.stylefeng.guns.modular.system.service.IReportHouseResourceService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
|
/**
|
* @author shaqian
|
* 定时任务修改房源状态 如果被举报 且举报通过了一次 就将房源设置为待审核状态
|
* 如果被举报通过两次 将房源设置为待审核状态
|
* 如果被举报通过三次 将房源删除
|
*
|
*/
|
@Component
|
public class TaskUtilHouseResource {
|
@Autowired
|
private IReportHouseResourceService reportHouseResourceService;
|
@Autowired
|
private IHouseResourceService houseResourceService;
|
|
/**
|
* 每十分钟去处理的定时任务
|
*/
|
@Scheduled(fixedRate = 600000)
|
public void taskMinute() {
|
// 查询所有房源
|
List<HouseResource> houseResources = houseResourceService.selectList(new EntityWrapper<>());
|
// 遍历房源列表 查询当前房源 被举报次数
|
for (HouseResource houseResource : houseResources) {
|
Integer id = houseResource.getId();
|
int size = reportHouseResourceService.selectList(new EntityWrapper<ReportHouseResource>()
|
.eq("house_resource_id", id)
|
.eq("audit", 1)).size();
|
switch (size){
|
case 1:
|
// 将房源设置为待审核状态
|
houseResource.setAuthStatus(1);
|
houseResourceService.updateById(houseResource);
|
break;
|
case 2:
|
// 将房源设置为待审核状态
|
houseResource.setAuthStatus(1);
|
houseResourceService.updateById(houseResource);
|
break;
|
case 3:
|
// 将房源删除
|
houseResourceService.deleteById(houseResource.getId());
|
// 同时删除该房源举报记录?
|
break;
|
}
|
|
|
}
|
}
|
|
}
|