From 308bc8e5c0db7298a127f3478995ddc6167328e9 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 25 十二月 2025 16:43:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 4
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 85 +++++++++++++++++++++
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomInParkDataVO.java | 25 ++++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java | 11 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java | 37 +++++++++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 4 -
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 23 +++++
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java | 11 ++
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java | 3
9 files changed, 195 insertions(+), 8 deletions(-)
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index a8a4e93..391f5a2 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -86,6 +86,7 @@
public static final String REQUEST_URL ="REQUEST_URL" ;
public static final String LOCATION ="LOCATION" ;
public static final String API_KEY ="API_KEY" ;
+ public static final String JDY_CONFIG ="JDY_CONFIG" ;
public static final String CABINET_CONFIG ="CABINET_CONFIG" ;
public static final String BLOW_TIME ="BLOW_TIME" ;
public static final String PRESSURE ="PRESSURE" ;
@@ -551,7 +552,8 @@
public static final String APP_SECRET ="APP_SECRET";
public static final String ACCESS_TOKEN ="ACCESS_TOKEN";
public static final String AGENT_ID ="AGENT_ID";
-
+ public static final String APPID = "APPID";
+ public static final String ENTRY_ID ="ENTRY_ID";
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java
index 431251b..32e9894 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java
@@ -47,6 +47,9 @@
@Autowired
private JkSketchService jkSketchService;
+ @Autowired
+ private InoutRecordService inoutRecordService;
+
@LoginNoRequired
@PreventRepeat
@@ -92,4 +95,12 @@
}
+ @LoginNoRequired
+ @PreventRepeat
+ @ApiOperation("鐢典俊-浠婃棩鍏ュ洯鏁版嵁")
+ @PostMapping("/getInParkData")
+ public ApiResponse<TelecomInParkDataVO> getInParkData () {
+ return ApiResponse.success(inoutRecordService.getInParkDataForTelecom());
+ }
+
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomInParkDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomInParkDataVO.java
new file mode 100644
index 0000000..23e25f3
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomInParkDataVO.java
@@ -0,0 +1,25 @@
+package com.doumee.dao.business.vo;
+
+import com.doumee.dao.business.model.JkCustomerNavigation;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 浜ゆ帶-绾胯矾淇℃伅琛�
+ * @author 姹熻箘韫�
+ * @date 2025/09/28 09:01
+ */
+@Data
+@ApiModel("鍏ュ洯缁熻 - 鐢典俊澶у睆")
+public class TelecomInParkDataVO {
+
+ @ApiModelProperty(value = "鍏ュ洯浜烘暟缁熻", example = "1")
+ private Integer inUserNum;
+
+ @ApiModelProperty(value = "鍏ュ洯杞﹁締缁熻", example = "1")
+ private Integer inCarNum;
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java
index 916bfe0..45667bf 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java
@@ -4,6 +4,7 @@
import com.doumee.dao.business.model.InoutRecord;
import com.doumee.dao.business.vo.GeneralDataVO;
import com.doumee.dao.business.vo.InParkUserDataVO;
+import com.doumee.dao.business.vo.TelecomInParkDataVO;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
@@ -107,4 +108,6 @@
List<List<String>> getReportList(InParkDataDTO inParkDataDTO);
void excel(InParkDataDTO inParkDataDTO, HttpServletResponse response);
+
+ TelecomInParkDataVO getInParkDataForTelecom();
}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
index dd19231..7eaf736 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java
@@ -14,6 +14,7 @@
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.vo.GeneralDataVO;
import com.doumee.dao.business.vo.InParkUserDataVO;
+import com.doumee.dao.business.vo.TelecomInParkDataVO;
import com.doumee.service.business.InoutRecordService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -547,4 +548,40 @@
throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
}
}
+
+
+
+ @Override
+ public TelecomInParkDataVO getInParkDataForTelecom(){
+ TelecomInParkDataVO telecomInParkDataVO = new TelecomInParkDataVO();
+ telecomInParkDataVO.setInCarNum(Constants.ZERO);
+ telecomInParkDataVO.setInUserNum(Constants.ZERO);
+ List<InoutRecord> listCar = inoutRecordMapper.selectList(new MPJLambdaWrapper<InoutRecord>()
+ .eq(InoutRecord::getIsdeleted,Constants.ZERO)
+ .eq(InoutRecord::getInOrOut,Constants.ZERO)
+ .isNotNull(InoutRecord::getCarCode)
+ .apply(" ( DATE_FORMAT(CREATE_DATE, '%Y%m%d') = DATE_FORMAT(now(), '%Y%m%d') ) "));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(listCar)){
+ telecomInParkDataVO.setInCarNum(
+ new HashSet<>(listCar.stream().map(i->i.getCarCode()).collect(Collectors.toList())).size()
+ );
+ }
+
+
+ List<InoutRecord> listUser = inoutRecordMapper.selectList(new MPJLambdaWrapper<InoutRecord>()
+ .eq(InoutRecord::getIsdeleted,Constants.ZERO)
+ .eq(InoutRecord::getInOrOut,Constants.ZERO)
+ .isNotNull(InoutRecord::getMemberPhone)
+ .apply(" ( DATE_FORMAT(CREATE_DATE, '%Y%m%d') = DATE_FORMAT(now(), '%Y%m%d') ) "));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(listUser)){
+ telecomInParkDataVO.setInUserNum(
+ new HashSet<>(listUser.stream().map(i->i.getMemberPhone()).collect(Collectors.toList())).size()
+ );
+ }
+
+ return telecomInParkDataVO;
+ }
+
+
+
}
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..fd954d2 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
@@ -28,12 +28,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;
@@ -709,6 +711,16 @@
// 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.API_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
+ );
+ }
+ }
}
warningPushMapper.insert(warningPush);
warningEvent.setStatus(Constants.ONE);
@@ -739,6 +751,68 @@
}
}
}
+ }
+
+
+ /**
+ * 绠�閬撲簯娑堟伅鎺ㄩ�� 瀹氬埗
+ * @param warningEvent
+ * @param ddUserId 鎺ユ敹浜� 閽夐拤涓婚敭
+ * @param jdyApiKey 绠�鍗曚簯APIKEY
+ * @param appid 搴旂敤ID
+ * @param entryId 琛ㄥ崟ID
+ * @throws IOException
+ */
+ public void getJDYData(WarningEvent warningEvent,String ddUserId,String jdyApiKey,String appid,String entryId) throws IOException {
+ 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("https://api.jiandaoyun.com/api/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));
+
+ }
+
+
+ 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 +1101,17 @@
// 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.API_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
+
+ );
+ }
+ }
}
warningPushMapper.insert(warningPush);
warningEvent.setStatus(Constants.ONE);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
index 5597485..6be46ef 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -266,6 +266,17 @@
// 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) {
+ impl.getJDYData(warningEvent,ddUserId,
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
+
+ );
+ }
+ }
}
impl.sendDeviceNotice(warningRule);
warningPushMapper.insert(warningPush);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 7ccca98..28ed5e9 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2106,10 +2106,6 @@
}
-
-
-
-
@Override
public StagingDataVO stagingHead(StagingDataVO stagingHeadVO){
//浜哄憳淇℃伅
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 20883ce..7360b5c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -34,6 +34,7 @@
import com.doumee.service.business.third.model.response.TmsOrderInfoResponse;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
+import okhttp3.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +43,7 @@
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
import java.util.*;
import java.util.Date;
import java.util.stream.Collectors;
@@ -536,10 +538,21 @@
);
}
if(Constants.equalsInteger(warningRule.getMemberNotice(),Constants.ONE)){
- // 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()));
+// 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);
+ 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) {
+ impl.getJDYData(warningEvent,ddUserId,
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.API_KEY).getCode(),
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.APPID).getCode(),
+ systemDictDataBiz.queryByCode(Constants.JDY_CONFIG,Constants.ENTRY_ID).getCode()
+
+ );
+ }
+ }
}
impl.sendDeviceNotice(warningRule);
warningPushMapper.insert(warningPush);
@@ -571,6 +584,10 @@
return null;
}
+
+
+
+
/**
* 閫氱煡鐢典俊鎺ュ彛锛堢宀椾簨浠讹級
* @param list
--
Gitblit v1.9.3