Kaynağa Gözat

获取考勤机人脸图片

wangpx 9 ay önce
ebeveyn
işleme
614c909378

+ 25 - 0
src/main/java/cn/com/oa/controller/UserController.java

@@ -0,0 +1,25 @@
+package cn.com.oa.controller;
+
+import cn.com.oa.service.UserService;
+import cn.com.v2.common.domain.AjaxResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author: LaFantasque
+ * @date: 2025-07-08 15:09
+ */
+@RestController
+@RequestMapping("/api/user")
+public class UserController {
+
+    @Autowired
+    private UserService service;
+
+    @GetMapping("/facerecord")
+    public AjaxResult getFaceRecord() {
+        return AjaxResult.successData(200, service.getFaceRecord());
+    }
+}

+ 3 - 0
src/main/java/cn/com/oa/mapper/UserMapper.java

@@ -1,5 +1,6 @@
 package cn.com.oa.mapper;
 
+import cn.com.oa.model.FaceRecord;
 import cn.com.oa.model.User;
 import cn.com.oa.model.dto.UserDTO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -16,6 +17,8 @@ import java.util.List;
 public interface UserMapper extends BaseMapper<User> {
 
     List<UserDTO> getDeptCount(@Param("user") User user);
+
+    List<FaceRecord> getFaceRecord();
 }
 
 

+ 1 - 1
src/main/java/cn/com/oa/model/dto/UserDTO.java

@@ -7,7 +7,7 @@ import lombok.EqualsAndHashCode;
 /**
  * User数据传输对象
  *
- * @author: LaFantasque
+ * @author: wangpx
  * @date: 2025-02-15 14:25
  */
 @Data

+ 3 - 0
src/main/java/cn/com/oa/service/UserService.java

@@ -1,5 +1,6 @@
 package cn.com.oa.service;
 
+import cn.com.oa.model.FaceRecord;
 import cn.com.oa.model.User;
 import cn.com.oa.model.dto.UserDTO;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -16,4 +17,6 @@ public interface UserService extends IService<User> {
     int getCount(User user);
 
     List<UserDTO> getDeptCount(User user);
+
+    List<FaceRecord> getFaceRecord();
 }

+ 6 - 0
src/main/java/cn/com/oa/service/impl/UserServiceImpl.java

@@ -1,6 +1,7 @@
 package cn.com.oa.service.impl;
 
 import cn.com.oa.mapper.UserMapper;
+import cn.com.oa.model.FaceRecord;
 import cn.com.oa.model.User;
 import cn.com.oa.model.dto.UserDTO;
 import cn.com.oa.service.UserService;
@@ -38,6 +39,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
     public List<UserDTO> getDeptCount(User user) {
         return userMapper.getDeptCount(user);
     }
+
+    @Override
+    public List<FaceRecord> getFaceRecord() {
+        return userMapper.getFaceRecord();
+    }
 }
 
 

+ 13 - 0
src/main/resources/mapper/oa/UserMapper.xml

@@ -73,4 +73,17 @@
             tg.GROUPNAME
     </select>
 
+    <select id="getFaceRecord" resultType="cn.com.oa.model.FaceRecord">
+        SELECT fr.personName, fr.face, fr.serialNo, fr.createTime
+        FROM face_record fr
+                 JOIN (
+            SELECT personName, MAX(createTime) AS maxTime
+            FROM face_record
+            GROUP BY personName
+        ) latest
+        ON fr.personName = latest.personName AND fr.createTime = latest.maxTime
+        ORDER BY fr.createTime DESC
+            LIMIT 4;
+    </select>
+
 </mapper>