jiangping
2023-12-15 aee2c99d29a0dd3d01eb477c8bfa0f175ff4bd71
海康接口对接开发
已添加3个文件
已修改13个文件
已重命名26个文件
582 ■■■■ 文件已修改
server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpConstants.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ApproveNoticeRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/CarAuthorRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/CarEventListRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/DoorEventListRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/OrgUpdateRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ParkListRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/RoleListRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/TokenRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserAuthorRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/VisitListRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/ApproveAddRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/OrgListRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserFailRequest.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserInfoRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserListRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/AccessTokenResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/CarEventListResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DeviceListResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DoorEventListResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/ParkListResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/RoleListResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/VisitEventListResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/ApproveInfoResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/ERPApiResponse.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/OrgListRespone.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/UserListRespone.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/utils/HttpsUtil.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/CompanyMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceRoleService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/ERPSyncService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpConstants.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
package com.doumee.core.erp;
public class ErpConstants {
    public static String orgListUrl;
    public static String userListUrl;
    public static String approveUrl;
    public static String userStatusUrl;
}
server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
package com.doumee.core.erp;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.doumee.core.erp.model.openapi.request.erp.ApproveAddRequest;
import com.doumee.core.erp.model.openapi.request.erp.OrgListRequest;
import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest;
import com.doumee.core.erp.model.openapi.request.erp.UserListRequest;
import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse;
import com.doumee.core.erp.model.openapi.response.erp.ERPApiResponse;
import com.doumee.core.erp.model.openapi.response.erp.OrgListRespone;
import com.doumee.core.erp.model.openapi.response.erp.UserListRespone;
import com.doumee.core.utils.HttpsUtil;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
public class ErpTool {
    /**
     * åŒæ­¥ç»„织
     * @param url
     * @param param
     * @return
     */
    public static List<OrgListRespone> getErpOrgList(String url,OrgListRequest param){
        String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param));
        if(StringUtils.isNotBlank(result)){
            TypeReference typeReference =
                    new TypeReference<ERPApiResponse<List<OrgListRespone>>>(){};
            ERPApiResponse<List<OrgListRespone>> response = JSONObject.parseObject(result, typeReference.getType());
            if(response!=null){
                return response.getData();
            }
        }
        return  null;
    }
    /**
     * åŒæ­¥äººå‘˜
     * @param url
     * @param param
     * @return
     */
    public static List<UserListRespone> getErpUserList(String url, UserListRequest param){
        String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param));
        if(StringUtils.isNotBlank(result)){
            TypeReference typeReference =
                    new TypeReference<ERPApiResponse<List<UserListRespone>>>(){};
            ERPApiResponse<List<UserListRespone>> response = JSONObject.parseObject(result, typeReference.getType());
            if(response!=null){
                return response.getData();
            }
        }
        return  null;
    }
    /**
     * å®¡æ‰¹æäº¤
     * @param url
     * @param param
     * @return
     */
    public static ApproveInfoResponse submitApprove(String url, ApproveAddRequest param){
        String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param));
        if(StringUtils.isNotBlank(result)){
            TypeReference typeReference =
                    new TypeReference<ERPApiResponse<ApproveInfoResponse>>(){};
            ERPApiResponse<ApproveInfoResponse> response = JSONObject.parseObject(result, typeReference.getType());
            if(response!=null && response.isSuccess()){
                return response.getData();
            }
        }
        return  null;
    }
    /**
     * é€šçŸ¥äººå‘˜åŒæ­¥å¤±è´¥
     * @param url
     * @param param
     * @return
     */
    public static ERPApiResponse noticeUserStatus(String url, UserFailRequest param){
        String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param));
        if(StringUtils.isNotBlank(result)){
            TypeReference typeReference =
                    new TypeReference<ERPApiResponse>(){};
            ERPApiResponse response = JSONObject.parseObject(result, typeReference.getType());
            if(response!=null){
                return response;
            }
        }
        return  null;
    }
}
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ApproveNoticeRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/ApproveNoticeRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/CarAuthorRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/CarAuthorRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/CarEventListRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/CarEventListRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/DoorEventListRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/DoorEventListRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/OrgUpdateRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/OrgUpdateRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/ParkListRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/ParkListRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/RoleListRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/RoleListRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/TokenRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/TokenRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserAuthorRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/UserAuthorRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/UserUpdateRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/VisitListRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/VisitListRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request;
package com.doumee.core.erp.model.openapi.request;
import com.doumee.core.haikang.model.param.BaseRequst;
import io.swagger.annotations.ApiModel;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/ApproveAddRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/ApproveAddRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request.erp;
package com.doumee.core.erp.model.openapi.request.erp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/OrgListRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/OrgListRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request.erp;
package com.doumee.core.erp.model.openapi.request.erp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserFailRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/MemberFailRequest.java ÐÞ¸Ä
@@ -1,10 +1,8 @@
package com.doumee.core.model.openapi.request.erp;
package com.doumee.core.erp.model.openapi.request.erp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
@@ -12,7 +10,7 @@
 */
@Data
@ApiModel(value = "员工同步失败推送请求参数" )
public class MemberFailRequest {
public class UserFailRequest {
    @ApiModelProperty(value = "员工id"  )
    private  String userId;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserInfoRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/UserInfoRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request.erp;
package com.doumee.core.erp.model.openapi.request.erp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserListRequest.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/erp/UserListRequest.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.request.erp;
package com.doumee.core.erp.model.openapi.request.erp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/AccessTokenResponse.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/AccessTokenResponse.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response;
package com.doumee.core.erp.model.openapi.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/CarEventListResponse.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/CarEventListResponse.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response;
package com.doumee.core.erp.model.openapi.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DeviceListResponse.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/DeviceListResponse.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response;
package com.doumee.core.erp.model.openapi.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DoorEventListResponse.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/DoorEventListResponse.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response;
package com.doumee.core.erp.model.openapi.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/ParkListResponse.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/ParkListResponse.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response;
package com.doumee.core.erp.model.openapi.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/RoleListResponse.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/RoleListResponse.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response;
package com.doumee.core.erp.model.openapi.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/VisitEventListResponse.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/VisitEventListResponse.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response;
package com.doumee.core.erp.model.openapi.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/ApproveInfoResponse.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/erp/ApproveInfoResponse.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response.erp;
package com.doumee.core.erp.model.openapi.response.erp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/ERPApiResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
package com.doumee.core.erp.model.openapi.response.erp;
import com.doumee.core.constants.ResponseStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.http.HttpStatus;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
/**
 * æŽ¥å£è¿”回对象
 * @author Eva.Caesar Liu
 * @date 2023/03/21 14:49
 */
@ApiModel("ERP响应对象")
@Data
@AllArgsConstructor
public class ERPApiResponse<T> implements Serializable {
    @ApiModelProperty(value = "响应码")
    private int code;
    @ApiModelProperty(value = "请求是否成功")
    private boolean success;
    @ApiModelProperty(value = "错误消息")
    private String message;
    @ApiModelProperty(value = "数据")
    private T data;
    @ApiModelProperty(value = "异常消息")
    private String exception;
    public ERPApiResponse() {}
    /**
     * è¯·æ±‚成功
     */
    public static <T> ERPApiResponse<T> success(T data) {
        return ERPApiResponse.success("请求成功", data);
    }
    /**
     * è¯·æ±‚成功
     */
    public static <T> ERPApiResponse<T> success(String message, T data) {
        return new ERPApiResponse<>(HttpStatus.OK.value(), Boolean.TRUE, message, data, null);
    }
    /**
     * è¯·æ±‚失败
     */
    public static <T> ERPApiResponse<T> failed(String message) {
        return ERPApiResponse.failed(HttpStatus.INTERNAL_SERVER_ERROR.value(), message);
    }
    /**
     * è¯·æ±‚失败
     */
    public static <T> ERPApiResponse<T> failed(ResponseStatus status) {
        return ERPApiResponse.failed(status.getCode(), status.getMessage());
    }
    /**
     * è¯·æ±‚失败
     */
    public static <T> ERPApiResponse<T> failed(ResponseStatus status, Throwable ex) {
        return ERPApiResponse.failed(status.getCode(), status.getMessage(), ex);
    }
    /**
     * è¯·æ±‚失败
     */
    public static <T> ERPApiResponse<T> failed(Integer code, String message) {
        return ERPApiResponse.failed(code, message, null);
    }
    /**
     * è¯·æ±‚失败
     */
    public static <T> ERPApiResponse<T> failed(Integer code, String message, Throwable ex) {
        if (ex == null) {
            return new ERPApiResponse<>(code, Boolean.FALSE, message, null, null);
        }
        // å¤„理异常栈,防止过多内容导致响应内容过大
        StackTraceElement[] trace = ex.getStackTrace();
        StringBuilder exceptionStack = new StringBuilder(ex + "\n");
        for (StackTraceElement traceElement : trace) {
            exceptionStack.append("\tat ").append(traceElement).append("\n");
            if (exceptionStack.length() > 5000) {
                break;
            }
        }
        return new ERPApiResponse<>(code, Boolean.FALSE, message, null, exceptionStack.toString());
    }
    public static void outputCode(HttpServletResponse response, String code) {
        String ret ="code=" + code + "";
        PrintWriter out = null;
        try {
            out = response.getWriter();
        } catch (IOException e) {
            e.printStackTrace();
        }
        out.println(ret);
        out.flush();
        out.close();
    }
    public static void outputCode(HttpServletResponse response, int code,String msg) {
        String ret =  "{\"code\":" + code + ",\"message\":\"" + msg + "\"}";
        //        PrintWriter out = null;
        try {
            response.getOutputStream().write(ret.getBytes("UTF-8"));
            //            out = response.getWriter();
        } catch (IOException e) {
            e.printStackTrace();
        }
        //        out.write(ret);
        //        out.flush();
        //        out.close();
    }
}
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/OrgListRespone.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/erp/OrgListRespone.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.doumee.core.model.openapi.response.erp;
package com.doumee.core.erp.model.openapi.response.erp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -14,7 +14,7 @@
@ApiModel("组织信息同步返回信息")
public class OrgListRespone {
    @ApiModelProperty(value = "唯一标识" ,example = "1")
    private Integer id;
    private String id;
    @ApiModelProperty(value = "名称" )
    private String name;
    @ApiModelProperty(value = "是否已删除 0未删除 1已删除",example = "0")
@@ -29,5 +29,7 @@
    private String parentOrgId;
    @ApiModelProperty(value = "负责人编码")
    private String headId;
    @ApiModelProperty(value = "组织代码")
    private String code;
}
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/UserListRespone.java
ÎļþÃû´Ó server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/response/erp/UserListRespone.java ÐÞ¸Ä
@@ -1,9 +1,16 @@
package com.doumee.core.model.openapi.response.erp;
package com.doumee.core.erp.model.openapi.response.erp;
import com.doumee.core.constants.ResponseStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.http.HttpStatus;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -45,4 +52,5 @@
    private List<String> cardList;
    @ApiModelProperty(value = "授权门禁组编码集合,【访客端】唯一标识" )
    private Integer[] roleIds;
}
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -8,7 +8,8 @@
@Data
public class HKConstants {
    public static final String IMG_INDEX ="HKIMG=" ;
    public static final String IMG_INDEX_ERROR ="HKIMG=ERROR=" ;
    public static final String IMG_INDEX_ERROR ="HKIMG_ERROR=" ;
    public static final String RES_INDEX = "DM_";
    private Logger logger = LoggerFactory.getLogger(HKConstants.class);
    //海康平台根据现场环境配置http还是https
    public static final String RESPONSE_SUCCEE = "0";
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -56,6 +56,12 @@
    public static final String FTP_USERNAME ="FTP_USERNAME" ;
    public static final String FTP_PWD ="FTP_PWD" ;
    public static final String FTP_RESOURCE_PATH ="FTP_RESOURCE_PATH" ;
    public static final String ERP_ORGLIST_URL ="ERP_ORGLIST_URL" ;
    public static final String ERP_USERLIST_URL ="ERP_USERLIST_URL" ;
    public static final String ERP_APPROVE_URL ="ERP_APPROVE_URL" ;
    public static final String ERP_USERSTATUS_RL ="ERP_USERSTATUS_RL" ;
    public static final String ERP ="ERP" ;
    public static  boolean DEALING_HK_IMG = false;
    // ERP接口配置
    public static final String ERP_CONFIG = "ERP_CONFIG";
server/dmvisit_service/src/main/java/com/doumee/core/utils/HttpsUtil.java
@@ -20,6 +20,9 @@
    public static String post(String url, String data, String contentType, boolean ignoreSSL) {
        return connection(url, "POST", data, contentType, ignoreSSL);
    }
    public static String postJson(String url, String data) {
        return connection(url, "POST", data, "application/json", false);
    }
    public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL){
        HttpsURLConnection connection = null;
server/dmvisit_service/src/main/java/com/doumee/dao/business/CompanyMapper.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Company;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/30 15:33
 */
public interface CompanyMapper extends BaseMapper<Company> {
    void insertBatchSomeColumn(List<Company> addList);
}
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -85,7 +85,7 @@
    @ApiModelProperty(value = "企业代码")
    @ExcelColumn(name="企业代码")
    private Integer code;
    private String code;
    @ApiModelProperty(value = "上级组织编码(自关联)")
    @ExcelColumn(name="上级组织编码(自关联)")
@@ -114,6 +114,9 @@
    @ApiModelProperty(value = "ERP标识")
    @ExcelColumn(name="ERP标识")
    private String erpId;
    @ApiModelProperty(value = "ERP父级组织标识")
    @ExcelColumn(name="ERP父级组织标识")
    private String erpParentId;
    @ApiModelProperty(value = "负责人编码(关联member)")
    @ExcelColumn(name="负责人编码")
server/dmvisit_service/src/main/java/com/doumee/service/business/DeviceRoleService.java
@@ -2,8 +2,8 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.openapi.request.RoleListRequest;
import com.doumee.core.model.openapi.response.RoleListResponse;
import com.doumee.core.erp.model.openapi.request.RoleListRequest;
import com.doumee.core.erp.model.openapi.response.RoleListResponse;
import com.doumee.dao.business.model.DeviceRole;
import com.doumee.dao.web.response.DeviceRoleVO;
server/dmvisit_service/src/main/java/com/doumee/service/business/ERPSyncService.java
@@ -1,14 +1,13 @@
package com.doumee.service.business;
import com.doumee.core.erp.model.openapi.request.erp.*;
import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse;
import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.openapi.request.*;
import com.doumee.core.model.openapi.request.erp.OrgListRequest;
import com.doumee.core.model.openapi.request.erp.UserInfoRequest;
import com.doumee.core.model.openapi.request.erp.UserListRequest;
import com.doumee.core.model.openapi.response.*;
import com.doumee.core.erp.model.openapi.request.*;
import com.doumee.core.erp.model.openapi.response.*;
import java.util.List;
@@ -18,6 +17,12 @@
 * @date 2023/11/30 15:33
 */
public interface ERPSyncService {
    /**
     * åŠ è½½é»˜è®¤å‚æ•°
     * @return
     */
    int  initHkConfig();
    /**
     * åŒæ­¥ERP组织信息
     * @param param
@@ -33,12 +38,13 @@
    String syncUsers(UserListRequest param);
    /**
     * èŽ·å–ERP人员信息
     * æäº¤ç”¨æˆ·åŒæ­¥å¤±è´¥è®°å½•
     * @param param
     * @return
     */
    String syncUserInfo(UserInfoRequest param);
    boolean noticeUserFail(UserFailRequest param);
    /**
server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -3,7 +3,7 @@
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.openapi.response.AccessTokenResponse;
import com.doumee.core.erp.model.openapi.response.AccessTokenResponse;
import com.doumee.dao.admin.request.LaborEmpowerDTO;
import com.doumee.dao.admin.request.LaborMemberDTO;
import com.doumee.dao.admin.request.MemberQuery;
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -5,9 +5,9 @@
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.openapi.request.RoleListRequest;
import com.doumee.core.model.openapi.response.DeviceListResponse;
import com.doumee.core.model.openapi.response.RoleListResponse;
import com.doumee.core.erp.model.openapi.request.RoleListRequest;
import com.doumee.core.erp.model.openapi.response.DeviceListResponse;
import com.doumee.core.erp.model.openapi.response.RoleListResponse;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.DeviceMapper;
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.util.IdcardUtil;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.erp.ErpTool;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.HKTools;
@@ -196,6 +197,8 @@
    }
    private String startSendErpCheck(Visits visits) {
        //TODO ------------RK--------------
//        ErpTool.submitApprove()
        return  null;
    }
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -2,54 +2,54 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.Jwt.JwtPayLoad;
import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.erp.ErpConstants;
import com.doumee.core.erp.ErpTool;
import com.doumee.core.erp.model.openapi.request.erp.*;
import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse;
import com.doumee.core.erp.model.openapi.response.erp.ERPApiResponse;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
import com.doumee.core.haikang.model.param.request.DoorsListRequest;
import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest;
import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest;
import com.doumee.core.haikang.model.param.BaseResponse;
import com.doumee.core.haikang.model.param.request.OrgAddRequest;
import com.doumee.core.haikang.model.param.request.OrgDelRequest;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.openapi.request.*;
import com.doumee.core.model.openapi.request.erp.OrgListRequest;
import com.doumee.core.model.openapi.request.erp.UserInfoRequest;
import com.doumee.core.model.openapi.request.erp.UserListRequest;
import com.doumee.core.model.openapi.response.*;
import com.doumee.core.model.openapi.response.erp.OrgListRespone;
import com.doumee.core.erp.model.openapi.request.*;
import com.doumee.core.erp.model.openapi.response.*;
import com.doumee.core.erp.model.openapi.response.erp.OrgListRespone;
import com.doumee.core.erp.model.openapi.response.erp.UserListRespone;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DESUtil;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.core.utils.redis.RedisUtil;
import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.CarEventJoinMapper;
import com.doumee.dao.business.join.DeviceEventJoinMapper;
import com.doumee.dao.business.join.VisitEventJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.web.reqeust.CheckVisitedDTO;
import com.doumee.dao.web.response.MemberVO;
import com.doumee.service.business.*;
import com.doumee.service.business.ERPSyncService;
import com.doumee.service.business.InterfaceLogService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.models.auth.In;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.checkerframework.checker.units.qual.A;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import javax.annotation.PostConstruct;
import java.util.*;
import java.util.stream.Collectors;
@@ -94,7 +94,7 @@
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private MemberRoleMapper memberRoleMapper;
@@ -107,15 +107,145 @@
    @Autowired
    private InterfaceLogService interfaceLogService;
    @Override
    @PostConstruct
    public  int  initHkConfig(){
        ErpConstants.approveUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_APPROVE_URL).getCode();
        ErpConstants.orgListUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_ORGLIST_URL).getCode();
        ErpConstants.userListUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_USERSTATUS_RL).getCode();
        ErpConstants.userStatusUrl=systemDictDataBiz.queryByCode(Constants.ERP,Constants.ERP_USERSTATUS_RL).getCode();
        return  0;
    }
    /**
     * åŒæ­¥ERP组织信息
     * @param param
     * @return
     */
    @Override
    @Transactional
    public String syncCompany(OrgListRequest param){
        List<OrgListRespone>  allList = new ArrayList<>();
        //获取ERP组织信息(全量同步)
        List<OrgListRespone>  list = ErpTool.getErpOrgList(ErpConstants.orgListUrl,param);
        if(list !=null && list.size()>0){
            List<Company> addList = new ArrayList<>();
            List<Company> updateList = new ArrayList<>();
            List<Integer> delIds = new ArrayList<>();
            List<Company>  allList = companyMapper.selectList(new QueryWrapper<Company>().lambda().eq(Company::getType,Constants.ONE));
            dealCompanyChangeList(list,addList,updateList,delIds,allList);
            if(addList.size()>0){
                companyMapper.insertBatchSomeColumn(addList);
            }
            if(updateList.size()>0){
                for(Company c : updateList){
                    companyMapper.updateById(c);
                }
            }
            if(delIds.size()>0){
                //删除所有需要删除的组织信息(逻辑删除)
                companyMapper.update(null,new UpdateWrapper<Company>().lambda().set(Company::getIsdeleted, Constants.ONE).in(Company::getId,delIds));
            }
            return "同步数据:新增【"+addList.size()+"】条,更新【"+updateList.size()+"】条,删除【"+delIds.size()+"】条";
        }else{
            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "同步ERP数据为空!");
        }
    }
    /**
     * æ ¹æ®åŒæ­¥erp的组织信息封装 ç»„织新增、修改和删除的集合信息
     * @param list
     * @param addList
     * @param updateList
     * @param delIds
     * @param allList
     */
    private void dealCompanyChangeList(List<OrgListRespone> list, List<Company> addList, List<Company> updateList, List<Integer> delIds, List<Company> allList) {
        Date date = new Date();
        for(OrgListRespone respone : list){
            //根据erpid查询企业信息,判断是新增还是更新
            Company company = findCompanyByERPId(allList,respone.getId());
            if(company == null){
                //如果是新增
                if(Constants.formatIntegerNum(respone.getIsdeleted()) == Constants.ONE){
                    continue;
                }
                //封装新增组织对象数据
                addList.add(getAddCompanyModel(respone,date));
            }else{
                //如果是更新
                if(Constants.formatIntegerNum(respone.getIsdeleted()) == Constants.ONE){
                    //如果已删除,加入删除集合中
                    delIds.add(company.getId());
                    continue;
                }
                updateList.add(addUpdateCompanyModel(respone,company,date));
            }
        }
        if(allList!=null && allList.size()>0){
            for(Company  c : allList){
                if(isCompanyDeleted(c,list)){
                    delIds.add(c.getId());
                }
            }
        }
    }
    /**
     * æ–°å¢žç»„织对象
     * @param respone
     * @param company
     * @param date
     * @return
     */
    private Company addUpdateCompanyModel(OrgListRespone respone,Company company,Date date) {
        company.setName(respone.getName());
        company.setErpId(respone.getId());
        company.setEditDate(date);
        company.setStatus(respone.getStatus());
        company.setCode(respone.getCode());
        company.setErpParentId(respone.getParentOrgId());
        company.setErpDate(date);
        company.setHkStatus(Constants.ZERO);
        return  company;
    }
    /**
     * æ›´æ–°ç»„织对象
     * @param respone
     * @param date
     * @return
     */
    private Company getAddCompanyModel(OrgListRespone respone, Date date) {
        Company    company = new Company();
        company.setIsdeleted(Constants.ZERO);
        company.setName(respone.getName());
        company.setErpId(respone.getId());
        company.setCreateDate(date);
        company.setCode(respone.getCode());
        company.setErpParentId(respone.getParentOrgId());
        company.setErpDate(date);
        //海康数据
        company.setHkId(HKConstants.RES_INDEX+UUID.randomUUID().toString());
        return  company;
    }
    private boolean isCompanyDeleted(Company c, List<OrgListRespone> list) {
        for(OrgListRespone m : list){
            if(StringUtils.equals(c.getErpId(),m.getId())){
                return  true;
            }
        }
        return false;
    }
    private Company findCompanyByERPId(List<Company> allList, String id) {
        if(allList!=null){
            for(Company com :allList){
                if(StringUtils.equals(com.getErpId(),id)){
                    return com;
                }
            }
        }
        return  null;
    }
@@ -126,19 +256,25 @@
     */
    @Override
    public    String syncUsers(UserListRequest param){
        //TODO----------------RK------------------
        List<UserListRespone>  allList = ErpTool.getErpUserList(ErpConstants.userListUrl,param);
        return  null;
    }
    /**
     * èŽ·å–ERP人员信息
     * æäº¤ç”¨æˆ·åŒæ­¥å¤±è´¥è®°å½•
     * @param param
     * @return
     */
    @Override
    public  String syncUserInfo(UserInfoRequest param){
        return  null;
    public  boolean noticeUserFail(UserFailRequest param){
        ERPApiResponse r  = ErpTool.noticeUserStatus(ErpConstants.userStatusUrl,param);
        if(r!=null && r.isSuccess()){
            return true;
        }
        return  false;
    }
    @Override
    public AccessTokenResponse createERPToken(String accessKey, String accessSecret){
server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java
@@ -7,8 +7,8 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.openapi.request.*;
import com.doumee.core.model.openapi.response.*;
import com.doumee.core.erp.model.openapi.request.*;
import com.doumee.core.erp.model.openapi.response.*;
import com.doumee.core.utils.Constants;
import com.doumee.service.business.DeviceRoleService;
import com.doumee.service.business.DeviceService;
server/openapi/src/main/java/com/doumee/api/web/ErpResourceController.java
@@ -1,15 +1,15 @@
package com.doumee.api.web;
import com.doumee.core.erp.model.openapi.response.erp.ERPApiResponse;
import com.doumee.core.haikang.model.param.respose.OrgListResponse;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.openapi.request.erp.ApproveAddRequest;
import com.doumee.core.model.openapi.request.erp.MemberFailRequest;
import com.doumee.core.model.openapi.request.erp.OrgListRequest;
import com.doumee.core.model.openapi.request.erp.UserListRequest;
import com.doumee.core.model.openapi.response.erp.ApproveInfoResponse;
import com.doumee.core.model.openapi.response.erp.UserListRespone;
import com.doumee.core.erp.model.openapi.request.erp.ApproveAddRequest;
import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest;
import com.doumee.core.erp.model.openapi.request.erp.OrgListRequest;
import com.doumee.core.erp.model.openapi.request.erp.UserListRequest;
import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse;
import com.doumee.core.erp.model.openapi.response.erp.UserListRespone;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@@ -34,31 +34,31 @@
public class ErpResourceController extends ApiController{
    @ApiOperation(value = "全量组织信息接口", notes = "ERP端提供,供访客端拉取全部组织信息,用于初始化及周期性数据核查")
    @PostMapping("/org/list")
    public ApiResponse<PageData<OrgListResponse>> orgList (@RequestBody PageWrap<OrgListRequest> pageWrap) {
        return ApiResponse.success(null);
    public ERPApiResponse<PageData<OrgListResponse>> orgList (@RequestBody PageWrap<OrgListRequest> pageWrap) {
        return ERPApiResponse.success(null);
    }
    @ApiOperation(value = "全量人员信息接口", notes = "ERP端提供,供访客端拉取全部人员信息,用于初始化及周期性数据核查")
    @PostMapping("/user/list")
    public ApiResponse<PageData<UserListRespone>> userList (@RequestBody PageWrap<UserListRequest> pageWrap) {
        return ApiResponse.success(null);
    public ERPApiResponse<PageData<UserListRespone>> userList (@RequestBody PageWrap<UserListRequest> pageWrap) {
        return ERPApiResponse.success(null);
    }
    @ApiOperation(value = "访客申请提交审批接口", notes = "ERP端提供,供访客端调用,提交访客申请信息,接口提交成功,ERP端返回审批记录编码")
    @PostMapping("/event/approve/apply")
    public ApiResponse<String> approveApply(@RequestBody ApproveAddRequest param ) {
        return  ApiResponse.success(UUID.randomUUID().toString());
    public ERPApiResponse<String> approveApply(@RequestBody ApproveAddRequest param ) {
        return ERPApiResponse.success(UUID.randomUUID().toString());
    }
    @ApiOperation(value = "访客申请审批结果查询接口", notes = "ERP端提供,供访客端调用,查询访客申请审批结果")
    @GetMapping("/approve/info")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "审批记录唯一标识", required = true)
    })
    public ApiResponse<ApproveInfoResponse> approveInfo(@RequestParam String id ) {
        return  ApiResponse.success(null );
    public ERPApiResponse<ApproveInfoResponse> approveInfo(@RequestParam String id ) {
        return ERPApiResponse.success(null );
    }
    @ApiOperation(value = "员工同步失败推送接口", notes = "ERP端提供,供访客端调用,告知erp员工信息同步失败的数据")
    @PostMapping("/member/fail")
    public ApiResponse<ApproveInfoResponse> memberFail(@RequestBody List<MemberFailRequest> param) {
        return  ApiResponse.success(null );
    public ERPApiResponse memberFail(@RequestBody List<UserFailRequest> param) {
        return ERPApiResponse.success(null );
    }
}