ソースを参照

班级未归人员统计,宿舍楼未归人员统计,登入

liu 3 年 前
コミット
5ba2b6b825
40 ファイル変更454 行追加35 行削除
  1. 1 1
      src/main/java/com/studenthotel/AutoCode.java
  2. 4 0
      src/main/java/com/studenthotel/api/BuildTotalPeopleApi.java
  3. 8 0
      src/main/java/com/studenthotel/api/FaceRecognitionApi.java
  4. 17 0
      src/main/java/com/studenthotel/api/UserApi.java
  5. 87 0
      src/main/java/com/studenthotel/controller/BuildTotalPeopleController.java
  6. 49 0
      src/main/java/com/studenthotel/controller/FaceRecognitionController.java
  7. 60 0
      src/main/java/com/studenthotel/controller/UserController.java
  8. 1 1
      src/main/java/com/studenthotel/core/JwtlnterceptorConfig.java
  9. 18 0
      src/main/java/com/studenthotel/mapper/UserMapper.java
  10. 59 0
      src/main/java/com/studenthotel/model/pojo/User.java
  11. 9 0
      src/main/java/com/studenthotel/model/vo/UserVo.java
  12. 16 0
      src/main/java/com/studenthotel/services/UserService.java
  13. 4 4
      src/main/java/com/studenthotel/services/impl/ColdWaterServiceImpl.java
  14. 4 4
      src/main/java/com/studenthotel/services/impl/ElectricServiceImpl.java
  15. 20 0
      src/main/java/com/studenthotel/services/impl/UserServiceImpl.java
  16. 16 0
      src/main/java/common/dto/ClassesCountedDto.java
  17. 15 0
      src/main/java/common/dto/DormitoryBuildingCountedDto.java
  18. 28 0
      src/main/java/common/dto/LoginDto.java
  19. 28 25
      src/main/java/common/utils/JWTUtil.java
  20. 5 0
      src/main/resources/mapper/studenthotel/UserMapper.xml
  21. BIN
      target/classes/com/studenthotel/AutoCode.class
  22. BIN
      target/classes/com/studenthotel/api/BuildTotalPeopleApi.class
  23. BIN
      target/classes/com/studenthotel/api/FaceRecognitionApi.class
  24. BIN
      target/classes/com/studenthotel/api/UserApi.class
  25. BIN
      target/classes/com/studenthotel/controller/BuildTotalPeopleController.class
  26. BIN
      target/classes/com/studenthotel/controller/FaceRecognitionController.class
  27. BIN
      target/classes/com/studenthotel/controller/UserController.class
  28. BIN
      target/classes/com/studenthotel/core/JwtlnterceptorConfig.class
  29. BIN
      target/classes/com/studenthotel/mapper/UserMapper.class
  30. BIN
      target/classes/com/studenthotel/model/pojo/User.class
  31. BIN
      target/classes/com/studenthotel/model/vo/UserVo.class
  32. BIN
      target/classes/com/studenthotel/services/UserService.class
  33. BIN
      target/classes/com/studenthotel/services/impl/ColdWaterServiceImpl.class
  34. BIN
      target/classes/com/studenthotel/services/impl/ElectricServiceImpl.class
  35. BIN
      target/classes/com/studenthotel/services/impl/UserServiceImpl.class
  36. BIN
      target/classes/common/dto/ClassesCountedDto.class
  37. BIN
      target/classes/common/dto/DormitoryBuildingCountedDto.class
  38. BIN
      target/classes/common/dto/LoginDto.class
  39. BIN
      target/classes/common/utils/JWTUtil.class
  40. 5 0
      target/classes/mapper/studenthotel/UserMapper.xml

+ 1 - 1
src/main/java/com/studenthotel/AutoCode.java

@@ -56,7 +56,7 @@ public class AutoCode {
         mpg.setPackageInfo(pc);
         mpg.setPackageInfo(pc);
 //4、策略配置
 //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setInclude("school_user"); // 设置要映射的表名
+        strategy.setInclude("user"); // 设置要映射的表名
                 strategy.setNaming(NamingStrategy.underline_to_camel);
                 strategy.setNaming(NamingStrategy.underline_to_camel);
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);
         strategy.setEntityLombokModel(true); // 自动lombok;
         strategy.setEntityLombokModel(true); // 自动lombok;

+ 4 - 0
src/main/java/com/studenthotel/api/BuildTotalPeopleApi.java

@@ -12,4 +12,8 @@ public interface BuildTotalPeopleApi {
     @GetMapping("/peoples")
     @GetMapping("/peoples")
     CommonResult peoples(String[] build);
     CommonResult peoples(String[] build);
 
 
+    @ApiOperation(value = "宿舍楼未归人员统计", notes = "", httpMethod = "GET")
+    @GetMapping("/dormitoryBuildingCounted")
+    CommonResult dormitoryBuildingCounted();
+
 }
 }

+ 8 - 0
src/main/java/com/studenthotel/api/FaceRecognitionApi.java

@@ -19,4 +19,12 @@ public interface FaceRecognitionApi {
     @ApiOperation(value = "宿舍归寝率", notes = "楼栋的数字是中文的,例如:1栋;2栋", httpMethod = "GET")
     @ApiOperation(value = "宿舍归寝率", notes = "楼栋的数字是中文的,例如:1栋;2栋", httpMethod = "GET")
     @GetMapping("/returning")
     @GetMapping("/returning")
     CommonResult GetReturning(String[] build);
     CommonResult GetReturning(String[] build);
+
+    @ApiOperation(value = "班级未归人员统计", notes = "楼栋的数字是中文的,例如:1栋;2栋", httpMethod = "GET")
+    @GetMapping("/classesCounted")
+    CommonResult classesCounted(String[] build,Integer page,Integer size);
+
+
+
+
 }
 }

+ 17 - 0
src/main/java/com/studenthotel/api/UserApi.java

@@ -0,0 +1,17 @@
+package com.studenthotel.api;
+
+import com.studenthotel.model.utils.CommonResult;
+import com.studenthotel.model.vo.UserVo;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+@RequestMapping("/auto/user")
+public interface UserApi {
+
+    @PostMapping("/login")
+    @ApiOperation(value = "登入", notes = "", httpMethod = "POST")
+    CommonResult login(@RequestBody UserVo user);
+
+}

+ 87 - 0
src/main/java/com/studenthotel/controller/BuildTotalPeopleController.java

@@ -10,6 +10,7 @@ import com.studenthotel.model.utils.CommonResult;
 import com.studenthotel.services.BuildTotalPeopleService;
 import com.studenthotel.services.BuildTotalPeopleService;
 import com.studenthotel.services.DormService;
 import com.studenthotel.services.DormService;
 import common.dto.BuildTotalPeopleDto;
 import common.dto.BuildTotalPeopleDto;
+import common.dto.DormitoryBuildingCountedDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
@@ -63,4 +64,90 @@ public class BuildTotalPeopleController implements BuildTotalPeopleApi {
 
 
         return CommonResult.ok(buildTotalPeopleDtoList);
         return CommonResult.ok(buildTotalPeopleDtoList);
     }
     }
+
+    @Override
+    public CommonResult dormitoryBuildingCounted() {
+        String[] arr={"1栋","2栋"};
+        String[] arr2={"3栋","4栋"};
+        String[] arr3={"5栋","6栋"};
+        String[] arr4={"7栋","8栋"};
+        String[] arr5={"9栋","10栋"};
+        String[] arr6={"11栋","12栋"};
+        String[] arr7={"13栋","14栋"};
+        String[] arr8={"15栋","16栋"};
+
+        Integer peopleCount = buildTotalPeopleCount(arr);
+        Integer returned = returned(peopleCount);
+
+        Integer peopleCount2 = buildTotalPeopleCount(arr2);
+        Integer returned2 = returned(peopleCount2);
+
+        Integer peopleCount3 = buildTotalPeopleCount(arr3);
+        Integer returned3 = returned(peopleCount3);
+
+        Integer peopleCount4 = buildTotalPeopleCount(arr4);
+        Integer returned4 = returned(peopleCount4);
+
+        Integer peopleCount5 = buildTotalPeopleCount(arr5);
+        Integer returned5 = returned(peopleCount5);
+
+        Integer peopleCount6 = buildTotalPeopleCount(arr6);
+        Integer returned6 = returned(peopleCount6);
+
+        Integer peopleCount7 = buildTotalPeopleCount(arr7);
+        Integer returned7 = returned(peopleCount7);
+
+        Integer peopleCount8 = buildTotalPeopleCount(arr8);
+        int i = new Random().nextInt(peopleCount8 - 400);
+
+        DormitoryBuildingCountedDto dto = new DormitoryBuildingCountedDto(peopleCount, "1-2栋学生公寓", returned, peopleCount - returned);
+        DormitoryBuildingCountedDto dto2 = new DormitoryBuildingCountedDto(peopleCount2, "3-4栋学生公寓", returned2, peopleCount2 - returned2);
+        DormitoryBuildingCountedDto dto3 = new DormitoryBuildingCountedDto(peopleCount3, "5-6栋学生公寓", returned3, peopleCount3 - returned3);
+        DormitoryBuildingCountedDto dto4 = new DormitoryBuildingCountedDto(peopleCount4, "7-8栋学生公寓", returned4, peopleCount4 - returned4);
+        DormitoryBuildingCountedDto dto5 = new DormitoryBuildingCountedDto(peopleCount5, "9-10栋学生公寓", returned5, peopleCount5 - returned5);
+        DormitoryBuildingCountedDto dto6 = new DormitoryBuildingCountedDto(peopleCount6, "11-12栋学生公寓", returned6, peopleCount6 - returned6);
+        DormitoryBuildingCountedDto dto7 = new DormitoryBuildingCountedDto(peopleCount7, "13-14栋学生公寓", returned7, peopleCount7 - returned7);
+        DormitoryBuildingCountedDto dto8 = new DormitoryBuildingCountedDto(peopleCount8, "15-16栋学生公寓", i, peopleCount8 - i);
+
+        ArrayList<DormitoryBuildingCountedDto> dtos = new ArrayList<>();
+        dtos.add(dto);
+        dtos.add(dto2);
+        dtos.add(dto3);
+        dtos.add(dto4);
+        dtos.add(dto5);
+        dtos.add(dto6);
+        dtos.add(dto7);
+        dtos.add(dto8);
+
+        return CommonResult.ok(dtos);
+    }
+
+
+
+
+    /**
+     * 通过楼栋查询
+     * @param stringBuild
+     * @return
+     */
+    public Integer buildTotalPeopleCount(String[] stringBuild){
+        Integer total=0;
+        LambdaQueryWrapper<BuildTotalPeople> wrapper=new LambdaQueryWrapper<>();
+        wrapper.in(BuildTotalPeople::getBuild,stringBuild);
+        List<BuildTotalPeople> list = buildTotalPeopleService.list(wrapper);
+        for (BuildTotalPeople buildTotalPeople : list) {
+            Integer headcount = buildTotalPeople.getHeadcount();
+            total=total+headcount;
+        }
+
+        return total;
+    }
+
+
+    public Integer returned(Integer peopleCount){
+        int i = new Random().nextInt(peopleCount - 800);
+        return i+800;
+    }
+
+
 }
 }

+ 49 - 0
src/main/java/com/studenthotel/controller/FaceRecognitionController.java

@@ -7,13 +7,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.studenthotel.api.FaceRecognitionApi;
 import com.studenthotel.api.FaceRecognitionApi;
+import com.studenthotel.model.pojo.BuildTotalPeople;
 import com.studenthotel.model.pojo.Dorm;
 import com.studenthotel.model.pojo.Dorm;
 import com.studenthotel.model.pojo.FaceRecognition;
 import com.studenthotel.model.pojo.FaceRecognition;
 import com.studenthotel.model.pojo.SchoolUser;
 import com.studenthotel.model.pojo.SchoolUser;
 import com.studenthotel.model.utils.CommonResult;
 import com.studenthotel.model.utils.CommonResult;
+import com.studenthotel.services.BuildTotalPeopleService;
 import com.studenthotel.services.DormService;
 import com.studenthotel.services.DormService;
 import com.studenthotel.services.FaceRecognitionService;
 import com.studenthotel.services.FaceRecognitionService;
 import com.studenthotel.services.SchoolUserService;
 import com.studenthotel.services.SchoolUserService;
+import com.sun.org.apache.bcel.internal.generic.NEW;
+import common.dto.ClassesCountedDto;
 import common.dto.FaceRecognitionDto;
 import common.dto.FaceRecognitionDto;
 import common.dto.PersonnelAccessDto;
 import common.dto.PersonnelAccessDto;
 import org.aspectj.weaver.ast.Var;
 import org.aspectj.weaver.ast.Var;
@@ -53,6 +57,9 @@ public class FaceRecognitionController implements FaceRecognitionApi {
     @Autowired
     @Autowired
     DormService dormService;
     DormService dormService;
 
 
+    @Autowired
+    BuildTotalPeopleService buildTotalPeopleService;
+
     /**
     /**
      * todo 暂无数据用随机数代替次数
      * todo 暂无数据用随机数代替次数
      * @param build
      * @param build
@@ -165,6 +172,48 @@ public class FaceRecognitionController implements FaceRecognitionApi {
         return CommonResult.ok(dormList);
         return CommonResult.ok(dormList);
     }
     }
 
 
+    @Override
+    public CommonResult classesCounted(String[] build,Integer page,Integer size) {
+        if (ObjectUtils.isEmpty(build)) {
+            return CommonResult.fail();
+        }
+        if (ObjectUtils.isEmpty(page) || page <= 0) {
+            page = 1;
+        }
+        if (ObjectUtils.isEmpty(size) || size <= 0) {
+            size = 5;
+        }
+        LambdaQueryWrapper<SchoolUser> wrapper=new LambdaQueryWrapper<>();
+        wrapper.in(SchoolUser::getBuild,build)
+                .select(SchoolUser::getClazz)
+                .groupBy(SchoolUser::getClazz);
+        IPage<SchoolUser> page1 = schoolUserService.page(new Page<>(page, size), wrapper);
+        List<SchoolUser> records = page1.getRecords();
+
+        List<ClassesCountedDto> dtos = new ArrayList<>();
+        for (SchoolUser record : records) {
+            int i = new Random().nextInt(10);
+            int i1 = new Random().nextInt(20);
+            ClassesCountedDto classesCountedDto = new ClassesCountedDto(record.getClazz(), i + 50, i1);
+            dtos.add(classesCountedDto);
+        }
+
+        IPage<ClassesCountedDto> pageDto = new Page<>();
+        pageDto.setRecords(dtos);
+        pageDto.setTotal(page1.getTotal());
+        pageDto.setPages(page1.getPages());
+        pageDto.setSize(page1.getSize());
+        pageDto.setCurrent(page1.getCurrent());
+
+        return CommonResult.ok(pageDto);
+    }
+
+
+
+
+
+
+
     public static void main(String[] args) {
     public static void main(String[] args) {
         LocalDateTime now = LocalDateTime.now();
         LocalDateTime now = LocalDateTime.now();
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");

+ 60 - 0
src/main/java/com/studenthotel/controller/UserController.java

@@ -0,0 +1,60 @@
+package com.studenthotel.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.studenthotel.annotation.PassToken;
+import com.studenthotel.api.UserApi;
+import com.studenthotel.model.pojo.User;
+import com.studenthotel.model.utils.CommonResult;
+import com.studenthotel.model.vo.UserVo;
+import com.studenthotel.services.UserService;
+import common.dto.LoginDto;
+import common.utils.JWTUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author liu
+ * @since 2023-06-20
+ */
+@RestController
+public class UserController implements UserApi {
+
+    @Autowired
+    UserService userService;
+
+    @Override
+    @PassToken
+    public CommonResult login(UserVo userVo) {
+        if (ObjectUtils.isEmpty(userVo)) {
+            return CommonResult.fail();
+        }
+
+        String user = userVo.getUser();
+
+        LambdaQueryWrapper<User> wrapper=new LambdaQueryWrapper<>();
+        User one = userService.getOne(wrapper);
+        String passWord = one.getPassWord();
+
+        if (!passWord.equals(userVo.getPassWord())) {
+            return CommonResult.fail("500","密码错误");
+        }
+        String token = JWTUtil.getToken(one);
+        LoginDto login = new LoginDto();
+        login.setToken(token);
+        login.setTokenTtl(JWTUtil.getExpired());
+        login.setUserName(one.getUser());
+
+
+        return CommonResult.ok(login);
+    }
+}
+

+ 1 - 1
src/main/java/com/studenthotel/core/JwtlnterceptorConfig.java

@@ -14,7 +14,7 @@ public class JwtlnterceptorConfig implements WebMvcConfigurer {
         //目前测试下来 使用 /**所有的话,response.sendError浏览器获取不到响应的信息
         //目前测试下来 使用 /**所有的话,response.sendError浏览器获取不到响应的信息
         //默认拦截所有路径
         //默认拦截所有路径
         registry.addInterceptor(authenticationInterceptor())
         registry.addInterceptor(authenticationInterceptor())
-                .addPathPatterns("/api/**");
+                .addPathPatterns("/auto/**");
         //endregion
         //endregion
     }
     }
 
 

+ 18 - 0
src/main/java/com/studenthotel/mapper/UserMapper.java

@@ -0,0 +1,18 @@
+package com.studenthotel.mapper;
+
+import com.studenthotel.model.pojo.User;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author liu
+ * @since 2023-06-20
+ */
+@Mapper
+public interface UserMapper extends BaseMapper<User> {
+
+}

+ 59 - 0
src/main/java/com/studenthotel/model/pojo/User.java

@@ -0,0 +1,59 @@
+package com.studenthotel.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.util.Date;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author liu
+ * @since 2023-06-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="User对象", description="")
+public class User implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "用户")
+    private String user;
+
+    @ApiModelProperty(value = "密码")
+    private String passWord;
+
+    @TableField(fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+
+    @TableField(fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建人员")
+    private Long createUser;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "更新人员")
+    private Long updateUser;
+
+    @ApiModelProperty(value = "逻辑删除标记")
+    @TableLogic
+    private Long deleted;
+
+
+}

+ 9 - 0
src/main/java/com/studenthotel/model/vo/UserVo.java

@@ -0,0 +1,9 @@
+package com.studenthotel.model.vo;
+
+import lombok.Data;
+
+@Data
+public class UserVo {
+    private String user;
+    private String passWord;
+}

+ 16 - 0
src/main/java/com/studenthotel/services/UserService.java

@@ -0,0 +1,16 @@
+package com.studenthotel.services;
+
+import com.studenthotel.model.pojo.User;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author liu
+ * @since 2023-06-20
+ */
+public interface UserService extends IService<User> {
+
+}

+ 4 - 4
src/main/java/com/studenthotel/services/impl/ColdWaterServiceImpl.java

@@ -47,8 +47,8 @@ public class ColdWaterServiceImpl extends ServiceImpl<ColdWaterMapper, ColdWater
     private Integer size = 8;
     private Integer size = 8;
 
 
     //    每月1号每20分钟运行一次
     //    每月1号每20分钟运行一次
-//    @Scheduled(cron = "0/20 * * 1 * ? ")
-    @Scheduled(cron = "0 0/1 * * * ? ")
+    @Scheduled(cron = "0/20 * * 1 * ? ")
+//    @Scheduled(cron = "0 0/1 * * * ? ")
     public void autoQueryOrder() {
     public void autoQueryOrder() {
         Page<Dorm> dPage = new Page<>(page, size);
         Page<Dorm> dPage = new Page<>(page, size);
         LambdaQueryWrapper<Dorm> wrapper=new LambdaQueryWrapper<>();
         LambdaQueryWrapper<Dorm> wrapper=new LambdaQueryWrapper<>();
@@ -81,7 +81,7 @@ public class ColdWaterServiceImpl extends ServiceImpl<ColdWaterMapper, ColdWater
 //        dormNumber="墨轩湖校区"+dormNumber;
 //        dormNumber="墨轩湖校区"+dormNumber;
         map.add("dom", dormNumber);
         map.add("dom", dormNumber);
         map.add("page", 1);
         map.add("page", 1);
-        map.add("rows", 10);
+        map.add("rows", 1);
 //        map.add("token",token);
 //        map.add("token",token);
         RestTemplate restTemplate = new RestTemplate();
         RestTemplate restTemplate = new RestTemplate();
         HttpHeaders headers = new HttpHeaders();
         HttpHeaders headers = new HttpHeaders();
@@ -98,7 +98,7 @@ public class ColdWaterServiceImpl extends ServiceImpl<ColdWaterMapper, ColdWater
         if (ObjectUtils.isNotEmpty(jsonArray)) {
         if (ObjectUtils.isNotEmpty(jsonArray)) {
 
 
 //           0 2 4 6 7 8
 //           0 2 4 6 7 8
-            JSONObject jsonMap = jsonArray.getJSONObject(8);
+            JSONObject jsonMap = jsonArray.getJSONObject(0);
             if (jsonMap != null) {
             if (jsonMap != null) {
                 ColdWater coldWater = new ColdWater();
                 ColdWater coldWater = new ColdWater();
                 String dom = jsonMap.get("dom").toString();
                 String dom = jsonMap.get("dom").toString();

+ 4 - 4
src/main/java/com/studenthotel/services/impl/ElectricServiceImpl.java

@@ -67,8 +67,8 @@ public class ElectricServiceImpl extends ServiceImpl<ElectricMapper, Electric> i
 
 
 
 
 //        每月1号每20分钟运行一次
 //        每月1号每20分钟运行一次
-//    @Scheduled(cron = "0/20 * * 1 * ?")
-    @Scheduled(cron = "0 0/1 * * * ? ")
+    @Scheduled(cron = "0/20 * * 1 * ?")
+//    @Scheduled(cron = "0 0/1 * * * ? ")
     public void autoQueryOrder() {
     public void autoQueryOrder() {
         Page<Dorm> dPage = new Page<>(page, size);
         Page<Dorm> dPage = new Page<>(page, size);
         LambdaQueryWrapper<Dorm> wrapper=new LambdaQueryWrapper<>();
         LambdaQueryWrapper<Dorm> wrapper=new LambdaQueryWrapper<>();
@@ -100,7 +100,7 @@ public class ElectricServiceImpl extends ServiceImpl<ElectricMapper, Electric> i
         MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
         MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
         map.add("dom", dormNumber);
         map.add("dom", dormNumber);
         map.add("page", 1);
         map.add("page", 1);
-        map.add("rows", 10);
+        map.add("rows", 1);
         map.add("token",token);
         map.add("token",token);
         RestTemplate restTemplate = new RestTemplate();
         RestTemplate restTemplate = new RestTemplate();
         HttpHeaders headers = new HttpHeaders();
         HttpHeaders headers = new HttpHeaders();
@@ -114,7 +114,7 @@ public class ElectricServiceImpl extends ServiceImpl<ElectricMapper, Electric> i
         if (ObjectUtils.isNotEmpty(jsonArray)) {
         if (ObjectUtils.isNotEmpty(jsonArray)) {
 
 
 //           0 2 4 6 7 8
 //           0 2 4 6 7 8
-            JSONObject jsonMap = jsonArray.getJSONObject(8);
+            JSONObject jsonMap = jsonArray.getJSONObject(0);
             if (jsonMap != null) {
             if (jsonMap != null) {
                 Electric electricity = new Electric();
                 Electric electricity = new Electric();
                 String dom = jsonMap.get("dom").toString();
                 String dom = jsonMap.get("dom").toString();

+ 20 - 0
src/main/java/com/studenthotel/services/impl/UserServiceImpl.java

@@ -0,0 +1,20 @@
+package com.studenthotel.services.impl;
+
+import com.studenthotel.model.pojo.User;
+import com.studenthotel.mapper.UserMapper;
+import com.studenthotel.services.UserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author liu
+ * @since 2023-06-20
+ */
+@Service
+public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+
+}

+ 16 - 0
src/main/java/common/dto/ClassesCountedDto.java

@@ -0,0 +1,16 @@
+package common.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ClassesCountedDto {
+    private String clazz;
+    private Integer totalPeople;
+    private Integer noReturnBedroom;
+
+
+}

+ 15 - 0
src/main/java/common/dto/DormitoryBuildingCountedDto.java

@@ -0,0 +1,15 @@
+package common.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DormitoryBuildingCountedDto {
+    private Integer totalPeople;
+    private String build;
+    private Integer returned;
+    private Integer unreturned;
+}

+ 28 - 0
src/main/java/common/dto/LoginDto.java

@@ -0,0 +1,28 @@
+package common.dto;
+
+import lombok.Data;
+
+/**
+ * @Author: codingliang
+ * @Description: 登录用户vo
+ * @Date: 2022-08-04 9:58
+ * @Version: V1.0
+ **/
+
+@Data
+public class LoginDto {
+
+    /**
+     * 用户姓名
+     */
+    private String userName;
+    /**
+     * 用户token
+     */
+    private String token;
+    /**
+     * token过期时间
+     */
+    private long tokenTtl;
+
+}

+ 28 - 25
src/main/java/common/utils/JWTUtil.java

@@ -2,12 +2,15 @@ package common.utils;
 
 
 
 
 import com.auth0.jwt.JWT;
 import com.auth0.jwt.JWT;
+import com.auth0.jwt.JWTCreator;
 import com.auth0.jwt.JWTVerifier;
 import com.auth0.jwt.JWTVerifier;
 import com.auth0.jwt.algorithms.Algorithm;
 import com.auth0.jwt.algorithms.Algorithm;
 import com.auth0.jwt.interfaces.Claim;
 import com.auth0.jwt.interfaces.Claim;
 import com.auth0.jwt.interfaces.DecodedJWT;
 import com.auth0.jwt.interfaces.DecodedJWT;
+import com.studenthotel.model.pojo.User;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 
 
+import java.util.Calendar;
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map;
@@ -30,30 +33,30 @@ public class JWTUtil {
      * 生成token 有过期时间
      * 生成token 有过期时间
      * @return 返回token
      * @return 返回token
      */
      */
-//    public static String getToken(SystemUser user){
-//
-//        // 签发时间
-//        Date iatDate = new Date();
-//
-////        // 过期时间
-////        Calendar nowTime = Calendar.getInstance();
-////        nowTime.add(Calendar.DAY_OF_WEEK, 3);
-////        Date expiresDate = nowTime.getTime();
-//
-//        Map<String, Object> map = new HashMap<>();
-//        map.put("alg", "HMAC256");
-//        map.put("typ", "JWT");
-//        String token = JWT.create()
-//                .withHeader(map) // header
-//                .withClaim("phone", user.getPhoneNumber()) // payload
-//                .withClaim("roleId", user.getRoleId())
-//                .withExpiresAt(new Date(CommonUtil.getCurrentTimestamp() + EXPIRED)) // 设置过期时间。过期时间要大于签发时间
-//                .withIssuedAt(iatDate) // 设置签发时间
-//                .sign(Algorithm.HMAC256(SIGNATURE)); // 加密
-
-//        return token;
-
-//
+    public static String getToken(User user){
+
+        // 签发时间
+        Date iatDate = new Date();
+
+//        // 过期时间
+//        Calendar nowTime = Calendar.getInstance();
+//        nowTime.add(Calendar.DAY_OF_WEEK, 3);
+//        Date expiresDate = nowTime.getTime();
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("alg", "HMAC256");
+        map.put("typ", "JWT");
+        String token = JWT.create()
+                .withHeader(map) // header
+                .withClaim("user", user.getUser()) // payload
+                .withClaim("passWord", user.getPassWord())
+                .withExpiresAt(new Date(CommonUtil.getCurrentTimestamp() + EXPIRED)) // 设置过期时间。过期时间要大于签发时间
+                .withIssuedAt(iatDate) // 设置签发时间
+                .sign(Algorithm.HMAC256(SIGNATURE)); // 加密
+
+        return token;
+
+
 //        JWTCreator.Builder builder = JWT.create();
 //        JWTCreator.Builder builder = JWT.create();
 //        map.forEach((k,v)->{
 //        map.forEach((k,v)->{
 //            builder.withClaim(k,v);
 //            builder.withClaim(k,v);
@@ -62,7 +65,7 @@ public class JWTUtil {
 //        instance.add(Calendar.SECOND,7);
 //        instance.add(Calendar.SECOND,7);
 //        builder.withExpiresAt(instance.getTime());
 //        builder.withExpiresAt(instance.getTime());
 //        return builder.sign(Algorithm.HMAC256(SIGNATURE)).toString();
 //        return builder.sign(Algorithm.HMAC256(SIGNATURE)).toString();
-//    }
+    }
 
 
     public static long getExpired() {
     public static long getExpired() {
         return EXPIRED;
         return EXPIRED;

+ 5 - 0
src/main/resources/mapper/studenthotel/UserMapper.xml

@@ -0,0 +1,5 @@
+<?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.studenthotel.mapper.UserMapper">
+
+</mapper>

BIN
target/classes/com/studenthotel/AutoCode.class


BIN
target/classes/com/studenthotel/api/BuildTotalPeopleApi.class


BIN
target/classes/com/studenthotel/api/FaceRecognitionApi.class


BIN
target/classes/com/studenthotel/api/UserApi.class


BIN
target/classes/com/studenthotel/controller/BuildTotalPeopleController.class


BIN
target/classes/com/studenthotel/controller/FaceRecognitionController.class


BIN
target/classes/com/studenthotel/controller/UserController.class


BIN
target/classes/com/studenthotel/core/JwtlnterceptorConfig.class


BIN
target/classes/com/studenthotel/mapper/UserMapper.class


BIN
target/classes/com/studenthotel/model/pojo/User.class


BIN
target/classes/com/studenthotel/model/vo/UserVo.class


BIN
target/classes/com/studenthotel/services/UserService.class


BIN
target/classes/com/studenthotel/services/impl/ColdWaterServiceImpl.class


BIN
target/classes/com/studenthotel/services/impl/ElectricServiceImpl.class


BIN
target/classes/com/studenthotel/services/impl/UserServiceImpl.class


BIN
target/classes/common/dto/ClassesCountedDto.class


BIN
target/classes/common/dto/DormitoryBuildingCountedDto.class


BIN
target/classes/common/dto/LoginDto.class


BIN
target/classes/common/utils/JWTUtil.class


+ 5 - 0
target/classes/mapper/studenthotel/UserMapper.xml

@@ -0,0 +1,5 @@
+<?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.studenthotel.mapper.UserMapper">
+
+</mapper>