夏文涛 2 лет назад
Родитель
Сommit
92f0b1d945

+ 11 - 0
src/main/java/com/template/common/utils/TimeExchange.java

@@ -474,6 +474,9 @@ public class TimeExchange {
         return dateStr;
     }
 
+
+
+
     /**
      * 日期路径 即年/月/日 如2018/08/08
      */
@@ -581,6 +584,14 @@ public class TimeExchange {
         return new String[]{startDate, endDate};
     }
 
+    public static String getLastYear(int mount){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(new Date());
+        calendar.add(Calendar.YEAR, mount);
+
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
+    }
+
     //region 获取某一天的开始时间
     public static String getStartOfDayStr(Date date) {
         Calendar calendar = Calendar.getInstance();

+ 7 - 2
src/main/java/com/template/controller/SmartScreenshotRecordController.java

@@ -141,7 +141,7 @@ public class SmartScreenshotRecordController implements SmartScreenshotRecordCon
         SmartScreenshot existData = smartScreenshotService.getSmartLastOneByTimes(screenshotNum + 1);
 
         SmartFreezeRecord sfr = null;
-
+        Integer freeze = 0;
         if (existData != null) {
             sfr = new SmartFreezeRecord();
             sfr.setUserId(userId);
@@ -155,26 +155,31 @@ public class SmartScreenshotRecordController implements SmartScreenshotRecordCon
                     //冻结1小时
                     sfr.setDeadline(DateUtils.addHours(new Date(), 1));
                     sfr.setReason("触发截屏" + (screenshotNum + 1) + "次数规则,冻结1小时");
+                    freeze = 1;
                     break;
                 case 2:
                     //冻结2小时
                     sfr.setDeadline(DateUtils.addHours(new Date(), 2));
                     sfr.setReason("触发截屏" + (screenshotNum + 1) + "次数规则,冻结1小时");
+                    freeze = 1;
                     break;
                 case 3:
                     //冻结4小时
                     sfr.setDeadline(DateUtils.addHours(new Date(), 4));
                     sfr.setReason("触发截屏" + (screenshotNum + 1) + "次数规则,冻结4小时");
+                    freeze = 1;
                     break;
                 case 4:
                     //冻结8小时
                     sfr.setDeadline(DateUtils.addHours(new Date(), 8));
                     sfr.setReason("触发截屏" + (screenshotNum + 1) + "次数规则,冻结8小时");
+                    freeze = 1;
                     break;
                 case 5:
                     //冻结1天
                     sfr.setDeadline(DateUtils.addHours(new Date(), 24));
                     sfr.setReason("触发截屏" + (screenshotNum + 1) + "次数规则,冻结1天");
+                    freeze = 1;
                     break;
                 default:
                     sfr = null;
@@ -184,7 +189,7 @@ public class SmartScreenshotRecordController implements SmartScreenshotRecordCon
 
         SmartScreenshotRecord ssr = new SmartScreenshotRecord();
         ssr.setUserId(userId);
-        ssr.setIsFreeze(1);
+        ssr.setIsFreeze(freeze);
 
         try {
             int insertSsr = smartScreenshotRecordService.insertSmartScreenshotRecord(ssr);

+ 5 - 3
src/main/java/com/template/services/impl/SmartScreenshotRecordServiceImpl.java

@@ -3,6 +3,7 @@ package com.template.services.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.template.common.utils.TimeExchange;
 import com.template.mapper.SmartScreenshotRecordMapper;
 import com.template.model.pojo.SmartScreenshotRecord;
 import com.template.model.pojo.SmartScreenshotRecord;
@@ -20,7 +21,7 @@ import java.util.List;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author ceshi
@@ -48,7 +49,7 @@ public class SmartScreenshotRecordServiceImpl extends ServiceImpl<SmartScreensho
         Page<SmartScreenshotRecord> page = new Page<>(currentPage, pageCount);
         QueryWrapper<SmartScreenshotRecord> queryWrapper = new QueryWrapper<>();
         //queryWrapper.like(StringUtils.hasText(name), "name", name);
-        IPage<SmartScreenshotRecord> result = smartScreenshotRecordMapper.selectPage(page,queryWrapper);
+        IPage<SmartScreenshotRecord> result = smartScreenshotRecordMapper.selectPage(page, queryWrapper);
         return new PageUtils<>(result);
     }
 
@@ -75,7 +76,8 @@ public class SmartScreenshotRecordServiceImpl extends ServiceImpl<SmartScreensho
     public int querySmartScreenshotRecords(int userId) {
         QueryWrapper<SmartScreenshotRecord> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(userId > 0, "user_id", userId);
-        queryWrapper.eq("is_freeze", 0);
+        queryWrapper.ge("create_time", TimeExchange.getLastYear(-1));
+        //queryWrapper.eq("is_freeze", 0);
         Integer count = smartScreenshotRecordMapper.selectCount(queryWrapper);
         return count;
     }

+ 1 - 1
src/main/java/com/template/services/impl/SmartScreenshotServiceImpl.java

@@ -73,7 +73,7 @@ public class SmartScreenshotServiceImpl extends ServiceImpl<SmartScreenshotMappe
     @Override
     public SmartScreenshot getSmartLastOneByTimes(int times) {
         SmartScreenshot result = this.getOne(new LambdaQueryWrapper<SmartScreenshot>()
-                .gt(times > 0 ,SmartScreenshot::getScreenshotNum, times)
+                .le(times > 0 ,SmartScreenshot::getScreenshotNum, times)
                 .orderBy(true, false, SmartScreenshot::getScreenshotNum)
                 .last("limit 1")
         );