From 27bcc1d974feece4962891aca8239d9f84a9647f Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 22 一月 2026 14:27:23 +0800
Subject: [PATCH] 功能优化
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 153 insertions(+), 0 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 ce9699a..d410fc4 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
@@ -7,6 +7,9 @@
import com.doumee.core.dingTalk.DingTalkStream;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.jiandaoyun.api.arch.DeptApiClient;
+import com.doumee.core.jiandaoyun.api.jdy.FormDataApiClient;
+import com.doumee.core.jiandaoyun.model.form.FormDataCreateParam;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.*;
@@ -28,12 +31,14 @@
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
+import okhttp3.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import org.springframework.transaction.annotation.Transactional;
+import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@@ -140,6 +145,7 @@
//鏇存柊閽ュ寵鏌滀俊鎭�
jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
.set(JkCabinetGrid::getKeyId,jkCabinetGrid.getKeyId())
+ .set(JkCabinetGrid::getActualLable,keysModel.getRfidLable())
.set(JkCabinetGrid::getEditor,loginUserInfo.getId())
.set(JkCabinetGrid::getEditDate,DateUtil.getCurrDateTime())
.set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
@@ -254,6 +260,7 @@
//鏇存柊閽ュ寵鏌滀俊鎭�
jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
.set(JkCabinetGrid::getKeyId,null)
+ .set(JkCabinetGrid::getActualLable,null)
.set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
.eq(JkCabinetGrid::getId,model.getId()));
JkKeys keysModel = jkKeysMapper.selectById(model.getKeyId());
@@ -272,6 +279,7 @@
if(CollectionUtils.isNotEmpty(jkCabinetGridList)){
jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda()
.set(JkCabinetGrid::getKeyId,null)
+ .set(JkCabinetGrid::getActualLable,null)
.set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime())
.in(JkCabinetGrid::getId,jkCabinetGridList.stream().map(i->i.getId()).collect(Collectors.toList())));
List<Integer> keyIdList = jkCabinetGridList.stream().filter(i->Objects.nonNull(i.getKeyId())).map(i->i.getKeyId()).collect(Collectors.toList());
@@ -483,6 +491,14 @@
.set(JkKeys::getStatus,dto.getKeyStatus())
.eq(JkKeys::getId,jkKeys.getId())
);
+ if(Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)&&
+ (StringUtils.isBlank(jkCabinetGrid.getActualLable())||!StringUtils.equals(jkCabinetGrid.getActualLable(),jkKeys.getRfidLable()))){
+ //鏇存柊閽ュ寵瀹為檯缂栫爜
+ jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda()
+ .set(JkCabinetGrid::getActualLable,jkKeys.getRfidLable())
+ .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())
+ );
+ }
}
}
}
@@ -709,6 +725,14 @@
// 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);
+ List<String> ddUserIdList = memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList());
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
+ for (String ddUserId:ddUserIdList) {
+ this.getJDYData(warningEvent,ddUserId,
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.JDY_ENTRY_ID).getCode()
+ );
+ }
+ }
}
warningPushMapper.insert(warningPush);
warningEvent.setStatus(Constants.ONE);
@@ -739,6 +763,78 @@
}
}
}
+ }
+
+
+ /**
+ * 绠�閬撲簯娑堟伅鎺ㄩ�� 瀹氬埗
+ * @param warningEvent
+ * @param ddUserId 鎺ユ敹浜� 閽夐拤涓婚敭
+ * @param entryId 琛ㄥ崟ID
+ * @throws IOException
+ */
+ public void getJDYData(WarningEvent warningEvent,String ddUserId , String entryId) {
+ try {
+ log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅寮�濮�" );
+ FormDataApiClient apiClient = new FormDataApiClient(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_API_KEY).getCode()
+ ,systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_API_HOST).getCode());
+ FormDataCreateParam param =new FormDataCreateParam();
+ param.setData(this.getJdyChildData(warningEvent,ddUserId));
+ param.setApp_id(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_APPID).getCode());
+ param.setEntry_id(entryId);
+ param.setIs_start_trigger(false);
+ param.setIs_start_trigger(true);
+ Map<String, Object> response = apiClient.singleDataCreate(param,apiClient.getDefaultVersion());
+ /*
+ Map<String,Object> map = new HashMap<>();
+ map.put("app_id",appid);
+ map.put("entry_id",entryId);
+ map.put("is_start_workflow","false");
+ map.put("is_start_trigger","true");
+ map.put("data",this.getJdyChildData(warningEvent,ddUserId));
+ OkHttpClient client = new OkHttpClient().newBuilder()
+ .build();
+ MediaType mediaType = MediaType.parse("application/json");
+ RequestBody body = RequestBody.create(mediaType, JSONObject.toJSONString(map));//"{\"data\":{\"notice_time\":{\"value\":\"2025-12-23 04:56:29\"},\"title\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"},\"user\":{\"value\":\"1568490244651036\"},\"content\":{\"value\":\"璺ㄨ秺鐢熶骇绾�-鑺滄箹鐗╂祦涓績鍖楀洿澧欒繃閬撲笢\"},\"notice_type\":{\"value\":\"璺ㄨ秺鐢熶骇绾縗"}},\"is_start_trigger\":\"true\",\"app_id\":\"6909d0fbdb93b068192dc4a9\",\"entry_id\":\"694a19ecf57e071788efc20b\",\"is_start_workflow\":\"false\"}");
+ log.error("绠�閬撲簯鍙戦�侀�氱煡璇锋眰淇℃伅" + JSONObject.toJSONString(map));
+ Request request = new Request.Builder()
+ .url(systemDictDataBiz.queryByCode(Constants.JDY_CONFIG, Constants.JDY_API_HOST).getCode()+"v5/app/entry/data/create")
+ .method("POST", body)
+ .addHeader("Authorization", "Bearer "+jdyApiKey)
+ .addHeader("Content-Type", "application/json")
+ .build();
+ Response response = client.newCall(request).execute();*/
+ log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅" + JSONObject.toJSONString(response));
+ }catch (Exception e){
+ log.error("绠�閬撲簯鍙戦�侀�氱煡杩斿洖淇℃伅寮傚父锛�" + e.getMessage());
+ }
+ }
+
+
+ public Map<String,Object> getJdyChildData(WarningEvent warningEvent,String ddUserId){
+ Map<String,Object> dataMap = new HashMap<>();
+
+ Map<String,Object> title = new HashMap<>();
+ title.put("value",warningEvent.getTitle());
+ dataMap.put("title",title);
+
+ Map<String,Object> user = new HashMap<>();
+ user.put("value",ddUserId);
+ dataMap.put("user",user);
+
+ Map<String,Object> notice_time = new HashMap<>();
+ notice_time.put("value",DateUtil.getCurrDateTime());
+ dataMap.put("notice_time",notice_time);
+
+ Map<String,Object> notice_type = new HashMap<>();
+ notice_type.put("value",warningEvent.getTitle());
+ dataMap.put("notice_type",notice_type);
+
+ Map<String,Object> content = new HashMap<>();
+ content.put("value",warningEvent.getContent());
+ dataMap.put("content",content);
+
+ return dataMap;
}
@@ -1027,6 +1123,15 @@
// 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);
+ List<String> ddUserIdList = memberList.stream().filter(i->StringUtils.isNotBlank(i.getDdId())).map(i->i.getDdId()).collect(Collectors.toList());
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(ddUserIdList)){
+ for (String ddUserId:ddUserIdList) {
+ this.getJDYData(warningEvent,ddUserId,
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.JDY_ENTRY_ID).getCode()
+
+ );
+ }
+ }
}
warningPushMapper.insert(warningPush);
warningEvent.setStatus(Constants.ONE);
@@ -1050,5 +1155,53 @@
+ @Override
+ public void syncGridData(SyncCabinetDTO dto){
+ if(Objects.isNull(dto)
+ ||StringUtils.isBlank(dto.getCode())
+ || CollectionUtils.isEmpty(dto.getGridDTOList())){
+ return;
+ }
+ List<JkCabinetGrid> jkCabinetGridList =
+ jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>()
+ .selectAll(JkCabinetGrid.class)
+ .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode)
+ .selectAs(JkKeys::getRfidLable,JkCabinetGrid::getKeyCode)
+ .selectAs(JkKeys::getStatus,JkCabinetGrid::getKeyStatus)
+ .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId)
+ .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId)
+ .eq(JkCabinet::getCode,dto.getCode())
+ .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO)
+ .isNotNull(JkCabinetGrid::getBoardCode)
+ .isNotNull(JkCabinetGrid::getChannelCode)
+ .orderByAsc(JkCabinetGrid::getCode)
+ );
+ if(CollectionUtils.isEmpty(jkCabinetGridList)){
+ return;
+ }
+ List<SyncGridDTO> gridDTOList = dto.getGridDTOList();
+ for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) {
+ List<SyncGridDTO> gridSyncList = gridDTOList.stream().filter(i->StringUtils.isNotBlank(i.getBoardCode())&&
+ StringUtils.isNotBlank(i.getChannelCode())&&StringUtils.isNotBlank(i.getActualLable())&&i.getBoardCode().equals(jkCabinetGrid.getBoardCode())
+ && i.getChannelCode().equals(jkCabinetGrid.getChannelCode())).collect(Collectors.toList());
+ if(CollectionUtils.isEmpty(gridSyncList)){
+ continue;
+ }
+ SyncGridDTO syncGridDTO = gridSyncList.get(Constants.ZERO);
+ if(StringUtils.isBlank(jkCabinetGrid.getKeyCode())
+ || (!jkCabinetGrid.getKeyCode().equals(syncGridDTO.getActualLable())
+ && !jkCabinetGrid.getActualLable().equals(syncGridDTO.getActualLable()))){
+ //鏇存柊鏁版嵁 鏍囪瀵瑰簲code
+ jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>().lambda()
+ .set(JkCabinetGrid::getActualLable,syncGridDTO.getActualLable())
+ .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())
+ );
+ }
+ }
+ }
+
+
+
+
}
--
Gitblit v1.9.3