UnlockingController.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package com.template.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.template.api.UnlockingControllerAPI;
  4. import com.template.model.pojo.Unlocking;
  5. import com.template.services.UnlockingService;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.scheduling.annotation.Scheduled;
  8. import org.springframework.web.bind.annotation.RestController;
  9. import java.util.ArrayList;
  10. import java.util.Date;
  11. import java.util.List;
  12. /**
  13. * <p>
  14. * 前端控制器
  15. * </p>
  16. *
  17. * @author ceshi
  18. * @since 2023-12-01
  19. */
  20. @RestController
  21. public class UnlockingController implements UnlockingControllerAPI {
  22. @Autowired
  23. UnlockingService unlockingService;
  24. @Autowired
  25. PasswordIssController passwordIssController;
  26. // 定时删除过期用户
  27. // @Scheduled(cron = "0 2 * * * ? ")
  28. @Scheduled(cron = "0 0/3 * * * ?")
  29. public void deleteUnlocking() {
  30. // 先查询已过期的自定义的锁
  31. LambdaQueryWrapper<Unlocking> wrapperUC = new LambdaQueryWrapper<>();
  32. wrapperUC.le(Unlocking::getEndTime, new Date());
  33. List<Unlocking> list = unlockingService.list(wrapperUC);
  34. if (list.size() > 0) {
  35. ArrayList<Integer> idUCs = new ArrayList<>();
  36. for (Unlocking unlockingCustom : list) {
  37. String luid = unlockingCustom.getLuid();
  38. String lockUserId = unlockingCustom.getLockUserId();
  39. passwordIssController.deleteLockUser(luid, lockUserId);
  40. idUCs.add(unlockingCustom.getId());
  41. }
  42. unlockingService.removeByIds(idUCs);
  43. }
  44. }
  45. }