From 9fdd262881ef10d79e75d8e91d36fef88f774073 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 31 十月 2025 11:26:29 +0800
Subject: [PATCH] 钥匙柜信息处理
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 149 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 127 insertions(+), 22 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
index 5c511db..b1115ac 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -1,6 +1,7 @@
package com.doumee.service.business.impl;
import com.alibaba.fastjson.JSONObject;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.dingTalk.DingTalk;
import com.doumee.core.dingTalk.DingTalkStream;
@@ -58,14 +59,20 @@
@Autowired
private JkCabinetLogMapper jkCabinetLogMapper;
- @Autowired
- private WarningMapper warningMapper;
@Autowired
private MemberMapper memberMapper;
@Autowired
+ private WarningMapper warningMapper;
+ @Autowired
private WarningRuleMapper warningRuleMapper;
+
+ @Autowired
+ private WarningPushMapper warningPushMapper;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@Autowired
private DingTalk dingTalk;
@@ -179,7 +186,7 @@
MPJLambdaWrapper<JkCabinetGrid> wrapper = new MPJLambdaWrapper<JkCabinetGrid>()
.selectAll(JkCabinetGrid.class)
.selectAs(JkCabinet::getName,JkCabinetGrid::getCabinetName)
- .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode)
+ .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode)
.leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId)
.leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
.eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
@@ -310,7 +317,7 @@
}
List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class,
new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class)
- .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode)
+ .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode)
.selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode)
.selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId)
.leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
@@ -392,6 +399,8 @@
jkCabinetLog.setAuthType(Constants.TWO);
jkCabinetLog.setMemberId(loginUserInfo.getMemberId());
jkCabinetLog.setStatus(Constants.ZERO);
+ jkCabinetLog.setIsNotice(Constants.ZERO);
+ jkCabinetLog.setInfo(Objects.isNull(dto.getOpenType())||Constants.equalsInteger(dto.getOpenType(),Constants.ZERO)?"绯荤粺寮�鍚�":"鎵嬪姩寮�鍚�");
if(Objects.nonNull(jkCabinetGrid.getKeyId())){
jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId());
JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId());
@@ -406,6 +415,7 @@
jkCabinetLog.setType(Constants.ZERO);
jkCabinetLogs.add(jkCabinetLog);
}
+
jkCabinetLogMapper.insert(jkCabinetLogs);
}
}
@@ -464,18 +474,50 @@
}
}
}
+ jkCabinetLog.setIsNotice(Constants.ZERO);
jkCabinetLog.setType(Constants.ONE);
jkCabinetLogMapper.insert(jkCabinetLog);
//鏌ヨ閽ュ寵鐨勫紑闂ㄨ褰� 杩涜娣诲姞鍏抽棬璁板綍涓婚敭
- jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda()
- .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId())
- .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId())
- .eq(JkCabinetLog::getType,Constants.ZERO)
- .isNull(JkCabinetLog::getCloseLogId));
+ if(Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)){
+ jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda()
+ .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId())
+ .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId())
+ .eq(JkCabinetLog::getType,Constants.ONE)
+ .eq(JkCabinetLog::getKeyStatus,Constants.TWO)
+ .isNull(JkCabinetLog::getCloseLogId));
+ }
+
}
}
+
+// public void saveAbnormalOpenGridLog(AbnormalOpenGridDTO dto){
+// if(Objects.isNull(dto)
+// || StringUtils.isBlank(dto.getBoardCode())
+// || StringUtils.isBlank(dto.getBoardCode())
+// || Objects.isNull(dto.getCabinetId())
+// || Objects.isNull(dto.getKeyStatus())
+// || Objects.isNull(dto.getAuthType())
+// ){
+// throw new BusinessException(ResponseStatus.BAD_REQUEST);
+// }
+// JkCabinetGrid jkCabinetGrid = jkCabinetGridMapper.selectOne(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
+// .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId())
+// .eq(JkCabinetGrid::getId,dto.getGridId())
+// .last(" limit 1 ")
+// );
+// JkCabinetLog jkCabinetLog = new JkCabinetLog();
+// jkCabinetLog.setCreateDate(new Date());
+// jkCabinetLog.setIsdeleted(Constants.ZERO);
+// jkCabinetLog.setCabinetId(dto.getCabinetId());
+// jkCabinetLog.setGridId(jkCabinetGrid.getId());
+// jkCabinetLog.setAuthType(dto.getAuthType());
+// jkCabinetLog.setMemberId(dto.getMemberId());
+// jkCabinetLog.setKeyStatus(Constants.ZERO);
+// jkCabinetLog.setStatus(Constants.ZERO);
+//
+// }
/**
@@ -512,13 +554,14 @@
}
jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class,
new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class)
- .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode)
+ .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode)
.selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode)
.selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId)
.selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus)
.leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
.eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
.eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO)
+ .eq(JkCabinetGrid::getStatus,Constants.ZERO)
.eq(JkCabinetGrid::getCabinetId,dto.getCabinetId())
.in(Constants.equalsInteger(dto.getType(),Constants.ONE),JkKeys::getStatus,Constants.TWO,Constants.THREE)
.in(Constants.equalsInteger(dto.getType(),Constants.ZERO),JkKeys::getStatus,Constants.ONE)
@@ -550,10 +593,8 @@
if(Objects.isNull(jkCabinetGrid)){
return ;
}
-// LoginUserInfo loginUserInfo = openGridDriverDTO.getLoginUserInfo();
JkCabinetLog jkCabinetLog = new JkCabinetLog();
jkCabinetLog.setCreateDate(new Date());
-// jkCabinetLog.setCreator(loginUserInfo.getId());
jkCabinetLog.setIsdeleted(Constants.ZERO);
jkCabinetLog.setCabinetId(openGridDriverDTO.getCabinetId());
jkCabinetLog.setGridId(jkCabinetGrid.getId());
@@ -561,6 +602,7 @@
jkCabinetLog.setMemberId(openGridDriverDTO.getMemberId());
jkCabinetLog.setType(Constants.ZERO);
jkCabinetLog.setStatus(Constants.ZERO);
+ jkCabinetLog.setInfo(Objects.isNull(openGridDriverDTO.getOpenType())||Constants.equalsInteger(openGridDriverDTO.getOpenType(),Constants.ZERO)?"绯荤粺寮�鍚�":"鎵嬪姩寮�鍚�");
if(Objects.nonNull(jkCabinetGrid.getKeyId())){
jkCabinetLog.setKeyId(jkCabinetGrid.getKeyId());
JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId());
@@ -572,6 +614,7 @@
jkCabinetLog.setRoleType(jkKeys.getRoleType());
}
}
+ jkCabinetLog.setIsNotice(Constants.ZERO);
jkCabinetLogMapper.insert(jkCabinetLog);
}
@@ -592,8 +635,9 @@
if(Objects.nonNull(jkCabinetGrid)){
log.error("鏌滄牸寮�闂ㄨ秴鏃舵湭鍏抽棴鍛婅淇℃伅锛歿}"+JSONObject.toJSONString(jkCabinetGrid));
+ Constants.WarningConfig warningConfig = Constants.WarningConfig.GRID_TIME_OUT_INFO;
Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
- .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.GRID_TIME_OUT_INFO.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
+ .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,warningConfig.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
if(Objects.isNull(warning)){
return;
}
@@ -601,10 +645,33 @@
if(CollectionUtils.isEmpty(memberList)){
return;
}
- //todo 瀛樺偍寮傚父鏃ュ織
+ JkCabinet jkCabinet = jkCabinetMapper.selectById(dto.getCabinetId());
+ // 瀛樺偍寮傚父鏃ュ織
+ WarningPush warningPush = new WarningPush();
+ warningPush.setCreateDate(new Date());
+ warningPush.setIsdeleted(Constants.ZERO);
+ warningPush.setWarningId(warning.getId());
+ warningPush.setTitle(warningConfig.getInfo());
+ String content = "銆愰挜鍖欐煖-"+jkCabinetGrid.getCabinetName()+"銆戜笅銆愭煖鏍�-"+jkCabinetGrid.getCode()+"銆戣秴鏃舵湭鍏抽棴";
+ warningPush.setContent(content);
+ warningPush.setStatus(Constants.ZERO);
+ warningPush.setPushType(Constants.ZERO);
+ warningPush.setRegion(Objects.nonNull(jkCabinet)&&StringUtils.isNotBlank(jkCabinet.getLocation())?jkCabinet.getLocation():"鏈煡浣嶇疆");
+ warningPush.setMemberIds(
+ StringUtils.join(memberList.stream().map(i->i.getId()).collect(Collectors.toList()),",")
+ );
+ warningPush.setMemberIds(
+ StringUtils.join(memberList.stream().map(i->i.getId()).collect(Collectors.toList()),",")
+ );
+ warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",")
+ );
+ //todo 鏆傛椂鍏抽棴 閽夐拤閫氱煡
-
- }else{
+// Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
+// StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
+// dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),content));
+// warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+ warningPushMapper.insert(warningPush);
}
}
@@ -637,9 +704,6 @@
}
}
return memberList;
-
-
-
}
@@ -655,8 +719,10 @@
.last(" limit 1 ")
);
+ JkCabinet jkCabinet = jkCabinetMapper.selectById(dto.getCabinetId());
+ Constants.WarningConfig warningConfig = Constants.WarningConfig.ALARM_TEST;
Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda()
- .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,Constants.WarningConfig.KEY_TIME_OUT_BACK.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
+ .eq(Warning::getType,Constants.THREE).eq(Warning::getCode,warningConfig.getKey()).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1"));
if(Objects.isNull(warning)){
return;
}
@@ -664,8 +730,44 @@
if(CollectionUtils.isEmpty(memberList)){
return;
}
- //todo 瀛樺偍寮傚父鏃ュ織
-
+ // 瀛樺偍寮傚父鏃ュ織
+ WarningPush warningPush = new WarningPush();
+ warningPush.setCreateDate(new Date());
+ warningPush.setIsdeleted(Constants.ZERO);
+ warningPush.setWarningId(warning.getId());
+ warningPush.setTitle(warningConfig.getInfo());
+ String content = "";
+ if(Objects.nonNull(systemUser.getRealname())){
+ content = content + systemUser.getRealname();
+ }
+ if(Objects.nonNull(jkCabinet)){
+ content = content + "浜�"+jkCabinet.getName()+"閽ュ寵鏌�";
+ }
+ content = content + "閰掔簿妫�娴嬪紓甯�";
+ warningPush.setContent(content + "閰掔簿妫�娴嬪紓甯革紝閰掔簿搴︽暟銆�"+dto.getAlcoholNum()+"掳銆�");
+ if(Objects.nonNull(dto.getAlcoholNum())){
+ content = content + "锛岄厭绮惧害鏁般��"+dto.getAlcoholNum()+"掳銆�";
+ }
+ warningPush.setContent(content);
+ warningPush.setStatus(Constants.ZERO);
+ warningPush.setPushType(Constants.ZERO);
+ warningPush.setRegion(Objects.nonNull(jkCabinet)&&StringUtils.isNotBlank(jkCabinet.getLocation())?jkCabinet.getLocation():"鏈煡浣嶇疆");
+ warningPush.setMemberId(dto.getMemberId());
+ warningPush.setMemberIds(
+ StringUtils.join(memberList.stream().map(i->i.getId()).collect(Collectors.toList()),",")
+ );
+ warningPush.setMemberIds(
+ StringUtils.join(memberList.stream().map(i->i.getId()).collect(Collectors.toList()),",")
+ );
+ warningPush.setMemberNames(StringUtils.join(memberList.stream().map(i->i.getName()).collect(Collectors.toList()),",")
+ );
+ //todo 鏆傛椂鍏抽棴 閽夐拤閫氱煡
+
+// Boolean noticeFlag = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()),
+// StringUtils.join(memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList()),","),
+// dingTalk.getAlarmNoticeMsg(warningPush.getRegion(),DateUtil.getCurrDateTime(),warningConfig.getInfo()));
+// warningPush.setStatus(noticeFlag?Constants.ONE:Constants.TWO);
+ warningPushMapper.insert(warningPush);
//瀛樺偍寮傚父鏃ュ織
if(Objects.nonNull(systemUser)){
log.error("鍙告満閰掔簿妫�娴嬶紝瓒呭嚭閰掔簿鍊煎憡璀︿俊鎭細{}"+JSONObject.toJSONString(systemUser));
@@ -674,4 +776,7 @@
}
+
+
+
}
--
Gitblit v1.9.3