DssFaceController.java
4.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package com.ruoyi.controller.dss;
import cn.hutool.core.convert.Convert;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.domain.driver.NewDriver;
import com.ruoyi.domain.driver.dss.syn.DrivePosEnum;
import com.ruoyi.domain.driver.dss.syn.dto.DssDriveQueryDTO;
import com.ruoyi.domain.driver.dss.syn.res.dto.FaceRegisterDTO;
import com.ruoyi.domain.driver.dss.syn.res.dto.ResDataDriveDTO;
import com.ruoyi.domain.driver.dss.syn.vo.DssDriveVo;
import com.ruoyi.service.driver.NewDriverService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
* @author liujun
* @date 2024年07月11日 14:07
*/
@Slf4j
@RestController
@RequestMapping("/dss/Driver")
@Api(tags = "【蓝斯一期】人脸信息")
public class DssFaceController extends BaseController {
@Autowired
private NewDriverService newDriverService;
@PostMapping("/syn/reqData")
@ApiOperation("获取数据库人员信息")
public List<DssDriveVo> queryDriver(@Valid DssDriveQueryDTO dto, BindingResult bindingResult) {
List<NewDriver> drivers = newDriverService.list();
return convertDssDriveVo(drivers);
}
@ApiOperation("终端同步人脸数据结果上报")
@PostMapping(value = "/syn/resData")
public AjaxResult insertDriver(@Valid ResDataDriveDTO dto, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return AjaxResult.error(bindingResult.getFieldError().getDefaultMessage());
}
NewDriver newDriver = convertNewDriver(dto);
boolean flag = newDriverService.updateClient(newDriver);
return flag ? AjaxResult.success() : AjaxResult.error();
}
@ApiOperation(("人脸注册"))
@PostMapping(value = "FaceRegister")
public AjaxResult faceRegister(@Valid FaceRegisterDTO dto, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return AjaxResult.error(bindingResult.getFieldError().getDefaultMessage());
}
NewDriver newDriver = convertFaceRegister(dto);
boolean flag = newDriverService.faceRegister(newDriver);
return flag ? AjaxResult.success() : AjaxResult.error();
}
private List<DssDriveVo> convertDssDriveVo(List<NewDriver> newDrivers) {
if (CollectionUtils.isEmpty(newDrivers)) {
return Collections.emptyList();
}
return newDrivers.stream().map(driver -> {
DssDriveVo vo = new DssDriveVo();
vo.setStaffId(driver.getJobCode());
vo.setStaffName(driver.getPersonnelName());
vo.setIcCardNo(driver.getIcCardCode());
vo.setFacePhotoPath(driver.getImage());
vo.setCsn(driver.getIdRfid());
vo.setFaceFeature(driver.getFaceFeature());
vo.setBlueTooth(driver.getBlueTooth());
vo.setSynContent(driver.getSyncontent());
Integer post = DrivePosEnum.getObjValueOfLabel(driver.getPosts());
Set<Integer> posts = new HashSet<>();
posts.add(post);
vo.setStaffTypeItem(posts);
return vo;
}).collect(Collectors.toList());
}
private NewDriver convertNewDriver(ResDataDriveDTO dto) {
NewDriver newDriver = new NewDriver();
newDriver.setJobCode(dto.getStaffId());
// newDriver.setPersonnelName(dto.getStaffName());
// newDriver.setIcCardCode(dto.getIcCardNo());
newDriver.setImage(dto.getFacePhotoPath());
newDriver.setFaceFeature(dto.getFaceFeature());
newDriver.setBlueTooth(dto.getBlueTooth());
newDriver.setInteger(dto.getInteger());
newDriver.setSyncontent((dto.getSynContent()));
newDriver.setCsn(dto.getCsn());
return null;
}
private NewDriver convertFaceRegister(FaceRegisterDTO dto) {
NewDriver newDriver = new NewDriver();
newDriver.setIcCardCode(dto.getFaceValue());
newDriver.setFaceSignIn(1);
newDriver.setSignInEquipment(dto.getDriverCode());
newDriver.setImage(dto.getFaceValue());
return newDriver;
}
}