jiangping
2024-10-12 3d6cc6bf2bdad1714c98c820dc1805b89d594141
最新版本
已添加2个文件
已修改6个文件
132 ■■■■ 文件已修改
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/GetTodoListRequest.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/GetTodoListResponse.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
@@ -100,6 +100,12 @@
    public ApiResponse<BaseResponse> testBroadcast(@RequestBody CustomBroadcastRequest request, HttpServletResponse response) {
        return ApiResponse.success(  HKService.customBroadcast(request));
    }
    @ApiOperation("【海康】获取代办")
    @PostMapping("/testBroadcast")
    @LoginNoRequired
    public ApiResponse<BaseResponse> testBroadcast(@RequestBody GetTodoListRequest request, HttpServletResponse response) {
        return ApiResponse.success(  HKService.getTodoListPage(request));
    }
    @ApiOperation("【海康】测试人脸图片下载")
    @PostMapping("/testDonwLoadMemberImg")
    @LoginNoRequired
@@ -126,7 +132,6 @@
    public ApiResponse<BaseResponse> nhEventPageList(@RequestBody NhEventPageListRequest param, HttpServletResponse response) {
        return ApiResponse.success(  HKService.nhEventPageList(param));
    }
    @ApiOperation("【海康】分页查询消防传感器部件状态")
    @PostMapping("/sensorStatusSearch")
    @LoginNoRequired
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -136,6 +136,7 @@
        String[] sensorStatusSearch= new String[]{"/api/fpnms/v2/sensor/status/search","分页查询消防传感器部件状态"};//分页查询消防传感器部件状态
        String[] fireDeviceStatusSearch= new String[]{"/api/fpnms/v2/device/status/search","查询消防设备部件状态"};//查询消防设备部件状态
        String[] findDeviceAlarmPage= new String[]{"/api/v1/alarm/findDeviceAlarmPage","分页查询设备下的所有报警记录"};//分页查询设备下的所有报警记录
        String[] getTodoListPage= new String[]{"/api/v3/todo/getTodoListPage","分页获取待办列表"};//1.10.1分页获取待办列表
    }
    /**
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -299,6 +299,14 @@
        }
    }
    /**
     * åˆ†é¡µèŽ·å–å¾…åŠžåˆ—è¡¨
     * @param body
     * @return
     */
    public static String getTodoListPage(Map<String, String> body)  throws  Exception{
        return startDoGetStringArtemis(HKConstants.InterfacePath.getTodoListPage,body);
    }
    /**
     *    èŽ·å–é—¨ç¦ç‚¹åˆ—è¡¨
     * @param body
     * @return
@@ -364,15 +372,7 @@
        return  startDoPostStringArtemis(HKConstants.InterfacePath.visitCancel,body);
    }
    public static String startDoGetStringArtemis(String[] pathStr,Map<String,String> body ){
        Map<String, String> path = getPath(pathStr[0]);
        Map<String, String> header = new HashMap<>();
        header.put("tagId", UUID.randomUUID().toString().replace("-", ""));
        String result = ArtemisHttpUtil.doGetArtemis(path, body, null,  "application/json", header);// post请求application/json类型参数
        saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]);
        return result;
    }
    public static String startDoPostStringArtemis(String[] pathStr,String body ){
        Map<String, String> path = getPath(pathStr[0]);
        Map<String, String> header = new HashMap<>();
@@ -380,7 +380,14 @@
        String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数
        saveInterfaceLog(body,result,path,pathStr[1]);
        return result;
    }
    public static String startDoGetStringArtemis(String[] pathStr,Map<String,String> body ){
        Map<String, String> path = getPath(pathStr[0]);
        Map<String, String> header = new HashMap<>();
        header.put("tagId", UUID.randomUUID().toString().replace("-", ""));
        String result = ArtemisHttpUtil.doGetArtemis(path, body, null, null,  header);
        saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]);
        return result;
    }
    public static String startDoPostStringArtemis(String[] pathStr,String param,String body ){
        Map<String, String> path = getPath(pathStr[0]+StringUtils.defaultString(param,""));
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/GetTodoListRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
@Data
public class GetTodoListRequest {
    private String  comId;//        Query    String    false    ç»„ä»¶id
    private int  pageSize    ;//    Query    Number    false    åˆ†é¡µå¤§å°ï¼ˆ1~999)
    private int cascade    ;//    Query    Number    false    çº§è”数据来源0:下级平台来源;1:非下级平台来源,为空默认查询所有数据来源
    private String  messageId;//        Query    String    false    messageId
    private int  pageNo;//        Query    Number    false    å½“前页码(1~100000)
    private String  localeType;//        Query    String    false    è¯­è¨€ç±»åž‹zh_CN:中文en_US:英文
    private int status;//        Query    Number    false    ä¸šåŠ¡çŠ¶æ€ç±»åž‹,1-待处理,2-审批中,3-已完成,4-抄送我,5-我审批,默认待处理
    private String userId;//        Query    String    false    ç”¨æˆ·id
    private String clientType;//        Query    String    false    è°ƒç”¨æ–¹ç±»åž‹0:其他;1:APP,为空时默认为1;2:门户
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/GetTodoListResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
@Data
public class GetTodoListResponse {
      private String tid;//    String    false    ä¸»é”®id
      private String msgId    ;//String    false    å¾…办id
      private String userId    ;//String    false    ç”¨æˆ·id
      private String comId;//    String    false    ç»„件标识
      private String moduleId;//    String    false    æ¨¡å—标识
      private String msgTitle;//    String    false    ä¿¡æ¯æ ‡é¢˜
      private String msgStatus    ;//String    false    ä¿¡æ¯çŠ¶æ€
      private String msgStatusStr;//    String    false    ä¿¡æ¯çŠ¶æ€åç§°
      private String msgCreateTime;//    String    false    æ¶ˆæ¯åˆ›å»ºæ—¶é—´,优先使用msgCreateTimeIso
      private String msgCreateTimeIso;//    String    false    æ¶ˆæ¯åˆ›å»ºæ—¶é—´,ISO时间
      private String serverTime;//    Number    false    æŽ¥å£è°ƒç”¨æ—¶æœåŠ¡æ—¶é—´æˆ³ï¼Œæ¯«ç§’
      private String menuCode;//    String    false    èœå•code
      private String picUrl    ;//String    false    å›¾ç‰‡url,不为空则展示
      private String extendJson    ;//String    false    æ‰©å±•字段Json,不为空则展示
      private String extendNoShow;//    String    false    ä¸ä½œå±•示的扩展字段Json
      private String extendParam;//    String    false    æ‰©å±•样式字段
      private String extendCascade;//    String    false    è·³è½¬ä¿¡æ¯å­—段
      private String moduleName;//    String    false    æ¨¡å—名称,即消息类型
      private String targetComId    ;//String    false    è·³è½¬ç›®æ ‡ç»„ä»¶ID
      private String createUser;//    String    false    è¿™æ¡å¾…办的申请人
      private String webCascadeUrl;//    String    false    è¿™æ¡å¾…办的申请人
      private String h5CascadeUrl;//    String    false    h5端跳转地址(级联平台使用)
      private String cascadeTodoOpenType    ;//String    false    çº§è”待办的打开方式  1:浏览器新打开窗口,2:iam打开iportal的伪菜单,3:iam打开待办的空菜单
      private String cascadeSourceConfigId    ;//String    false    çº§è”配置id
      private String h5Url;//    String    false    æ¨¡å—配置的H5跳转URL
      private String segmentId    ;//String    false    æ®µæ ‡è¯†ï¼Œç”¨äºŽç»„件寻址用
      private String lastUsers    ;//String    false    ä¸Šä¸€å¤„理人
      private String currentUsers    ;//String    false    å½“前处理人
      private String todoTypeCode;//    String    false    å¾…办分类编码
      private String currentUserIds    ;//String    false    å½“前处理人的id
      private String lastUserIds    ;//String    false    ä¸Šä¸€å¤„理人的id
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -902,13 +902,13 @@
     *根据配置微信公众号编号查询微信公众号信息
     * @return
     */
    public  static  BaseResponse<BaseListPageResponse<WxConfigInfoResponse>>   getWxConfig(WxConfigInfoRequest param){
    public  static  BaseResponse< WxConfigInfoResponse>  getWxConfig(WxConfigInfoRequest param){
        log.info("【海康根据配置微信公众号编号查询微信公众号信息】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.getWxConfig(toMap(param));
            TypeReference typeReference =
                    new TypeReference<BaseResponse<BaseListPageResponse<WxConfigInfoResponse>>>(){};
            BaseResponse<BaseListPageResponse<WxConfigInfoResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
                    new TypeReference<BaseResponse<WxConfigInfoResponse>>(){};
            BaseResponse<WxConfigInfoResponse>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康根据配置微信公众号编号查询微信公众号信息");
            return  result;
        }catch (Exception e){
@@ -916,6 +916,24 @@
        }
        return  null;
    }
    /**
     *分页获取待办列表
     * @return
     */
    public  static  BaseResponse<BaseListPageResponse<GetTodoListResponse>>   getTodoListPage(GetTodoListRequest param){
        log.info("【海康分页获取待办列表】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.getTodoListPage(toMap(param));
            TypeReference typeReference =
                    new TypeReference<BaseResponse<BaseListPageResponse<GetTodoListResponse>>>(){};
            BaseResponse<BaseListPageResponse<GetTodoListResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康分页获取待办列表");
            return  result;
        }catch (Exception e){
            log.error("【海康分页获取待办列表】================失败====:\n"+ e.getMessage());
        }
        return  null;
    }
    /**
     *分页查询消防设备部件状态
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -83,7 +83,6 @@
    @ApiModelProperty(value = "海康门禁名称")
    @ExcelColumn(name="进厂门禁" ,index = 6,width = 12)
    @TableField(exist = false)
    private String deviceName;
    @ApiModelProperty(value = "海康门禁编码")
@@ -96,6 +95,8 @@
    @ApiModelProperty(value = "访客ID(关联member)")
    private Integer memberId;
    @ApiModelProperty(value = "访客1门禁事件2车辆事件")
    private String accessType;
    @ApiModelProperty(value = "事件类型码")
    private String eventCode;
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -394,8 +394,6 @@
        queryWrapper.last("limit 1");
        Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper);
        if(visits !=null){
            //如果人员信息存在,则删除之前的所有进场数据(无论此次推送是进厂还是出场推送事件)
            delRetentionLis.add(visits.getMemberId());
            if(dataSyncConfig.getOrgUserDataOrigin() == DataSyncConfig.origin.hk){
                //如果是伊利大屏项目,不做处理
                return;
@@ -404,7 +402,7 @@
            updateVistis.setId(visits.getId());
            if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_IN.getKey()) {
                //如果是访客登记,录入人员的在场数据记录
                retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()));
//                retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()));
                //来访时间
                updateVistis.setStatus(Constants.VisitStatus.signin);
                updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
@@ -422,7 +420,19 @@
                updateVistis.setOutType(Constants.ZERO);
                updateVistis.setOutInfo("访客正常签离");
            }else{
                //如果人员信息存在,切是访客通行,则删除之前的所有进场数据(无论此次推送是进厂还是出场推送事件)
                delRetentionLis.add(visits.getMemberId());
                //如果是访客通行
                if(request.getData()!=null&&request.getData().getParamValues()!=null &&
                        StringUtils.equals(request.getData().getParamValues().getInOrOut(),"1")){
                    //如果是访客登记,录入人员的在场数据记录
                    Retention r = getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType());
                    r.setCarNo(request.getData().getParamValues().getPlateNos());
                    r.setAccessType(request.getData().getParamValues().getAccessType());
                    r.setDeviceName(request.getData().getParamValues().getSrcName());
                    r.setDeviceIndex(request.getData().getParamValues().getSrcIndex());
                    retentionList.add(r);
                }
            }
            updateVistis.setEditDate(new Date());
            //更新访客来访或者签离时间信息