From 9ffa4aac7e3ae6b268dbc3567a0749a9898c3708 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 11 一月 2024 18:09:09 +0800
Subject: [PATCH] ERP接口

---
 server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java |    3 
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java                    |    6 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java      |  104 ++++++++++++++++-
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                   |    4 
 server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java                  |   16 ++
 server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java                 |    2 
 server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java               |    4 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java          |    9 +
 server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java                                 |  169 ++++++++++++++++++---------
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java     |    9 +
 10 files changed, 245 insertions(+), 81 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
index 48936f5..fd3e382 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberCardController.java
@@ -67,11 +67,19 @@
         return ApiResponse.success(null);
     }
 
-    @ApiOperation("鎸傚け/瑙f寕鎿嶄綔")
-    @PostMapping("/batchUpdate")
+    @ApiOperation("鎸傚け鎿嶄綔")
+    @PostMapping("/batchLoss")
     //@RequiresPermissions("business:membercard:update")
-    public ApiResponse batchUpdate(@RequestBody List<MemberCard> memberCards) {
-        memberCardService.updateByIdInBatch(memberCards);
+    public ApiResponse batchLoss(@RequestBody List<MemberCard> memberCards) {
+        memberCardService.updateByIdInBatch(memberCards,0);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("瑙f寕鎿嶄綔")
+    @PostMapping("/batchUnLoss")
+    //@RequiresPermissions("business:membercard:update")
+    public ApiResponse batchUnLoss(@RequestBody List<MemberCard> memberCards) {
+        memberCardService.updateByIdInBatch(memberCards,1);
         return ApiResponse.success(null);
     }
 
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 b92f758..9ccafcb 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
@@ -1,5 +1,6 @@
 package com.doumee.core.erp;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.TypeReference;
 import com.doumee.core.constants.ResponseStatus;
@@ -14,47 +15,81 @@
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.HttpsUtil;
+import com.doumee.dao.business.model.InterfaceLog;
 import com.doumee.dao.business.model.Member;
+import com.doumee.service.business.InterfaceLogService;
 import com.github.pagehelper.PageInfo;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
+@Service
 public class ErpTool {
+
+    @Autowired
+    private InterfaceLogService interfaceLogService;
+
+    public void saveInterfaceLog(Object param, String path,String result,Integer type) {
+        InterfaceLog interfaceLog=new InterfaceLog();
+        interfaceLog.setType(type);
+        interfaceLog.setCreateDate(new Date());
+        interfaceLog.setIsdeleted(Constants.ZERO);
+        if(param!=null){
+            interfaceLog.setRequest(JSONObject.toJSONString(param));
+        }
+        interfaceLog.setPlat(Constants.ONE);
+        interfaceLog.setRepose(result);
+        interfaceLog.setName(path);
+        interfaceLog.setUrl(path);
+        interfaceLogService.create(interfaceLog);
+    }
+
+
+
     /**
      * 鍚屾缁勭粐
      * @param url
      * @param param
      * @return
      */
-    public static List<ErpOrgListResponse> getErpOrgList(String url, OrgListRequest param){
-
+    public   List<ErpOrgListResponse> getErpOrgList(String url, OrgListRequest param){
         List<ErpOrgListResponse> list = new ArrayList<>();
-        int page =1;
-        int pageSize  = 100;
-        boolean hasLast = true;
-        while (hasLast){
-            hasLast = false;
-            PageWrap<OrgListRequest> pageWrap  = new PageWrap<>();
-            pageWrap.setModel(param);
-            pageWrap.setPage(page);
-            pageWrap.setCapacity(pageSize);
-            String result = HttpsUtil.postJson(url, JSONObject.toJSONString(pageWrap));
-            if(StringUtils.isNotBlank(result)){
-                TypeReference typeReference =
-                        new TypeReference<ERPApiResponse<PageData<ErpOrgListResponse>>>(){};
-                ERPApiResponse<PageData<ErpOrgListResponse>> response = JSONObject.parseObject(result, typeReference.getType());
-                if(response!=null && response.getData()!=null&& response.getData().getRecords()!=null){
-                    list.addAll(response.getData().getRecords());
-                        if(page*pageSize < response.getData().getTotal() ){
-                            hasLast =true;//杩樻湁涓嬩竴椤�
+        try {
+            int page = 1;
+            int pageSize = 100;
+            boolean hasLast = true;
+            while (hasLast) {
+                hasLast = false;
+                PageWrap<OrgListRequest> pageWrap = new PageWrap<>();
+                pageWrap.setModel(param);
+                pageWrap.setPage(page);
+                pageWrap.setCapacity(pageSize);
+                String result = HttpsUtil.postJson(url, JSONObject.toJSONString(pageWrap));
+                if (StringUtils.isNotBlank(result)) {
+                    TypeReference typeReference =
+                            new TypeReference<ERPApiResponse<PageData<ErpOrgListResponse>>>() {
+                            };
+                    ERPApiResponse<PageData<ErpOrgListResponse>> response = JSONObject.parseObject(result, typeReference.getType());
+                    if (response != null && response.getData() != null && response.getData().getRecords() != null) {
+                        list.addAll(response.getData().getRecords());
+                        if (page * pageSize < response.getData().getTotal()) {
+                            hasLast = true;//杩樻湁涓嬩竴椤�
                         }
                         page++;
                     }
                 }
             }
+        }catch (Exception e){
+            throw e;
+        }finally {
+            saveInterfaceLog(param,url,JSONArray.toJSONString(list),Constants.ZERO);
+        }
         return  list;
     }
 
@@ -64,31 +99,37 @@
      * @param param
      * @return
      */
-    public static List<ErpUserListResponse> getErpUserList(String url, UserListRequest param){
+    public List<ErpUserListResponse> getErpUserList(String url, UserListRequest param){
 
         List<ErpUserListResponse> list = new ArrayList<>();
-        int page =1;
-        int pageSize  = 100;
-        boolean hasLast = true;
-        while (hasLast){
-            hasLast = false;
-            PageWrap<UserListRequest> pageWrap  = new PageWrap<>();
-            pageWrap.setModel(param);
-            pageWrap.setPage(page);
-            pageWrap.setCapacity(pageSize);
-            String result = HttpsUtil.postJson(url, JSONObject.toJSONString(pageWrap));
-            if(StringUtils.isNotBlank(result)){
-                TypeReference typeReference =
-                        new TypeReference<ERPApiResponse<PageData<ErpUserListResponse>>>(){};
-                ERPApiResponse<PageData <ErpUserListResponse>> response = JSONObject.parseObject(result, typeReference.getType());
-                if(response!=null && response.getData()!=null && response.getData().getRecords()!=null){
-                    list.addAll(response.getData().getRecords());
-                    if(pageSize*page < response.getData().getTotal() ){
-                        hasLast =false;//杩樻湁涓嬩竴椤�
+        try{
+            int page =1;
+            int pageSize  = 100;
+            boolean hasLast = true;
+            while (hasLast){
+                hasLast = false;
+                PageWrap<UserListRequest> pageWrap  = new PageWrap<>();
+                pageWrap.setModel(param);
+                pageWrap.setPage(page);
+                pageWrap.setCapacity(pageSize);
+                String result = HttpsUtil.postJson(url, JSONObject.toJSONString(pageWrap));
+                if(StringUtils.isNotBlank(result)){
+                    TypeReference typeReference =
+                            new TypeReference<ERPApiResponse<PageData<ErpUserListResponse>>>(){};
+                    ERPApiResponse<PageData <ErpUserListResponse>> response = JSONObject.parseObject(result, typeReference.getType());
+                    if(response!=null && response.getData()!=null && response.getData().getRecords()!=null){
+                        list.addAll(response.getData().getRecords());
+                        if(pageSize*page < response.getData().getTotal() ){
+                            hasLast =false;//杩樻湁涓嬩竴椤�
+                        }
+                        page++;
                     }
-                    page++;
                 }
             }
+        }catch (Exception e){
+            throw e;
+        }finally {
+            saveInterfaceLog(param,url, JSONArray.toJSONString(list),Constants.ZERO);
         }
         return  list;
 
@@ -100,20 +141,26 @@
      * @param param
      * @return
      */
-    public static ApproveInfoResponse submitApprove(String url, ApproveAddRequest param){
+    public  ApproveInfoResponse submitApprove(String url, ApproveAddRequest param){
         System.out.println(JSONObject.toJSONString(param));
         String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param));
-        if(StringUtils.isNotBlank(result)){
-            TypeReference typeReference =
-                    new TypeReference<ERPApiResponse<String>>(){};
-            ERPApiResponse<String> response = JSONObject.parseObject(result, typeReference.getType());
-            if(response!=null && response.isSuccess()){
-                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());
+        try{
+            if(StringUtils.isNotBlank(result)){
+                TypeReference typeReference =
+                        new TypeReference<ERPApiResponse<String>>(){};
+                ERPApiResponse<String> response = JSONObject.parseObject(result, typeReference.getType());
+                if(response!=null && response.isSuccess()){
+                    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());
+                }
             }
+        }catch (Exception e){
+            throw e;
+        }finally {
+           saveInterfaceLog(param,url,JSONObject.toJSONString(result),Constants.ZERO);
         }
         return  null;
     }
@@ -124,15 +171,21 @@
      * @param param
      * @return
      */
-    public static ERPApiResponse noticeUserStatus(String url, UserFailRequest param){
+    public   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;
+        try{
+            if(StringUtils.isNotBlank(result)){
+                TypeReference typeReference =
+                        new TypeReference<ERPApiResponse>(){};
+                ERPApiResponse response = JSONObject.parseObject(result, typeReference.getType());
+                if(response!=null){
+                    return response;
+                }
             }
+        }catch (Exception e){
+            throw e;
+        }finally {
+            saveInterfaceLog(param,url,JSONObject.toJSONString(result),Constants.ZERO);
         }
         return  null;
     }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java
index c641cd1..5ee3cb8 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java
@@ -43,7 +43,8 @@
     private String phone;
     @ApiModelProperty(value = "鍗″彿闆嗗悎" )
     private List<String> cardList;
-    @ApiModelProperty(value = "鎺堟潈闂ㄧ缁勭紪鐮侀泦鍚�,銆愯瀹㈢銆戝敮涓�鏍囪瘑" )
+    //2024骞�1鏈�9鏃� 娌熼�氫笉浠庢涓氬姟瑙﹀彂
+    @ApiModelProperty(value = "鎺堟潈闂ㄧ缁勭紪鐮侀泦鍚�,銆愯瀹㈢銆戝敮涓�鏍囪瘑" ,hidden = true )
     private Integer[] roleIds;
     @ApiModelProperty(value = "鎺堟潈鏈夋晥鏈燂紙寮�濮嬫椂闂达級锛屼负绌烘椂榛樿闀挎湡鏈夋晥锛屽2023-11-24 11:39:23"  )
     private Date validStartTime;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index b2b5a1a..796dcde 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -713,7 +713,7 @@
             res = HKTools.cardDeletion(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse >(){};
-            BaseResponse     result = JSONObject.parseObject(res, typeReference.getType());
+            BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
             logResult(result,"娴峰悍閫�鍗�");
             return  result;
         }catch (Exception e){
@@ -730,7 +730,7 @@
         log.info("銆愭捣搴锋壒閲忔寕澶便��================寮�濮�===="+JSONObject.toJSONString(param));
         String res = null;
         try {
-            res = HKTools.cardDeletion(JSONObject.toJSONString(param));
+            res = HKTools.cardLoss(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse >(){};
             BaseResponse     result = JSONObject.parseObject(res, typeReference.getType());
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
index 2a88362..af30c66 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
@@ -85,7 +85,7 @@
     private String openid;
 
     @ApiModelProperty(value = "闂ㄧ瑙掕壊缂栫爜")
-    private Integer roleId;
+    private String roleId;
 
     @ApiModelProperty(value = "闂ㄧ瑙掕壊鍚嶇О")
     private String roleName;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
index 5f04ac6..323bfb8 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberCard.java
@@ -100,8 +100,8 @@
     @TableField(exist = false)
     private String statusName;
 
-    @ApiModelProperty(value = "鍗$被鍨� 1 IC鍗� 2 CPU鍗�  3杩滆窛绂诲崱 4M鍗� -- 鍓嶇鏂板浼犲�煎啓姝�")
-    @ExcelColumn(name="鍗$被鍨� 1 IC鍗� 2 CPU鍗�  3杩滆窛绂诲崱 4M鍗�")
+    @ApiModelProperty(value = "鍗$被鍨� 1 IC鍗� 2 CPU鍗�  3杩滆窛绂诲崱 4M鍗� 0铏氭嫙鍗� -- 鍓嶇鏂板浼犲�煎啓姝�")
+    @ExcelColumn(name="鍗$被鍨� 1 IC鍗� 2 CPU鍗�  3杩滆窛绂诲崱 4M鍗� 0铏氭嫙鍗�")
     private Integer type;
 
     @ApiModelProperty(value = "鍗$被鍨嬪悕绉�")
@@ -120,5 +120,5 @@
 
     @ApiModelProperty(value = "鍏抽敭瀛�")
     @TableField(exist = false)
-    private String KeyWords;
+    private String keyword;
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
index 0e36208..014dbe7 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/MemberCardService.java
@@ -54,7 +54,9 @@
      *
      * @param memberCards 瀹炰綋闆�
      */
-    void updateByIdInBatch(List<MemberCard> memberCards);
+    void updateByIdInBatch(List<MemberCard> memberCards,Integer type);
+
+
 
     /**
      * 涓婚敭鏌ヨ
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
index 5508be2..e5c6889 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberCardServiceImpl.java
@@ -3,14 +3,20 @@
 import cn.hutool.core.lang.PatternPool;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.ReUtil;
+import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
 import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.CardBingdingRequest;
 import com.doumee.core.haikang.model.param.request.CardDeletionRequest;
+import com.doumee.core.haikang.model.param.request.CardInfoRequest;
+import com.doumee.core.haikang.model.param.request.CardLossRequest;
 import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.admin.response.CarEventDTO;
 import com.doumee.dao.business.*;
@@ -27,6 +33,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.doumee.service.business.impl.hksync.HkSyncOrgUserServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -60,9 +68,38 @@
     private MemberCardJoinMapper memberCardJoinMapper;
 
     @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Integer create(MemberCard memberCard) {
+        LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(Objects.isNull(memberCard.getMemberId())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        memberCard.setCreator(userInfo.getId());
+        memberCard.setCreateDate(new Date());
         memberCard.setStatus(Constants.ONE);
         memberCardMapper.insert(memberCard);
+        dealMemberRoleEmpower(memberMapper.selectById(memberCard.getMemberId()));
+        Member member = memberMapper.selectById(memberCard.getMemberId());
+        if(Objects.isNull(member)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鐢ㄦ埛淇℃伅");
+        }
+        CardBingdingRequest param = new CardBingdingRequest();
+        if(member.getStartTime() !=null && member.getEndTime()!=null){
+            param.setStartDate(DateUtil.getISO8601Timestamp(member.getStartTime()));
+            param.setEndDate(DateUtil.getISO8601Timestamp(member.getEndTime()));
+        }
+        CardInfoRequest cr = new CardInfoRequest();
+        cr.setCardNo(memberCard.getCode());
+        cr.setOrgIndexCode(member.getCompanyHkId());
+        cr.setPersonId(member.getHkId());
+        cr.setCardType(memberCard.getType());
+        List<CardInfoRequest> cardList = new ArrayList<>();
+        cardList.add(cr);
+        param.setCardList(cardList);
+        BaseResponse response = HKService.cardBingding(param);
+        if(response==null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null){
+            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg());
+        }
         return memberCard.getId();
     }
 
@@ -90,25 +127,80 @@
         memberCardMapper.updateById(memberCard);
     }
 
+
+    /**
+     * 鎵归噺鎸傚け/瑙f寕
+     * @param memberCards 瀹炰綋闆�
+     * @param type 0=鎸傚け锛�1=瑙f寕
+     */
     @Override
-    public void updateByIdInBatch(List<MemberCard> memberCards) {
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public void updateByIdInBatch(List<MemberCard> memberCards,Integer type) {
+        LoginUserInfo userInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if (CollectionUtils.isEmpty(memberCards)) {
             return;
         }
+        CardLossRequest param = new CardLossRequest();
+        List<CardDeletionRequest> cardList = new ArrayList();
         for (MemberCard memberCard: memberCards) {
+            MemberCard model = memberCardMapper.selectById(memberCard.getId());
+            if(type.equals(Constants.ZERO)){
+                //鎸傚け鎿嶄綔
+                if(!model.getStatus().equals(Constants.MemberCard.normal)){
+                    continue;
+                }
+            }else{
+                //瑙f寕鎿嶄綔
+                if(!model.getStatus().equals(Constants.MemberCard.loss)){
+                    continue;
+                }
+            }
+            CardDeletionRequest cardDeletionRequest = this.dealCardData(model);
+            memberCard.setEditDate(new Date());
+            memberCard.setEditor(userInfo.getId());
             this.updateById(memberCard);
+            cardList.add(cardDeletionRequest);
+            param.setCardList(cardList);
         }
+        BaseResponse response = new BaseResponse();
+        if(type.equals(Constants.ZERO)){
+            response = HKService.cardLoss(param);
+        }else{
+            response = HKService.cardUnLoss(param);
+        }
+        if(response==null
+                ||!StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg());
+        }
+
     }
+
+    public CardDeletionRequest dealCardData(MemberCard model){
+        if(model.getType().equals(Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍗″彿锛�" +model.getCode() + " 涓鸿櫄鎷熷崱鏃犳硶杩涜璇ユ搷浣�");
+        }
+        Member member = memberMapper.selectById(model.getMemberId());
+        if(Objects.isNull(member)||Objects.isNull(member.getHkId())){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍗″彿锛�" +model.getCode() + " 瀵瑰簲浜哄憳娴峰悍淇℃伅寮傚父");
+        }
+        dealMemberRoleEmpower(member);
+        CardDeletionRequest cardDeletionRequest = new CardDeletionRequest();
+        cardDeletionRequest.setCardNumber(model.getCode());
+        cardDeletionRequest.setPersonId(member.getHkId());
+        return cardDeletionRequest;
+
+    }
+
+
     @Override
     @Transactional(rollbackFor = {Exception.class, BusinessException.class})
     public void updateRefundCard(MemberCard memberCard) {
         MemberCard model = memberCardMapper.selectById(memberCard.getId());
+        CardDeletionRequest cardDeletionRequest = this.dealCardData(model);
         memberCardMapper.updateById(memberCard);
-        dealMemberRoleEmpower(memberMapper.selectById(memberCard.getMemberId()));
-
-        BaseResponse response = HKService.cardDeletion(new CardDeletionRequest());
-        if(){
-
+        BaseResponse response = HKService.cardDeletion(cardDeletionRequest);
+        if(response==null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMsg());
         }
     }
 
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 a951072..2009aaa 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
@@ -38,6 +38,7 @@
 import com.doumee.dao.web.response.VisitDetailVO;
 import com.doumee.dao.web.response.VisitRecordVO;
 import com.doumee.service.business.ApproveService;
+import com.doumee.service.business.InterfaceLogService;
 import com.doumee.service.business.VisitsService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -84,6 +85,8 @@
     private SystemDictDataBiz systemDictDataBiz;
     @Autowired
     private DeviceJoinMapper deviceJoinMapper;
+    @Autowired
+    private ErpTool erpTool;
 
     @Autowired
     private WxPlatNotice wxPlatNotice;
@@ -584,7 +587,6 @@
         }
         param.setWithUserList(withUserList);
 
-
         param.setId(visits.getId());
         param.setBeVisitedUserId(visitMember.getErpId());
         param.setVisitorWorkUint(visits.getCompanyName());
@@ -602,13 +604,16 @@
                  param.setRoleNames(deviceRoleList.stream().map(m->m.getName()).collect(Collectors.toList()));
              }
         }
-        ApproveInfoResponse response = ErpTool.submitApprove(ErpConstants.approveUrl,param);
+        ApproveInfoResponse response   = erpTool.submitApprove(ErpConstants.approveUrl,param);
         if(!Objects.isNull(response)){
             return visits.getId().toString();
         }
+
         return  null;
     }
 
+
+
     private String visitAppiontment(Visits visits) {
         VisitAppointmentRequest param = new VisitAppointmentRequest();
         param.setVisitStartTime(DateUtil.getISO8601Timestamp(visits.getStarttime()));
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 2c55df5..9d4127d 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
@@ -105,6 +105,9 @@
     @Autowired
     private InterfaceLogService interfaceLogService;
 
+    @Autowired
+    private ErpTool erpTool;
+
 
     @Override
     @PostConstruct
@@ -128,7 +131,7 @@
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝褰撳墠涓嶆敮鎸佺粍缁囧悓姝ユ搷浣渵");
         }
         //鑾峰彇ERP缁勭粐淇℃伅锛堝叏閲忓悓姝ワ級
-        List<ErpOrgListResponse>  list = ErpTool.getErpOrgList(ErpConstants.orgListUrl,param);
+        List<ErpOrgListResponse>  list = erpTool.getErpOrgList(ErpConstants.orgListUrl,param);
         if(list !=null && list.size()>0){
             List<Company> addList = new ArrayList<>();
             List<Company> updateList = new ArrayList<>();
@@ -278,7 +281,7 @@
         if(!StringUtils.equals(Constants.ONE+"", systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ORG_USER_ORIGIN).getCode())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝褰撳墠涓嶆敮鎸佷汉鍛樺悓姝ユ搷浣渵");
         }
-        List<ErpUserListResponse>  list = ErpTool.getErpUserList(ErpConstants.userListUrl,param);
+        List<ErpUserListResponse>  list = erpTool.getErpUserList(ErpConstants.userListUrl,param);
         if(list !=null && list.size()>0) {
             List<Member> addList = new ArrayList<>();
             List<Member> updateList = new ArrayList<>();
@@ -445,7 +448,7 @@
      */
     @Override
     public  boolean noticeUserFail(UserFailRequest param){
-        ERPApiResponse r  = ErpTool.noticeUserStatus(ErpConstants.userStatusUrl,param);
+        ERPApiResponse r  = erpTool.noticeUserStatus(ErpConstants.userStatusUrl,param);
         if(r!=null && r.isSuccess()){
             return true;
         }

--
Gitblit v1.9.3