CommService.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.ruoyi.web.service;
  2. import com.ruoyi.common.core.domain.entity.SysUser;
  3. import com.ruoyi.common.core.text.Convert;
  4. import com.ruoyi.common.enums.UserRegStatus;
  5. import com.ruoyi.common.exception.CustomException;
  6. import com.ruoyi.common.utils.DateUtils;
  7. import com.ruoyi.common.utils.SecurityUtils;
  8. import com.ruoyi.common.utils.StringUtils;
  9. import com.ruoyi.dz.domain.DzCards;
  10. import com.ruoyi.dz.service.IDzCardsService;
  11. import com.ruoyi.enums.CardTimeStatus;
  12. import com.ruoyi.system.service.ISysConfigService;
  13. import org.springframework.stereotype.Service;
  14. import java.time.LocalDate;
  15. import java.time.ZoneId;
  16. import java.util.Date;
  17. @Service
  18. public class CommService {
  19. private final ISysConfigService configService;
  20. private final IDzCardsService cardsService;
  21. public CommService(ISysConfigService configService, IDzCardsService cardsService) {
  22. this.configService = configService;
  23. this.cardsService = cardsService;
  24. }
  25. // 检查初始密码是否提醒修改
  26. public boolean initPasswordIsModify(Date pwdUpdateDate)
  27. {
  28. Integer initPasswordModify = Convert.toInt(configService.selectConfigByKey("sys.account.initPasswordModify"));
  29. return initPasswordModify != null && initPasswordModify == 1 && pwdUpdateDate == null;
  30. }
  31. // 检查密码是否过期
  32. public boolean passwordIsExpiration(Date pwdUpdateDate)
  33. {
  34. Integer passwordValidateDays = Convert.toInt(configService.selectConfigByKey("sys.account.passwordValidateDays"));
  35. if (passwordValidateDays != null && passwordValidateDays > 0)
  36. {
  37. if (StringUtils.isNull(pwdUpdateDate))
  38. {
  39. // 如果从未修改过初始密码,直接提醒过期
  40. return true;
  41. }
  42. Date nowDate = DateUtils.getNowDate();
  43. return DateUtils.differentDaysByMillisecond(nowDate, pwdUpdateDate) > passwordValidateDays;
  44. }
  45. return false;
  46. }
  47. public void requireVip() {
  48. if (true){
  49. return;
  50. }
  51. SysUser user = SecurityUtils.getLoginUser().getUser();
  52. if (!UserRegStatus.Student.equals(user.getRegStatus())) {
  53. throw new CustomException("没有权限,请开通VIP", 405);
  54. }
  55. DzCards card = cardsService.selectDzCardsByCardId(user.getCardId());
  56. Date nowDate = Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant());
  57. if (!CardTimeStatus.Valid.getVal().equals(card.getTimeStatus()) || (null != card.getOutDate() && card.getOutDate().getTime() < nowDate.getTime())) {
  58. throw new CustomException("没有权限,请开通VIP", 405);
  59. }
  60. }
  61. }