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"; 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()); } } 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; } 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(); } 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; } } 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); 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); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2106,10 +2106,6 @@ } @Override public StagingDataVO stagingHead(StagingDataVO stagingHeadVO){ //人åä¿¡æ¯ 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