Ver código fonte

处理逻辑

夏文涛 2 anos atrás
pai
commit
ec37a579fd
50 arquivos alterados com 2033 adições e 417 exclusões
  1. 430 309
      .idea/workspace.xml
  2. 15 1
      src/main/java/com/template/api/SmartFreezeRecordControllerAPI.java
  3. 9 0
      src/main/java/com/template/api/SmartScreenshotRecordControllerAPI.java
  4. 7 0
      src/main/java/com/template/api/SmartUserControllerAPI.java
  5. 1 0
      src/main/java/com/template/api/SmartVisitorControllerAPI.java
  6. 658 0
      src/main/java/com/template/common/utils/TimeExchange.java
  7. 64 4
      src/main/java/com/template/controller/SmartFreezeRecordController.java
  8. 137 8
      src/main/java/com/template/controller/SmartScreenshotRecordController.java
  9. 9 0
      src/main/java/com/template/controller/SmartUserController.java
  10. 2 0
      src/main/java/com/template/core/JwtAuthenticationInterceptor.java
  11. 4 1
      src/main/java/com/template/mapper/SmartFreezeRecordMapper.java
  12. 4 1
      src/main/java/com/template/mapper/SmartScreenshotRecordMapper.java
  13. 5 1
      src/main/java/com/template/mapper/SmartUserMapper.java
  14. 32 0
      src/main/java/com/template/model/enumModel/eFreezeRecord.java
  15. 67 0
      src/main/java/com/template/model/enumModel/eWeekStatu.java
  16. 3 0
      src/main/java/com/template/model/pojo/SmartScreenshotRecord.java
  17. 30 0
      src/main/java/com/template/model/pojo/UnitTimeHelpModel.java
  18. 51 0
      src/main/java/com/template/model/request/insertFreezeRecordRequest.java
  19. 38 0
      src/main/java/com/template/model/request/manualFreezingRequest.java
  20. 27 0
      src/main/java/com/template/model/vo/AffiliateUserVo.java
  21. 28 0
      src/main/java/com/template/model/vo/ClassSettingDateVo.java
  22. 46 0
      src/main/java/com/template/model/vo/ScreenshotRecordPageVo.java
  23. 56 0
      src/main/java/com/template/model/vo/SmartFreezeRecordPageVo.java
  24. 9 0
      src/main/java/com/template/services/SmartFreezeRecordService.java
  25. 8 0
      src/main/java/com/template/services/SmartScreenshotRecordService.java
  26. 2 0
      src/main/java/com/template/services/SmartScreenshotService.java
  27. 6 0
      src/main/java/com/template/services/SmartUserService.java
  28. 29 0
      src/main/java/com/template/services/impl/SmartFreezeRecordServiceImpl.java
  29. 20 0
      src/main/java/com/template/services/impl/SmartScreenshotRecordServiceImpl.java
  30. 12 0
      src/main/java/com/template/services/impl/SmartScreenshotServiceImpl.java
  31. 9 0
      src/main/java/com/template/services/impl/SmartUserServiceImpl.java
  32. 2 2
      src/main/resources/application-dev.yml
  33. 2 2
      src/main/resources/application-prod.yml
  34. 2 2
      src/main/resources/application.yml
  35. 15 0
      src/main/resources/mapper/template/SmartFreezeRecordMapper.xml
  36. 13 0
      src/main/resources/mapper/template/SmartScreenshotRecordMapper.xml
  37. 4 0
      src/main/resources/mapper/template/SmartVisitorMapper.xml
  38. 15 1
      src/main/resources/mapper/template/SystemUserMapper.xml
  39. BIN
      target/classes/META-INF/mybatis_plus.kotlin_module
  40. 2 2
      target/classes/application-dev.yml
  41. 2 2
      target/classes/application-prod.yml
  42. 2 2
      target/classes/application.yml
  43. 15 0
      target/classes/mapper/template/SmartFreezeRecordMapper.xml
  44. 13 0
      target/classes/mapper/template/SmartScreenshotRecordMapper.xml
  45. 4 0
      target/classes/mapper/template/SmartVisitorMapper.xml
  46. 15 1
      target/classes/mapper/template/SystemUserMapper.xml
  47. 16 0
      target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  48. 93 78
      target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  49. BIN
      target/mybatis_plus-0.0.1-SNAPSHOT.jar.original
  50. BIN
      框架代码说明文档/~$生成代码说明.docx

Diferenças do arquivo suprimidas por serem muito extensas
+ 430 - 309
.idea/workspace.xml


+ 15 - 1
src/main/java/com/template/api/SmartFreezeRecordControllerAPI.java

@@ -1,6 +1,8 @@
 package com.template.api;
 
 import com.template.model.pojo.SmartFreezeRecord;
+import com.template.model.request.insertFreezeRecordRequest;
+import com.template.model.request.manualFreezingRequest;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -19,7 +21,7 @@ import org.springframework.web.bind.annotation.*;
 public interface SmartFreezeRecordControllerAPI {
     @PostMapping(value = "/insertSmartFreezeRecord")
     @ApiOperation(value = "添加冻结记录", notes = "添加冻结记录数据", httpMethod = "POST")
-    CommonResult insertSmartFreezeRecord(@Validated @RequestBody SmartFreezeRecord smartApply, BindingResult bindingResult);
+    CommonResult insertSmartFreezeRecord(@Validated @RequestBody insertFreezeRecordRequest smartFreezeRequest, BindingResult bindingResult);
 
     @PostMapping(value = "/updateSmartFreezeRecordById")
     @ApiOperation(value = "编辑冻结记录数据", notes = "编辑冻结记录数据", httpMethod = "POST")
@@ -32,4 +34,16 @@ public interface SmartFreezeRecordControllerAPI {
     @GetMapping(value = "/deleteSmartFreezeRecordById")
     @ApiOperation(value = "根据ID删除指定冻结记录", notes = "根据ID删除指定冻结记录", httpMethod = "GET")
     CommonResult deleteSmartFreezeRecordById(@RequestParam int id);
+
+    @PostMapping(value = "/manualFreezing")
+    @ApiOperation(value = "手动冻结操作", notes = "手动冻结操作", httpMethod = "POST")
+    CommonResult manualFreezing(@Validated @RequestBody manualFreezingRequest mfr, BindingResult bindingResult);
+
+    @GetMapping(value = "/queryPageFreezeRecord")
+    @ApiOperation(value = "已冻结名单分页数据", notes = "已冻结名单分页数据", httpMethod = "GET")
+    CommonResult queryPageFreezeRecord(@RequestParam int currentPage, @RequestParam int pageCount);
+
+    @PostMapping(value = "/thawFreezing")
+    @ApiOperation(value = "手动解冻操作", notes = "手动解冻操作", httpMethod = "GET")
+    CommonResult thawFreezing(@RequestParam int id);
 }

+ 9 - 0
src/main/java/com/template/api/SmartScreenshotRecordControllerAPI.java

@@ -33,4 +33,13 @@ public interface SmartScreenshotRecordControllerAPI {
     @GetMapping(value = "/deleteSmartScreenshotRecordById")
     @ApiOperation(value = "根据ID删除指定截屏记录", notes = "根据ID删除指定截屏记录", httpMethod = "GET")
     CommonResult deleteSmartScreenshotRecordById(@RequestParam int id);
+
+    @GetMapping(value = "/userScreenshotRecord")
+    @ApiOperation(value = "用户截屏记录", notes = "用户截屏记录", httpMethod = "GET")
+    CommonResult userScreenshotRecord(@RequestParam int userId) throws Exception;
+
+    @GetMapping(value = "/queryScreenshotRecordPage")
+    @ApiOperation(value = "截屏记录分页数据", notes = "截屏记录分页数据", httpMethod = "GET")
+    CommonResult queryScreenshotRecordPageList(int currentPage, int pageCount);
+
 }

+ 7 - 0
src/main/java/com/template/api/SmartUserControllerAPI.java

@@ -32,4 +32,11 @@ public interface SmartUserControllerAPI {
     @GetMapping(value = "/deleteSmartUserById")
     @ApiOperation(value = "根据ID删除指定用户", notes = "根据ID删除指定用户", httpMethod = "GET")
     CommonResult deleteSmartUserById(@RequestParam int id);
+
+    /**
+     * 学生家长预约信息填写界面获取受访学生列表
+     */
+    @GetMapping(value = "/queryAffiliateUserById")
+    @ApiOperation(value = "根据当前用户ID获取受访学生数据", notes = "根据当前用户ID获取受访学生数据", httpMethod = "GET")
+    CommonResult queryAffiliateUserById(@RequestParam int id);
 }

+ 1 - 0
src/main/java/com/template/api/SmartVisitorControllerAPI.java

@@ -32,4 +32,5 @@ public interface SmartVisitorControllerAPI {
     @GetMapping(value = "/deleteSmartVisitorById")
     @ApiOperation(value = "根据ID删除指定访客预约", notes = "根据ID删除指定访客预约", httpMethod = "GET")
     CommonResult deleteSmartVisitorById(@RequestParam int id);
+
 }

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

@@ -0,0 +1,658 @@
+package com.template.common.utils;
+
+import com.template.model.enumModel.eWeekStatu;
+import com.template.model.pojo.UnitTimeHelpModel;
+import com.template.model.vo.ClassSettingDateVo;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.apache.commons.lang3.time.DateUtils;
+
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.ChronoUnit;
+import java.util.*;
+
+/**
+ * 时间转化工具 date转为时间戳 时间戳转date 互相与String的转换
+ * 所有出现的String time 格式都必须为(yyyy-MM-dd HH:mm:ss),否则出错
+ *
+ */
+public class TimeExchange {
+
+    /**
+     * String(yyyy-MM-dd HH:mm:ss) 转 Date
+     *
+     * @param time
+     * @return
+     * @throws ParseException
+     */
+    // String date = "2010/05/04 12:34:23";
+    public static Date StringToDate(String time, String formatDate){
+
+        Date date = new Date();
+        // 注意format的格式要与日期String的格式相匹配
+        DateFormat dateFormat = new SimpleDateFormat(formatDate);
+        try {
+            date = dateFormat.parse(time);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return date;
+    }
+
+    /**
+     * Date转为String(yyyy-MM-dd HH:mm:ss)
+     *
+     * @param time
+     * @return
+     */
+    public static String DateToString(Date time) {
+        String dateStr = "";
+        Date date = new Date();
+        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            dateStr = dateFormat.format(time);
+            System.out.println(dateStr);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return dateStr;
+    }
+
+    /**
+     * String(yyyy-MM-dd HH:mm:ss)转10位时间戳
+     *
+     * @param time
+     * @return
+     */
+    public static Integer StringToTimestamp(String time) {
+
+        int times = 0;
+        try {
+            times = (int) ((Timestamp.valueOf(time).getTime()) / 1000);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (times == 0) {
+            System.out.println("String转10位时间戳失败");
+        }
+        return times;
+
+    }
+
+    /**
+     * 10位int型的时间戳转换为String(yyyy-MM-dd HH:mm:ss)
+     *
+     * @param time
+     * @return
+     */
+    public static String timestampToString(Integer time) {
+        //int转long时,先进行转型再进行计算,否则会是计算结束后在转型
+        long temp = (long) time * 1000;
+        Timestamp ts = new Timestamp(temp);
+        String tsStr = "";
+        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            //方法一
+            tsStr = dateFormat.format(ts);
+            System.out.println(tsStr);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return tsStr;
+    }
+
+    /**
+     * 10位时间戳转Date
+     *
+     * @param time
+     * @return
+     */
+    public static Date TimestampToDate(Integer time) {
+        long temp = (long) time * 1000;
+        Timestamp ts = new Timestamp(temp);
+        Date date = new Date();
+        try {
+            date = ts;
+            //System.out.println(date);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return date;
+    }
+
+    /**
+     * Date类型转换为10位时间戳
+     *
+     * @param time
+     * @return
+     */
+    public static Integer DateToTimestamp(Date time) {
+        Timestamp ts = new Timestamp(time.getTime());
+
+        return (int) ((ts.getTime()) / 1000);
+    }
+
+    // 当前时间减1小时
+    public static String TimeDesH(Date time, int hour) {
+        Calendar nowTime2 = Calendar.getInstance();
+        nowTime2.setTime(time);
+        nowTime2.add(Calendar.HOUR, -hour);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return simpleDateFormat.format(nowTime2.getTime());
+    }
+
+
+    // 当前时间加5分钟
+    public static String TimeRangeI(String time) throws ParseException {
+        // 当前时间+5分钟
+        Date endTime = DateUtils.addMinutes(StringToDate(time, "yyyy-MM-dd HH:mm:ss"), 300);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return simpleDateFormat.format(endTime);
+    }
+
+    // 当前时间加2分钟
+    public static String TimeRangeI10(String time, int m) throws ParseException {
+        Calendar nowTime2 = Calendar.getInstance();
+        nowTime2.setTime(StringToDate(time, "yyyy-MM-dd HH:mm:ss"));
+        nowTime2.add(Calendar.SECOND, m);//10分钟前的时间
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return simpleDateFormat.format(nowTime2.getTime());
+    }
+
+    // 当前时间减5分钟
+    public static String TimeRangeD(String time) throws ParseException {
+        Calendar nowTime2 = Calendar.getInstance();
+        nowTime2.setTime(StringToDate(time, "yyyy-MM-dd HH:mm:ss"));
+        nowTime2.add(Calendar.MINUTE, -300);//5分钟前的时间
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return simpleDateFormat.format(nowTime2.getTime());
+    }
+
+    // 获取当前日期
+    public static String getDate() {
+        SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd");
+        return sp.format(new Date());
+    }
+
+    // 获取当前日期的年月
+    public static String getDateMonth() {
+        SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-");
+        return sp.format(new Date());
+    }
+
+    // 获取前天
+    public static String getQianDay() throws ParseException {
+        Calendar nowTime2 = Calendar.getInstance();
+        nowTime2.setTime(StringToDate(getTime(), "yyyy-MM-dd HH:mm:ss"));
+        nowTime2.add(Calendar.DATE, -5);//5分钟前的时间
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return simpleDateFormat.format(nowTime2.getTime());
+    }
+
+    // 获取当前时间
+    public static String getTime() {
+        SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        return sp.format(new Date());
+    }
+
+    public static String getOnlyMM() {
+        SimpleDateFormat sp = new SimpleDateFormat("HH:mm");
+        return sp.format(new Date());
+    }
+
+    public static String getOnlyDesMM() throws ParseException {
+        Calendar nowTime2 = Calendar.getInstance();
+        nowTime2.setTime(StringToDate(getTime(), "yyyy-MM-dd HH:mm:ss"));
+        nowTime2.add(Calendar.MINUTE, -5);//5分钟前的时间
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
+        return simpleDateFormat.format(nowTime2.getTime());
+    }
+
+    public static String getYear() {
+        SimpleDateFormat sp = new SimpleDateFormat("yyyy");
+        return sp.format(new Date());
+    }
+
+    public static String getMonth() {
+        SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM");
+        return sp.format(new Date());
+    }
+
+    // 获取当前时间
+    public static String getOnlyTime() {
+        SimpleDateFormat sp = new SimpleDateFormat("HH:mm:ss");
+        return sp.format(new Date());
+    }
+
+    /**
+     * 计算两个日期的时间差
+     *
+     * @param time1
+     * @param time2
+     * @return
+     */
+    public static double getTimeDifference(String time1, String time2) {
+        SimpleDateFormat timeformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        long t1 = 0L;
+        long t2 = 0L;
+        try {
+            t1 = timeformat.parse(time1).getTime();
+        } catch (ParseException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        try {
+            t2 = timeformat.parse(time2).getTime();
+        } catch (ParseException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        //因为t1-t2得到的是毫秒级,所以要初3600000得出小时.算天数或秒同理
+        double hours = (double) ((t2 - t1) / 3600000);
+        double minutes = (double) (((t2 - t1) / 1000 - hours * 3600) / 60 / 60);
+        return hours + minutes;
+    }
+
+    public static double getOnlyTimeDifference(String time1, String time2) {
+        SimpleDateFormat timeformat = new SimpleDateFormat("HH:mm:ss");
+        long t1 = 0L;
+        long t2 = 0L;
+        try {
+            t1 = timeformat.parse(time1).getTime();
+        } catch (ParseException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        try {
+            t2 = timeformat.parse(time2).getTime();
+        } catch (ParseException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        //因为t1-t2得到的是毫秒级,所以要初3600000得出小时.算天数或秒同理
+        double hours = (double) ((t2 - t1) / 3600000);
+        double minutes = (double) (((t2 - t1) / 1000 - hours * 3600) / 60 / 60);
+        return hours + minutes;
+    }
+
+    public static double getDiff(String str1, String str2) {
+        return str2.compareTo(str1);
+    }
+
+    /**
+     * 时间加减分钟数
+     *
+     * @param time      时间
+     * @param FormatStr 时间格式
+     * @param amount    要加减的时间(单位为分钟)
+     * @return
+     * @throws ParseException
+     */
+    public static String TimeRangeMinute(String time, int amount, String FormatStr) throws ParseException {
+        Date endTime = DateUtils.addMinutes(ShortStringToDate(time, FormatStr), amount);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(FormatStr);
+        return simpleDateFormat.format(endTime);
+    }
+
+    /**
+     * 时间加减小时数
+     *
+     * @param time      时间
+     * @param FormatStr 时间格式
+     * @param amount    要加减的时间(单位为小时)
+     * @return
+     * @throws ParseException
+     */
+    public static String TimeRangeHour(Date time, int amount, String FormatStr) {
+        Date endTime = DateUtils.addHours(time, amount);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(FormatStr);
+        return simpleDateFormat.format(endTime);
+    }
+
+    /**
+     * String 转 Date
+     *
+     * @param time      时间
+     * @param formatStr 自定义时间格式
+     * @return
+     * @throws ParseException
+     */
+    public static Date ShortStringToDate(String time, String formatStr) throws ParseException {
+
+        Date date = new Date();
+        // 注意format的格式要与日期String的格式相匹配
+        DateFormat dateFormat = new SimpleDateFormat(formatStr);
+        try {
+            date = dateFormat.parse(time);
+            System.out.println(date.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return date;
+    }
+
+    /**
+     * Date转为String
+     *
+     * @param time      时间
+     * @param FormatStr 自定义时间格式
+     * @return
+     */
+    public static String DateToString(Date time, String FormatStr) {
+        String dateStr = "";
+        DateFormat dateFormat = new SimpleDateFormat(FormatStr);
+        try {
+            dateStr = dateFormat.format(time);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return dateStr;
+    }
+
+    /**
+     * 日期路径 即年/月/日 如2018/08/08
+     */
+    public static final String datePath() {
+        Date now = new Date();
+        return DateFormatUtils.format(now, "yyyy/MM/dd");
+    }
+
+    /**
+     * 比较时间1是否小于时间2
+     * 如果时间1小于时间2,接口返回true
+     * 如果时间1大于时间2,接口返回false
+     *
+     * @param dateOne 时间1
+     * @param dateTwo 时间2
+     * @param Forma   时间格式
+     * @return
+     * @throws ParseException
+     */
+    public static boolean CompareDate(String dateOne, String dateTwo, String Forma) throws ParseException {
+        SimpleDateFormat df = new SimpleDateFormat(Forma);
+        Date sd1 = df.parse(dateOne);
+        Date sd2 = df.parse(dateTwo);
+        return sd1.before(sd2);
+    }
+
+    public static LocalDateTime StringToLocalTime(String time, String formatStr){
+        //1.具有转换功能的对象
+        DateTimeFormatter df = DateTimeFormatter.ofPattern(formatStr);
+        //3.LocalDate发动,将字符串转换成  df格式的LocalDateTime对象,的功能
+        LocalDateTime LocalTime = LocalDateTime.parse(time,df);
+
+        return LocalTime;
+    }
+
+    /**
+     * 获取一周的开始时间和结束时间
+     * 获取本周星期一作为一周的第一天的起始时间和结束时间
+     *
+     * @return 返回的数据中第一个是开始时间 第二个是结束时间
+     */
+    public static String[] getCurrentWeekTimeFrame() {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTimeZone(TimeZone.getTimeZone("GMT+8"));
+        //start of the week
+        if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
+            calendar.add(Calendar.DAY_OF_YEAR, -1);
+        }
+        calendar.add(Calendar.DAY_OF_WEEK, -(calendar.get(Calendar.DAY_OF_WEEK) - 2));
+        //给0的时候查不出数据
+//        calendar.set(Calendar.HOUR_OF_DAY, 0);
+//        calendar.set(Calendar.MINUTE, 0);
+//        calendar.set(Calendar.SECOND, 0);
+//        calendar.set(Calendar.MILLISECOND, 0);
+
+        String startTime = DateToString(calendar.getTime(), "yyyy-MM-dd");
+        //end of the week
+        calendar.add(Calendar.DAY_OF_WEEK, 6);
+        calendar.set(Calendar.HOUR_OF_DAY, 23);
+        calendar.set(Calendar.MINUTE, 59);
+        calendar.set(Calendar.SECOND, 59);
+        calendar.set(Calendar.MILLISECOND, 999);
+        String endTime = DateToString(calendar.getTime(), "yyyy-MM-dd");
+        return new String[]{startTime, endTime};
+    }
+
+    /**
+     * 获取指定月份有多少天
+     *
+     * @param month
+     * @return
+     */
+    public static int getMonthDays(String date, int month) {
+        int year = Integer.valueOf(date.substring(0, 4));
+        int[] arr = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
+        int day = arr[month - 1];//天数对应=数组-1
+        if (month == 2 && year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
+            day = 29;
+        }
+
+        return day;
+
+    }
+
+    /**
+     * 获取指定月份的第一天和最后一天
+     *
+     * @param DateStr 指定月份
+     * @return 返回的数据中第一个是开始时间 第二个是结束时间
+     */
+    public static String[] getCurrentMonthTimeFrame(String DateStr) {
+        Calendar c = Calendar.getInstance();//获取Calendar实例
+        c.set(Calendar.YEAR, Integer.parseInt(DateStr.substring(0, 4)));
+        int sss = Integer.parseInt(DateStr.substring(5, 7));
+        c.set(Calendar.MONTH, Integer.parseInt(DateStr.substring(5, 7).replace("-", "")) - 1);
+
+        c.set(Calendar.DAY_OF_MONTH, 1);
+
+        String startDate = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
+
+        int lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
+        c.set(Calendar.DAY_OF_MONTH, lastDay);
+        String endDate = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()) + " 23:59:59";
+
+        return new String[]{startDate, endDate};
+    }
+
+    //region 获取某一天的开始时间
+    public static String getStartOfDayStr(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        int year = calendar.get(Calendar.YEAR);
+        int month = calendar.get(Calendar.MONTH);
+        int day = calendar.get(Calendar.DATE);
+        calendar.setTimeInMillis(0);
+        calendar.set(year, month, day, 0, 0, 0);
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
+    }
+    //endregion
+
+    //region 获取某一天的结束时间
+    public static String getEndOfDayStr(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        int year = calendar.get(Calendar.YEAR);
+        int month = calendar.get(Calendar.MONTH);
+        int day = calendar.get(Calendar.DATE);
+        calendar.setTimeInMillis(0);
+        calendar.set(year, month, day, 23, 59, 59);
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime());
+    }
+    //endregion
+
+    //region 获取指定月份的最后一天
+    public static Date getToMonthEndDate(String DateStr) {
+        Calendar c = Calendar.getInstance();
+        c.clear();
+        c.set(Calendar.YEAR, Integer.parseInt(DateStr.substring(0, 4)));
+        c.set(Calendar.MONTH, Integer.parseInt(DateStr.substring(5, 7).replace("-", "")) - 1);
+        c.roll(Calendar.DAY_OF_MONTH, -1);
+        c.set(Calendar.HOUR_OF_DAY, 23);
+        c.set(Calendar.MINUTE, 59);
+        c.set(Calendar.SECOND, 59);
+        c.set(Calendar.MILLISECOND, 999);
+
+        return c.getTime();
+    }
+    //endregion
+
+    //region 获取指定月份的第一天
+    public static Date getToMonthBeginDate(String DateStr) {
+        Calendar c = Calendar.getInstance();
+        c.clear();
+        c.set(Calendar.YEAR, Integer.parseInt(DateStr.substring(0, 4)));
+        c.set(Calendar.MONTH, Integer.parseInt(DateStr.substring(5, 7).replace("-", "")) - 1);
+        c.set(Calendar.HOUR_OF_DAY, 0);
+        c.set(Calendar.MINUTE, 0);
+        c.set(Calendar.SECOND, 0);
+        c.set(Calendar.MILLISECOND, 000);
+        return c.getTime();
+    }
+    //endregion
+
+    //region 获取某一天的开始时间
+    public static Date getStartOfDay(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        int year = calendar.get(Calendar.YEAR);
+        int month = calendar.get(Calendar.MONTH);
+        int day = calendar.get(Calendar.DATE);
+        calendar.set(year, month, day, 0, 0, 0);
+        calendar.set(Calendar.MILLISECOND, 000);
+        return calendar.getTime();
+    }
+    //endregion
+
+    //region 获取某一天的结束时间
+    public static Date getEndOfDay(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        int year = calendar.get(Calendar.YEAR);
+        int month = calendar.get(Calendar.MONTH);
+        int day = calendar.get(Calendar.DATE);
+        calendar.setTimeInMillis(0);
+        calendar.set(year, month, day, 23, 59, 59);
+        return calendar.getTime();
+    }
+    //endregion
+
+    public static List<UnitTimeHelpModel> MonthArrayTime(Date StartDate, Date EndDate) {
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//格式化为年月
+        Calendar StartTime = Calendar.getInstance();
+        StartTime.setTime(StartDate);
+        StartTime.set(StartTime.get(Calendar.YEAR), StartTime.get(Calendar.MONTH), StartTime.get(Calendar.DATE));
+        Calendar EndTime = Calendar.getInstance();
+        EndTime.setTime(EndDate);
+        EndTime.set(EndTime.get(Calendar.YEAR), EndTime.get(Calendar.MONTH), EndTime.get(Calendar.DATE));
+        int total = (EndTime.get(Calendar.YEAR) - StartTime.get(Calendar.YEAR)) * 12 + (EndTime.get(Calendar.MONTH) - StartTime.get(Calendar.MONTH));
+        List<UnitTimeHelpModel> result = new ArrayList() {
+        };
+        for (int i = 0; i <= total; i++) {
+            StartTime.add(Calendar.MONTH, i == 0 ? 0 : 1);
+            Date MonthLastDay = getToMonthEndDate(sdf.format(StartTime.getTime()));
+            UnitTimeHelpModel data = new UnitTimeHelpModel();
+            data.setStartDate(i == 0 ? StartTime.getTime() : getStartOfDay(getToMonthBeginDate(sdf.format(StartTime.getTime()))));
+            data.setEndDate(EndTime.getTime().before(MonthLastDay) ? getEndOfDay(EndTime.getTime()) : MonthLastDay);
+            result.add(data);
+        }
+
+        return result;
+    }
+
+    public static List<ClassSettingDateVo> getDatesBetween(LocalDate startDate, LocalDate endDate) {
+        List<ClassSettingDateVo> datas = new ArrayList<>();
+        long numOfDaysBetween = ChronoUnit.DAYS.between(startDate, endDate);
+        for (int i = 0; i <= numOfDaysBetween; i++) {
+            ClassSettingDateVo data = new ClassSettingDateVo();
+            LocalDate date = startDate.plusDays(i);
+            // 获取当前日期对应的星期几
+            DayOfWeek dow = date.getDayOfWeek();
+            int dayOfWeek = dow.getValue(); // 获取星期几的数字表示,1表示周一,7表示周日
+            data.setWeekStr(eWeekStatu.stringOf(dayOfWeek));
+            data.setWeek(dayOfWeek);
+            data.setDateStr(date.toString());
+            datas.add(data);
+        }
+        return datas;
+    }
+
+    /**
+     * 获取时间date1与date2相差的秒数
+     *
+     * @param date1 起始时间
+     * @param date2 结束时间
+     * @return 返回相差的秒数
+     */
+    public static int getOffsetSeconds(Date date1, Date date2) {
+        int seconds = (int) ((date2.getTime() - date1.getTime()) / 1000);
+        return seconds;
+    }
+
+    /**
+     * 获取时间date1与date2相差的分钟数
+     *
+     * @param date1 起始时间
+     * @param date2 结束时间
+     * @return 返回相差的分钟数
+     */
+    public static int getOffsetMinutes(Date date1, Date date2) {
+        return getOffsetSeconds(date1, date2) / 60;
+    }
+
+    /**
+     * 获取时间date1与date2相差的小时数
+     *
+     * @param date1 起始时间
+     * @param date2 结束时间
+     * @return 返回相差的小时数
+     */
+    public static int getOffsetHours(Date date1, Date date2) {
+        return getOffsetMinutes(date1, date2) / 60;
+    }
+
+    /**
+     * 获取时间date1与date2相差的天数数
+     *
+     * @param date1 起始时间
+     * @param date2 结束时间
+     * @return 返回相差的天数
+     */
+    public static int getOffsetDays(Date date1, Date date2) {
+        return getOffsetHours(date1, date2) / 24+1;
+    }
+
+    public static boolean overlapping(String start1,String end1,String start2,String end2) throws ParseException {
+        boolean one = CompareDate(start1,end2,"HH:mm");
+        boolean two = CompareDate(start2,end1,"HH:mm");
+        return (one && two);
+    }
+
+    public static String getWeek(String sdate) throws ParseException {
+        // 再转换为时间
+        Date date = StringToDate(sdate,"yyyy-MM-dd");
+        Calendar c = Calendar.getInstance();
+        c.setTime(date);
+        // int hour=c.get(Calendar.DAY_OF_WEEK);
+        // hour中存的就是星期几了,其范围 1~7
+        // 1=星期日 7=星期六,其他类推
+        return new SimpleDateFormat("EEEE").format(c.getTime());
+    }
+
+    public static void main(String[] args) throws ParseException {
+        BigDecimal ss = new BigDecimal(0.3).divide(new BigDecimal(3),2);//.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+        System.out.println("");
+    }
+}
+

+ 64 - 4
src/main/java/com/template/controller/SmartFreezeRecordController.java

@@ -3,16 +3,22 @@ package com.template.controller;
 
 import com.template.api.SmartFreezeRecordControllerAPI;
 
+import com.template.common.utils.TimeExchange;
 import com.template.common.utils.paramUtils;
+import com.template.model.enumModel.eFreezeRecord;
 import com.template.model.pojo.SmartFreezeRecord;
-import com.template.model.pojo.SmartFreezeRecord;
+import com.template.model.request.insertFreezeRecordRequest;
+import com.template.model.request.manualFreezingRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.SmartFreezeRecordPageVo;
 import com.template.services.SmartFreezeRecordService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RestController;
 
+
 /**
  * <p>
  *  前端控制器
@@ -29,18 +35,30 @@ public class SmartFreezeRecordController implements SmartFreezeRecordControllerA
 
     /**
      * 新增冻结记录
-     * @param smartApply 冻结记录数据
+     * @param smartFreezeRequest 冻结记录数据
      * @param bindingResult
      * @return
      */
     @Override
-    public CommonResult insertSmartFreezeRecord(SmartFreezeRecord smartApply, BindingResult bindingResult) {
+    public CommonResult insertSmartFreezeRecord(insertFreezeRecordRequest smartFreezeRequest, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
         }
 
-        int result = smartFreezeRecordService.insertSmartFreezeRecord(smartApply);
+        if(smartFreezeRequest.getType().intValue() ==  eFreezeRecord.SpecifyTime.getValue() && !StringUtils.hasText(smartFreezeRequest.getDeadline())){
+            return CommonResult.fail("指定时间冻结方式下,截止时间不能为空");
+        }else if(smartFreezeRequest.getType().intValue() ==  eFreezeRecord.PermanentFreeze.getValue()){
+            smartFreezeRequest.setDeadline("9999-12-30 23:59:59");
+        }
+
+        SmartFreezeRecord sfr = new SmartFreezeRecord();
+        sfr.setType(smartFreezeRequest.getType());
+        sfr.setReason(smartFreezeRequest.getReason());
+        sfr.setUserId(smartFreezeRequest.getUserId());
+        sfr.setDeadline(TimeExchange.StringToDate(smartFreezeRequest.getDeadline(),"yyyy-MM-dd HH:mm:ss"));
+
+        int result = smartFreezeRecordService.insertSmartFreezeRecord(sfr);
 
         return result > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
     }
@@ -90,5 +108,47 @@ public class SmartFreezeRecordController implements SmartFreezeRecordControllerA
 
         return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
     }
+
+    @Override
+    public CommonResult manualFreezing(manualFreezingRequest mfr, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        //冻结记录不会有多条记录,解冻后只清理这一条
+        //冻结的时候得看是否存在冻结期间的冻结数据
+        int userCount = smartFreezeRecordService.getSmartByUserId(mfr.getUserId());
+        if(userCount > 0){
+            return CommonResult.fail("该用户已存在冻结记录,请勿重复操作");
+        }
+
+        if(mfr.getType().intValue() == 1 && mfr.getDeadline() == null){
+            return CommonResult.fail("冻结截止时间不能为空");
+        }
+
+        SmartFreezeRecord sfr = new SmartFreezeRecord();
+        sfr.setUserId(mfr.getUserId());
+        sfr.setType(mfr.getType());
+        sfr.setDeadline(TimeExchange.StringToDate(mfr.getDeadline() == null ? "9999-12-30 59:59:00" : mfr.getDeadline(),"yyyy-MM-dd HH:mm:ss"));
+        sfr.setReason(mfr.getReason());
+
+        int result = smartFreezeRecordService.insertSmartFreezeRecord(sfr);
+
+        return result > 0 ? CommonResult.ok("冻结成功") : CommonResult.fail("冻结失败");
+    }
+
+    @Override
+    public CommonResult queryPageFreezeRecord(int currentPage, int pageCount) {
+        PageUtils<SmartFreezeRecordPageVo> result = smartFreezeRecordService.queryFreezeRecordPageList(currentPage, pageCount);
+        return CommonResult.ok(result);
+    }
+
+    @Override
+    public CommonResult thawFreezing(int id) {
+        int deletedData = smartFreezeRecordService.deleteSmartFreezeRecordById(id);
+
+        return deletedData > 0 ? CommonResult.ok("解冻成功") : CommonResult.fail("解冻失败");
+    }
 }
 

+ 137 - 8
src/main/java/com/template/controller/SmartScreenshotRecordController.java

@@ -2,23 +2,33 @@ package com.template.controller;
 
 
 import com.template.api.SmartScreenshotRecordControllerAPI;
+import com.template.common.utils.TimeExchange;
 import com.template.common.utils.paramUtils;
+import com.template.mapper.SmartFreezeRecordMapper;
+import com.template.model.pojo.*;
 import com.template.model.pojo.SmartScreenshotRecord;
-import com.template.model.pojo.SmartScreenshotRecord;
-import com.template.model.pojo.SmartScreenshot;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.ScreenshotRecordPageVo;
+import com.template.services.SmartFreezeRecordService;
 import com.template.services.SmartScreenshotRecordService;
 import com.template.services.SmartScreenshotService;
+import com.template.services.SmartUserService;
+import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author ceshi
@@ -29,10 +39,17 @@ public class SmartScreenshotRecordController implements SmartScreenshotRecordCon
 
     @Autowired
     private SmartScreenshotRecordService smartScreenshotRecordService;
+    @Autowired
+    private SmartFreezeRecordService smartFreezeRecordService;
+    @Autowired
+    private SmartScreenshotService smartScreenshotService;
+    @Autowired
+    private SmartUserService smartUserService;
 
     /**
      * 新增截屏记录
-     * @param smartApply 截屏记录数据
+     *
+     * @param smartApply    截屏记录数据
      * @param bindingResult
      * @return
      */
@@ -50,7 +67,8 @@ public class SmartScreenshotRecordController implements SmartScreenshotRecordCon
 
     /**
      * 更新截屏记录
-     * @param sa 截屏记录数据
+     *
+     * @param sa            截屏记录数据
      * @param bindingResult
      * @return
      */
@@ -67,9 +85,10 @@ public class SmartScreenshotRecordController implements SmartScreenshotRecordCon
 
     /**
      * 截屏记录分页数据查询
+     *
      * @param currentPage 当前页数
-     * @param pageCount 一页数据条数
-     * @param name 查询名称
+     * @param pageCount   一页数据条数
+     * @param name        查询名称
      * @return
      */
     @Override
@@ -85,7 +104,7 @@ public class SmartScreenshotRecordController implements SmartScreenshotRecordCon
 
         SmartScreenshotRecord data = smartScreenshotRecordService.getSmartById(id);
 
-        if(data == null){
+        if (data == null) {
             return CommonResult.fail("当前数据不存在,删除失败!");
         }
 
@@ -93,5 +112,115 @@ public class SmartScreenshotRecordController implements SmartScreenshotRecordCon
 
         return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
     }
+
+    @Override
+    @Transactional(rollbackFor = {Exception.class})
+    public CommonResult userScreenshotRecord(int userId) throws Exception {
+        //查找用户信息是否存在
+        SmartUser result = smartUserService.getSmartById(userId);
+        if (result == null) {
+            return CommonResult.fail("用户信息无效,无法记录截屏操作");
+        }
+
+        //如果是在被冻结的情况下就不处理
+        int count = smartFreezeRecordService.getSmartByUserId(userId);
+        if (count > 0) {
+            return CommonResult.fail("冻结期间,无法记录截屏操作");
+        }
+
+        //需要查看是否触发惩罚规则 触发了就去进行惩罚相关操作 将记录写进冻结记录表中
+        //当前用户的截屏记录次数
+        int screenshotNum = smartScreenshotRecordService.querySmartScreenshotRecords(userId);
+        SmartScreenshot existData = smartScreenshotService.getSmartLastOneByTimes(screenshotNum + 1);
+
+        SmartFreezeRecord sfr = null;
+
+        if (existData != null) {
+            sfr = new SmartFreezeRecord();
+            sfr.setUserId(userId);
+            sfr.setType(1);
+            switch (existData.getTriggers()) {
+                case 0:
+                    //身份码提醒:提醒当前用户还有多少次就会触发冻结操作
+                    sfr = null;
+                    break;
+                case 1:
+                    //冻结1小时
+                    sfr.setDeadline(DateUtils.addHours(new Date(), 1));
+                    sfr.setReason("触发截屏"+(screenshotNum + 1)+"次数规则,冻结1小时");
+                    break;
+                case 2:
+                    //冻结2小时
+                    sfr.setDeadline(DateUtils.addHours(new Date(), 2));
+                    sfr.setReason("触发截屏"+(screenshotNum + 1)+"次数规则,冻结1小时");
+                    break;
+                case 3:
+                    //冻结4小时
+                    sfr.setDeadline(DateUtils.addHours(new Date(), 4));
+                    sfr.setReason("触发截屏"+(screenshotNum + 1)+"次数规则,冻结4小时");
+                    break;
+                case 4:
+                    //冻结8小时
+                    sfr.setDeadline(DateUtils.addHours(new Date(), 8));
+                    sfr.setReason("触发截屏"+(screenshotNum + 1)+"次数规则,冻结8小时");
+                    break;
+                case 5:
+                    //冻结1天
+                    sfr.setDeadline(DateUtils.addHours(new Date(), 24));
+                    sfr.setReason("触发截屏"+(screenshotNum + 1)+"次数规则,冻结1天");
+                    break;
+                default:
+                    sfr = null;
+                    break;
+            }
+        }
+
+        SmartScreenshotRecord ssr = new SmartScreenshotRecord();
+        ssr.setUserId(userId);
+        ssr.setIsFreeze(1);
+
+        try {
+            int insertSsr = smartScreenshotRecordService.insertSmartScreenshotRecord(ssr);
+            if (insertSsr <= 0) {
+                throw new Exception("记录失败");
+            }
+
+            if (sfr != null) {
+                int insertSfr = smartFreezeRecordService.insertSmartFreezeRecord(sfr);
+                if (insertSfr <= 0) {
+                    throw new Exception("记录失败");
+                }
+            }
+
+        } catch (Exception e) {
+            throw new Exception("记录失败");
+        }
+
+        return CommonResult.ok("记录成功");
+    }
+
+    /**
+     * 截屏记录分页数据查询
+     *
+     * @param currentPage 当前页数
+     * @param pageCount   一页数据条数
+     * @return
+     */
+    @Override
+    public CommonResult queryScreenshotRecordPageList(int currentPage, int pageCount) {
+        PageUtils<ScreenshotRecordPageVo> result = smartScreenshotRecordService.queryScreenshotRecordPageList(currentPage, pageCount);
+
+        if (result.getList() != null && result.getList().size() > 0) {
+            List<Integer> userIds = result.getList().stream().map(ScreenshotRecordPageVo::getUserId).distinct().collect(Collectors.toList());
+            List<SmartFreezeRecord> freezeRecords = smartFreezeRecordService.getSmartByUserIds(userIds);
+            for (ScreenshotRecordPageVo data : result.getList()) {
+                long count = freezeRecords.stream().filter(e -> e.getUserId().equals(data.getUserId())).count();
+                data.setIsShow(count > 0 ? 0 : 1);
+            }
+        }
+
+        return CommonResult.ok(result);
+    }
+
 }
 

+ 9 - 0
src/main/java/com/template/controller/SmartUserController.java

@@ -6,6 +6,7 @@ import com.template.common.utils.paramUtils;
 import com.template.model.pojo.SmartUser;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.AffiliateUserVo;
 import com.template.services.SmartUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.BindingResult;
@@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  *  前端控制器
@@ -90,5 +93,11 @@ public class SmartUserController implements SmartUserControllerAPI {
 
         return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
     }
+
+    @Override
+    public CommonResult queryAffiliateUserById(int id) {
+        List<AffiliateUserVo> result = smartUserService.queryAffiliateUserById(id);
+        return CommonResult.ok(result);
+    }
 }
 

+ 2 - 0
src/main/java/com/template/core/JwtAuthenticationInterceptor.java

@@ -43,6 +43,8 @@ public class JwtAuthenticationInterceptor implements HandlerInterceptor {
         }
         //endregion
 
+        //冻结后无法操作系统
+
         if(1 == 1){
             return true;
         }

+ 4 - 1
src/main/java/com/template/mapper/SmartFreezeRecordMapper.java

@@ -1,7 +1,10 @@
 package com.template.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.template.model.pojo.SmartFreezeRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.ScreenshotRecordPageVo;
+import com.template.model.vo.SmartFreezeRecordPageVo;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -14,5 +17,5 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public interface SmartFreezeRecordMapper extends BaseMapper<SmartFreezeRecord> {
-
+    IPage<SmartFreezeRecordPageVo> querySmartFreezeRecordPageList(IPage<SmartFreezeRecordPageVo> page);
 }

+ 4 - 1
src/main/java/com/template/mapper/SmartScreenshotRecordMapper.java

@@ -1,7 +1,10 @@
 package com.template.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.template.model.pojo.SmartScreenshotRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.ScreenshotRecordPageVo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 /**
@@ -14,5 +17,5 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public interface SmartScreenshotRecordMapper extends BaseMapper<SmartScreenshotRecord> {
-
+    IPage<ScreenshotRecordPageVo> queryScreenshotRecordPageList(IPage<ScreenshotRecordPageVo> page);
 }

+ 5 - 1
src/main/java/com/template/mapper/SmartUserMapper.java

@@ -2,8 +2,12 @@ package com.template.mapper;
 
 import com.template.model.pojo.SmartUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.vo.AffiliateUserVo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -14,5 +18,5 @@ import org.springframework.stereotype.Repository;
  */
 @Repository
 public interface SmartUserMapper extends BaseMapper<SmartUser> {
-
+    List<AffiliateUserVo> queryAffiliateUserById(@Param("id") Integer id);
 }

+ 32 - 0
src/main/java/com/template/model/enumModel/eFreezeRecord.java

@@ -0,0 +1,32 @@
+package com.template.model.enumModel;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/7 星期五 15:14
+ * @Description: com.repair.model.enumModel
+ * @Version: 1.0
+ */
+public enum eFreezeRecord {
+    PermanentFreeze(0),//永久冻结
+    SpecifyTime(1);//指定时间
+
+    private int value;
+
+    eFreezeRecord(int value){
+        this.value = value;
+    }
+
+    public int getValue() {
+        return value;
+    }
+    public static eFreezeRecord valueOf(int value) {
+        switch (value) {
+            case 0:
+                return eFreezeRecord.PermanentFreeze;
+            case 1:
+                return eFreezeRecord.SpecifyTime;
+            default:
+                return null;
+        }
+    }
+}

+ 67 - 0
src/main/java/com/template/model/enumModel/eWeekStatu.java

@@ -0,0 +1,67 @@
+package com.template.model.enumModel;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/26 星期三 14:55
+ * @Description: com.repair.model.enumModel
+ * @Version: 1.0
+ */
+public enum eWeekStatu {
+    Monday(1),//周一
+    Tuesday(2),//周二
+    Wednesday(3),//周三
+    Thursday(4),//周四
+    Friday(5),//周五
+    Saturday(6),//周六
+    Sunday(7);//周天
+
+    private int value;
+
+    eWeekStatu(int value){
+        this.value = value;
+    }
+
+    public int getValue() {
+        return value;
+    }
+    public static eWeekStatu valueOf(int value) {
+        switch (value) {
+            case 1:
+                return eWeekStatu.Monday;
+            case 2:
+                return eWeekStatu.Tuesday;
+            case 3:
+                return eWeekStatu.Wednesday;
+            case 4:
+                return eWeekStatu.Thursday;
+            case 5:
+                return eWeekStatu.Friday;
+            case 6:
+                return eWeekStatu.Saturday;
+            case 7:
+                return eWeekStatu.Sunday;
+            default:
+                return null;
+        }
+    }
+    public static String stringOf(Integer value) {
+        switch (value) {
+            case 1:
+                return "周一";
+            case 2:
+                return "周二";
+            case 3:
+                return "周三";
+            case 4:
+                return "周四";
+            case 5:
+                return "周五";
+            case 6:
+                return "周六";
+            case 7:
+                return "周天";
+            default:
+                return null;
+        }
+    }
+}

+ 3 - 0
src/main/java/com/template/model/pojo/SmartScreenshotRecord.java

@@ -37,6 +37,9 @@ public class SmartScreenshotRecord implements Serializable {
     @ApiModelProperty(value = "用户ID")
     private Integer userId;
 
+    @ApiModelProperty(value = "是否冻结 未冻结:0;冻结:1")
+    private Integer isFreeze;
+
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)
     private Date createTime;

+ 30 - 0
src/main/java/com/template/model/pojo/UnitTimeHelpModel.java

@@ -0,0 +1,30 @@
+package com.template.model.pojo;
+
+import java.util.Date;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/28 星期五 15:09
+ * @Description: com.repair.model.pojo
+ * @Version: 1.0
+ */
+public class UnitTimeHelpModel {
+    private Date StartDate;
+    private Date EndDate;
+
+    public Date getStartDate() {
+        return StartDate;
+    }
+
+    public void setStartDate(Date startDate) {
+        StartDate = startDate;
+    }
+
+    public Date getEndDate() {
+        return EndDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        EndDate = endDate;
+    }
+}

+ 51 - 0
src/main/java/com/template/model/request/insertFreezeRecordRequest.java

@@ -0,0 +1,51 @@
+package com.template.model.request;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author ceshi
+ * @since 2023-12-04
+ */
+@Data
+public class insertFreezeRecordRequest {
+
+    /**
+     * 用户ID
+     */
+    @NotNull(message = "用户ID不能为空")
+    private Integer userId;
+
+    /**
+     * 冻结方式
+     * 永久冻结:0
+     * 指定时间:1
+     */
+    @NotNull(message = "冻结方式不能为空")
+    private Integer type;
+
+    /**
+     * 截止时间
+     */
+    private String deadline;
+
+    /**
+     * 冻结原因
+     */
+    @NotBlank(message = "冻结原因不能为空")
+    private String reason;
+
+}

+ 38 - 0
src/main/java/com/template/model/request/manualFreezingRequest.java

@@ -0,0 +1,38 @@
+package com.template.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/7 星期四 16:14
+ * @Description: com.template.model.request
+ * @Version: 1.0
+ */
+@Data
+public class manualFreezingRequest {
+    /**
+     * 用户ID
+     */
+    @NotNull(message = "用户ID不能为空")
+    private Integer userId;
+
+    /**
+     * 冻结方式
+     * 永久冻结:0
+     * 指定时间:1
+     */
+    @NotNull(message = "冻结方式不能为空")
+    private Integer type;
+
+    /**
+     * 截止时间
+     */
+    private String deadline;
+
+    /**
+     * 冻结原因
+     */
+    private String reason;
+}

+ 27 - 0
src/main/java/com/template/model/vo/AffiliateUserVo.java

@@ -0,0 +1,27 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/14 星期四 9:20
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class AffiliateUserVo {
+    /**
+     * 数据ID
+     */
+    private Integer id;
+
+    /**
+     * 用户名称
+     */
+    private String name;
+
+    /**
+     * 编号
+     */
+    private String cardNo;
+}

+ 28 - 0
src/main/java/com/template/model/vo/ClassSettingDateVo.java

@@ -0,0 +1,28 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+
+/**
+ * @Author: binguo
+ * @Date: 2023/7/28 星期五 15:03
+ * @Description: com.repair.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class ClassSettingDateVo {
+    /**
+     * 星期ID
+     */
+    private Integer week;
+    /**
+     * 星期名称
+     */
+    private String weekStr;
+
+    /**
+     * 日期
+     */
+    private String dateStr;
+
+}

+ 46 - 0
src/main/java/com/template/model/vo/ScreenshotRecordPageVo.java

@@ -0,0 +1,46 @@
+package com.template.model.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/4 星期一 15:57
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class ScreenshotRecordPageVo {
+    /**
+     * 数据ID
+     */
+    private Integer id;
+
+    /**
+     * 用户ID
+     */
+    private Integer userId;
+
+    /**
+     * 用户名称
+     */
+    private String userName;
+
+    /**
+     * 用户编号
+     */
+    private String cardNo;
+
+    /**
+     * 是否显示冻结按钮
+     * 不显示:0
+     * 显示:1
+     */
+    private Integer isShow;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+}

+ 56 - 0
src/main/java/com/template/model/vo/SmartFreezeRecordPageVo.java

@@ -0,0 +1,56 @@
+package com.template.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @Author: binguo
+ * @Date: 2023/12/4 星期一 15:57
+ * @Description: com.template.model.vo
+ * @Version: 1.0
+ */
+@Data
+public class SmartFreezeRecordPageVo {
+    /**
+     * 数据ID
+     */
+    private Integer id;
+
+    /**
+     * 用户编号
+     */
+    private String cardNo;
+
+    /**
+     * 用户名称
+     */
+    private String userName;
+
+    /**
+     * 用户ID
+     */
+    private Integer userId;
+
+    /**
+     * 冻结方式
+     */
+    @JsonIgnore
+    private Integer type;
+
+    /**
+     * 冻结方式
+     * 永久冻结:0
+     * 指定时间:1
+     */
+    private String typeStr;
+
+    public String getTypeStr() {
+        return type.intValue() == 0 ? "永久冻结" : "指定时间";
+    }
+
+    public void setTypeStr(String typeStr) {
+        this.typeStr = typeStr;
+    }
+}

+ 9 - 0
src/main/java/com/template/services/SmartFreezeRecordService.java

@@ -4,6 +4,9 @@ import com.template.model.pojo.SmartFreezeRecord;
 import com.template.model.pojo.SmartFreezeRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.SmartFreezeRecordPageVo;
+
+import java.util.List;
 
 /**
  * <p>
@@ -23,4 +26,10 @@ public interface SmartFreezeRecordService extends IService<SmartFreezeRecord> {
     int deleteSmartFreezeRecordById(int id);
 
     SmartFreezeRecord getSmartById(int id);
+
+    int getSmartByUserId(int userId);
+
+    List<SmartFreezeRecord> getSmartByUserIds(List<Integer> userIds);
+
+    PageUtils<SmartFreezeRecordPageVo> queryFreezeRecordPageList(int currentPage, int pageCount);
 }

+ 8 - 0
src/main/java/com/template/services/SmartScreenshotRecordService.java

@@ -1,9 +1,13 @@
 package com.template.services;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.template.model.pojo.SmartScreenshotRecord;
 import com.template.model.pojo.SmartScreenshotRecord;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.ScreenshotRecordPageVo;
+
+import java.util.List;
 
 /**
  * <p>
@@ -23,4 +27,8 @@ public interface SmartScreenshotRecordService extends IService<SmartScreenshotRe
     int deleteSmartScreenshotRecordById(int id);
 
     SmartScreenshotRecord getSmartById(int id);
+
+    PageUtils<ScreenshotRecordPageVo> queryScreenshotRecordPageList(int currentPage, int pageCount);
+
+    int querySmartScreenshotRecords(int userId);
 }

+ 2 - 0
src/main/java/com/template/services/SmartScreenshotService.java

@@ -25,4 +25,6 @@ public interface SmartScreenshotService extends IService<SmartScreenshot> {
     SmartScreenshot getSmartById(int id);
 
     SmartScreenshot getSmartByTimes(int times);
+
+    SmartScreenshot getSmartLastOneByTimes(int times);
 }

+ 6 - 0
src/main/java/com/template/services/SmartUserService.java

@@ -4,6 +4,10 @@ import com.template.model.pojo.SmartUser;
 import com.template.model.pojo.SmartUser;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.AffiliateUserVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -23,4 +27,6 @@ public interface SmartUserService extends IService<SmartUser> {
     int deleteSmartUserById(int id);
 
     SmartUser getSmartById(int id);
+
+    List<AffiliateUserVo> queryAffiliateUserById(@Param("id") Integer id);
 }

+ 29 - 0
src/main/java/com/template/services/impl/SmartFreezeRecordServiceImpl.java

@@ -8,12 +8,17 @@ import com.template.model.pojo.SmartFreezeRecord;
 import com.template.model.pojo.SmartFreezeRecord;
 import com.template.mapper.SmartFreezeRecordMapper;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.ScreenshotRecordPageVo;
+import com.template.model.vo.SmartFreezeRecordPageVo;
 import com.template.services.SmartFreezeRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -59,4 +64,28 @@ public class SmartFreezeRecordServiceImpl extends ServiceImpl<SmartFreezeRecordM
         SmartFreezeRecord result = smartFreezeRecordMapper.selectById(id);
         return result;
     }
+
+    @Override
+    public int getSmartByUserId(int userId) {
+        QueryWrapper<SmartFreezeRecord> queryWrapper = new QueryWrapper<>();
+        queryWrapper.gt(userId > 0 ,"deadline",new Date());
+        int result = smartFreezeRecordMapper.selectCount(queryWrapper);
+        return result;
+    }
+
+    @Override
+    public List<SmartFreezeRecord> getSmartByUserIds(List<Integer> userIds) {
+        QueryWrapper<SmartFreezeRecord> queryWrapper = new QueryWrapper<>();
+        queryWrapper.in(userIds.size() > 0 ,"user_id",userIds);
+        queryWrapper.gt(userIds.size() > 0 ,"deadline",new Date());
+        List<SmartFreezeRecord> result = smartFreezeRecordMapper.selectList(queryWrapper);
+        return result;
+    }
+
+    @Override
+    public PageUtils<SmartFreezeRecordPageVo> queryFreezeRecordPageList(int currentPage, int pageCount) {
+        Page<SmartFreezeRecordPageVo> page = new Page<>(currentPage, pageCount);
+        IPage<SmartFreezeRecordPageVo> result = smartFreezeRecordMapper.querySmartFreezeRecordPageList(page);
+        return new PageUtils<>(result);
+    }
 }

+ 20 - 0
src/main/java/com/template/services/impl/SmartScreenshotRecordServiceImpl.java

@@ -8,12 +8,16 @@ import com.template.model.pojo.SmartScreenshotRecord;
 import com.template.model.pojo.SmartScreenshotRecord;
 import com.template.mapper.SmartScreenshotRecordMapper;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.ScreenshotRecordPageVo;
 import com.template.services.SmartScreenshotRecordService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -59,4 +63,20 @@ public class SmartScreenshotRecordServiceImpl extends ServiceImpl<SmartScreensho
         SmartScreenshotRecord result = smartScreenshotRecordMapper.selectById(id);
         return result;
     }
+
+    @Override
+    public PageUtils<ScreenshotRecordPageVo> queryScreenshotRecordPageList(int currentPage, int pageCount) {
+        Page<ScreenshotRecordPageVo> page = new Page<>(currentPage, pageCount);
+        IPage<ScreenshotRecordPageVo> result = smartScreenshotRecordMapper.queryScreenshotRecordPageList(page);
+        return new PageUtils<>(result);
+    }
+
+    @Override
+    public int querySmartScreenshotRecords(int userId) {
+        QueryWrapper<SmartScreenshotRecord> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(userId > 0, "user_id", userId);
+        queryWrapper.eq("is_freeze", 0);
+        Integer count = smartScreenshotRecordMapper.selectCount(queryWrapper);
+        return count;
+    }
 }

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

@@ -1,9 +1,11 @@
 package com.template.services.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.mapper.SmartScreenshotMapper;
+import com.template.model.pojo.SmartSchool;
 import com.template.model.pojo.SmartScreenshot;
 import com.template.mapper.SmartScreenshotMapper;
 import com.template.model.pojo.SmartScreenshot;
@@ -67,4 +69,14 @@ public class SmartScreenshotServiceImpl extends ServiceImpl<SmartScreenshotMappe
         SmartScreenshot result = smartScreenshotMapper.selectOne(queryWrapper);
         return result;
     }
+
+    @Override
+    public SmartScreenshot getSmartLastOneByTimes(int times) {
+        SmartScreenshot result = this.getOne(new LambdaQueryWrapper<SmartScreenshot>()
+                .gt(times > 0 ,SmartScreenshot::getScreenshotNum, times)
+                .orderBy(true, false, SmartScreenshot::getScreenshotNum)
+                .last("limit 1")
+        );
+        return result;
+    }
 }

+ 9 - 0
src/main/java/com/template/services/impl/SmartUserServiceImpl.java

@@ -8,12 +8,15 @@ import com.template.model.pojo.SmartUser;
 import com.template.model.pojo.SmartUser;
 import com.template.mapper.SmartUserMapper;
 import com.template.model.result.PageUtils;
+import com.template.model.vo.AffiliateUserVo;
 import com.template.services.SmartUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -59,4 +62,10 @@ public class SmartUserServiceImpl extends ServiceImpl<SmartUserMapper, SmartUser
         SmartUser result = smartUserMapper.selectById(id);
         return result;
     }
+
+    @Override
+    public List<AffiliateUserVo> queryAffiliateUserById(Integer id) {
+        List<AffiliateUserVo> result = smartUserMapper.queryAffiliateUserById(id);
+        return result;
+    }
 }

+ 2 - 2
src/main/resources/application-dev.yml

@@ -8,8 +8,8 @@ spring:
     allow-circular-references: true
   datasource:
     username: root
-    password: Ro0!ot_369!
-    url: jdbc:mysql://192.168.1.34:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
+    password: Chuanghai2023.
+    url: jdbc:mysql://111.231.169.217:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
     driver-class-name: com.mysql.cj.jdbc.Driver
     cache:
       type: redis

+ 2 - 2
src/main/resources/application-prod.yml

@@ -8,8 +8,8 @@ spring:
     allow-circular-references: true
   datasource:
     username: root
-    password: Ro0!ot_369!
-    url: jdbc:mysql://192.168.1.34:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
+    password: Chuanghai2023.
+    url: jdbc:mysql://111.231.169.217:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
     driver-class-name: com.mysql.cj.jdbc.Driver
     cache:
       type: redis

+ 2 - 2
src/main/resources/application.yml

@@ -10,8 +10,8 @@ spring:
     allow-circular-references: true
   datasource:
     username: root
-    password: Ro0!ot_369!
-    url: jdbc:mysql://192.168.1.34:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
+    password: Chuanghai2023.
+    url: jdbc:mysql://111.231.169.217:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
     driver-class-name: com.mysql.cj.jdbc.Driver
     cache:
       type: redis

+ 15 - 0
src/main/resources/mapper/template/SmartFreezeRecordMapper.xml

@@ -1,5 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.SmartFreezeRecordMapper">
+    <resultMap type="com.template.model.vo.SmartFreezeRecordPageVo" id="smartFreezeRecordPageMap">
+        <result property="id" column="id"/>
+        <result property="userId" column="user_id"/>
+        <result property="userName" column="user_name"/>
+        <result property="cardNo" column="card_no"/>
+        <result property="type" column="type"/>
+    </resultMap>
+
+    <select id="querySmartFreezeRecordPageList" resultType="com.template.model.vo.SmartFreezeRecordPageVo" resultMap="smartFreezeRecordPageMap">
+        select sfr.id,su.card_no,su.name as user_name,sfr.user_id,sfr.type from smart_freeze_record sfr
+        left join smart_user su on su.deleted = 0 and su.id = sfr.user_id
+        where sfr.deleted = 0
+        order by sfr.create_time desc
+    </select>
+
 
 </mapper>

+ 13 - 0
src/main/resources/mapper/template/SmartScreenshotRecordMapper.xml

@@ -1,5 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.SmartScreenshotRecordMapper">
+    <resultMap type="com.template.model.vo.ScreenshotRecordPageVo" id="screenshotRecordPageMap">
+        <result property="id" column="id"/>
+        <result property="userId" column="user_id"/>
+        <result property="userName" column="user_name"/>
+        <result property="cardNo" column="card_no"/>
+        <result property="createTime" column="create_time"/>
+    </resultMap>
 
+    <select id="queryScreenshotRecordPageList" resultType="com.template.model.vo.ScreenshotRecordPageVo" resultMap="screenshotRecordPageMap">
+        select ssr.id,ssr.user_id,su.name as user_name,su.card_no,ssr.create_time from smart_screenshot_record ssr
+        left join smart_user su on su.deleted = 0 and su.id = ssr.user_id
+        where ssr.deleted = 0
+        order by ssr.create_time desc
+    </select>
 </mapper>

+ 4 - 0
src/main/resources/mapper/template/SmartVisitorMapper.xml

@@ -2,4 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.SmartVisitorMapper">
 
+
+
+
+
 </mapper>

+ 15 - 1
src/main/resources/mapper/template/SystemUserMapper.xml

@@ -1,5 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.template.mapper.SystemUserMapper">
+<mapper namespace="com.template.mapper.SmartUserMapper">
+    <resultMap type="com.template.model.vo.AffiliateUserVo" id="affiliateUserMap">
+        <result property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="cardNo" column="card_no"/>
+    </resultMap>
 
+    <select id="queryAffiliateUserById" resultType="com.template.model.vo.AffiliateUserVo" resultMap="affiliateUserMap">
+        select id,name,card_no from smart_user
+        where find_in_set(id,(select affiliate from smart_user where
+        deleted = 0
+        <if test="id != null and id != ''">
+            and id = #{id}
+        </if>
+        )) and deleted = 0
+    </select>
 </mapper>

BIN
target/classes/META-INF/mybatis_plus.kotlin_module


+ 2 - 2
target/classes/application-dev.yml

@@ -8,8 +8,8 @@ spring:
     allow-circular-references: true
   datasource:
     username: root
-    password: Ro0!ot_369!
-    url: jdbc:mysql://192.168.1.34:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
+    password: Chuanghai2023.
+    url: jdbc:mysql://111.231.169.217:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
     driver-class-name: com.mysql.cj.jdbc.Driver
     cache:
       type: redis

+ 2 - 2
target/classes/application-prod.yml

@@ -8,8 +8,8 @@ spring:
     allow-circular-references: true
   datasource:
     username: root
-    password: Ro0!ot_369!
-    url: jdbc:mysql://192.168.1.34:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
+    password: Chuanghai2023.
+    url: jdbc:mysql://111.231.169.217:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
     driver-class-name: com.mysql.cj.jdbc.Driver
     cache:
       type: redis

+ 2 - 2
target/classes/application.yml

@@ -10,8 +10,8 @@ spring:
     allow-circular-references: true
   datasource:
     username: root
-    password: Ro0!ot_369!
-    url: jdbc:mysql://192.168.1.34:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
+    password: Chuanghai2023.
+    url: jdbc:mysql://111.231.169.217:3306/smart_middle?useUnicode=tru&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true&allowPublicKeyRetrieval=true&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai
     driver-class-name: com.mysql.cj.jdbc.Driver
     cache:
       type: redis

+ 15 - 0
target/classes/mapper/template/SmartFreezeRecordMapper.xml

@@ -1,5 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.SmartFreezeRecordMapper">
+    <resultMap type="com.template.model.vo.SmartFreezeRecordPageVo" id="smartFreezeRecordPageMap">
+        <result property="id" column="id"/>
+        <result property="userId" column="user_id"/>
+        <result property="userName" column="user_name"/>
+        <result property="cardNo" column="card_no"/>
+        <result property="type" column="type"/>
+    </resultMap>
+
+    <select id="querySmartFreezeRecordPageList" resultType="com.template.model.vo.SmartFreezeRecordPageVo" resultMap="smartFreezeRecordPageMap">
+        select sfr.id,su.card_no,su.name as user_name,sfr.user_id,sfr.type from smart_freeze_record sfr
+        left join smart_user su on su.deleted = 0 and su.id = sfr.user_id
+        where sfr.deleted = 0
+        order by sfr.create_time desc
+    </select>
+
 
 </mapper>

+ 13 - 0
target/classes/mapper/template/SmartScreenshotRecordMapper.xml

@@ -1,5 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.SmartScreenshotRecordMapper">
+    <resultMap type="com.template.model.vo.ScreenshotRecordPageVo" id="screenshotRecordPageMap">
+        <result property="id" column="id"/>
+        <result property="userId" column="user_id"/>
+        <result property="userName" column="user_name"/>
+        <result property="cardNo" column="card_no"/>
+        <result property="createTime" column="create_time"/>
+    </resultMap>
 
+    <select id="queryScreenshotRecordPageList" resultType="com.template.model.vo.ScreenshotRecordPageVo" resultMap="screenshotRecordPageMap">
+        select ssr.id,ssr.user_id,su.name as user_name,su.card_no,ssr.create_time from smart_screenshot_record ssr
+        left join smart_user su on su.deleted = 0 and su.id = ssr.user_id
+        where ssr.deleted = 0
+        order by ssr.create_time desc
+    </select>
 </mapper>

+ 4 - 0
target/classes/mapper/template/SmartVisitorMapper.xml

@@ -2,4 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.template.mapper.SmartVisitorMapper">
 
+
+
+
+
 </mapper>

+ 15 - 1
target/classes/mapper/template/SystemUserMapper.xml

@@ -1,5 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.template.mapper.SystemUserMapper">
+<mapper namespace="com.template.mapper.SmartUserMapper">
+    <resultMap type="com.template.model.vo.AffiliateUserVo" id="affiliateUserMap">
+        <result property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="cardNo" column="card_no"/>
+    </resultMap>
 
+    <select id="queryAffiliateUserById" resultType="com.template.model.vo.AffiliateUserVo" resultMap="affiliateUserMap">
+        select id,name,card_no from smart_user
+        where find_in_set(id,(select affiliate from smart_user where
+        deleted = 0
+        <if test="id != null and id != ''">
+            and id = #{id}
+        </if>
+        )) and deleted = 0
+    </select>
 </mapper>

+ 16 - 0
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -8,8 +8,10 @@ com\template\services\impl\SmartDepartmentServiceImpl.class
 com\template\controller\RepairAdminController.class
 com\template\model\vo\SystemMenuVo.class
 com\template\mapper\RepairAdminMapper.class
+com\template\model\request\insertFreezeRecordRequest.class
 com\template\controller\SendController.class
 com\template\services\SmartDataClassService.class
+com\template\model\request\manualFreezingRequest.class
 com\template\controller\SmartMeterController.class
 com\template\services\SmartAuthorityService.class
 com\template\controller\SmartDataClassController.class
@@ -23,6 +25,7 @@ com\template\model\result\PageUtils.class
 com\template\mapper\SmartSchoolMapper.class
 com\template\model\pojo\SmartUser.class
 com\template\config\smsConfig.class
+com\template\common\utils\TimeExchange$1.class
 com\template\api\SmartDepartmentControllerAPI.class
 com\template\services\SmartScreenshotRecordService.class
 com\template\model\vo\ApplyVo.class
@@ -49,8 +52,10 @@ com\template\aop\LoginCheckAspect.class
 com\template\model\pojo\SystemUser.class
 com\template\mapper\SystemUserMapper.class
 com\template\services\RepairAdminService.class
+com\template\model\vo\ScreenshotRecordPageVo.class
 com\template\common\utils\SendSms.class
 com\template\api\SendControllerAPI.class
+com\template\model\vo\AffiliateUserVo.class
 com\template\services\impl\SmartApplyServiceImpl.class
 com\template\controller\SmartFreezeRecordController.class
 com\template\services\impl\SmartScreenshotServiceImpl.class
@@ -71,14 +76,17 @@ com\template\mapper\SmartBuildMapper.class
 com\template\api\SmartWarningControllerAPI.class
 com\template\common\utils\CommonUtil.class
 com\template\api\SystemMenuControllerAPI.class
+com\template\model\request\updateScreenshotRequest.class
 com\template\controller\SmartUserController.class
 com\template\mapper\SmartScreenshotMapper.class
+com\template\model\enumModel\ePunish.class
 com\template\controller\SmartSchoolController.class
 com\template\model\pojo\SmartMeterDetail.class
 com\template\controller\SmartApplyController.class
 com\template\mapper\SmartDepartmentMapper.class
 com\template\mapper\SmartVisitorMapper.class
 com\template\model\pojo\SmartVisitor.class
+com\template\model\vo\SmartEnumVo.class
 com\template\model\request\loginRequest.class
 com\template\model\pojo\SmsCode.class
 com\template\api\SmartAuthorityControllerAPI.class
@@ -90,6 +98,7 @@ com\template\mapper\SmartScreenshotRecordMapper.class
 com\template\api\SmartDataClassControllerAPI.class
 com\template\services\SmartWarningService.class
 com\template\mapper\SmartBuildMeterMapper.class
+com\template\model\vo\SmartFreezeRecordPageVo.class
 com\template\common\utils\EncryptionUtil.class
 com\template\model\pojo\SmartBuild.class
 com\template\services\impl\SmartMeterServiceImpl.class
@@ -116,6 +125,7 @@ com\template\common\exception\EmsException.class
 com\template\controller\ExcelController.class
 com\template\services\impl\SmartMeterDetailServiceImpl.class
 com\template\core\JwtlnterceptorConfig.class
+com\template\model\request\insertScreenshotRequest.class
 com\template\services\impl\SmartSchoolServiceImpl.class
 com\template\services\SmartDataSourceLogService.class
 com\template\common\utils\ValidateCode.class
@@ -125,9 +135,13 @@ com\template\controller\SmartBuildController.class
 com\template\model\pojo\SmartDataSourceLog.class
 com\template\services\SmartAuthorGroupService.class
 com\template\services\SmartSchoolService.class
+com\template\model\pojo\UnitTimeHelpModel.class
 com\template\controller\SmartMeterDetailController.class
 com\template\core\CORSConfiguration$1.class
 com\template\annotation\ControllerIsShow.class
+com\template\model\vo\ClassSettingDateVo.class
+com\template\model\request\UpdateSmartSchoolRequest.class
+com\template\model\enumModel\eFreezeRecord.class
 com\template\model\pojo\SmartAuthority.class
 com\template\services\SmartMeterDetailService.class
 com\template\model\enumModel\eIsSuper.class
@@ -138,6 +152,7 @@ com\template\api\SmartSchoolControllerAPI.class
 com\template\mapper\SmartIdentityMapper.class
 com\template\model\pojo\SystemRole.class
 com\template\model\request\freezeRepairAdminRequest.class
+com\template\common\utils\TimeExchange.class
 com\template\model\pojo\SmartMeter.class
 com\template\api\SmartMeterControllerAPI.class
 com\template\services\impl\SmartDataSourceServiceImpl.class
@@ -174,6 +189,7 @@ com\template\model\request\updateRepairAdminRequest.class
 com\template\services\impl\SmartIdentityServiceImpl.class
 com\template\services\SystemMenuService.class
 com\template\api\SmartBuildControllerAPI.class
+com\template\model\enumModel\eWeekStatu.class
 com\template\api\SmartApplyControllerAPI.class
 com\template\api\RepairAdminControllerAPI.class
 com\template\model\enumModel\eStatu.class

+ 93 - 78
target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,3 +1,87 @@
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartScreenshotRecordControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\handle\NonStaticResourceHttpRequestHandler.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartScreenshot.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartMeterServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDataClass.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartVisitorService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataSourceLogControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\MyCustomException.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\ExcelController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartAuthority.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataSourceController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\ScreenshotRecordPageVo.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\AutoCode.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\ExcelControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartAuthorityControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartIdentityService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartBuildMeterControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemMenu.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SendControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemUser.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartScreenshotRecordMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartWarningController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartScreenshotControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartAuthorGroupServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SmartEnumVo.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartSchool.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\MybatisPlusApplication.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartMeterControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartBuildMeterMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SystemMenuMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataSourceLogServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\TimeExchange.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemRole.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartBuildMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartMeterDetailServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataSourceControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartMeterService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataSourceMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartScreenshotController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartBuild.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SystemMenuService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataClassController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\RepairAdminMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartIdentityControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\ValidateCode.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\AesUtils.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\paramUtils.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\LogInfoController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDepartmentService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertScreenshotRequest.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartWarningControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartVisitorController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartScreenshotRecordService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartMeterDetailService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartApply.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SystemMenuControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SystemMenuServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartWarningMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartApplyController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartBuildController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\result\PageUtils.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartIdentityMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartFreezeRecordService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\smsUtil.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SendController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmsCode.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDepartmentMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataSourceLogController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartApplyControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eIsSuper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDepartment.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\MySecurity.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eFreezeRecord.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\JWTUtil.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\RepairAdminController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SystemMenuTreeVo.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\RSAUtils.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartScreenshotService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartAuthorityController.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartSchoolMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataClassServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\RepairAdmin.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\ClassSettingDateVo.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartScreenshotServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDataSourceLog.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmsCodeService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartMeterDetailMapper.java
@@ -5,157 +89,96 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartScreenshotRecord.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\RepairAdminService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDepartmentServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartScreenshotRecordControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\RepairAdminServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartVisitorControllerAPI.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\handle\NonStaticResourceHttpRequestHandler.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartScreenshot.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartMeterServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\annotation\UserLoginCheck.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDataClass.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\LogInfoControllerAPI.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartVisitorService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataSourceLogControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartApplyService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\MyCustomException.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertFreezeRecordRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartUserMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartFreezeRecordControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\result\Code.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\ExcelController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartScreenshotRecordController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmsCodeServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\ePunish.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartBuildServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartAuthority.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartBuildMeterServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataSourceController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\EmsException.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataSourceService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\AutoCode.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\ExcelControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\CommonUtil.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartBuildMeter.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartBuildService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartAuthorityService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartFreezeRecordMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartAuthorityControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartAuthorGroup.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataClassControllerAPI.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartIdentityService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\result\BaseResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartBuildMeterController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartBuildMeterControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\changePasswordRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartApplyServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartMeterDetailControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartAuthorityServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartApplyMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemMenu.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SendControllerAPI.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemUser.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\JwtlnterceptorConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\queryAccountPageRequest.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartScreenshotRecordMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartWarningController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartWarningService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartScreenshotControllerAPI.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartAuthorGroupServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartSchool.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\MybatisPlusApplication.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\insertIdentityRequest.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartMeterControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartIdentityServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\smsConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartAuthorityMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartBuildMeterMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SystemMenuMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmsCodeMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartMeter.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartVisitorMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataSourceLogServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SystemRole.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataSourceLogService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartBuildMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartMeterDetailServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateIdentityRequest.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDataSourceControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\handler\MyMetaObjectHandler.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartMeterService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartUserService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\EncryptionUtil.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataSourceMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\loginRequest.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartScreenshotController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\result\CommonResult.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\ApplyVo.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartBuild.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SystemMenuService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\exception\EmsExceptionHandler.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\MyBatisPlusConfig.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\aop\LoginCheckAspect.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartWarningServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataClassController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\RepairAdminControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SystemMenuVo.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\RepairAdminMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartSchoolController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartIdentityControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartIdentity.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\LoginVO.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\ValidateCode.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\AesUtils.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\paramUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\LoginController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\LogInfoController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\JwtAuthenticationInterceptor.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDepartmentService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\LoginControllerAPI.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\UpdateSmartSchoolRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SystemUserService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmsCodeControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartSchoolServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartScreenshotRecordServiceImpl.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\AffiliateUserVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartDepartmentControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartSchoolService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartWarningControllerAPI.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartVisitorController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartScreenshotRecordService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartMeterDetailService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartApply.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SmartFreezeRecordPageVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartDataClassService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SystemMenuControllerAPI.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SystemMenuServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartMeterMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartBuildControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartFreezeRecordServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartMeterDetailController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartWarningMapper.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\manualFreezingRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataClassMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartSchoolControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\annotation\ControllerIsShow.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartApplyController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartScreenshotMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartBuildController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\SwaggerConfiguration.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\UnitTimeHelpModel.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SystemMenuController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eStatu.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\result\PageUtils.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateScreenshotRequest.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartVisitorServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartIdentityMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartFreezeRecordService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\smsUtil.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartIdentityController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SendController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartAuthorGroupController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmsCode.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\freezeRepairAdminRequest.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDepartmentMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDataSourceLogController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartApplyControllerAPI.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eIsSuper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartDepartment.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SystemUserServiceImpl.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\config\MySecurity.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartFreezeRecordController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\JWTUtil.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartUserControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartVisitor.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartAuthorGroupMapper.java
@@ -163,28 +186,20 @@ D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\templa
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartAuthorGroupService.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\api\SmartAuthorGroupControllerAPI.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\annotation\PassToken.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\RepairAdminController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartMeterController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\vo\SystemMenuTreeVo.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartBuildMeterService.java
+D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\enumModel\eWeekStatu.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\core\CORSConfiguration.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\utils\RSAUtils.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartUserController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataSourceServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartDataSourceLogMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmsCodeController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartUser.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\SmartScreenshotService.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartAuthorityController.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SmartSchoolMapper.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartMeterDetail.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\mapper\SystemUserMapper.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartDataClassServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\common\result\ResponseStatusEnum.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartFreezeRecord.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\RepairAdmin.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\controller\SmartDepartmentController.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\pojo\SmartWarning.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\model\request\updateRepairAdminRequest.java
-D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartScreenshotServiceImpl.java
 D:\Bingo\Desktop\工作内容\万载三中\backend_code\src\main\java\com\template\services\impl\SmartUserServiceImpl.java

BIN
target/mybatis_plus-0.0.1-SNAPSHOT.jar.original


BIN
框架代码说明文档/~$生成代码说明.docx