doum
7 小时以前 1dd0a2bb164658031c5e2db4f215424b86dcd0b5
最新版本541200007
已添加3个文件
已修改4个文件
154 ■■■■ 文件已修改
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthResultPageRequest.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthResultPageDetailResponse.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthResultPageResponse.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -288,11 +288,9 @@
     * 3、能管中心:ngzx
     */
    public interface MenuPageId{
        String[] componentIds = new String[]{"vms","fem","cems"};
//        String[] componentIds = new String[]{"Infovision iPark Platform","dfe","cems"};
        String afzx = "010100";//安防中心
        String xkzx = "010100";//消控中心
        String[] componentIds = new String[]{"Infovision iPark Platform","dfe","cems"};
        String afzx = "afzx";//安防中心
        String xkzx = "xkzx";//消控中心
        String ngzx = "ngzx";//能管中心
        String jsc = "jsc";//物业后勤
        String kqgzt = "attendance_workstand";//考勤管理
@@ -432,6 +430,7 @@
        String[] findDeviceStatistics= new String[]{"/api/v1/device/findDeviceStatistics","分页查询设备的以及下属传感器数据的状态统计"};// åˆ†é¡µæŸ¥è¯¢è®¾å¤‡çš„以及下属传感器数据的状态统计
        String[] resourcesByParams= new String[]{"/api/irds/v2/resource/resourcesByParams","【海康消防看板】根据条件查询目录下有权限的资源列表"};// ã€æµ·åº·æ¶ˆé˜²çœ‹æ¿ã€‘根据条件查询目录下有权限的资源列表
        String[] iccmSignoff= new String[]{"/api/iccm/v1/signoff","iccm访客签离"};// iccm访客签离
        String[] authResultPage= new String[]{"/open/v1/auth/result/businessNo/page","按业务编号查询下发记录"};// 1.4.7.3按业务编号查询下发记录
        String[] wxAuthUrl= new String[]{"dps/web/wxAuth/loginV2?oaId=atwl&redirectUrl=","待办考勤跳转地址"};// å¾…办考勤跳转地址
    }
    /**
@@ -613,9 +612,7 @@
        DOOR_FACE_AUTH_FAIL(197163, "人脸认证失败"  ),
        DOOR_FACE_AUTH_SUCCESS(196893, "人脸认证通过"  ),
        PLATFORM_WORKSTATUS(483329, "月台工作状态事件"  ),
        PLATFORM_CAR_STATUS(487425, "月台车辆状态事件"  ),
        //todo æš‚未提供
        SECURITY_STATUS(111111, "安防事件"  )
        PLATFORM_CAR_STATUS(487425, "月台车辆状态事件"  )
        ;
        // æˆå‘˜å˜é‡
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -575,6 +575,14 @@
        return startDoPostStringArtemis(HKConstants.InterfacePath.authItemList,body);
    }
    /**
     * æŒ‰ä¸šåŠ¡ç¼–å·æŸ¥è¯¢ä¸‹å‘è®°å½•
     * @param body
     * @return
     */
    public static String authResultPage(String body) {
        return startDoPostStringArtemis(HKConstants.InterfacePath.authResultPage,body);
    }
    /**
     * æ‰¹é‡å¼€å¡
     * @param body
     * @return
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthResultPageRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package com.doumee.core.haikang.model.param.request;
import lombok.Data;
import java.util.List;
@Data
public class AuthResultPageRequest {
   private String businessNo    ;//Body    String    32    true    ä¸šåŠ¡ç¼–å·ï¼Œç”¨äºŽä¸²è”ä¸‰æ–¹ä¸Žæµ·åº·çš„ä¸šåŠ¡æ•°æ®ï¼Œæ¯”å¦‚é—¨ç¦æŽˆæƒå•å·ã€è¯·å‡å•å·ã€è®¿å®¢é¢„çº¦å•å·ï¼Œå½“ä¸€æ¬¡ä¸šåŠ¡éœ€è¦è°ƒç”¨å¤šä¸ªæŽ¥å£æ—¶ï¼Œå¯ä»¥ç”¨åŒä¸€ä¸ªä¸šåŠ¡ç¼–å·è¿›è¡Œä¸²è”ã€‚
   private Integer pageNo    ;//number    True    é¡µç ,pageNo>0
   private Integer pageSize    ;//number    True    é¡µå¤§å°,0<pageSize<=1000
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthResultPageDetailResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,24 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
import java.util.List;
@Data
public class AuthResultPageDetailResponse {
   private String dataId;//    long    true    ä¸‹å‘唯一标识
   private String businessNo    ;//String    true    ä¸šåŠ¡ç¼–å·
   private String personId;//    String    true    äººå‘˜ç¼–号
   private String deviceIndexCode;//    String    true    è®¾å¤‡ç¼–号
   private String deviceType    ;//String    true    è®¾å¤‡ç±»åž‹
   private String downloadBeginTime;//    String    false    ä¸‹å‘开始时间
   private String downloadEndTime    ;//String    false    ä¸‹å‘结束时间
   private Integer downPersonStatus;//    Integer    true    äººå‘˜ä¸‹å‘状态 1成功,3失败,0未变更
   private String downPersonDetail;//    String    false    äººå‘˜ä¸‹å‘结果明细对象【返回的是json字符串】   å‚考附录2.3
   private Integer downCardStatus    ;//Integer    false    å¡ç‰‡ä¸‹å‘状态 1成功,3失败,0未变更   æœªå˜æ›´æŒ‡æ— éœ€ä¸‹è½½å¯¹åº”介质,比如人员换照片只需下发人脸,那么卡片的状态就是未变更
   private String downCardDetail    ;//String    false    å¡ç‰‡ä¸‹å‘结果明细对象【返回的是json字符串】   å‚考附录2.3
   private Integer downFaceStatus    ;//Integer    false    äººè„¸ä¸‹å‘状态1成功,3失败,0未变更
   private String downFaceDetail;//    String    false    äººè„¸ä¸‹å‘结果明细对象【返回的是json字符串】  å‚考附录2.3
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthResultPageResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.doumee.core.haikang.model.param.respose;
import lombok.Data;
import java.util.List;
@Data
public class AuthResultPageResponse {
   private Integer  total;//    number    False    æ€»æ¡æ•°
   private Integer  pageSize;//    number    False    å½“前页码
   private Integer  pageNo;//    number    False    å•页展示数据数目
   private List<AuthResultPageDetailResponse> list;//object[]    False    è®¾å¤‡é€šé“的下载记录
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -764,6 +764,27 @@
        return  null;
    }
    /**
     *海康1.4.7.3按业务编号查询下发记录
     * @return
     */
    public  static  BaseResponse<AuthResultPageResponse>    authResultPage(AuthResultPageRequest param){
        log.info("【海康按业务编号查询下发记录】================开始===="+JSONObject.toJSONString(param));
        String res = null;
        try {
            res = HKTools.authResultPage(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<AuthResultPageResponse> >(){};
            BaseResponse<AuthResultPageResponse>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康按业务编号查询下发记录");
            return  result;
        }catch (Exception e){
            log.error("【海康按业务编号查询下发记录】================失败====:\n"+ e.getMessage());
        }finally {
           // saveInterfaceLog(param,res);
        }
        return  null;
    }
    /**
     *海康一卡通任务开始执行
     * @return
     */
@@ -1190,9 +1211,8 @@
        String componentId = HKConstants.MenuPageId.componentIds[0];
        String menuId = HKConstants.MenuPageId.afzx;
        if(Constants.equalsInteger(type,Constants.ONE)){
            componentId = HKConstants.MenuPageId.componentIds[1];
            menuId = HKConstants.MenuPageId.xkzx;
        }/*else  if(Constants.equalsInteger(type,Constants.TWO)){
        }else  if(Constants.equalsInteger(type,Constants.TWO)){
            menuId = HKConstants.MenuPageId.ngzx;
        }else  if(Constants.equalsInteger(type,Constants.THREE)){
            menuId = HKConstants.MenuPageId.jsc;
@@ -1207,11 +1227,10 @@
//            return "https://10.50.250.253:443/xauthplus-plugin/thirdLogin?type=third&service=https://10.50.250.253:443/cems/config/generalCard&token="+token;
        }else if(Constants.equalsInteger(type,7)){
            menuId = HKConstants.MenuPageId.hqzx;
        }*/
        }
        log.info("【海康获取工作台菜单免密登陆调整地址】================开始====menuId:"+menuId+"==token:"+token);
        try {
            ///xauthplus-plugin/thirdLogin?type=third&componentId=${componentId}&componentMenuId=${menuId}&token=${token}
            ///xauthplus-plugin/thirdLogin?type=third&componentld=vms&componentMenuld=010100
            String res = HKTools.getMenuUrl(componentId,menuId,token);
            return  res;
        }catch (Exception e){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -70,7 +70,13 @@
            public void run() {
                try {
                    for(Empower c : list){
                        TaskPersonDetailRequest param = new TaskPersonDetailRequest();
                        AuthResultPageRequest param = new AuthResultPageRequest();
                        param.setPageNo(1);
                        param.setPageSize(999);
                        param.setBusinessNo(c.getHkId());
                        BaseResponse<AuthResultPageResponse> response =HKService.authResultPage(param);
                       /* TaskPersonDetailRequest param = new TaskPersonDetailRequest();
                        param.setPageNo(1);
                        param.setPageSize(10);
                        param.setPersonIds(new String[]{c.getMemberHkId()});
@@ -80,22 +86,24 @@
                        rec.setResourceType(c.getDeviceType());
                        param.setResourceInfo(rec);
                        //查询下发状态
                        BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);
                        BaseResponse<TaskPersonDetailListResponse> response = HKService.taskPersoDetail(param);*/
                        if(response!=null
                                && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
                                && response.getData()!=null
                                && response.getData().getList() != null
                                && response.getData().getList().size() > 0
                                &&response.getData().getList().get(0) !=null){
                                TaskPersonDetailResponse model = response.getData().getList().get(0);
                            if (model.getPersonDownloadDetail()!=null ) {
//                                TaskPersonDetailResponse model = response.getData().getList().get(0);
                            AuthResultPageDetailResponse model = getAuthDetailByUserAndDevice(c,response.getData().getList());
//                            if (model.getPersonDownloadDetail()!=null ) {
                            if (model!=null ) {
                                boolean isface = false;//是否人脸下发成功
                                boolean iscard = false;//是否有卡片下发成功
                                //更新已完成下载任务
                                String remark = "";
                                String cardInfo ="";
                                TaskPersonDetailCardFaceResponse d = model.getPersonDownloadDetail();
                                if (d.getCards() != null && d.getCards().size() > 0) {
                               /* if (d.getCards() != null && d.getCards().size() > 0) {
                                    for (TaskPersonDetailCardInfoResponse card : d.getCards()) {
                                        if(StringUtils.equals(card.getErrorCode(),HKResponseCode.ReturnCode.RESPONSE_SUCCEE.getKey())){
                                            cardInfo += card.getId() + " ";
@@ -138,13 +146,31 @@
                                    }
                                }
                                //如果返回下发成功 æˆ–者 äººè„¸ä¸‹å‘成功并且卡片下发成功
                                boolean isSuccess =StringUtils.equals(model.getPersondownloadResult(), "0") || (iscard&&isface);
                                boolean isSuccess =StringUtils.equals(model.getPersondownloadResult(), "0") || (iscard&&isface);*/
                                if (Constants.equalsInteger(model.getDownCardStatus(),0)) {
                                    cardInfo = "卡片下发未变更";
                                }else  if (!Constants.equalsInteger(model.getDownCardStatus(),1)) {
                                    cardInfo = "卡片下发成功";
                                }else {
                                    cardInfo = "卡片下发失败";
                                }
                                if ( Constants.equalsInteger(model.getDownFaceStatus(),0)) {
                                    remark = "人脸为变更!";
                                } else  if (!Constants.equalsInteger(model.getDownFaceStatus(),1)) {
                                    remark = "人脸下发成功!";
                                }else{
                                    remark = "人脸下发失败!";
                                }
                                //下发成功或者未变更
                                boolean isSuccess = Constants.equalsInteger(model.getDownPersonStatus(),1)|| Constants.equalsInteger(model.getDownPersonStatus(),0) ;
                                empowerMapper.update(null, new UpdateWrapper<Empower>()
                                        .lambda()
                                        .eq(Empower::getId, c.getId())
                                        .set(Empower::getRemark, remark)
                                        .set(Empower::getRemark,cardInfo+ remark)
                                        .set(Empower::getEditDate,new Date())
                                        .set(Empower::getSendInfo, remark)
                                        .set(Empower::getSendInfo,cardInfo+remark)
                                        .set(Empower::getSendStatus, isSuccess?Constants.EmpowerStatus.pass:Constants.EmpowerStatus.fail));
                                if(isSuccess && Constants.equalsInteger(c.getMemberDeleted(), Constants.ONE)&& Constants.equalsInteger(c.getIsdeleted(), Constants.ONE) ){
                                    //如果是删除权限成功,检查是否删除人员
@@ -184,6 +210,15 @@
    }
    private AuthResultPageDetailResponse getAuthDetailByUserAndDevice(Empower c, List<AuthResultPageDetailResponse> list) {
        for(AuthResultPageDetailResponse t : list){
            if(StringUtils.equals(t.getPersonId(),c.getMemberHkId()) && StringUtils.equals(t.getDeviceIndexCode(),c.getDeviceIndexCode())){
                return t;
            }
        }
        return null;
    }
    /**
     * å¯¹æµ·åº·åˆ é™¤ç»„织信息