From b89c0df6f99cff6a852306da467b053aa4f90df8 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 09 一月 2024 13:47:23 +0800
Subject: [PATCH] ERP接口

---
 server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/VisitListRequest.java |    4 ++--
 server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java                                 |    4 ++--
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java         |   25 +++++++++++++++++++------
 server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java                                |   14 +++++---------
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java    |    8 +++-----
 5 files changed, 31 insertions(+), 24 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
index 326d4c9..9853e51 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -18,8 +18,8 @@
  * @date 2021-10-10 14:40:35
  * https://www.bejson.com/othertools/cron/  cron 琛ㄨ揪寮忕敓鎴愬湴鍧�
  */
-@Component
-@EnableScheduling
+//@Component
+//@EnableScheduling
 public class ScheduleTool {
 
     @Autowired
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java b/server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
index a3eba1b..b92f758 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
+import com.doumee.core.constants.ResponseStatus;
 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;
@@ -10,6 +11,7 @@
 import com.doumee.core.erp.model.openapi.response.erp.ERPApiResponse;
 import com.doumee.core.erp.model.openapi.response.erp.ErpOrgListResponse;
 import com.doumee.core.erp.model.openapi.response.erp.ErpUserListResponse;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.HttpsUtil;
@@ -82,7 +84,7 @@
                 if(response!=null && response.getData()!=null && response.getData().getRecords()!=null){
                     list.addAll(response.getData().getRecords());
                     if(pageSize*page < response.getData().getTotal() ){
-                        hasLast =true;//杩樻湁涓嬩竴椤�
+                        hasLast =false;//杩樻湁涓嬩竴椤�
                     }
                     page++;
                 }
@@ -102,12 +104,6 @@
         System.out.println(JSONObject.toJSONString(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();
-//            }
             TypeReference typeReference =
                     new TypeReference<ERPApiResponse<String>>(){};
             ERPApiResponse<String> response = JSONObject.parseObject(result, typeReference.getType());
@@ -115,9 +111,9 @@
                 ApproveInfoResponse approveInfoResponse = new ApproveInfoResponse();
                 approveInfoResponse.setId(response.getData());
                 return approveInfoResponse;
+            }else if(response!=null && !response.isSuccess()){
+                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMessage());
             }
-
-
         }
         return  null;
     }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/VisitListRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/VisitListRequest.java
index 41a0f27..96f20ba 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/VisitListRequest.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/VisitListRequest.java
@@ -12,8 +12,8 @@
 @Data
 @ApiModel("璁垮鍑哄叆浜嬩欢鍚屾璇锋眰淇℃伅")
 public class VisitListRequest extends BaseRequst {
-    @ApiModelProperty(value = "鍞竴鏍囪瘑" ,example = "1")
-    private Integer eventId;
+    @ApiModelProperty(value = "鍞竴鏍囪瘑" )
+    private String eventId;
     @ApiModelProperty(value = "璁垮鍚嶇О,鏀寔妯$硦鍖归厤" )
     private String visitorName;
     @ApiModelProperty(value = "璁垮韬唤璇佸彿" )
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 58d585c..a951072 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -126,14 +126,15 @@
         visits.setMemberId(member.getId());
         //鍒濆鍖栬瀹俊鎭�
         initVisitInfo(visits,date);
+        visitsMapper.insert(visits);
         //鍙戣捣ERP瀹℃壒鐢宠
         String erpId = startSendErpCheck(visits,visitMember);
         if(StringUtils.isNotBlank(erpId)){
             visits.setErpId(erpId);
+            visitsMapper.updateById(visits);
         }else{
-//            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
+            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
         }
-        visitsMapper.insert(visits);
         initWithVisitInfo(visits);
         updateProblemLog(visits,problemLog,member);
         //鍒涘缓瀹℃壒璁板綍
@@ -560,6 +561,15 @@
         ApproveAddRequest param = new ApproveAddRequest();
         List<Visits> withUserVisitsList = visits.getWithUserList();
         List<UserInfoRequest> withUserList = new ArrayList<>();
+        UserInfoRequest mainUser = new UserInfoRequest();
+        mainUser.setName(visits.getName());
+        mainUser.setIdNo(DESUtil.decrypt(Constants.EDS_PWD, visits.getIdcardNo()));
+        mainUser.setSex(visits.getSex());
+        mainUser.setPhone(visits.getPhone());
+        mainUser.setFaceImg(visits.getFaceImg());
+        mainUser.setHealthImg(visits.getImgurl());
+        withUserList.add(mainUser);
+
         if(CollectionUtils.isNotEmpty(withUserVisitsList)){
             for (Visits v:withUserVisitsList) {
                 UserInfoRequest userInfoRequest = new UserInfoRequest();
@@ -571,14 +581,17 @@
                 userInfoRequest.setHealthImg(v.getImgurl());
                 withUserList.add(userInfoRequest);
             }
-            param.setWithUserList(withUserList);
         }
+        param.setWithUserList(withUserList);
+
+
         param.setId(visits.getId());
         param.setBeVisitedUserId(visitMember.getErpId());
         param.setVisitorWorkUint(visits.getCompanyName());
         param.setPurpose(visits.getReason());
-        param.setStartTime(DateUtil.getDate(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss"));
-        param.setEndTime(DateUtil.getDate(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss"));
+        param.setStartTime(DateUtil.DateToStr(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss"));
+        param.setEndTime(DateUtil.DateToStr(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss"));
+        param.setBeVisitedOrgId(visitMember.getErpOrgId());
         if(StringUtils.isNotBlank(visits.getCarNos())){
             param.setCarNo(Arrays.asList(visits.getCarNos().split(",")));
         }
@@ -591,7 +604,7 @@
         }
         ApproveInfoResponse response = ErpTool.submitApprove(ErpConstants.approveUrl,param);
         if(!Objects.isNull(response)){
-            return response.getId().toString();
+            return visits.getId().toString();
         }
         return  null;
     }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
index 0be2378..ce6f23e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -620,10 +620,10 @@
             queryWrapper.selectAs(DeviceEvent::getUserType,DoorEventListResponse::getType);
             queryWrapper.selectAs(DeviceEvent::getExtEventInOut,DoorEventListResponse::getEventInOut);
             queryWrapper.selectAs(DeviceEvent::getExtAccessChannel,DoorEventListResponse::getExtAccessChannel);
-            queryWrapper.selectAs(DeviceEvent::getCreateDate,DoorEventListResponse::getCreateTime);
+            queryWrapper.selectAs(DeviceEvent::getHappenTime,DoorEventListResponse::getCreateTime);
             queryWrapper.selectAs(Member::getPhone,DoorEventListResponse::getPhone);
             queryWrapper.selectAs(Member::getErpId,DoorEventListResponse::getUserId);
-            queryWrapper.selectAs(Member::getCompanyId,DoorEventListResponse::getOrgId);
+            queryWrapper.selectAs(Member::getErpOrgId,DoorEventListResponse::getOrgId);
             queryWrapper.leftJoin(Member.class,Member::getHkId,DeviceEvent::getExtEventPersonNo);
 
             if(!Objects.isNull(doorEventListRequest)){
@@ -799,7 +799,7 @@
                     ||Objects.isNull(param.getIdType())//璇佷欢绫诲瀷
                     ||Objects.isNull(param.getSex())//鎬у埆
                     ||Objects.isNull(param.getOrgId())//鎵�灞炵粍缁囩紪鐮�
-                    ||StringUtils.isBlank(param.getFaceImg())//浜鸿劯鐓х墖
+//                    ||StringUtils.isBlank(param.getFaceImg())//浜鸿劯鐓х墖
                     ||StringUtils.isBlank(param.getCode())//宸ュ彿
                     ||StringUtils.isBlank(param.getPhone())//鎵嬫満鍙�
              ){
@@ -830,7 +830,6 @@
                 member.setErpOrgId(param.getOrgId());
                 doorIds = getRoleIdByParam(param.getRoleIds(),member);
                 memberMapper.insert(member);
-                //TODO 娴峰悍鏁版嵁鍒涘缓-------------淇敼-------------------
             }else{
                 Integer id = member.getId();
                 BeanUtils.copyProperties(param,member);
@@ -848,7 +847,6 @@
                 memberMapper.updateById(member);
                 //鍒犻櫎鐢ㄦ埛鍗$墖鏁版嵁  浜哄憳瑙掕壊鍏宠仈
                 memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,member.getId()));
-                //TODO 娴峰悍鏁版嵁鏇存柊
             }
             //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓
             dealMemberRoleEmpower(member,doorIds,param.getValidStartTime(),param.getValidEndTime());

--
Gitblit v1.9.3