From 01c009651c453d0299581ad6e8c76a0394611420 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 20 十二月 2023 14:26:06 +0800
Subject: [PATCH] ERP接口
---
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java | 4 ++
server/openapi/src/main/java/com/doumee/web/BizResourceController.java | 35 +++++++++++++++++
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserListRequest.java | 6 ++-
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 38 +++++++++++++++----
4 files changed, 73 insertions(+), 10 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserListRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserListRequest.java
index 059b2c3..65345d2 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserListRequest.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/erp/UserListRequest.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.util.Date;
+
/**
* 鍒嗙被淇℃伅琛�
* @author 姹熻箘韫�
@@ -21,7 +23,7 @@
@ApiModelProperty(value = "韬唤璇佸彿" )
private String idNo;
@ApiModelProperty(value = "鏃堕棿鑼冨洿-寮�濮嬶紝鏍煎紡yyyy-MM-dd HH:mm:ss锛屽2023-11-24 09:17:11" )
- private String startTime ;
+ private Date startTime ;
@ApiModelProperty(value = "鏃堕棿鑼冨洿-鎴锛屾牸寮弝yyy-MM-dd HH:mm:ss锛屽2023-11-24 09:17:11" )
- private String endTime ;
+ private Date endTime ;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index 310ffed..7b67428 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -211,6 +211,10 @@
@TableField(exist = false)
private String roleIdParam;
+ @ApiModelProperty(value = "鎺堟潈闂ㄧ缁勭紪鐮侀泦鍚�,銆愯瀹㈢銆戝敮涓�鏍囪瘑",hidden = true )
+ @TableField(exist = false)
+ private Integer[] roleIds;
+
//鏆傛棤浣跨敤
@ApiModelProperty(value = "濮撳悕/鎵嬫満鍙�/宸ュ彿")
@TableField(exist = false)
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 436a7bc..9e8b703 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
@@ -270,32 +270,47 @@
if(list !=null && list.size()>0) {
List<Member> addList = new ArrayList<>();
List<Member> updateList = new ArrayList<>();
- List<Integer> delIds = new ArrayList<>();
+ List<Integer> delIds = new ArrayList<>();
+ List<Member> delList = new ArrayList<>();
List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
.eq(Member::getIsdeleted,Constants.ZERO)
.eq(Member::getType, Constants.memberType.internal));
- dealUserChangeList(list,addList,updateList,delIds,allList);
+ dealUserChangeList(list,addList,updateList,delList,allList);
if(addList.size()>0){
+ for (Member member:addList) {
+ dealRoleEmpower(member,param.getStartTime(), param.getEndTime());
+ }
memberMapper.insertBatchSomeColumn(addList);
}
if(updateList.size()>0){
for(Member c : updateList){
+ dealRoleEmpower(c,param.getStartTime(), param.getEndTime());
memberMapper.updateById(c);
}
}
- if(delIds.size()>0){
- //鍒犻櫎鎵�鏈夐渶瑕佸垹闄ょ殑缁勭粐淇℃伅(閫昏緫鍒犻櫎锛�
+ if(delList.size()>0){
+ for (Member member:delList) {
+ dealRoleEmpower(member,param.getStartTime(), param.getEndTime());
+ }
+ delIds = delList.stream().map(m->m.getId()).collect(Collectors.toList());
memberMapper.update(null,new UpdateWrapper<Member>().lambda().set(Member::getHkStatus,Constants.ZERO)
.set(Member::getIsdeleted, Constants.ONE).in(Member::getId,delIds));
}
-
}else{
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾ERP鏁版嵁涓虹┖锛�");
}
return null;
}
- private void dealUserChangeList(List<UserListRespone> list, List<Member> addList, List<Member> updateList, List<Integer> delIds, List<Member> allList) {
+ public void dealRoleEmpower(Member member,Date startTime , Date endTime){
+ List<Integer> doorIds = null;
+ doorIds = getRoleIdByParam(member.getRoleIds(),member);
+ //濡傛灉鏈夋巿鏉冮棬绂佹暟鎹紝杩涜鐢ㄦ埛鎺堟潈鏁版嵁涓嬪彂浠诲姟鍒涘缓
+ dealMemberRoleEmpower(member,doorIds,startTime,endTime);
+ }
+
+
+ private void dealUserChangeList(List<UserListRespone> list, List<Member> addList, List<Member> updateList,List<Member> delList, List<Member> allList) {
Date date = new Date();
for(UserListRespone response : list){
//鏍规嵁 erpId 鏌ヨ鐢ㄦ埛淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊
@@ -311,7 +326,10 @@
//濡傛灉鏄洿鏂�
if(Constants.formatIntegerNum(response.getIsdeleted()) == Constants.ONE){
//濡傛灉宸插垹闄わ紝鍔犲叆鍒犻櫎闆嗗悎涓�
- delIds.add(member.getId());
+ member.setRoleIds(response.getRoleIds());
+ delList.add(member);
+// delIds.add(member.getId());
+
continue;
}
updateList.add(addUpdateMemberModel(response,member,date));
@@ -320,7 +338,8 @@
if(allList!=null && allList.size()>0){
for(Member c : allList){
if(isUserDeleted(c,list)){
- delIds.add(c.getId());
+ delList.add(c);
+// delIds.add(c.getId());
}
}
}
@@ -341,6 +360,7 @@
member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
member.setCompanyId(param.getOrgId());
member.setHkStatus(Constants.ZERO);
+ member.setRoleIds(param.getRoleIds());
return member;
}
@@ -353,12 +373,14 @@
member.setEditDate(new Date());
member.setErpDate(new Date());
member.setHkStatus(Constants.ZERO);
+ member.setRoleIds(param.getRoleIds());
return member;
}
private boolean isUserDeleted(Member c, List<UserListRespone> list) {
for(UserListRespone m : list){
if(StringUtils.equals(c.getErpId(),m.getId().toString())){
+ c.setRoleIds(m.getRoleIds());
return true;
}
}
diff --git a/server/openapi/src/main/java/com/doumee/web/BizResourceController.java b/server/openapi/src/main/java/com/doumee/web/BizResourceController.java
index 6691df6..fb570a0 100644
--- a/server/openapi/src/main/java/com/doumee/web/BizResourceController.java
+++ b/server/openapi/src/main/java/com/doumee/web/BizResourceController.java
@@ -1,11 +1,13 @@
package com.doumee.web;
+import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.annotation.ErpLoginRequired;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
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.ERPSyncService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -15,7 +17,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* Created by IntelliJ IDEA.
@@ -32,6 +36,9 @@
@Autowired
private ERPSyncService erpSyncService;
+
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
@ApiOperation(value = "璋冪敤鍑嵁鑾峰彇鎺ュ彛", notes = "璁垮绔彁渚涳紝渚汦RP绔皟鐢紝鍚慐RP鎻愪緵缁熸帴鍙h皟鐢ㄥ嚟璇�")
@@ -147,6 +154,34 @@
erpSyncService.approveApply(param);
return ApiResponse.success(null);
}
+
+
+
+ @ApiOperation(value = "FTP璐︽埛淇℃伅", notes = "璁垮绔彁渚涳紝渚汦RP绔皟鐢紝FTP璐︽埛淇℃伅")
+ @GetMapping("/resource/ftpAccount")
+ public ApiResponse<Map<String,Object>> ftpAccount() {
+ Map<String,Object> map = new HashMap<>();
+ map.put("FTP涓绘満鍦板潃IP",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode());
+ map.put("FTP璁块棶绔彛",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode());
+ map.put("FTP璁块棶鐧诲綍鍚�",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode());
+ map.put("FTP璁块棶鐧婚檰瀵嗙爜",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode());
+ map.put("FTP璁垮浜嬩欢鍥剧墖瀛樺偍鐩綍",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.VISIT_EVENT_IMG).getCode());
+ map.put("FTP杞﹁締浜嬩欢鍥剧墖瀛樺偍鐩綍",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.CAR_EVENT_IMG).getCode());
+ map.put("FTP闂ㄧ浜嬩欢鍥剧墖瀛樺偍鐩綍",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.DEVICE_EVENT_IMG).getCode());
+ map.put("FTP鐢ㄦ埛鍥剧墖瀛樺偍鐩綍",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode());
+ return ApiResponse.success(map);
+ }
+
+
+
}
--
Gitblit v1.9.3