From 2b4d54a00048099182042d3973e5d5fe36dfb9e2 Mon Sep 17 00:00:00 2001 From: zc Date: Thu, 7 Aug 2025 17:51:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B4=E5=AE=89=E4=BC=98=E5=8C=96=E8=AE=BF?= =?UTF-8?q?=E5=AE=A2=E4=BA=BA=E8=84=B8=E6=9C=BA=E4=BA=A4=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dcsoft/system/uniubi/domain/Person.java | 14 ++ .../system/uniubi/service/ISysSdkService.java | 4 + .../service/impl/SysSdkServiceImpl.java | 26 +++ .../controller/VisCarryStuffController.java | 1 + .../visitor/controller/VisitorController.java | 191 +++++++++++++----- .../dcsoft/system/visitor/domain/Visitor.java | 5 + .../system/visitor/mapper/VisitorMapper.java | 3 + .../visitor/service/IVisitorService.java | 3 + .../service/impl/VisitorServiceImpl.java | 6 + .../mapper/system/visitor/VisitorMapper.xml | 21 +- 10 files changed, 227 insertions(+), 47 deletions(-) diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/domain/Person.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/domain/Person.java index f06047d..dad824b 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/domain/Person.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/domain/Person.java @@ -1,11 +1,14 @@ package com.dcsoft.system.uniubi.domain; +import com.alibaba.fastjson.JSONObject; import com.dcsoft.common.core.annotation.Excel; import com.dcsoft.common.core.web.domain.BaseEntity; import com.dcsoft.system.domain.SysBranch; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import java.util.List; + /** * 人员管理对象 person * @@ -58,6 +61,17 @@ public class Person extends BaseEntity /** 人员类型 0:长期人员(默认),1:临时员工 2:黑名单用户,*/ private int role=0; + + private List rule; + + public List getRule() { + return rule; + } + + public void setRule(List rule) { + this.rule = rule; + } + public String getId() { return id; } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/service/ISysSdkService.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/service/ISysSdkService.java index f035baa..04c322c 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/service/ISysSdkService.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/service/ISysSdkService.java @@ -9,6 +9,7 @@ import com.dcsoft.system.domain.SysRule; import com.dcsoft.system.uniubi.domain.Person; import com.dcsoft.system.visitor.domain.Visitor; +import java.util.Date; import java.util.List; /** @@ -24,6 +25,9 @@ public interface ISysSdkService { //人员接口-人员删除(若删除多个人员,id 用英文逗号拼接,传入-1 则删除所有人员) 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); diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/service/impl/SysSdkServiceImpl.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/service/impl/SysSdkServiceImpl.java index e0e67e0..7f6b981 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/service/impl/SysSdkServiceImpl.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/uniubi/service/impl/SysSdkServiceImpl.java @@ -1,5 +1,8 @@ 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.JSONObject; import com.dcsoft.system.domain.*; @@ -67,6 +70,28 @@ public class SysSdkServiceImpl implements ISysSdkService { 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 segment = Arrays.asList("00:00:00", "23:59:59"); + Map dayMap = new HashMap<>(); + dayMap.put("segment", segment); + dayMap.put("endAt", endTime.getTime()); + dayMap.put("startAt", startTime.getTime()); + Map contentMap = new HashMap<>(); + List> 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 public String personUpdate(Person person, String ip, String pass) { String url="http://"+ip+":8090/person/update"; @@ -217,6 +242,7 @@ public class SysSdkServiceImpl implements ISysSdkService { } paramMap.put("imgUrl",imgUrl); String response= HttpUtil.sendxwwwform(url,paramMap); + log.info("imageCreateUrl:{}", response); return response; } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisCarryStuffController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisCarryStuffController.java index ea21bb3..ea0c0d4 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisCarryStuffController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisCarryStuffController.java @@ -258,6 +258,7 @@ public class VisCarryStuffController extends BaseController { //查询放行记录,确认保安是否已放行 VisExitOutRecordVo visExitOutRecordVo = new VisExitOutRecordVo(); + visExitOutRecordVo.setExitId(id); List visExitOutRecordVos = visExitOutRecordService.selectList(visExitOutRecordVo); if (CollUtil.isNotEmpty(visExitOutRecordVos)) { stuffVo.setIsRelease(1); diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java index 819dfe1..739082b 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/controller/VisitorController.java @@ -350,7 +350,7 @@ public class VisitorController extends BaseController { //审核链接进来 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); @@ -364,7 +364,7 @@ public class VisitorController extends BaseController { visitor.setExamineState(visitor1.getState()); visitor.setRejectReason(visitor1.getRejectReason()); } -// } + } } Map map = dictDataService.queryDictData("sys_company_type"); @@ -509,18 +509,12 @@ public class VisitorController extends BaseController { //判断访客和随访人是否存在预约过的信息 List phones = new ArrayList<>(); - List idcards = new ArrayList<>(); if (CollUtil.isNotEmpty(visitor.getItemList())) { phones = visitor.getItemList().stream().map(Visitor::getPhone).collect(Collectors.toList()); - idcards = visitor.getItemList().stream().map(Visitor::getIdcard).collect(Collectors.toList()); } phones.add(visitor.getPhone()); - if (visitorService.queryVisitorByIdCount(phones) > 0) { - throw new ServiceException("手机号已存在访客预约信息"); - } - idcards.add(visitor.getIdcard()); - if (visitorService.queryVisitorByCardCount(idcards) > 0) { - throw new ServiceException("访客中存在已预约访客"); + if (visitorService.addVisitorCheck(phones, visitor.getStartTime()) > 0) { + throw new ServiceException("该时间段已有申请,请更换预约时间"); } LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -571,7 +565,7 @@ public class VisitorController extends BaseController { //发送企微信息 try { - sendWeCom(sysPeople.getPhone(), url + " --访客姓名:" + visitor.getName()); +// sendWeCom(sysPeople.getPhone(), url + " --访客姓名:" + visitor.getName()); } catch (Exception e) { log.error("访客add-sendWeCom异常:", e); } @@ -1055,16 +1049,19 @@ public class VisitorController extends BaseController { visitor2.setReviewer(String.valueOf(sysPeople.getId())); visitor2.setRejectReason(visitor.getRejectReason()); visitor2.setState(ExamineEnum.PASSED.getCode()); + visitor2.setApproveNode(1); list.add(visitor2); Visitor visitor3 = new Visitor(); visitor3.setId(visitor.getId()); visitor3.setState(ExamineEnum.IN_REVIEW.getCode()); visitor3.setReviewer(visitor.getReviewer2()); + visitor3.setApproveNode(2); list.add(visitor3); Visitor visitor4 = new Visitor(); visitor4.setId(visitor.getId()); visitor4.setState(ExamineEnum.IN_REVIEW.getCode()); visitor4.setReviewer(visitor.getReviewer3()); + visitor4.setApproveNode(3); list.add(visitor4); //保存审核环节表 visitorService.saveVisitorReviewProcessList(list); @@ -1072,6 +1069,7 @@ public class VisitorController extends BaseController { //二级审核人审核 else if (visitor1.getCurrentNode() == 2) { visitor.setNextStepReviewer(visitor.getReviewer3()); + visitor.setApproveNode(2); visitorService.updateVisitorReviewProcess(visitor); } //如果有下一级审核人员,发送钉钉,企微审核消息链接 @@ -1086,7 +1084,7 @@ public class VisitorController extends BaseController { log.info("approve发送审核链接:{}", url); try { - sendWeCom(nextPeople.getPhone(), url + " --访客姓名:" + visitor.getName()); +// sendWeCom(nextPeople.getPhone(), url + " --访客姓名:" + visitor.getName()); } catch (Exception e) { log.error("访客approve-sendWeCom异常:", e); } @@ -1100,8 +1098,39 @@ public class VisitorController extends BaseController { visVisitorExamineService.insertVisVisitorExamine(examine); //修改环节状态 + visitor.setApproveNode(3); visitorService.updateVisitorReviewProcess(visitor); + // 园区人脸下发到设备 + if (StringUtils.isEmpty(visitor1.getGuid())) { + List 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 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 phoneList = new ArrayList<>(); phoneList.add(visitor.getPhone()); @@ -1115,7 +1144,7 @@ public class VisitorController extends BaseController { log.info("approve-发同意短信:{}", JSON.toJSONString(phoneList)); for (String phone : phoneList) { try { - sendMessage(phone, "1", parkName, smsProperties.getTemplate2()); +// sendMessage(phone, "1", parkName, smsProperties.getTemplate2()); } catch (Exception e) { log.error(e.getMessage()); } @@ -1133,7 +1162,7 @@ public class VisitorController extends BaseController { visitorService.updateVisitorReviewProcess(visitor); try { - sendWeCom(telephone, visitor.getName() + "的访客审核已驳回"); +// sendWeCom(telephone, visitor.getName() + "的访客审核已驳回"); } catch (Exception e) { log.error("访客approve-sendWeCom驳回异常:", e); } @@ -1141,7 +1170,7 @@ public class VisitorController extends BaseController { log.info("approve-发拒绝短信:{}", visitor.getPhone()); try { - sendMessage(visitor.getPhone(), "1", parkName, smsProperties.getTemplate3()); +// sendMessage(visitor.getPhone(), "1", parkName, smsProperties.getTemplate3()); } catch (Exception e) { 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 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 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,43 +1579,41 @@ public class VisitorController extends BaseController { SysRule rule = sysRuleService.selectSysRuleById(sysManageRecord.getRuleId()); String[] pointIds = rule.getPointId().split(","); List equipList = new ArrayList<>(); - if (pointIds != null) { - for (String point : pointIds) { - SysEquipment equipment = new SysEquipment(); - equipment.setPointId(Long.parseLong(point)); - equipment.setFlag("0"); - equipment.setIsCj("0"); - equipment.setProductId(3L); - List equipmentDtoList = equipmentService.selectSysEquipmentList(equipment); - equipList.addAll(equipmentDtoList); - } + for (String point : pointIds) { + SysEquipment equipment = new SysEquipment(); + equipment.setPointId(Long.parseLong(point)); + equipment.setFlag("0"); + equipment.setIsCj("0"); + equipment.setProductId(3L); + List equipmentDtoList = equipmentService.selectSysEquipmentList(equipment); + equipList.addAll(equipmentDtoList); } String guid = IdUtils.simpleUUID(); String faceId = IdUtils.simpleUUID(); s.setGuid(guid); s.setFaceGuid(faceId); //通过规则获取绑定设备信息 - if (equipList != null) { - for (SysEquipment e : equipList) { - //将人员信息下发到设备 - Person person = new Person(); - person.setName(visitor.getName()); - person.setPhone(visitor.getPhone()); - person.setId(guid); - String ip = e.getIp(); - String pass = e.getPassword(); - sdkService.personCreate(person, ip, pass); - if (StringUtils.isNotEmpty(visitor.getAvatar())) { - sdkService.imageCreateUrl(guid, faceId, visitor.getAvatar(), ip, pass); - } - //保存下发记录 - SysPeopleEquipment sysPeopleEquipment = new SysPeopleEquipment(); - sysPeopleEquipment.setVisitorId(visitor.getId()); - sysPeopleEquipment.setEquipmentId(e.getId()); - sysPeopleEquipment.setGuid(guid); - sysPeopleEquipment.setFaceGuid(faceId); - peopleEquipmentService.insertSysPeopleEquipment(sysPeopleEquipment); + for (SysEquipment e : equipList) { + //将人员信息下发到设备 + Person person = new Person(); + person.setName(visitor.getName()); + person.setPhone(visitor.getPhone()); + person.setId(guid); + String ip = e.getIp(); + String pass = e.getPassword(); + sdkService.personCreate(person, ip, pass); + sdkService.permissionsCreate(guid, DateUtil.format(visitor.getEndTime(), DatePattern.NORM_DATETIME_PATTERN), ip, pass); + + if (StringUtils.isNotEmpty(visitor.getAvatar())) { + sdkService.imageCreateUrl(guid, faceId, visitor.getAvatar(), ip, pass); } + //保存下发记录 + SysPeopleEquipment sysPeopleEquipment = new SysPeopleEquipment(); + sysPeopleEquipment.setVisitorId(visitor.getId()); + sysPeopleEquipment.setEquipmentId(e.getId()); + sysPeopleEquipment.setGuid(guid); + sysPeopleEquipment.setFaceGuid(faceId); + peopleEquipmentService.insertSysPeopleEquipment(sysPeopleEquipment); } } return s; diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/domain/Visitor.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/domain/Visitor.java index 12d1a3c..c535dcb 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/domain/Visitor.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/domain/Visitor.java @@ -294,4 +294,9 @@ public class Visitor extends BaseEntity { */ private List insurancePolicyList; + /** + * vis_visitor_review_process表的审核节点 + */ + private Integer approveNode; + } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java index f3bd7f7..f7bb101 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/mapper/VisitorMapper.java @@ -1,5 +1,6 @@ package com.dcsoft.system.visitor.mapper; +import java.util.Date; import java.util.List; import com.dcsoft.common.core.web.page.TableDataInfoPage; @@ -253,4 +254,6 @@ public interface VisitorMapper String queryReviewProcessOld(Visitor visitor); void deleteVisitorReviewProcess(@Param("id") Long id); + + int addVisitorCheck(@Param("phones") List phones,@Param("startTime") Date startTime); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java index a0e3e81..d1b6572 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/IVisitorService.java @@ -1,5 +1,6 @@ package com.dcsoft.system.visitor.service; +import java.util.Date; import java.util.List; import com.dcsoft.common.core.web.page.TableDataInfoPage; @@ -265,4 +266,6 @@ public interface IVisitorService String queryReviewProcessOld(Visitor visitor); void cancel(Visitor visitor); + + int addVisitorCheck(List phones, Date startTime); } diff --git a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java index 4c78331..f189b6e 100644 --- a/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java +++ b/dcsoft-modules/dcsoft-system/src/main/java/com/dcsoft/system/visitor/service/impl/VisitorServiceImpl.java @@ -818,4 +818,10 @@ public class VisitorServiceImpl implements IVisitorService { //删除流程环节信息 visitorMapper.deleteVisitorReviewProcess(visitor.getId()); } + + @Override + public int addVisitorCheck(List phones, Date startTime) { + return visitorMapper.addVisitorCheck(phones, startTime); + } + } diff --git a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisitorMapper.xml b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisitorMapper.xml index 87ed7bc..e6bee31 100644 --- a/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisitorMapper.xml +++ b/dcsoft-modules/dcsoft-system/src/main/resources/mapper/system/visitor/VisitorMapper.xml @@ -380,13 +380,25 @@ ) - 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 - (REPLACE(uuid(), '-', ''), #{i.id}, #{i.reviewer}, #{i.state}, #{i.rejectReason}) + (REPLACE(uuid(), '-', ''), #{i.id}, #{i.reviewer}, #{i.state}, #{i.rejectReason}, #{i.approveNode}) + + update vis_visitor @@ -521,6 +533,9 @@ and reviewer = #{reviewer} + + and approve_node = #{approveNode} + update vis_visitor @@ -885,6 +900,8 @@ and reviewer = #{reviewer} + order by approve_node desc + LIMIT 1