Browse Source

Merge remote-tracking branch 'origin/master'

zhuoning 4 năm trước cách đây
mục cha
commit
18bace97a1
31 tập tin đã thay đổi với 1439 bổ sung0 xóa
  1. 127 0
      shiwan/face/face.iml
  2. 63 0
      shiwan/face/pom.xml
  3. 15 0
      shiwan/face/src/main/java/com/huimv/face/FaceApplication.java
  4. 175 0
      shiwan/face/src/main/java/com/huimv/face/controller/FaceUserController.java
  5. 38 0
      shiwan/face/src/main/java/com/huimv/face/domain/FaceReco.java
  6. 43 0
      shiwan/face/src/main/java/com/huimv/face/domain/FaceSbda.java
  7. 50 0
      shiwan/face/src/main/java/com/huimv/face/domain/FaceUser.java
  8. 33 0
      shiwan/face/src/main/java/com/huimv/face/domain/FaceUserImgs.java
  9. 29 0
      shiwan/face/src/main/java/com/huimv/face/domain/SaveDb.java
  10. 22 0
      shiwan/face/src/main/java/com/huimv/face/group/TimeGroup.java
  11. 13 0
      shiwan/face/src/main/java/com/huimv/face/repo/FaceRecoRepository.java
  12. 12 0
      shiwan/face/src/main/java/com/huimv/face/repo/FaceSbdaRepository.java
  13. 17 0
      shiwan/face/src/main/java/com/huimv/face/repo/FaceUserImgRepository.java
  14. 15 0
      shiwan/face/src/main/java/com/huimv/face/repo/FaceUserRepository.java
  15. 15 0
      shiwan/face/src/main/java/com/huimv/face/repo/SaveDbRepository.java
  16. 28 0
      shiwan/face/src/main/java/com/huimv/face/result/Result.java
  17. 34 0
      shiwan/face/src/main/java/com/huimv/face/service/FaceRecoService.java
  18. 14 0
      shiwan/face/src/main/java/com/huimv/face/service/FaceSbdaService.java
  19. 11 0
      shiwan/face/src/main/java/com/huimv/face/service/FaceUserImgsService.java
  20. 22 0
      shiwan/face/src/main/java/com/huimv/face/service/FaceUserService.java
  21. 19 0
      shiwan/face/src/main/java/com/huimv/face/service/SaveDbService.java
  22. 316 0
      shiwan/face/src/main/java/com/huimv/face/service/impl/FaceRecoServiceImpl.java
  23. 25 0
      shiwan/face/src/main/java/com/huimv/face/service/impl/FaceSbdaServiceImpl.java
  24. 51 0
      shiwan/face/src/main/java/com/huimv/face/service/impl/FaceUserImgsServiceImpl.java
  25. 92 0
      shiwan/face/src/main/java/com/huimv/face/service/impl/FaceUserServiceImpl.java
  26. 57 0
      shiwan/face/src/main/java/com/huimv/face/service/impl/SaveDbServiceImpl.java
  27. 31 0
      shiwan/face/src/main/resources/application-prod.yml
  28. 37 0
      shiwan/face/src/main/resources/application-test.yml
  29. 4 0
      shiwan/face/src/main/resources/application.properties
  30. 4 0
      shiwan/face/src/main/resources/log4j.properties
  31. 27 0
      shiwan/face/src/test/java/com/huimv/face/FaceApplicationTests.java

+ 127 - 0
shiwan/face/face.iml

@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+        <sourceRoots>
+          <root url="file://$MODULE_DIR$/src/main/java" />
+          <root url="file://$MODULE_DIR$/src/main/resources" />
+        </sourceRoots>
+      </configuration>
+    </facet>
+    <facet type="jpa" name="JPA">
+      <configuration>
+        <setting name="validation-enabled" value="true" />
+        <setting name="provider-name" value="Hibernate" />
+        <datasource-mapping>
+          <factory-entry name="entityManagerFactory" value="33699a44-0673-4955-928d-c9a60d98b222" />
+        </datasource-mapping>
+        <naming-strategy-map />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/target/classes" />
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/target" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.27" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.3" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.3" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.3" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.3" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.3" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.3" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.41" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.41" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.4.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.4.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.4.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.18.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.6.28" level="project" />
+    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.18" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.18" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.6.28" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.3.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:2.3.1.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.4.1" level="project" />
+    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.transaction:jakarta.transaction-api:1.3.3" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.persistence:jakarta.persistence-api:2.2.3" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.4.25.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.javassist:javassist:3.27.0-GA" level="project" />
+    <orderEntry type="library" name="Maven: antlr:antlr:2.7.7" level="project" />
+    <orderEntry type="library" name="Maven: org.jboss:jandex:2.1.3.Final" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
+    <orderEntry type="library" name="Maven: org.dom4j:dom4j:2.1.3" level="project" />
+    <orderEntry type="library" name="Maven: org.hibernate.common:hibernate-commons-annotations:5.1.2.Final" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.3" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.3" level="project" />
+    <orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.11" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.activation:jakarta.activation:1.2.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:2.4.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.4.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-orm:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aspects:5.3.2" level="project" />
+    <orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.16" level="project" />
+    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.24" level="project" />
+    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.16" level="project" />
+  </component>
+</module>

+ 63 - 0
shiwan/face/pom.xml

@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.4.1</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+    <groupId>com.huimv</groupId>
+    <artifactId>face</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+    <name>face</name>
+    <description>Demo project for Spring Boot</description>
+
+    <properties>
+        <java.version>1.8</java.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+            <version>2.3.1.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>8.0.16</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.24</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

+ 15 - 0
shiwan/face/src/main/java/com/huimv/face/FaceApplication.java

@@ -0,0 +1,15 @@
+package com.huimv.face;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication
+@EnableScheduling
+public class FaceApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(FaceApplication.class, args);
+    }
+
+}

+ 175 - 0
shiwan/face/src/main/java/com/huimv/face/controller/FaceUserController.java

@@ -0,0 +1,175 @@
+package com.huimv.face.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.huimv.face.domain.*;
+import com.huimv.face.result.Result;
+import com.huimv.face.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.controller
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 10:21
+ **/
+@CrossOrigin
+@RestController
+@RequestMapping("/face")
+public class FaceUserController {
+
+    @Autowired
+    private FaceUserService faceUserService;
+
+    @Autowired
+    private SaveDbService saveDbService;
+
+    @Autowired
+    private FaceRecoService faceRecoService;
+
+    @Autowired
+    private FaceSbdaService faceSbdaService;
+
+    @Autowired
+    private FaceUserImgsService faceUserImgsService;
+
+    @RequestMapping("list")
+    public List list(){
+        return faceUserService.findAll();
+    }
+
+
+    /*
+    * @Method      : findOneDay
+    * @Description : 查询一天的数据,存起来
+    * @Params      : []
+    * @Return      : void
+    *
+    * @Author      : yuxuexuan
+    * @Date        : 2020/12/29 0029
+    * @Time        : 17:33
+    */
+    @Scheduled(cron = "0 0 * * * ?")
+    @RequestMapping("findOneDay")
+    public void findOneDay(){
+        String s = JSON.toJSONString(faceRecoService.findOneDay());
+        System.out.println(s);
+        SaveDb saveDb = new SaveDb();
+        saveDb.setId(3);
+        saveDb.setKey1("oneDay");
+        saveDb.setValue1(s);
+        saveDbService.save(saveDb);
+    }
+    /*
+    * @Method      : findOneWeek
+    * @Description : 查询一周的数据,存起来
+    * @Params      : []
+    * @Return      : void
+    *
+    * @Author      : yuxuexuan
+    * @Date        : 2020/12/29 0029
+    * @Time        : 17:34
+    */
+    @Scheduled(cron = "0 0 23 * * ?")
+    @RequestMapping("/findOneWeek")
+    public void findOneWeek(){
+        String s = JSON.toJSONString(faceRecoService.findOneWeek());
+        System.out.println(s);
+        SaveDb saveDb = new SaveDb();
+        saveDb.setId(2);
+        saveDb.setKey1("oneWeek");
+        saveDb.setValue1(s);
+        saveDbService.save(saveDb);
+    }
+    /*
+    * @Method      : findOneMouth
+    * @Description : 查询一年的数据,存起来
+    * @Params      : []
+    * @Return      : void
+    *
+    * @Author      : yuxuexuan
+    * @Date        : 2020/12/29 0029
+    * @Time        : 17:34
+    */
+    @Scheduled(cron = "0 0 1 1 * ?")
+    @RequestMapping("/findOneYear")
+    public void findOneYear(){
+        String s = JSON.toJSONString(faceRecoService.findOneYear());
+        System.out.println(s);
+        SaveDb saveDb = new SaveDb();
+        saveDb.setId(1);
+        saveDb.setKey1("oneYear");
+        saveDb.setValue1(s);
+        saveDbService.save(saveDb);
+    }
+    /*
+    * @Method      : findDb
+    * @Description : 查询折线图数据
+    * @Params      : [timeHorizon]
+    * @Return      : com.huimv.face.result.Result
+    * 
+    * @Author      : yuxuexuan
+    * @Date        : 2020/12/30 0030
+    * @Time        : 10:22 
+    */
+    @RequestMapping("/findDb")
+    public Result findDb(String timeHorizon){
+        return saveDbService.findDb(timeHorizon);
+    }
+
+    /*
+    * @Method      : findEnd
+    * @Description : 查询最后几条数据
+    * @Params      : []
+    * @Return      : com.huimv.face.result.Result
+    *
+    * @Author      : yuxuexuan
+    * @Date        : 2020/12/30 0030
+    * @Time        : 13:44
+    */
+    @RequestMapping("/findEnd")
+    public Result findEnd(){
+        try {
+            List<FaceReco> faceRecoList = faceRecoService.findTop10ByOrderByIdDesc();
+            List  list = new ArrayList();
+            for (FaceReco faceReco : faceRecoList) {
+                FaceUser faceUser = faceUserService.findAllByUserId(faceReco.getUSERID());
+                FaceSbda faceSbda = faceSbdaService.findAllBySBID(faceReco.getSBID());
+                FaceUserImgs faceUserImg = faceUserImgsService.findAllByUserId(faceReco.getUSERID());
+                if (faceUser != null&&faceSbda!=null) {
+                    Map map = new HashMap();
+                    map.put("userName", faceUser.getXM());
+                    map.put("sbName", faceSbda.getSBMC());
+                    map.put("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(faceReco.getXGSJ()));
+                    if (faceUserImg != null){
+                        byte[] img = faceUserImg.getImg();
+                        String imgBase64 = "data:image/jpg;base64,"+Base64.getEncoder().encodeToString(img);
+                        map.put("image",imgBase64);
+                    }
+                    list.add(map);
+                }
+            }
+            return new Result(10000,"查询成功",list);
+        }catch (Exception e){
+            return new Result(10001,"查询失败",null);
+        }
+
+    }
+
+    @PostMapping("/findFaceUserByName")
+    public  Result findFaceUserByName(String userName){
+        return faceUserService.findFaceUserByName(userName);
+    }
+
+    @PostMapping("/upload")
+    public  Result upload(Integer ID ,String XM , String USERID, @RequestParam(required = true)MultipartFile file){
+        return faceUserImgsService.upload(ID,XM,USERID,file);
+    }
+
+}

+ 38 - 0
shiwan/face/src/main/java/com/huimv/face/domain/FaceReco.java

@@ -0,0 +1,38 @@
+package com.huimv.face.domain;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.domain
+ * @Description : 通过记录
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 9:53
+ **/
+
+@Entity
+@Data
+@Table(name = "face_reco")
+public class FaceReco {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "ID", nullable = false)
+    private  Integer ID;
+
+    @Column (name = "USERID")
+    private String USERID;
+
+    @Column (name = "SBID")
+    private String SBID;
+
+    @Column (name = "MCID")
+    private Integer MCID;
+
+    @Column(name = "XGSJ",columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
+    private Date XGSJ;
+
+}

+ 43 - 0
shiwan/face/src/main/java/com/huimv/face/domain/FaceSbda.java

@@ -0,0 +1,43 @@
+package com.huimv.face.domain;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.domain
+ * @Description : 设备档案
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 9:53
+ **/
+
+@Entity
+@Data
+@Table(name = "face_sbda")
+public class FaceSbda {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "ID", nullable = false)
+    private  Integer ID;
+
+    @Column(name = "MCID")
+    private Integer MCID;
+
+    @Column(name = "SBID")
+    private String SBID;
+
+    @Column(name = "SBMC")
+    private String SBMC;
+
+    @Column(name = "BZ")
+    private String BZ;
+
+    @Column(name = "XGSJ",columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
+    private Date XGSJ;
+
+    @Column(name = "ZFBZ")
+    private Byte ZFBZ;
+}

+ 50 - 0
shiwan/face/src/main/java/com/huimv/face/domain/FaceUser.java

@@ -0,0 +1,50 @@
+package com.huimv.face.domain;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.Date;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.domain
+ * @Description : 人员管理
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 9:53
+ **/
+
+@Entity
+@Data
+@Table(name = "face_user")
+public class FaceUser {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "ID", nullable = false)
+    private  Integer ID;
+
+    @Column(name = "MCID")
+    private Integer MCID;
+
+    @Column(name = "YGID")
+    private Integer YGID;
+
+    @Column(name = "USERID")
+    private String USERID;
+
+    @Column(name = "XM")
+    private String XM;
+
+    @Column(name = "ZW")
+    private String ZW;
+
+    @Column(name = "BZ")
+    private String BZ;
+
+    @Column(name = "XGSJ",columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
+    private Date XGSJ;
+
+    @Column(name = "ZFBZ")
+    private Byte ZFBZ;
+
+}

+ 33 - 0
shiwan/face/src/main/java/com/huimv/face/domain/FaceUserImgs.java

@@ -0,0 +1,33 @@
+package com.huimv.face.domain;
+
+import lombok.Data;
+
+import javax.persistence.*;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.domain
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/30 0030 18:13
+ **/
+@Entity
+@Data
+@Table(name = "face_user_img")
+public class FaceUserImgs {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private  int id;
+
+    @Column(name = "user_id")
+    private String userId;
+
+    @Column(name = "user_name")
+    private String userName;
+
+    @Column(name = "img")
+    private byte[] img;
+
+}

+ 29 - 0
shiwan/face/src/main/java/com/huimv/face/domain/SaveDb.java

@@ -0,0 +1,29 @@
+package com.huimv.face.domain;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.util.Map;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.domain
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 16:59
+ **/
+@Entity
+@Data
+@Table(name = "save_db")
+public class SaveDb {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private  Integer id;
+
+    @Column(name = "key1")
+    private String key1;
+
+    @Column(name = "value1")
+    private String  value1;
+}

+ 22 - 0
shiwan/face/src/main/java/com/huimv/face/group/TimeGroup.java

@@ -0,0 +1,22 @@
+package com.huimv.face.group;
+
+import com.huimv.face.domain.FaceReco;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.group
+ * @Description : 某个时间段进出信息
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 14:12
+ **/
+@Data
+public class TimeGroup {
+
+    private List<FaceReco> faceRecos;
+
+    private Integer total;
+
+}

+ 13 - 0
shiwan/face/src/main/java/com/huimv/face/repo/FaceRecoRepository.java

@@ -0,0 +1,13 @@
+package com.huimv.face.repo;
+
+import com.huimv.face.domain.FaceReco;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface FaceRecoRepository extends JpaRepository<FaceReco, Integer>, JpaSpecificationExecutor<FaceReco> {
+    @Query(nativeQuery = true,value = "SELECT * FROM face_reco WHERE SBID=\"110201190808KN4872\" OR SBID=\"110201190808KN2340\" OR SBID=\"110201190808KN1206\" OR SBID=\"110201190808KN4475\" OR SBID=\"110201190808KN1937\" OR SBID=\"110201190808KN4191\" OR SBID=\"110201190808KN4746\" OR SBID=\"110201190808KN0582\" OR SBID=\"110201190808KN1791\" OR SBID=\"110201190808KN2096\" OR SBID=\"110201190808KN1555\" OR SBID=\"110201190808KN2053\" ORDER BY id  DESC   LIMIT  10 ")
+    List<FaceReco> findTop10ByOrderByIdDesc();
+}

+ 12 - 0
shiwan/face/src/main/java/com/huimv/face/repo/FaceSbdaRepository.java

@@ -0,0 +1,12 @@
+package com.huimv.face.repo;
+
+import com.huimv.face.domain.FaceSbda;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+public interface FaceSbdaRepository extends JpaRepository<FaceSbda, Integer>, JpaSpecificationExecutor<FaceSbda> {
+
+    @Query(nativeQuery = true,value = "SELECT * FROM  face_sbda  where SBID= ?1")
+    FaceSbda findAllBySBID(String SBID);
+}

+ 17 - 0
shiwan/face/src/main/java/com/huimv/face/repo/FaceUserImgRepository.java

@@ -0,0 +1,17 @@
+package com.huimv.face.repo;
+
+import com.huimv.face.domain.FaceUserImgs;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.repo
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/30 0030 18:26
+ **/
+public interface FaceUserImgRepository extends JpaRepository<FaceUserImgs, Integer> {
+    @Query(nativeQuery = true,value = "SELECT * FROM  face_user_img  where user_id= ?1")
+    FaceUserImgs findAllByUserId(String userId);
+}

+ 15 - 0
shiwan/face/src/main/java/com/huimv/face/repo/FaceUserRepository.java

@@ -0,0 +1,15 @@
+package com.huimv.face.repo;
+
+import com.huimv.face.domain.FaceUser;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+public interface FaceUserRepository extends JpaRepository<FaceUser, Integer>, JpaSpecificationExecutor<FaceUser> {
+
+    @Query(nativeQuery = true,value = "SELECT * FROM  face_user  where USERID= ?1")
+    FaceUser findAllByUSERID(String USERID);
+
+    @Query(nativeQuery = true,value = "SELECT * FROM  face_user  where XM = ?1")
+    FaceUser findAllByUserName(String userName);
+}

+ 15 - 0
shiwan/face/src/main/java/com/huimv/face/repo/SaveDbRepository.java

@@ -0,0 +1,15 @@
+package com.huimv.face.repo;
+
+import com.huimv.face.domain.FaceUser;
+import com.huimv.face.domain.SaveDb;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.repo
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 17:04
+ **/
+public interface SaveDbRepository  extends JpaRepository<SaveDb, Integer>{
+}

+ 28 - 0
shiwan/face/src/main/java/com/huimv/face/result/Result.java

@@ -0,0 +1,28 @@
+package com.huimv.face.result;
+
+import lombok.Data;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.result
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 14:46
+ **/
+@Data
+public class Result {
+    private Integer  status;
+    private String msg;
+    private Object object;
+
+    public Result(Integer status, String msg, Object object) {
+        this.status = status;
+        this.msg = msg;
+        this.object = object;
+    }
+
+    public Result(Integer status, String msg) {
+        this.status = status;
+        this.msg = msg;
+    }
+}

+ 34 - 0
shiwan/face/src/main/java/com/huimv/face/service/FaceRecoService.java

@@ -0,0 +1,34 @@
+package com.huimv.face.service;
+
+
+import com.huimv.face.domain.FaceReco;
+
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 10:16
+ **/
+public interface FaceRecoService {
+    /*
+    * @Method      : findOneDay
+    * @Description : 查询一天的数据
+    * @Params      : []
+    * @Return      : com.huimv.face.result.Result
+    *
+    * @Author      : Administrator
+    * @Date        : 2020/12/29 0029
+    * @Time        : 14:51
+    */
+    List findOneDay();
+
+
+    List findOneYear();
+
+    List findOneWeek();
+
+    List<FaceReco> findTop10ByOrderByIdDesc();
+}

+ 14 - 0
shiwan/face/src/main/java/com/huimv/face/service/FaceSbdaService.java

@@ -0,0 +1,14 @@
+package com.huimv.face.service;
+
+import com.huimv.face.domain.FaceSbda;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 10:16
+ **/
+public interface FaceSbdaService {
+    FaceSbda findAllBySBID(String sbid);
+}

+ 11 - 0
shiwan/face/src/main/java/com/huimv/face/service/FaceUserImgsService.java

@@ -0,0 +1,11 @@
+package com.huimv.face.service;
+
+import com.huimv.face.domain.FaceUserImgs;
+import com.huimv.face.result.Result;
+import org.springframework.web.multipart.MultipartFile;
+
+public interface FaceUserImgsService {
+    Result upload(Integer ID ,String XM , String USERID, MultipartFile file);
+
+    FaceUserImgs findAllByUserId(String userid);
+}

+ 22 - 0
shiwan/face/src/main/java/com/huimv/face/service/FaceUserService.java

@@ -0,0 +1,22 @@
+package com.huimv.face.service;
+
+import com.huimv.face.domain.FaceUser;
+import com.huimv.face.result.Result;
+import org.springframework.data.domain.Page;
+
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 10:16
+ **/
+public interface FaceUserService {
+    List findAll();
+
+    FaceUser findAllByUserId(String userid);
+
+    Result findFaceUserByName(String userName);
+}

+ 19 - 0
shiwan/face/src/main/java/com/huimv/face/service/SaveDbService.java

@@ -0,0 +1,19 @@
+package com.huimv.face.service;
+
+import com.huimv.face.domain.SaveDb;
+import com.huimv.face.result.Result;
+
+import java.util.Map;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 17:03
+ **/
+public interface SaveDbService {
+    void save(SaveDb saveDb);
+
+    Result findDb(String str);
+}

+ 316 - 0
shiwan/face/src/main/java/com/huimv/face/service/impl/FaceRecoServiceImpl.java

@@ -0,0 +1,316 @@
+package com.huimv.face.service.impl;
+
+import com.huimv.face.domain.FaceReco;
+import com.huimv.face.group.TimeGroup;
+import com.huimv.face.repo.FaceRecoRepository;
+import com.huimv.face.result.Result;
+import com.huimv.face.service.FaceRecoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service.impl
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 10:17
+ **/
+@Service
+public class FaceRecoServiceImpl implements FaceRecoService {
+
+    @Autowired
+    private  FaceRecoRepository recoRepository;
+
+    @Override
+    public List findOneDay() {
+        //设置时间
+        //固定时间
+        //String day = "2020-10-14 23:59:59";
+        //及时数据
+        String now = timeUtils();
+        String day = now.substring(0,11);
+        int hour = Integer.parseInt(now.substring(11,13));
+
+        List list = new ArrayList();
+        if (hour >=0){
+            for (int i = 1; i < hour ; i++){
+                if (i == 10){
+                    break;
+                }
+                Map map = new HashMap();
+                map.put("key","0"+i+":00");
+                map.put("value",findTimeList(day+"0"+(i-1)+":00:00",day+"0"+i+":59:59"));
+                list.add(map);
+            }
+            if( hour >=10 ){
+                for (int i = 10; i < hour ; i++){
+                    if (i == 20){
+                        break;
+                    }
+                    Map map = new HashMap();
+                    map.put("key",i+":00");
+                    map.put("value",findTimeList(day+(i-1)+":00:00",day+i+":59:59"));
+                    list.add(map);
+                }
+                if (hour>=20){
+                    for (int i = 20; i < hour ; i++){
+                        Map map = new HashMap();
+                        map.put("key",i+":00");
+                        map.put("value",findTimeList(day+(i-1)+":00:00",day+i+":59:59"));
+                        list.add(map);
+                    }
+
+                }
+            }
+
+        }
+        if (hour>=20){
+
+        }
+
+        return list;
+    }
+
+    @Override
+    public List findOneWeek() {
+        //固定时间,把这个转成时间戳
+        //String now = "2020-10-14 23:59:59";
+        //设置时间
+        long now = System.currentTimeMillis();
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Long oneDay = 1000*60*60*24L;
+        List list = new ArrayList();
+        for (int i = 1; i <= 7;i++){
+            Long lastDay = now-oneDay*i;
+            String date = df.format(lastDay);
+            Map map = new HashMap();
+            map.put("key",date.substring(5,10));
+            map.put("value",findTimeList(date.substring(0,11)+"00:00:00",date.substring(0,11)+"23:59:59"));
+            list.add(map);
+        }
+
+        return list;
+    }
+
+    @Override
+    public List findOneYear() {
+        //设置时间
+
+        //固定时间
+        //String now = "2020-10-14 23:59:59";
+
+        //及时数据
+        String now = timeUtils();
+        String year = now.substring(0,4);
+        List list = new ArrayList();
+
+        int mouth = Integer.parseInt(now.substring(5,7));
+
+        //如果是一月,查询上一年的数据
+        if (mouth == 1){
+            year  = (Integer.parseInt(year)-1)+"";
+            Map map1 = new HashMap();
+            map1.put("key","一月");
+            map1.put("value",findTimeList(year+"-01-01 00:00:00",year+"-01-31 23:59:59"));
+            list.add(map1);
+
+            Map map2 = new HashMap();
+            map2.put("key","二月");
+            map2.put("value",findTimeList(year+"-02-01 00:00:00",year+"-02-28 23:59:59"));
+            list.add(map2);
+
+            Map map3 = new HashMap();
+            map3.put("key","三月");
+            map3.put("value",findTimeList(year+"-03-01 00:00:00",year+"-03-31 23:59:59"));
+            list.add(map3);
+
+            Map map4 = new HashMap();
+            map4.put("key","四月");
+            map4.put("value",findTimeList(year+"-04-01 00:00:00",year+"-04-30 23:59:59"));
+            list.add(map4);
+
+            Map map5 = new HashMap();
+            map5.put("key","五月");
+            map5.put("value",findTimeList(year+"-05-01 00:00:00",year+"-05-31 23:59:59"));
+            list.add(map5);
+
+            Map map6 = new HashMap();
+            map6.put("key","六月");
+            map6.put("value",findTimeList(year+"-06-01 00:00:00",year+"-06-30 23:59:59"));
+            list.add(map6);
+
+            Map map7 = new HashMap();
+            map7.put("key","七月");
+            map7.put("value",findTimeList(year+"-07-01 00:00:00",year+"-07-31 23:59:59"));
+            list.add(map7);
+
+            Map map8 = new HashMap();
+            map8.put("key","八月");
+            map8.put("value",findTimeList(year+"-08-01 00:00:00",year+"-08-31 23:59:59"));
+            list.add(map8);
+
+            Map map9 = new HashMap();
+            map9.put("key","九月");
+            map9.put("value",findTimeList(year+"-09-01 00:00:00",year+"-09-30 23:59:59"));
+            list.add(map9);
+
+            Map map10 = new HashMap();
+            map10.put("key","十月");
+            map10.put("value",findTimeList(year+"-10-01 00:00:00",year+"-10-31 23:59:59"));
+            list.add(map10);
+
+            Map map11 = new HashMap();
+            map11.put("key","十一月");
+            map11.put("value",findTimeList(year+"-11-01 00:00:00",year+"-11-30 23:59:59"));
+            list.add(map11);
+
+            Map map12 = new HashMap();
+            map12.put("key","十二月");
+            map12.put("value",findTimeList(year+"-12-01 00:00:00",year+"-12-31 23:59:59"));
+            list.add(map12);
+        }
+        if (mouth > 1){
+            Map map1 = new HashMap();
+            map1.put("key","一月");
+            map1.put("value",findTimeList(year+"-01-01 00:00:00",year+"-01-31 23:59:59"));
+            list.add(map1);
+            if (mouth > 2 ){
+                Map map2 = new HashMap();
+                map2.put("key","二月");
+                map2.put("value",findTimeList(year+"-02-01 00:00:00",year+"-02-28 23:59:59"));
+                list.add(map2);
+                if (mouth > 3 ){
+                    Map map3 = new HashMap();
+                    map3.put("key","三月");
+                    map3.put("value",findTimeList(year+"-03-01 00:00:00",year+"-03-31 23:59:59"));
+                    list.add(map3);
+                    if (mouth > 4 ){
+                        Map map4 = new HashMap();
+                        map4.put("key","四月");
+                        map4.put("value",findTimeList(year+"-04-01 00:00:00",year+"-04-30 23:59:59"));
+                        list.add(map4);
+                        if (mouth > 5 ){
+                            Map map5 = new HashMap();
+                            map5.put("key","五月");
+                            map5.put("value",findTimeList(year+"-05-01 00:00:00",year+"-05-31 23:59:59"));
+                            list.add(map5);
+                            if (mouth > 6 ){
+                                Map map6 = new HashMap();
+                                map6.put("key","六月");
+                                map6.put("value",findTimeList(year+"-06-01 00:00:00",year+"-06-30 23:59:59"));
+                                list.add(map6);
+                                if (mouth > 7 ){
+                                    Map map7 = new HashMap();
+                                    map7.put("key","七月");
+                                    map7.put("value",findTimeList(year+"-07-01 00:00:00",year+"-07-31 23:59:59"));
+                                    list.add(map7);
+                                    if (mouth > 8 ){
+                                        Map map8 = new HashMap();
+                                        map8.put("key","八月");
+                                        map8.put("value",findTimeList(year+"-08-01 00:00:00",year+"-08-31 23:59:59"));
+                                        list.add(map8);
+                                        if (mouth > 9 ){
+                                            Map map9 = new HashMap();
+                                            map9.put("key","九月");
+                                            map9.put("value",findTimeList(year+"-09-01 00:00:00",year+"-09-30 23:59:59"));
+                                            list.add(map9);
+                                            if (mouth > 10 ){
+                                                Map map10 = new HashMap();
+                                                map10.put("key","十月");
+                                                map10.put("value",findTimeList(year+"-10-01 00:00:00",year+"-10-31 23:59:59"));
+                                                list.add(map10);
+                                                if (mouth > 11 ){
+                                                    Map map11 = new HashMap();
+                                                    map11.put("key","十一月");
+                                                    map11.put("value",findTimeList(year+"-11-01 00:00:00",year+"-11-30 23:59:59"));
+                                                    list.add(map11);
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+
+        return list;
+    }
+
+
+    @Override
+    public List<FaceReco> findTop10ByOrderByIdDesc() {
+        return recoRepository.findTop10ByOrderByIdDesc();
+    }
+
+    /*
+    * @Method      : findTimeList
+    * @Description : 查询某个时间段的信息
+    * @Params      : [startTime, endTime]
+    * @Return      : java.lang.Integer
+    *
+    * @Author      : yuxuexuan
+    * @Date        : 2020/12/30 0030
+    * @Time        : 8:44
+    */
+    private Integer findTimeList(String startTime, String endTime) {
+        Specification specification = new Specification() {
+            @Override
+            public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) {
+                Predicate predicate = cb.conjunction();
+                if (startTime != null && !startTime.trim().equals("")) {
+                    predicate.getExpressions().add(cb.greaterThanOrEqualTo(root.get("XGSJ").as(String.class), startTime));
+                }
+                if (endTime != null && !endTime.trim().equals("")) {
+                    predicate.getExpressions().add(cb.lessThanOrEqualTo(root.get("XGSJ").as(String.class), endTime));
+                }
+                return predicate;
+            }
+        };
+        List<FaceReco> list = recoRepository.findAll(specification);
+        //设置设备
+        int count = 0;
+        for (FaceReco faceReco : list) {
+            if ("110201190808KN4872".equals(faceReco.getSBID())||
+                    "110201190808KN2340".equals(faceReco.getSBID())||
+                    "110201190808KN1206".equals(faceReco.getSBID())||
+                    "110201190808KN4475".equals(faceReco.getSBID())||
+                    "110201190808KN1937".equals(faceReco.getSBID())||
+                    "110201190808KN4191".equals(faceReco.getSBID())||
+                    "110201190808KN4746".equals(faceReco.getSBID())||
+                    "110201190808KN0582".equals(faceReco.getSBID())||
+                    "110201190808KN1791".equals(faceReco.getSBID())||
+                    "110201190808KN2096".equals(faceReco.getSBID())||
+                    "110201190808KN1555".equals(faceReco.getSBID())||
+                    "110201190808KN2053".equals(faceReco.getSBID())){
+                count++;
+            }
+        }
+        return count;
+    }
+
+
+   /*
+   * @Method      : timeUtils
+   * @Description : 处理时间格式
+   * @Params      : []
+   * @Return      : java.lang.String
+   *
+   * @Author      : yuxuexuan
+   * @Date        : 2020/12/29 0029
+   * @Time        : 14:35
+   */
+    private String timeUtils(){
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+    }
+}

+ 25 - 0
shiwan/face/src/main/java/com/huimv/face/service/impl/FaceSbdaServiceImpl.java

@@ -0,0 +1,25 @@
+package com.huimv.face.service.impl;
+
+import com.huimv.face.domain.FaceSbda;
+import com.huimv.face.repo.FaceSbdaRepository;
+import com.huimv.face.service.FaceSbdaService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service.impl
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 10:17
+ **/
+@Service
+public class FaceSbdaServiceImpl implements FaceSbdaService {
+    @Autowired
+    private FaceSbdaRepository faceSbdaRepository;
+
+    @Override
+    public FaceSbda findAllBySBID(String sbid) {
+        return faceSbdaRepository.findAllBySBID(sbid);
+    }
+}

+ 51 - 0
shiwan/face/src/main/java/com/huimv/face/service/impl/FaceUserImgsServiceImpl.java

@@ -0,0 +1,51 @@
+package com.huimv.face.service.impl;
+
+import com.huimv.face.domain.FaceUserImgs;
+import com.huimv.face.repo.FaceUserImgRepository;
+import com.huimv.face.result.Result;
+import com.huimv.face.service.FaceUserImgsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service.impl
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/30 0030 18:25
+ **/
+@Service
+public class FaceUserImgsServiceImpl implements FaceUserImgsService {
+    @Autowired
+    private FaceUserImgRepository faceUserImgRepository;
+    @Override
+    public Result upload(Integer ID ,String XM , String USERID, MultipartFile file) {
+//        try {
+            FaceUserImgs faceUserImgs = faceUserImgRepository.findAllByUserId(USERID);
+            if (faceUserImgs == null){
+                faceUserImgs = new FaceUserImgs();
+            }
+            faceUserImgs.setUserId(USERID);
+            faceUserImgs.setUserName(XM);
+        try {
+            faceUserImgs.setImg(file.getBytes());
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        faceUserImgRepository.save(faceUserImgs);
+            return new Result(10001,"添加成功");
+//        }catch (Exception e){
+//            return new Result(10001,"添加失败");
+//        }
+
+    }
+
+    @Override
+    public FaceUserImgs findAllByUserId(String userid) {
+        return faceUserImgRepository.findAllByUserId(userid);
+    }
+}

+ 92 - 0
shiwan/face/src/main/java/com/huimv/face/service/impl/FaceUserServiceImpl.java

@@ -0,0 +1,92 @@
+package com.huimv.face.service.impl;
+
+import com.huimv.face.domain.FaceUser;
+import com.huimv.face.repo.FaceUserRepository;
+import com.huimv.face.result.Result;
+import com.huimv.face.service.FaceUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service.impl
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 10:17
+ **/
+@Service
+public class FaceUserServiceImpl implements FaceUserService {
+
+    @Autowired
+    private FaceUserRepository faceUserRepository;
+
+    @Override
+    public List findAll() {
+        return findRecordList("2020-09-08 13:17:13","2020-09-08 13:17:15");
+    }
+
+    @Override
+    public FaceUser findAllByUserId(String userid) {
+        return faceUserRepository.findAllByUSERID(userid);
+    }
+
+    @Override
+    public Result findFaceUserByName(String userName) {
+        try {
+            FaceUser faceUser = faceUserRepository.findAllByUserName(userName);
+            if (faceUser!=null){
+                List list = new ArrayList();
+                list.add(faceUser);
+                return new Result(10000,"查询成功",list);
+            }else {
+                return new Result(10002,"用户不存在",null);
+            }
+        }catch (Exception e){
+            return new Result(10003,"查询失败",null);
+        }
+    }
+
+
+    /*
+    * @Method      : findRecordList
+    * @Description : 查询某个时间段的信息
+    * @Params      : [startTime, endTime]
+    * @Return      : java.util.List
+    *
+    * @Author      : Administrator
+    * @Date        : 2020/12/29 0029
+    * @Time        : 14:00
+    */
+    public List findRecordList( String startTime, String endTime) {
+        try {
+            Specification specification = new Specification() {
+                @Override
+                public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) {
+                    Predicate predicate = cb.conjunction();
+                    if (startTime != null && !startTime.trim().equals("")) {
+                        predicate.getExpressions().add(cb.greaterThanOrEqualTo(root.get("XGSJ").as(String.class), startTime));
+                    }
+                    if (endTime != null && !endTime.trim().equals("")) {
+                        predicate.getExpressions().add(cb.lessThanOrEqualTo(root.get("XGSJ").as(String.class), endTime));
+                    }
+                    return predicate;
+                }
+            };
+            List list = faceUserRepository.findAll(specification);
+            return list;
+        }catch (Exception e){
+            return  null;
+        }
+    }
+}

+ 57 - 0
shiwan/face/src/main/java/com/huimv/face/service/impl/SaveDbServiceImpl.java

@@ -0,0 +1,57 @@
+package com.huimv.face.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.huimv.face.domain.SaveDb;
+import com.huimv.face.repo.SaveDbRepository;
+import com.huimv.face.result.Result;
+import com.huimv.face.service.SaveDbService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.face.service.impl
+ * @Description : TODO
+ * @Author : yuxuexuan
+ * @Create : 2020/12/29 0029 17:03
+ **/
+@Service
+public class SaveDbServiceImpl implements SaveDbService {
+    @Autowired
+   private SaveDbRepository saveDbRepository;
+
+    @Override
+    public void save(SaveDb saveDb) {
+        saveDbRepository.save(saveDb);
+    }
+
+    @Override
+    public Result findDb(String str) {
+        Integer id;
+
+        switch (str){
+            case "oneYear":
+                id=1;
+                break;
+            case "oneWeek":
+                id=2;
+                break;
+            case "oneDay":
+                id=3;
+                break;
+            default:
+                id=null;
+        }
+        if (id != null){
+            SaveDb saveDb =  saveDbRepository.findById(id).get();
+            List list = (List) JSON.parse(saveDb.getValue1());
+            return new Result(10000,"查询成功",list);
+        }else {
+            return new Result(10001,"查询失败",null);
+        }
+    }
+}

+ 31 - 0
shiwan/face/src/main/resources/application-prod.yml

@@ -0,0 +1,31 @@
+server:
+  port: 8081
+spring:
+  application:
+    name: huimv-core
+
+  #------DataSource-----
+  datasource:
+    url: jdbc:mysql://127.0.0.1:3306/huimv-admin?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    #url: jdbc:mysql://192.168.1.7:3306/huimv-admin?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: root
+    password: hm123456
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  jpa:
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    show-sql: true
+
+  redis:
+    database: 0
+    host: 124.71.192.190
+    port: 6379
+    password: hm123456
+    jedis:
+      pool:
+        max-active: 20
+        max-wait: -1
+        max-idle: 10
+        min-idle: 0
+    timeout: 5000

+ 37 - 0
shiwan/face/src/main/resources/application-test.yml

@@ -0,0 +1,37 @@
+server:
+  port: 8081
+
+spring:
+  #------DataSource-----
+  datasource:
+      #url: jdbc:mysql://127.0.0.1:3306/huimv-admin?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://122.112.219.87:3306/ifm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: root
+    password: ?root@huimv_farm!
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  jpa:
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    show-sql: true
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 1000MB
+  mvc:
+    view:
+      prefix: /
+      suffix: .html
+
+#  redis:
+#    database: 0
+#    host: 124.71.192.190
+#    port: 6379
+#    password: hm123456
+#    jedis:
+#      pool:
+#        max-active: 20
+#        max-wait: -1
+#        max-idle: 10
+#        min-idle: 0
+#    timeout: 5000

+ 4 - 0
shiwan/face/src/main/resources/application.properties

@@ -0,0 +1,4 @@
+spring.profiles.active=test
+#spring.profiles.active=prod
+
+

+ 4 - 0
shiwan/face/src/main/resources/log4j.properties

@@ -0,0 +1,4 @@
+log4j.rootLogger=INFO, stdout
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

+ 27 - 0
shiwan/face/src/test/java/com/huimv/face/FaceApplicationTests.java

@@ -0,0 +1,27 @@
+package com.huimv.face;
+
+import org.junit.jupiter.api.Test;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+class FaceApplicationTests {
+//  2020-09-08 13:17:14
+    @Test
+    void contextLoads() {
+        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Date date  =new Date();
+        String str = sdf.format(date);
+        System.out.println(str);
+    }
+
+    @Test
+    void ss() {
+        String str1 = "yyyy-MM-dd 03:mm:ss";
+        String str = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+        int x = Integer.parseInt(str1.substring(11,13));
+        System.out.println(str1.substring(5,7));
+    }
+
+
+}