doum
6 天以前 308bc8e5c0db7298a127f3478995ddc6167328e9
Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
已添加1个文件
已修改8个文件
203 ■■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomInParkDataVO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/InoutRecordService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/InoutRecordServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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