From 5b889f9db0a0f130e7bf8a8fe273dfe8153aed65 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 15 十二月 2023 09:36:08 +0800
Subject: [PATCH] ERP接口

---
 server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java                           |    4 +
 server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberRoleMapper.java                   |    5 ++
 server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberCardMapper.java                   |    4 ++
 server/dmvisit_service/src/main/java/com/doumee/service/business/ERPSyncService.java                 |    2 +
 server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/ApproveNoticeRequest.java |    5 +-
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java    |   82 ++++++++++++++++++++++++++++++++--------
 6 files changed, 82 insertions(+), 20 deletions(-)

diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/ApproveNoticeRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/ApproveNoticeRequest.java
index 093374c..881e16f 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/ApproveNoticeRequest.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/model/openapi/request/ApproveNoticeRequest.java
@@ -1,5 +1,6 @@
 package com.doumee.core.model.openapi.request;
 
+import com.doumee.core.haikang.model.param.BaseRequst;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -11,11 +12,11 @@
  */
 @Data
 @ApiModel("璁垮鐢宠瀹℃壒缁撴灉閫氱煡璇锋眰淇℃伅")
-public class ApproveNoticeRequest {
+public class ApproveNoticeRequest extends BaseRequst {
     @ApiModelProperty(value = "瀹℃壒璁板綍鍞竴鏍囪瘑锛圗RP绔疘D锛�" ,example = "1")
     private Integer id;
     @ApiModelProperty(value = "瀹℃壒缁撴灉 0-涓嶉�氳繃 1-閫氳繃,榛樿 0" ,example = "1")
     private Integer status;
-    @ApiModelProperty(value = "瀹℃牳鏃堕棿" )
+    @ApiModelProperty(value = "瀹℃牳鏃堕棿 yyyy-MM-dd HH:mm:ss" )
     private String approveDate ;
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberCardMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberCardMapper.java
index 4d14eed..0032769 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberCardMapper.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberCardMapper.java
@@ -2,6 +2,9 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.MemberCard;
+import com.doumee.dao.business.model.MemberRole;
+
+import java.util.List;
 
 /**
  * @author 姹熻箘韫�
@@ -9,4 +12,5 @@
  */
 public interface MemberCardMapper extends BaseMapper<MemberCard> {
 
+    void insertBatchSomeColumn(List<MemberCard> list);
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberRoleMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberRoleMapper.java
index 96b1eb9..cff3a2e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberRoleMapper.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberRoleMapper.java
@@ -2,6 +2,9 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.MemberRole;
+import com.doumee.dao.business.model.VisitEvent;
+
+import java.util.List;
 
 /**
  * @author 姹熻箘韫�
@@ -9,4 +12,6 @@
  */
 public interface MemberRoleMapper extends BaseMapper<MemberRole> {
 
+    void insertBatchSomeColumn(List<MemberRole> list);
+
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/ERPSyncService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/ERPSyncService.java
index 37bc20f..f2802b8 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/ERPSyncService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/ERPSyncService.java
@@ -89,4 +89,6 @@
     void orgUpdate(OrgUpdateRequest param);
 
     void userUpdate(UserUpdateRequest param);
+
+    void approveApply(ApproveNoticeRequest param);
 }
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 9429df2..7886100 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
@@ -26,6 +26,7 @@
 import com.doumee.core.model.openapi.response.erp.OrgListRespone;
 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;
@@ -99,6 +100,9 @@
 
     @Autowired
     private MemberCardMapper memberCardMapper;
+
+    @Autowired
+    private VisitsMapper visitsMapper;
 
     @Autowired
     private InterfaceLogService interfaceLogService;
@@ -506,26 +510,40 @@
                 memberRoleMapper.delete(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getMemberId,member.getId()));
                 //TODO 娴峰悍鏁版嵁鏇存柊
             }
-            //娣诲姞浜哄憳瑙掑叧鑱旀暟鎹�
+            //娣诲姞浜哄憳瑙掕壊鍏宠仈鏁版嵁
             if(!Objects.isNull(param.getRoleIds())&&param.getRoleIds().length>Constants.ZERO){
                 //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺
-                List<MemberRole> memberRoleList = memberRoleMapper.selectList(new QueryWrapper<MemberRole>().lambda().eq(MemberRole::getId,param.getRoleIds()));
-                List<Integer> roleIds = Arrays.asList(param.getRoleIds());
-
-//                List<MemberRole> memberRoleList = new ArrayList<>();
-//
-//                for (Integer id:roleIds) {
-//
-//                }
-
-
-
-
+                List<DeviceRole> deviceRoleList
+                        = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda().eq(DeviceRole::getId,param.getRoleIds()));
+                if(CollectionUtils.isNotEmpty(deviceRoleList)){
+                    List<MemberRole> memberRoleList = new ArrayList<>();
+                    for (DeviceRole deviceRole:deviceRoleList) {
+                        MemberRole memberRole = new MemberRole();
+                        memberRole.setCreateDate(new Date());
+                        memberRole.setMemberId(member.getId());
+                        memberRole.setIsdeleted(Constants.ZERO);
+                        memberRole.setRoleId(deviceRole.getId().toString());
+                        memberRoleList.add(memberRole);
+                    }
+                    memberRoleMapper.insertBatchSomeColumn(memberRoleList);
+                }
             }
-            
-            
-            
-            
+
+            //娣诲姞浜哄憳鍗$墖鏁版嵁
+            if(!Objects.isNull(param.getCardList())&&param.getCardList().size()>Constants.ZERO){
+                if(CollectionUtils.isNotEmpty(param.getCardList())){
+                    List<MemberCard> memberCardList = new ArrayList<>();
+                    for (String id:param.getCardList()) {
+                        MemberCard memberCard = new MemberCard();
+                        memberCard.setCreateDate(new Date());
+                        memberCard.setMemberId(member.getId());
+                        memberCard.setIsdeleted(Constants.ZERO);
+                        memberCard.setCode(id);
+                        memberCardList.add(memberCard);
+                    }
+                    memberCardMapper.insertBatchSomeColumn(memberCardList);
+                }
+            }
         }catch (Exception e){
             e.printStackTrace();
         }finally {
@@ -534,6 +552,36 @@
     }
 
 
+    @Override
+    public void approveApply(ApproveNoticeRequest param){
+        try{
+            if(Objects.isNull(param)
+                    ||Objects.isNull(param.getId())
+                    ||Objects.isNull(param.getStatus())
+            ){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST);
+            }
+            if(!(param.getStatus()==Constants.ZERO||param.getStatus()==Constants.ONE)){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐘舵�佺爜閿欒");
+            }
+            if(visitsMapper.selectCount(new QueryWrapper<Visits>().lambda().eq(Visits::getErpId,param.getId())
+                    .ne(Visits::getStatus,Constants.VisitStatus.submitCheck))>Constants.ZERO){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佺爜閿欒");
+            }
+            List<Visits> visitsList = visitsMapper.selectList(new QueryWrapper<Visits>().lambda().eq(Visits::getErpId,param.getId()));
+            if(CollectionUtils.isNotEmpty(visitsList)){
+                visitsList.forEach(i->{
+                    i.setStatus(param.getStatus().equals(Constants.ZERO)?Constants.VisitStatus.pass:Constants.VisitStatus.noPass);
+                    i.setEndCheckDate(DateUtil.StringToDate(param.getApproveDate(),"yyyy-MM-dd HH:mm:ss"));
+                    visitsMapper.updateById(i);
+                });
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }finally {
+            saveInterfaceLog(param,"/visitBiz/resource/approveApply",null,Constants.ZERO);
+        }
+    }
 
 
 
diff --git a/server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java b/server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java
index c0c9384..17abf6a 100644
--- a/server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java
+++ b/server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java
@@ -151,7 +151,9 @@
     @ApiImplicitParams({
             @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鎺堟潈token鍊�", required = true)
     })
-    public ApiResponse approveApply(@RequestBody ApproveNoticeRequest account ) {
+    public ApiResponse approveApply(@RequestBody ApproveNoticeRequest param) {
+        param.setToken(this.getToken());
+        erpSyncService.approveApply(param);
         return  ApiResponse.success(null);
     }
 }

--
Gitblit v1.9.3