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; @@ -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 ); } }