兴安优化访客人脸机交互
This commit is contained in:
@@ -1,11 +1,14 @@
|
|||||||
package com.dcsoft.system.uniubi.domain;
|
package com.dcsoft.system.uniubi.domain;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.dcsoft.common.core.annotation.Excel;
|
import com.dcsoft.common.core.annotation.Excel;
|
||||||
import com.dcsoft.common.core.web.domain.BaseEntity;
|
import com.dcsoft.common.core.web.domain.BaseEntity;
|
||||||
import com.dcsoft.system.domain.SysBranch;
|
import com.dcsoft.system.domain.SysBranch;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 人员管理对象 person
|
* 人员管理对象 person
|
||||||
*
|
*
|
||||||
@@ -58,6 +61,17 @@ public class Person extends BaseEntity
|
|||||||
/** 人员类型 0:长期人员(默认),1:临时员工 2:黑名单用户,*/
|
/** 人员类型 0:长期人员(默认),1:临时员工 2:黑名单用户,*/
|
||||||
private int role=0;
|
private int role=0;
|
||||||
|
|
||||||
|
|
||||||
|
private List<JSONObject> rule;
|
||||||
|
|
||||||
|
public List<JSONObject> getRule() {
|
||||||
|
return rule;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRule(List<JSONObject> rule) {
|
||||||
|
this.rule = rule;
|
||||||
|
}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.dcsoft.system.domain.SysRule;
|
|||||||
import com.dcsoft.system.uniubi.domain.Person;
|
import com.dcsoft.system.uniubi.domain.Person;
|
||||||
import com.dcsoft.system.visitor.domain.Visitor;
|
import com.dcsoft.system.visitor.domain.Visitor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -24,6 +25,9 @@ public interface ISysSdkService {
|
|||||||
//人员接口-人员删除(若删除多个人员,id 用英文逗号拼接,传入-1 则删除所有人员)
|
//人员接口-人员删除(若删除多个人员,id 用英文逗号拼接,传入-1 则删除所有人员)
|
||||||
String personDelete(String id, String ip, String pass);
|
String personDelete(String id, String ip, String pass);
|
||||||
|
|
||||||
|
//创建规则
|
||||||
|
String ruleCreate(String id, String ip, String pass, Date startDate, Date endDate);
|
||||||
|
|
||||||
//人员接口-人员更新
|
//人员接口-人员更新
|
||||||
String personUpdate(Person person, String ip, String pass);
|
String personUpdate(Person person, String ip, String pass);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package com.dcsoft.system.uniubi.service.impl;
|
package com.dcsoft.system.uniubi.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.date.DateTime;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.dcsoft.system.domain.*;
|
import com.dcsoft.system.domain.*;
|
||||||
@@ -67,6 +70,28 @@ public class SysSdkServiceImpl implements ISysSdkService {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String ruleCreate(String ruleId, String ip, String pass, Date startTime, Date endTime) {
|
||||||
|
String url = "http://" + ip + ":8090/rule/create";
|
||||||
|
JSONObject paramMap = new JSONObject();
|
||||||
|
paramMap.put("pass", pass);
|
||||||
|
paramMap.put("ruleId", ruleId);
|
||||||
|
paramMap.put("type", 1);
|
||||||
|
List<String> segment = Arrays.asList("00:00:00", "23:59:59");
|
||||||
|
Map<String, Object> dayMap = new HashMap<>();
|
||||||
|
dayMap.put("segment", segment);
|
||||||
|
dayMap.put("endAt", endTime.getTime());
|
||||||
|
dayMap.put("startAt", startTime.getTime());
|
||||||
|
Map<String, Object> contentMap = new HashMap<>();
|
||||||
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
|
list.add(dayMap);
|
||||||
|
contentMap.put("day", list);
|
||||||
|
contentMap.put("endAt", endTime.getTime());
|
||||||
|
contentMap.put("startAt", startTime.getTime());
|
||||||
|
paramMap.put("content", contentMap);
|
||||||
|
return HttpUtil.postDataJson(url, paramMap);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String personUpdate(Person person, String ip, String pass) {
|
public String personUpdate(Person person, String ip, String pass) {
|
||||||
String url="http://"+ip+":8090/person/update";
|
String url="http://"+ip+":8090/person/update";
|
||||||
@@ -217,6 +242,7 @@ public class SysSdkServiceImpl implements ISysSdkService {
|
|||||||
}
|
}
|
||||||
paramMap.put("imgUrl",imgUrl);
|
paramMap.put("imgUrl",imgUrl);
|
||||||
String response= HttpUtil.sendxwwwform(url,paramMap);
|
String response= HttpUtil.sendxwwwform(url,paramMap);
|
||||||
|
log.info("imageCreateUrl:{}", response);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -258,6 +258,7 @@ public class VisCarryStuffController extends BaseController {
|
|||||||
|
|
||||||
//查询放行记录,确认保安是否已放行
|
//查询放行记录,确认保安是否已放行
|
||||||
VisExitOutRecordVo visExitOutRecordVo = new VisExitOutRecordVo();
|
VisExitOutRecordVo visExitOutRecordVo = new VisExitOutRecordVo();
|
||||||
|
visExitOutRecordVo.setExitId(id);
|
||||||
List<VisExitOutRecordVo> visExitOutRecordVos = visExitOutRecordService.selectList(visExitOutRecordVo);
|
List<VisExitOutRecordVo> visExitOutRecordVos = visExitOutRecordService.selectList(visExitOutRecordVo);
|
||||||
if (CollUtil.isNotEmpty(visExitOutRecordVos)) {
|
if (CollUtil.isNotEmpty(visExitOutRecordVos)) {
|
||||||
stuffVo.setIsRelease(1);
|
stuffVo.setIsRelease(1);
|
||||||
|
|||||||
@@ -350,7 +350,7 @@ public class VisitorController extends BaseController {
|
|||||||
|
|
||||||
//审核链接进来
|
//审核链接进来
|
||||||
if (StringUtils.isNotBlank(telephone)) {
|
if (StringUtils.isNotBlank(telephone)) {
|
||||||
// if (StringUtils.equals(visitor.getExamineState(), ExamineEnum.IN_REVIEW.getCode())) {
|
if (StringUtils.equals(visitor.getExamineState(), ExamineEnum.IN_REVIEW.getCode())) {
|
||||||
//查询当前点击审核链接的人员信息
|
//查询当前点击审核链接的人员信息
|
||||||
SysPeople sysPeople = sysPeopleService.queryPeopleName(telephone, null);
|
SysPeople sysPeople = sysPeopleService.queryPeopleName(telephone, null);
|
||||||
|
|
||||||
@@ -364,7 +364,7 @@ public class VisitorController extends BaseController {
|
|||||||
visitor.setExamineState(visitor1.getState());
|
visitor.setExamineState(visitor1.getState());
|
||||||
visitor.setRejectReason(visitor1.getRejectReason());
|
visitor.setRejectReason(visitor1.getRejectReason());
|
||||||
}
|
}
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, String> map = dictDataService.queryDictData("sys_company_type");
|
Map<String, String> map = dictDataService.queryDictData("sys_company_type");
|
||||||
@@ -509,18 +509,12 @@ public class VisitorController extends BaseController {
|
|||||||
|
|
||||||
//判断访客和随访人是否存在预约过的信息
|
//判断访客和随访人是否存在预约过的信息
|
||||||
List<String> phones = new ArrayList<>();
|
List<String> phones = new ArrayList<>();
|
||||||
List<String> idcards = new ArrayList<>();
|
|
||||||
if (CollUtil.isNotEmpty(visitor.getItemList())) {
|
if (CollUtil.isNotEmpty(visitor.getItemList())) {
|
||||||
phones = visitor.getItemList().stream().map(Visitor::getPhone).collect(Collectors.toList());
|
phones = visitor.getItemList().stream().map(Visitor::getPhone).collect(Collectors.toList());
|
||||||
idcards = visitor.getItemList().stream().map(Visitor::getIdcard).collect(Collectors.toList());
|
|
||||||
}
|
}
|
||||||
phones.add(visitor.getPhone());
|
phones.add(visitor.getPhone());
|
||||||
if (visitorService.queryVisitorByIdCount(phones) > 0) {
|
if (visitorService.addVisitorCheck(phones, visitor.getStartTime()) > 0) {
|
||||||
throw new ServiceException("手机号已存在访客预约信息");
|
throw new ServiceException("该时间段已有申请,请更换预约时间");
|
||||||
}
|
|
||||||
idcards.add(visitor.getIdcard());
|
|
||||||
if (visitorService.queryVisitorByCardCount(idcards) > 0) {
|
|
||||||
throw new ServiceException("访客中存在已预约访客");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||||
@@ -571,7 +565,7 @@ public class VisitorController extends BaseController {
|
|||||||
|
|
||||||
//发送企微信息
|
//发送企微信息
|
||||||
try {
|
try {
|
||||||
sendWeCom(sysPeople.getPhone(), url + " --访客姓名:" + visitor.getName());
|
// sendWeCom(sysPeople.getPhone(), url + " --访客姓名:" + visitor.getName());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("访客add-sendWeCom异常:", e);
|
log.error("访客add-sendWeCom异常:", e);
|
||||||
}
|
}
|
||||||
@@ -1055,16 +1049,19 @@ public class VisitorController extends BaseController {
|
|||||||
visitor2.setReviewer(String.valueOf(sysPeople.getId()));
|
visitor2.setReviewer(String.valueOf(sysPeople.getId()));
|
||||||
visitor2.setRejectReason(visitor.getRejectReason());
|
visitor2.setRejectReason(visitor.getRejectReason());
|
||||||
visitor2.setState(ExamineEnum.PASSED.getCode());
|
visitor2.setState(ExamineEnum.PASSED.getCode());
|
||||||
|
visitor2.setApproveNode(1);
|
||||||
list.add(visitor2);
|
list.add(visitor2);
|
||||||
Visitor visitor3 = new Visitor();
|
Visitor visitor3 = new Visitor();
|
||||||
visitor3.setId(visitor.getId());
|
visitor3.setId(visitor.getId());
|
||||||
visitor3.setState(ExamineEnum.IN_REVIEW.getCode());
|
visitor3.setState(ExamineEnum.IN_REVIEW.getCode());
|
||||||
visitor3.setReviewer(visitor.getReviewer2());
|
visitor3.setReviewer(visitor.getReviewer2());
|
||||||
|
visitor3.setApproveNode(2);
|
||||||
list.add(visitor3);
|
list.add(visitor3);
|
||||||
Visitor visitor4 = new Visitor();
|
Visitor visitor4 = new Visitor();
|
||||||
visitor4.setId(visitor.getId());
|
visitor4.setId(visitor.getId());
|
||||||
visitor4.setState(ExamineEnum.IN_REVIEW.getCode());
|
visitor4.setState(ExamineEnum.IN_REVIEW.getCode());
|
||||||
visitor4.setReviewer(visitor.getReviewer3());
|
visitor4.setReviewer(visitor.getReviewer3());
|
||||||
|
visitor4.setApproveNode(3);
|
||||||
list.add(visitor4);
|
list.add(visitor4);
|
||||||
//保存审核环节表
|
//保存审核环节表
|
||||||
visitorService.saveVisitorReviewProcessList(list);
|
visitorService.saveVisitorReviewProcessList(list);
|
||||||
@@ -1072,6 +1069,7 @@ public class VisitorController extends BaseController {
|
|||||||
//二级审核人审核
|
//二级审核人审核
|
||||||
else if (visitor1.getCurrentNode() == 2) {
|
else if (visitor1.getCurrentNode() == 2) {
|
||||||
visitor.setNextStepReviewer(visitor.getReviewer3());
|
visitor.setNextStepReviewer(visitor.getReviewer3());
|
||||||
|
visitor.setApproveNode(2);
|
||||||
visitorService.updateVisitorReviewProcess(visitor);
|
visitorService.updateVisitorReviewProcess(visitor);
|
||||||
}
|
}
|
||||||
//如果有下一级审核人员,发送钉钉,企微审核消息链接
|
//如果有下一级审核人员,发送钉钉,企微审核消息链接
|
||||||
@@ -1086,7 +1084,7 @@ public class VisitorController extends BaseController {
|
|||||||
log.info("approve发送审核链接:{}", url);
|
log.info("approve发送审核链接:{}", url);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
sendWeCom(nextPeople.getPhone(), url + " --访客姓名:" + visitor.getName());
|
// sendWeCom(nextPeople.getPhone(), url + " --访客姓名:" + visitor.getName());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("访客approve-sendWeCom异常:", e);
|
log.error("访客approve-sendWeCom异常:", e);
|
||||||
}
|
}
|
||||||
@@ -1100,8 +1098,39 @@ public class VisitorController extends BaseController {
|
|||||||
visVisitorExamineService.insertVisVisitorExamine(examine);
|
visVisitorExamineService.insertVisVisitorExamine(examine);
|
||||||
|
|
||||||
//修改环节状态
|
//修改环节状态
|
||||||
|
visitor.setApproveNode(3);
|
||||||
visitorService.updateVisitorReviewProcess(visitor);
|
visitorService.updateVisitorReviewProcess(visitor);
|
||||||
|
|
||||||
|
// 园区人脸下发到设备
|
||||||
|
if (StringUtils.isEmpty(visitor1.getGuid())) {
|
||||||
|
List<Visitor> listVisitorId = new ArrayList<>();
|
||||||
|
Visitor s = deviceDistribute(visitor1, 1);
|
||||||
|
Visitor visitor3 = new Visitor();
|
||||||
|
visitor3.setGuid(s.getGuid());
|
||||||
|
visitor3.setFaceGuid(s.getFaceGuid());
|
||||||
|
visitor3.setId(visitor1.getId());
|
||||||
|
//查询随访人员
|
||||||
|
Visitor visitor11 = new Visitor();
|
||||||
|
visitor11.setParentId(visitor1.getId());
|
||||||
|
List<Visitor> visitors = visitorService.selectVisitorItemList(visitor11);
|
||||||
|
if (!CollectionUtils.isEmpty(visitors)) {
|
||||||
|
for (Visitor visitor2 : visitors) {
|
||||||
|
Visitor visitorInfo = new Visitor();
|
||||||
|
visitor2.setUserId(visitor1.getUserId());
|
||||||
|
Visitor visitorId = deviceDistribute(visitor2, 2);
|
||||||
|
visitorInfo.setId(visitor2.getId());
|
||||||
|
visitorInfo.setGuid(visitorId.getGuid());
|
||||||
|
visitorInfo.setFaceGuid(visitorId.getFaceGuid());
|
||||||
|
listVisitorId.add(visitorInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
listVisitorId.add(visitor3);
|
||||||
|
log.info("更新访客人员信息到设备:{}", listVisitorId);
|
||||||
|
visitorService.updateVisitorInfoGuid(listVisitorId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 同意后,给被访人和访客们发送审核结束短信
|
// 同意后,给被访人和访客们发送审核结束短信
|
||||||
List<String> phoneList = new ArrayList<>();
|
List<String> phoneList = new ArrayList<>();
|
||||||
phoneList.add(visitor.getPhone());
|
phoneList.add(visitor.getPhone());
|
||||||
@@ -1115,7 +1144,7 @@ public class VisitorController extends BaseController {
|
|||||||
log.info("approve-发同意短信:{}", JSON.toJSONString(phoneList));
|
log.info("approve-发同意短信:{}", JSON.toJSONString(phoneList));
|
||||||
for (String phone : phoneList) {
|
for (String phone : phoneList) {
|
||||||
try {
|
try {
|
||||||
sendMessage(phone, "1", parkName, smsProperties.getTemplate2());
|
// sendMessage(phone, "1", parkName, smsProperties.getTemplate2());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
}
|
}
|
||||||
@@ -1133,7 +1162,7 @@ public class VisitorController extends BaseController {
|
|||||||
visitorService.updateVisitorReviewProcess(visitor);
|
visitorService.updateVisitorReviewProcess(visitor);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
sendWeCom(telephone, visitor.getName() + "的访客审核已驳回");
|
// sendWeCom(telephone, visitor.getName() + "的访客审核已驳回");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("访客approve-sendWeCom驳回异常:", e);
|
log.error("访客approve-sendWeCom驳回异常:", e);
|
||||||
}
|
}
|
||||||
@@ -1141,7 +1170,7 @@ public class VisitorController extends BaseController {
|
|||||||
|
|
||||||
log.info("approve-发拒绝短信:{}", visitor.getPhone());
|
log.info("approve-发拒绝短信:{}", visitor.getPhone());
|
||||||
try {
|
try {
|
||||||
sendMessage(visitor.getPhone(), "1", parkName, smsProperties.getTemplate3());
|
// sendMessage(visitor.getPhone(), "1", parkName, smsProperties.getTemplate3());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage());
|
log.error(e.getMessage());
|
||||||
}
|
}
|
||||||
@@ -1466,6 +1495,80 @@ public class VisitorController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 园区人脸设备下发
|
||||||
|
*/
|
||||||
|
private Visitor deviceDistribute(Visitor visitor,Integer type) {
|
||||||
|
// 查询被访人授权记录
|
||||||
|
Visitor s = new Visitor();
|
||||||
|
SysEquipment equipment = new SysEquipment();
|
||||||
|
equipment.setFlag("0");
|
||||||
|
equipment.setIsCj("0");
|
||||||
|
equipment.setProductId(3L);
|
||||||
|
List<SysEquipment> equipList = equipmentService.selectSysEquipmentList(equipment);
|
||||||
|
String guid = IdUtils.simpleUUID();
|
||||||
|
String faceId = IdUtils.simpleUUID();
|
||||||
|
s.setGuid(guid);
|
||||||
|
s.setFaceGuid(faceId);
|
||||||
|
//通过规则获取绑定设备信息
|
||||||
|
for (SysEquipment e : equipList) {
|
||||||
|
//将人员信息下发到设备
|
||||||
|
Person person = new Person();
|
||||||
|
person.setName(visitor.getName());
|
||||||
|
person.setPhone(visitor.getPhone());
|
||||||
|
person.setId(guid);
|
||||||
|
//添加人员规则
|
||||||
|
JSONObject jsonObject = new JSONObject();
|
||||||
|
jsonObject.put("ruleId", type == 1 ? "vis_" + visitor.getId() : "vis_" + visitor.getParentId());
|
||||||
|
JSONObject jsonObject2 = new JSONObject();
|
||||||
|
jsonObject2.put("timezoneRule", jsonObject);
|
||||||
|
List<JSONObject> objects = new ArrayList<>();
|
||||||
|
objects.add(jsonObject2);
|
||||||
|
person.setRule(objects);
|
||||||
|
|
||||||
|
String ip = e.getIp();
|
||||||
|
String pass = e.getPassword();
|
||||||
|
//添加临时规则
|
||||||
|
if(type == 1) {
|
||||||
|
String s1 = sdkService.ruleCreate(jsonObject.getString("ruleId"), ip, pass, visitor.getStartTime(), visitor.getEndTime());
|
||||||
|
JSONObject jsonObject1 = JSONObject.parseObject(s1);
|
||||||
|
if (!StringUtils.equals("LAN_SUS-0", jsonObject1.getString("code"))) {
|
||||||
|
log.error("临时访客创建规则下发失败visitorId:{},ip:{}", visitor.getId(), e.getIp());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//创建人员
|
||||||
|
String s2 = sdkService.personCreate(person, ip, pass);
|
||||||
|
JSONObject jsonObject3 = JSONObject.parseObject(s2);
|
||||||
|
if (!StringUtils.equals("LAN_SUS-0", jsonObject3.getString("code"))) {
|
||||||
|
log.error("临时访客创建人员下发失败visitorId:{},ip:{}", visitor.getId(), e.getIp());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//设置人员有效期
|
||||||
|
String s3 = sdkService.permissionsCreate(guid, DateUtil.format(visitor.getEndTime(), DatePattern.NORM_DATETIME_PATTERN), ip, pass);
|
||||||
|
JSONObject jsonObject4 = JSONObject.parseObject(s3);
|
||||||
|
if (!StringUtils.equals("LAN_SUS-0", jsonObject4.getString("code"))) {
|
||||||
|
log.error("临时访客设置人员有效期下发失败visitorId:{},ip:{}", visitor.getId(), e.getIp());
|
||||||
|
}
|
||||||
|
//设置人脸图片
|
||||||
|
if (StringUtils.isNotEmpty(visitor.getAvatar())) {
|
||||||
|
String s4 = sdkService.imageCreateUrl(guid, faceId, visitor.getAvatar(), ip, pass);
|
||||||
|
JSONObject jsonObject5 = JSONObject.parseObject(s4);
|
||||||
|
if (!StringUtils.equals("LAN_SUS-0", jsonObject5.getString("code"))) {
|
||||||
|
log.error("临时访客设置人员图片下发失败visitorId:{},ip:{}", visitor.getId(), e.getIp());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//保存下发记录
|
||||||
|
SysPeopleEquipment sysPeopleEquipment = new SysPeopleEquipment();
|
||||||
|
sysPeopleEquipment.setVisitorId(visitor.getId());
|
||||||
|
sysPeopleEquipment.setEquipmentId(e.getId());
|
||||||
|
sysPeopleEquipment.setGuid(guid);
|
||||||
|
sysPeopleEquipment.setFaceGuid(faceId);
|
||||||
|
peopleEquipmentService.insertSysPeopleEquipment(sysPeopleEquipment);
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 园区人脸设备下发
|
* 园区人脸设备下发
|
||||||
*/
|
*/
|
||||||
@@ -1476,7 +1579,6 @@ public class VisitorController extends BaseController {
|
|||||||
SysRule rule = sysRuleService.selectSysRuleById(sysManageRecord.getRuleId());
|
SysRule rule = sysRuleService.selectSysRuleById(sysManageRecord.getRuleId());
|
||||||
String[] pointIds = rule.getPointId().split(",");
|
String[] pointIds = rule.getPointId().split(",");
|
||||||
List<SysEquipment> equipList = new ArrayList<>();
|
List<SysEquipment> equipList = new ArrayList<>();
|
||||||
if (pointIds != null) {
|
|
||||||
for (String point : pointIds) {
|
for (String point : pointIds) {
|
||||||
SysEquipment equipment = new SysEquipment();
|
SysEquipment equipment = new SysEquipment();
|
||||||
equipment.setPointId(Long.parseLong(point));
|
equipment.setPointId(Long.parseLong(point));
|
||||||
@@ -1486,13 +1588,11 @@ public class VisitorController extends BaseController {
|
|||||||
List<SysEquipment> equipmentDtoList = equipmentService.selectSysEquipmentList(equipment);
|
List<SysEquipment> equipmentDtoList = equipmentService.selectSysEquipmentList(equipment);
|
||||||
equipList.addAll(equipmentDtoList);
|
equipList.addAll(equipmentDtoList);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
String guid = IdUtils.simpleUUID();
|
String guid = IdUtils.simpleUUID();
|
||||||
String faceId = IdUtils.simpleUUID();
|
String faceId = IdUtils.simpleUUID();
|
||||||
s.setGuid(guid);
|
s.setGuid(guid);
|
||||||
s.setFaceGuid(faceId);
|
s.setFaceGuid(faceId);
|
||||||
//通过规则获取绑定设备信息
|
//通过规则获取绑定设备信息
|
||||||
if (equipList != null) {
|
|
||||||
for (SysEquipment e : equipList) {
|
for (SysEquipment e : equipList) {
|
||||||
//将人员信息下发到设备
|
//将人员信息下发到设备
|
||||||
Person person = new Person();
|
Person person = new Person();
|
||||||
@@ -1502,6 +1602,8 @@ public class VisitorController extends BaseController {
|
|||||||
String ip = e.getIp();
|
String ip = e.getIp();
|
||||||
String pass = e.getPassword();
|
String pass = e.getPassword();
|
||||||
sdkService.personCreate(person, ip, pass);
|
sdkService.personCreate(person, ip, pass);
|
||||||
|
sdkService.permissionsCreate(guid, DateUtil.format(visitor.getEndTime(), DatePattern.NORM_DATETIME_PATTERN), ip, pass);
|
||||||
|
|
||||||
if (StringUtils.isNotEmpty(visitor.getAvatar())) {
|
if (StringUtils.isNotEmpty(visitor.getAvatar())) {
|
||||||
sdkService.imageCreateUrl(guid, faceId, visitor.getAvatar(), ip, pass);
|
sdkService.imageCreateUrl(guid, faceId, visitor.getAvatar(), ip, pass);
|
||||||
}
|
}
|
||||||
@@ -1514,7 +1616,6 @@ public class VisitorController extends BaseController {
|
|||||||
peopleEquipmentService.insertSysPeopleEquipment(sysPeopleEquipment);
|
peopleEquipmentService.insertSysPeopleEquipment(sysPeopleEquipment);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -294,4 +294,9 @@ public class Visitor extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private List<String> insurancePolicyList;
|
private List<String> insurancePolicyList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* vis_visitor_review_process表的审核节点
|
||||||
|
*/
|
||||||
|
private Integer approveNode;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.dcsoft.system.visitor.mapper;
|
package com.dcsoft.system.visitor.mapper;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.dcsoft.common.core.web.page.TableDataInfoPage;
|
import com.dcsoft.common.core.web.page.TableDataInfoPage;
|
||||||
@@ -253,4 +254,6 @@ public interface VisitorMapper
|
|||||||
String queryReviewProcessOld(Visitor visitor);
|
String queryReviewProcessOld(Visitor visitor);
|
||||||
|
|
||||||
void deleteVisitorReviewProcess(@Param("id") Long id);
|
void deleteVisitorReviewProcess(@Param("id") Long id);
|
||||||
|
|
||||||
|
int addVisitorCheck(@Param("phones") List<String> phones,@Param("startTime") Date startTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.dcsoft.system.visitor.service;
|
package com.dcsoft.system.visitor.service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.dcsoft.common.core.web.page.TableDataInfoPage;
|
import com.dcsoft.common.core.web.page.TableDataInfoPage;
|
||||||
@@ -265,4 +266,6 @@ public interface IVisitorService
|
|||||||
String queryReviewProcessOld(Visitor visitor);
|
String queryReviewProcessOld(Visitor visitor);
|
||||||
|
|
||||||
void cancel(Visitor visitor);
|
void cancel(Visitor visitor);
|
||||||
|
|
||||||
|
int addVisitorCheck(List<String> phones, Date startTime);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -818,4 +818,10 @@ public class VisitorServiceImpl implements IVisitorService {
|
|||||||
//删除流程环节信息
|
//删除流程环节信息
|
||||||
visitorMapper.deleteVisitorReviewProcess(visitor.getId());
|
visitorMapper.deleteVisitorReviewProcess(visitor.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int addVisitorCheck(List<String> phones, Date startTime) {
|
||||||
|
return visitorMapper.addVisitorCheck(phones, startTime);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -380,13 +380,25 @@
|
|||||||
</if>)
|
</if>)
|
||||||
</insert>
|
</insert>
|
||||||
<insert id="saveVisitorReviewProcessList">
|
<insert id="saveVisitorReviewProcessList">
|
||||||
insert into vis_visitor_review_process (id, visitor_id, reviewer, state, reject_reason)
|
insert into vis_visitor_review_process (id, visitor_id, reviewer, state, reject_reason, approve_node)
|
||||||
VALUES
|
VALUES
|
||||||
<foreach collection="list" item="i" index="index" separator=",">
|
<foreach collection="list" item="i" index="index" separator=",">
|
||||||
(REPLACE(uuid(), '-', ''), #{i.id}, #{i.reviewer}, #{i.state}, #{i.rejectReason})
|
(REPLACE(uuid(), '-', ''), #{i.id}, #{i.reviewer}, #{i.state}, #{i.rejectReason}, #{i.approveNode})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<select id="addVisitorCheck" resultType="java.lang.Integer">
|
||||||
|
select
|
||||||
|
count(*)
|
||||||
|
from vis_visitor
|
||||||
|
where
|
||||||
|
end_time <![CDATA[ >= ]]> #{startTime}
|
||||||
|
and phone in
|
||||||
|
<foreach item="phone" collection="phones" open="(" separator="," close=")">
|
||||||
|
#{phone}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="updateVisitor" parameterType="Visitor">
|
<update id="updateVisitor" parameterType="Visitor">
|
||||||
update vis_visitor
|
update vis_visitor
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
@@ -521,6 +533,9 @@
|
|||||||
<if test="reviewer != null and reviewer != ''">
|
<if test="reviewer != null and reviewer != ''">
|
||||||
and reviewer = #{reviewer}
|
and reviewer = #{reviewer}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="approveNode != null">
|
||||||
|
and approve_node = #{approveNode}
|
||||||
|
</if>
|
||||||
</update>
|
</update>
|
||||||
<update id="updateVisitorByParentId">
|
<update id="updateVisitorByParentId">
|
||||||
update vis_visitor
|
update vis_visitor
|
||||||
@@ -885,6 +900,8 @@
|
|||||||
<if test="reviewer != null and reviewer != ''">
|
<if test="reviewer != null and reviewer != ''">
|
||||||
and reviewer = #{reviewer}
|
and reviewer = #{reviewer}
|
||||||
</if>
|
</if>
|
||||||
|
order by approve_node desc
|
||||||
|
LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
<select id="queryVisitorReviewProcessCount" resultType="java.lang.Integer">
|
<select id="queryVisitorReviewProcessCount" resultType="java.lang.Integer">
|
||||||
select sum(if(state is null, 1, 0)) state from vis_visitor_review_process where visitor_id = #{id} group by visitor_id
|
select sum(if(state is null, 1, 0)) state from vis_visitor_review_process where visitor_id = #{id} group by visitor_id
|
||||||
|
|||||||
Reference in New Issue
Block a user