DssDriverController.java
3.86 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
package com.ruoyi.controller.dss;
import cn.hutool.core.convert.Convert;
import cn.hutool.system.UserInfo;
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.login.dto.LoginDriverDTO;
import com.ruoyi.domain.driver.dss.syn.login.vo.LoginDriverVo;
import com.ruoyi.domain.driver.dss.syn.login.vo.LoginUserInfoVo;
import com.ruoyi.service.driver.NewDriverService;
import io.swagger.annotations.Api;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.*;
/**
* @author liujun
* @date 2024年07月11日 16:37
*/
@RestController
@Slf4j
@RequestMapping("/dss/Driver")
@Api(tags = "【蓝斯一期】人员信息")
public class DssDriverController extends BaseController {
@Autowired
private NewDriverService newDriverService;
public AjaxResult login(@Valid LoginDriverDTO loginDriverDTO, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return AjaxResult.error(bindingResult.getFieldError().getDefaultMessage());
}
Integer id = checkFace();
if (Objects.isNull(id)) {
return AjaxResult.error("登陆数据错误,无法识别人脸");
}
NewDriver newDriver = newDriverService.getById(id);
return AjaxResult.success(convertNewDriver(newDriver));
}
/***
* 第三方识别人脸
* @author liujun
* @date 2024/7/11 17:04
* @return java.lang.Integer
*/
private Integer checkFace() {
List<NewDriver> lists = newDriverService.list(new NewDriver());
if (CollectionUtils.isEmpty(lists)) {
return null;
}
//TODO 对接第三方
return 10;
}
/***
* 登陆转换
* @author liujun
* @date 2024/7/11 17:26
* @param newDriver
* @return com.ruoyi.domain.driver.dss.syn.login.vo.LoginDriverVo
*/
private LoginDriverVo convertNewDriver(NewDriver newDriver) {
LoginDriverVo loginDriverVo = new LoginDriverVo();
loginDriverVo.setDriverCode(newDriver.getIcRfid());
loginDriverVo.setDriverName(newDriver.getPersonnelName());
loginDriverVo.setWorkCode(newDriver.getJobCode());
loginDriverVo.setStaffCode(newDriver.getJobCode());
loginDriverVo.setStaffType(DrivePosEnum.getObjValueOfLabel(newDriver.getPosts()));
loginDriverVo.setCropFacePhotoUrl(newDriver.getImage());
loginDriverVo.setBlueTooth(newDriver.getBlueTooth());
loginDriverVo.setFaceFeature(newDriver.getFaceFeature());
loginDriverVo.setSynState(newDriver.getInteger());
loginDriverVo.setSynContent(newDriver.getSyncontent());
loginDriverVo.setCsn(newDriver.getCsn());
//TODO 是否强制做检查
loginDriverVo.setHealthCheck(0);
//TODO 当日最后一次登签的签到状态
loginDriverVo.setSignInType(0);
//TODO 当日最后一次登签的签退状态
loginDriverVo.setSignOutType(0);
Set<Integer> postSets = new HashSet<>();
loginDriverVo.setStaffTypeItem(postSets);
LoginUserInfoVo loginUserInfoVo = new LoginUserInfoVo();
loginUserInfoVo.setStaffId(Convert.toStr(newDriver.getId()));
loginUserInfoVo.setStaffName(newDriver.getPersonnelName());
loginUserInfoVo.setIcCardNo(newDriver.getIcRfid());
loginUserInfoVo.setFacePhotoPath(newDriver.getImage());
loginDriverVo.setUserInfo(loginUserInfoVo);
return loginDriverVo;
}
}