From bdbb62001dc4c3c63198270269795e54235c0e40 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 21 十二月 2023 15:34:14 +0800
Subject: [PATCH] 海康接口对接开发
---
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java | 2
server/openapi/src/main/java/com/doumee/api/web/BizResourceController.java | 6
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java | 4
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java | 249 +++++++++++++++++++++++-------
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 70 --------
server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java | 13 -
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java | 4
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 23 +-
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java | 69 ++++++++
9 files changed, 281 insertions(+), 159 deletions(-)
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
index 80aef2c..66055b0 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
@@ -71,19 +71,6 @@
@ApiOperation("銆愭捣搴枫�戦棬绂佷簨浠惰闃呮帹閫佸鎺ュ鐞嗘帴鍙�")
@PostMapping("/push/acs")
public ApiResponse pushAcs( HttpServletRequest request,@RequestBody EventAcsRequest param, HttpServletResponse response) {
- /* try {
- BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(),"UTF-8"));
- String line = null;
- StringBuffer sb = new StringBuffer();
- while (true) {
- if (!((line = br.readLine()) != null)) break;
-
- sb.append(line);
- }
- System.out.println(sb.toString());
- } catch (IOException e) {
- throw new RuntimeException(e);
- }*/
String result = hkSyncPushService.dealAcsEvent(param,response);
return ApiResponse.success(result);
}
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 07c1826..02be9f9 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
@@ -34,7 +34,7 @@
@ApiModelProperty(value = "鏇存柊鏃堕棿,濡�2023-11-24 09:47:36")
private Date editDate;
@ApiModelProperty(value = "鎵�灞炵粍缁囩紪鐮�" ,required = true)
- private Integer orgId;
+ private String orgId;
@ApiModelProperty(value = "浜鸿劯鐓х墖鍦板潃" ,required = true)
private String faceImg;
@ApiModelProperty(value = "宸ュ彿" ,required = true)
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 42270b4..825ab86 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
@@ -169,7 +169,7 @@
*娣诲姞浜鸿劯淇℃伅
* @return
*/
- public static BaseResponse<FaceAddOrEditesponse> addFace(List<FaceAddRequest> param){
+ public static BaseResponse<FaceAddOrEditesponse> addFace( FaceAddRequest param){
log.info("銆愭捣搴锋坊鍔犱汉鑴镐俊鎭��================寮�濮�===="+JSONObject.toJSONString(param));
try {
String res = HKTools.addFace(JSONObject.toJSONString(param));
@@ -187,7 +187,7 @@
*缂栬緫浜鸿劯淇℃伅
* @return
*/
- public static BaseResponse<FaceAddOrEditesponse> editFace(List<FaceEditRequest> param){
+ public static BaseResponse<FaceAddOrEditesponse> editFace( FaceEditRequest param){
log.info("銆愭捣搴风紪杈戜汉鑴镐俊鎭��================寮�濮�===="+JSONObject.toJSONString(param));
try {
String res = HKTools.editFace(JSONObject.toJSONString(param));
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
index d05fe0b..9c51476 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -103,8 +103,8 @@
@ExcelColumn(name="娴峰悍鏍囪瘑")
private String hkId;
- @ApiModelProperty(value = "娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝�")
- @ExcelColumn(name="娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝�")
+ @ApiModelProperty(value = "娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝� 2鍚屾澶辫触")
+ @ExcelColumn(name="娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝� 2鍚屾澶辫触")
private Integer hkStatus;
@ApiModelProperty(value = "娴峰悍鏈�杩戝悓姝ユ椂闂�")
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 9e8b703..659322e 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
@@ -265,6 +265,7 @@
* @return
*/
@Override
+ @Transactional
public String syncUsers(UserListRequest param){
List<UserListRespone> list = ErpTool.getErpUserList(ErpConstants.userListUrl,param);
if(list !=null && list.size()>0) {
@@ -756,8 +757,7 @@
||StringUtils.isNotBlank(param.getFaceImg())
||StringUtils.isNotBlank(param.getCode())
||StringUtils.isNotBlank(param.getPhone())
- ||Objects.isNull(param.getEditDate())
- ){
+ ||Objects.isNull(param.getEditDate())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getErpId,param.getId()).last("limit 1"));
@@ -776,10 +776,10 @@
String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo());
member.setIdcardNo(encryptIdNo);
member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
- member.setCompanyId(param.getOrgId());
+ member.setErpOrgId(param.getOrgId());
doorIds = getRoleIdByParam(param.getRoleIds(),member);
memberMapper.insert(member);
- //TODO 娴峰悍鏁版嵁鍒涘缓
+ //TODO 娴峰悍鏁版嵁鍒涘缓-------------淇敼-------------------
}else{
Integer id = member.getId();
BeanUtils.copyProperties(param,member);
@@ -787,7 +787,7 @@
String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo());
member.setIdcardNo(encryptIdNo);
member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
- member.setCompanyId(param.getOrgId());
+ member.setErpOrgId(param.getOrgId());
member.setEditDate(new Date());
doorIds = getRoleIdByParam(param.getRoleIds(),member);
member.setErpDate(new Date());
@@ -836,14 +836,13 @@
*/
private void dealMemberRoleEmpower(Member member, List<Integer> doorIds,Date startTime,Date endTime ) {
//鍒犻櫎鎵�鏈夎�佺殑鎺堟潈淇℃伅
-// empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
-// .eq(Empower::getMemberId,member.getId())
-// .set(Empower::getIsdeleted,Constants.ONE)
-// .set(Empower::getSendStatus,Constants.ZERO)
-// );
- empowerMapper.delete(new UpdateWrapper<Empower>().lambda()
+ empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
.eq(Empower::getMemberId,member.getId())
- );
+ .set(Empower::getIsdeleted,Constants.ONE)
+ .set(Empower::getSendStatus,Constants.ZERO));
+// empowerMapper.delete(new UpdateWrapper<Empower>().lambda()
+// .eq(Empower::getMemberId,member.getId())
+// );
if(doorIds==null || doorIds.size() == 0){
return;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
index 9f44dd3..c983ab6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -1,16 +1,23 @@
package com.doumee.service.business.impl.hksync;
-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.ParkListRequest;
-import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
+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.*;
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.respose.TaskAdditionResponse;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.dao.business.model.Device;
import com.doumee.service.business.HkSyncService;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
/**
* 璁惧淇℃伅琛⊿ervice瀹炵幇
@@ -94,5 +101,59 @@
@Override
public void syncEmpowerDetailData() {
}
+ public boolean addTaskDataAllDel(String userId, String taskId, List<Device> deviceList) {
+ if(StringUtils.isBlank(userId )){
+ //蹇呭~鍙傛暟鏍¢獙
+ return false;
+ }
+ TaskDataAdditionRequest param = new TaskDataAdditionRequest();
+ param.setTaskId(taskId);
+ List<TaskDataAdditionResourceRequest> resourceInfos = new ArrayList<>();// object[] True 璧勬簮瀵硅薄
+ for(Device d:deviceList){
+ TaskDataAdditionResourceRequest res = new TaskDataAdditionResourceRequest();
+ res.setChannelNos(d.getChannelNo().split(","));
+ res.setResourceType(d.getResourceType());
+ res.setResourceIndexCode(d.getHkId());
+ resourceInfos.add(res);
+ }
+ List<TaskDataAdditionPersonRequest> personInfos = new ArrayList<>();
+ TaskDataAdditionPersonRequest pinfo = new TaskDataAdditionPersonRequest();
+ pinfo.setOperatorType(HKConstants.OPERA_TYPE.DEL.getKey());
+ pinfo.setPersonId(userId);
+ param.setResourceInfos(resourceInfos);
+ param.setPersonInfos(personInfos);
+ BaseResponse response = HKService.taskDataAddition(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ return true;
+ }else{
+ return false;
+ }
+ }
+ public boolean startTask(String taskId) {
+ TaskProgressRequest param = new TaskProgressRequest();
+ param.setTaskId(taskId);
+ BaseResponse response = HKService.taskStart(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ public String hkTaskAddtion() {
+ TaskAdditionRequest param = new TaskAdditionRequest();
+ param.setTaskType(HKConstants.TASK_TYPE.FACE.getKey());
+ BaseResponse<TaskAdditionResponse> response = HKService.taskAddition(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
+ && response.getData()!=null
+ && StringUtils.isNotBlank(response.getData().getTaskId())){
+ return response.getData().getTaskId();
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "娴峰悍鍒涘缓涓嬭浇浠诲姟澶辫触==================");
+ }
+ }
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index b201c67..87c31ce 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -147,7 +147,7 @@
Constants.DEALING_HK_EMPOWER =true;
try {
//鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
-// dealDelListTask(getDealList(Constants.ONE));
+ dealDelListTask(getDealList(Constants.ONE));
//鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁
dealNewListTask(getDealList(Constants.ZERO));
}catch (Exception e){
@@ -206,7 +206,7 @@
if(list ==null || list.size()==0){
return;
}
- clearAllEmpowerFirst(list);
+// clearAllEmpowerFirst(list);
Date date = new Date();
//鍒涘缓浠诲姟
String taskId = hkTaskAddtion();
@@ -256,8 +256,8 @@
//鍒涘缓浠诲姟
String taskId = hkTaskAddtion();
for(Empower c : list) {
- //鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹�
- addTaskDataAll(c,taskId,allDevice);
+ //鍚戜换鍔″埅闄や汉鍛樼殑鎵�鏈夎澶囦俊鎭暟鎹�
+ addTaskDataAllDel(c.getHkId(),taskId,allDevice);
}
startTask(taskId);
}
@@ -295,67 +295,7 @@
return false;
}
}
- private boolean addTaskDataAll(Empower c,String taskId,List<Device> deviceList) {
- if(StringUtils.isBlank(c.getMemberHkId() )
- ||StringUtils.isBlank(c.getDeviceChannelNo())
- ||StringUtils.isBlank(c.getDeviceType())
- ||StringUtils.isBlank(c.getDeviceIndexCode())){
- //蹇呭~鍙傛暟鏍¢獙
- return false;
- }
- TaskDataAdditionRequest param = new TaskDataAdditionRequest();
- param.setTaskId(taskId);
- List<TaskDataAdditionResourceRequest> resourceInfos = new ArrayList<>();// object[] True 璧勬簮瀵硅薄
- for(Device d:deviceList){
- TaskDataAdditionResourceRequest res = new TaskDataAdditionResourceRequest();
- res.setChannelNos(d.getChannelNo().split(","));
- res.setResourceType(d.getResourceType());
- res.setResourceIndexCode(c.getDeviceIndexCode());
- resourceInfos.add(res);
- }
- List<TaskDataAdditionPersonRequest> personInfos = new ArrayList<>();
- TaskDataAdditionPersonRequest pinfo = new TaskDataAdditionPersonRequest();
- pinfo.setName(c.getMemberName());
- pinfo.setEndTime(DateUtil.getISO8601Timestamp(c.getEndTime()));
- pinfo.setStartTime(DateUtil.getISO8601Timestamp(c.getStartTime()));
- pinfo.setOperatorType(HKConstants.OPERA_TYPE.DEL.getKey());
- pinfo.setPersonId(c.getMemberHkId());
- param.setResourceInfos(resourceInfos);
- param.setPersonInfos(personInfos);
- BaseResponse response = HKService.taskDataAddition(param);
- if(response!=null
- && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
- return true;
- }else{
- return false;
- }
- }
- private boolean startTask(String taskId) {
- TaskProgressRequest param = new TaskProgressRequest();
- param.setTaskId(taskId);
- BaseResponse response = HKService.taskStart(param);
- if(response!=null
- && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
- return true;
- }else{
- return false;
- }
- }
-
- private String hkTaskAddtion() {
- TaskAdditionRequest param = new TaskAdditionRequest();
- param.setTaskType(HKConstants.TASK_TYPE.FACE.getKey());
- BaseResponse<TaskAdditionResponse> response = HKService.taskAddition(param);
- if(response!=null
- && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
- && response.getData()!=null
- && StringUtils.isNotBlank(response.getData().getTaskId())){
- return response.getData().getTaskId();
- }else{
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "娴峰悍鍒涘缓涓嬭浇浠诲姟澶辫触==================");
- }
- }
private List<Empower> getDealList(int del ) {
MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
@@ -367,7 +307,7 @@
queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
-// queryWrapper.eq( Empower::getIsdeleted,del);
+ queryWrapper.eq( Empower::getIsdeleted,del);
// queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
return list;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
index 6f4a268..8635604 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.erp.model.openapi.request.UserUpdateRequest;
import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
@@ -15,13 +16,9 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.ImageBase64Util;
-import com.doumee.dao.business.CompanyMapper;
-import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.ParksMapper;
+import com.doumee.dao.business.*;
import com.doumee.dao.business.join.CompanyJoinMapper;
-import com.doumee.dao.business.model.Company;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Parks;
+import com.doumee.dao.business.model.*;
import com.doumee.service.business.ERPSyncService;
import com.github.yulichang.query.MPJQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -30,6 +27,7 @@
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
@@ -47,9 +45,15 @@
@Autowired
private CompanyMapper companyMapper;
@Autowired
+ private MemberRoleMapper memberRoleMapper;
+ @Autowired
+ private EmpowerMapper empowerMapper;
+ @Autowired
private MemberMapper memberMapper;
@Autowired
private ERPSyncService erpSyncService;
+ @Autowired
+ private DeviceMapper deviceMapper;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
@@ -224,47 +228,132 @@
String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
for(Member c : list){
- if( c.getCompanyId() == null){
- //濡傛灉娌℃湁缁勭粐涓嶅仛澶勭悊
- continue;
- }
- UserAddRequest addHkModel = new UserAddRequest();
- if(StringUtils.isBlank(c.getHkId())){
- //濡傛灉鏂板鍚屾鏁告摎
- if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){
- //鍒犻櫎鐨勭粍缁囷紝涓嶅仛澶勭悊,娴峰悍鐘舵�佹洿鏂颁负涓嶅鐞嗭紝涓嬫涓嶅啀澶勭悊杩欎釜璁板綍
- c.setHkStatus(Constants.TWO);
- memberMapper.updateById(c);
- continue ;
- }
- addHkModel = getUserAddModel(c,path);
- c.setHkId(addHkModel.getPersonId());
- }else{
- //鍒犻櫎娴峰悍鍘熸湁鐨勬暟鎹紝鍐嶆柊澧炵粍缁�
- addHkModel = getUserAddModel(c,path);
- c.setHkId(addHkModel.getPersonId());
- }
- if(addHkModel == null){
- //濡傛灉浜鸿劯鏁版嵁涓嶆纭紝涓嬭浇澶辫触绛夊師鍥�
- noticeErpFail(c,Constants.ZERO,"浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
- continue;
- }
- //澶勭悊鍒犻櫎鏁版嵁锛堝垹闄や箣鍓嶄笅鍙戠殑娴峰悍浜哄憳淇℃伅锛岀劧鍚庢柊澧烇級
- doHkDeleteUser(c.getId(),c.getHkId(),date);
- //澶勭悊鏂板鏁版嵁
- BaseResponse<UserAddResponse> result = HKService.addUser(addHkModel);
- if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
- c.setFaceId(result.getData().getFaceId());
- memberMapper.updateById(c);
- }else{
- noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg());
- }
+ dealMemberInfoBiz(c,date,path) ;
}
}catch (Exception e){
e.printStackTrace();
}finally {
Constants.DEALING_HK_USER =false;
}
+ }
+
+ @Transactional
+ private boolean dealMemberInfoBiz(Member c, Date date, String path) {
+ if( c.getCompanyId() == null){
+ //濡傛灉娌℃湁缁勭粐涓嶅仛澶勭悊
+ return false;
+ }
+ if(StringUtils.isBlank(c.getHkId())){
+ //濡傛灉鏂板鍚屾鏁告摎
+ dealUserHkAddBiz(c,date,path);
+ }else{
+ //濡傛灉涔嬪墠宸茬粡鍜屾捣搴峰悓姝ワ紝鍒欐洿鏂扮敤鎴锋暟鎹互鍙婁汉鑴告暟鎹紙鍙兘鏂板浜鸿劯 涔熷彲鑳芥洿鏂颁汉鑴革級
+ dealUserHkEditBiz(c,date,path);
+ }
+ return false;
+ }
+
+ /**
+ * 濡傛灉涔嬪墠宸茬粡鍜屾捣搴峰悓姝ワ紝鍒欐洿鏂扮敤鎴锋暟鎹互鍙婁汉鑴告暟鎹紙鍙兘鏂板浜鸿劯 涔熷彲鑳芥洿鏂颁汉鑴革級
+ * @param c
+ * @param date
+ * @param path
+ */
+ private void dealUserHkEditBiz(Member c, Date date, String path) {
+ c.setHkStatus(Constants.ONE);
+ if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){
+ //澶勭悊鍒犻櫎鏁版嵁锛堝垹闄や箣鍓嶄笅鍙戠殑娴峰悍浜哄憳淇℃伅锛�
+ boolean r = doHkDeleteUser(c.getId(),c.getHkId(),date);
+ c.setHkStatus(r?Constants.ONE:Constants.TWO);
+ c.setRemark(r?null:"鍒犻櫎娴峰悍浜哄憳淇℃伅澶辫触锛�");
+ }else{
+ //澶勭悊淇敼鏁版嵁锛屽苟涓旀洿鏂颁汉鑴�
+ UserAddRequest addHkModel = getUserAddModel(c,path,1);//淇敼
+ //澶勭悊鏂板鏁版嵁
+ BaseResponse result = HKService.editUser(addHkModel);
+ if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
+ if(StringUtils.isNotBlank(c.getFaceImg())){
+ //濡傛灉鏈変汉鑴哥収鐗囷紝澶勭悊浜鸿劯鐓х墖鍚屾
+ String faceid = dealMemberFace(c,path);
+ if(StringUtils.isBlank(faceid)){
+ noticeErpFail(c,Constants.ZERO,"浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒");
+ c.setHkStatus(Constants.TWO);
+ c.setRemark("浜鸿劯淇℃伅鏇存柊澶辫触锛岃妫�鏌ヤ汉鑴哥収鐗囨槸鍚﹀悎娉曪紒锛�");
+ }else{
+ c.setFaceId(faceid);
+ }
+ }
+ }else{
+ noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg());
+ c.setHkStatus(Constants.TWO);
+ c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴鏇存柊澶辫触锛岃淇鍚庨噸璇曪紒锛�");
+ }
+
+ }
+ c.setHkDate(date);
+ memberMapper.updateById(c);
+ }
+
+ /**
+ * 鏂扮敤鎴峰悓姝ュ埌娴峰悍骞冲彴
+ * @param c
+ * @param date
+ * @param path
+ * @return
+ */
+ private boolean dealUserHkAddBiz(Member c, Date date, String path) {
+ if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){
+ //鍒犻櫎鐨勭粍缁囷紝涓嶅仛澶勭悊,娴峰悍鐘舵�佹洿鏂颁负涓嶅鐞嗭紝涓嬫涓嶅啀澶勭悊杩欎釜璁板綍
+ c.setHkStatus(Constants.TWO);
+ c.setRemark("鏈悓姝ユ暟鎹紝鐩存帴鍒犻櫎");
+ memberMapper.updateById(c);
+ return false;
+ }
+ UserAddRequest addHkModel = getUserAddModel(c,path,0);//鏂板
+ if(addHkModel == null){
+ //濡傛灉浜鸿劯鏁版嵁涓嶆纭紝涓嬭浇澶辫触绛夊師鍥�
+ noticeErpFail(c,Constants.ZERO,"浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
+ c.setHkStatus(Constants.TWO);
+ c.setRemark("浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
+ memberMapper.updateById(c);
+ return false;
+ }
+ //澶勭悊鏂板鏁版嵁
+ BaseResponse<UserAddResponse> result = HKService.addUser(addHkModel);
+ if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
+ c.setFaceId(result.getData().getFaceId());
+ c.setHkStatus(Constants.ONE);
+ c.setHkId(addHkModel.getPersonId());
+ memberMapper.updateById(c);
+ return true;
+ }else{
+ noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg());
+ c.setHkStatus(Constants.TWO);
+ c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒");
+ memberMapper.updateById(c);
+ return false;
+ }
+ }
+
+ /**
+ * 澶勭悊鏂板鎴栬�呬慨鏀逛汉鑴镐俊鎭�
+ * @param c
+ * @param path
+ * @return
+ */
+ private String dealMemberFace(Member c,String path) {
+ if(StringUtils.isBlank(c.getFaceId())){
+ BaseResponse<FaceAddOrEditesponse> response = HKService.addFace(getFaceAddModel(c,path));
+ if(StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)&& response.getData()!=null ){
+ return response.getData().getFaceId();
+ }
+ }else{
+ BaseResponse response = HKService.editFace(getFaceUpdateModel(c,path));
+ if(StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) ){
+ return c.getFaceId();
+ }
+ }
+ return null;
}
/**
@@ -287,53 +376,95 @@
* @param id
* @param date
*/
- private void doHkDeleteUser(Integer id,String delHkIds, Date date) {
+ private boolean doHkDeleteUser(Integer id,String delHkIds, Date date ) {
if(StringUtils.isBlank(delHkIds)){
- return;
+ return false;
}
UserDelRequest request = new UserDelRequest();
request.setPersonIds(new String[]{delHkIds});
BaseResponse<List<UserDelResponse>> result = HKService.delBatchUser(request);
if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
List<String> fIds = new ArrayList<>();
+ //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
if(result.getData()!=null && result.getData().size()>0){
log.info("娴峰悍鍒犻櫎鐢ㄦ埛澶辫触锛�==============="+result.getData().get(0).getPersonId());
- /* for(UserDelResponse r : result.getData()){
- if(!r.getCode().equals("0x00072001")){
- //涓嶅瓨鍦ㄧ殑涔熺畻鍒犻櫎鎴愬姛
- fIds.add(r.getPersonId());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚�
- }
- }}*/
+ memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+ .set(Member::getHkStatus,Constants.TWO)//鍚屾澶辫触
+ .set(Member::getHkDate,date)
+ .in(Member::getId, id));
}else{
//鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
- companyMapper.update(null,new UpdateWrapper<Company>().lambda()
- .set(Company::getHkStatus,Constants.ONE)
- .set(Company::getHkDate,date)
- .in(Company::getId, id));
+ memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+ .set(Member::getHkStatus,Constants.ONE)//鍚屾鎴愬姛
+ .set(Member::getHkDate,date)
+ .in(Member::getId, id));
}
+ return true;
}
+ return false;
}
- private UserAddRequest getUserAddModel(Member c,String path) {
+ /**
+ * 鍒犻櫎浜哄憳鎵�鏈夎澶囦笂鐨勬潈闄愪俊鎭�
+ * @param userId
+ * @param allDevice
+ */
+ private void delUserHkRolle(String userId,List<Device> allDevice) {
+ //鍒涘缓浠诲姟
+ String taskId = hkTaskAddtion();
+ //
+ if(taskId!=null){
+ //鍒犻櫎鎵�鏈夎澶囦笂鐨勬潈闄�
+ addTaskDataAllDel(userId,taskId,allDevice);
+ startTask(taskId);
+ }
+ }
+
+ private UserAddRequest getUserAddModel(Member c,String path,int type) {
UserAddRequest model = new UserAddRequest();
model.setOrgIndexCode(c.getCompanyHkId());
- model.setPersonId(HKConstants.RES_USER_INDEX+UUID.randomUUID().toString().replace("-", ""));
+ model.setPersonId(type == 0 ?HKConstants.RES_USER_INDEX+UUID.randomUUID().toString().replace("-", ""):c.getHkId());
model.setGender(Constants.formatIntegerNum(c.getSex())+"");
model.setPersonName(c.getName());
- if(StringUtils.isNotBlank(c.getFaceImg())){
+ if(type== 0 && StringUtils.isNotBlank(c.getFaceImg())){
model.setFaces(new ArrayList<>());
UserAddFaceRequest face = new UserAddFaceRequest();
String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg());
- if(face.getFaceData() == null){
+ if(imageBase== null){
//浜鸿劯鏁版嵁涓嶆纭紝
return null;
}
+ face.setFaceData(imageBase);
model.getFaces().add(face);
}
return model;
-
}
-
+ private FaceAddRequest getFaceAddModel(Member c,String path) {
+ FaceAddRequest model = new FaceAddRequest();
+ model.setPersonId(c.getHkId());
+ if(StringUtils.isNotBlank(c.getFaceImg())){
+ String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg());
+ if(imageBase == null){
+ //浜鸿劯鏁版嵁涓嶆纭紝
+ return null;
+ }
+ model.setFaceData(imageBase);
+ }
+ return model;
+ }
+ private FaceEditRequest getFaceUpdateModel(Member c,String path) {
+ FaceEditRequest model = new FaceEditRequest();
+ model.setFaceId(c.getFaceId());
+ if(StringUtils.isNotBlank(c.getFaceImg())){
+ String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg());
+ if(imageBase == null){
+ //浜鸿劯鏁版嵁涓嶆纭紝
+ return null;
+ }
+ model.setFaceData(imageBase);
+ }
+ return model;
+ }
}
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 172f38c..f120330 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
@@ -157,7 +157,9 @@
- @ApiOperation(value = "FTP璐︽埛淇℃伅", notes = "璁垮绔彁渚涳紝渚汦RP绔皟鐢紝FTP璐︽埛淇℃伅")
+ @ApiOperation(value = "FTP璐︽埛淇℃伅", notes = "璁垮绔彁渚涳紝渚汦RP绔皟鐢紝FTP璐︽埛淇℃伅,鍏朵腑銆怓TP璧勬簮璁块棶鏄犲皠鍦板潃銆戠敤浜庡浘鐗囧洖鏄句娇鐢紝" +
+ "姣斿浜鸿劯鍥剧墖鍥炴樉鎷兼帴锛氥�怓TP璧勬簮璁块棶鏄犲皠鍦板潃銆�+銆怓TP鐢ㄦ埛鍥剧墖瀛樺偍鐩綍銆�+銆愬疄闄呬汉鑴稿浘鐗囧瓨鍌ㄥ瓧娈靛唴瀹广��" +
+ "濡傦細http://175.27.187.84/file4/member/20231211/skjd-skdjf4enc-flgk.png")
@GetMapping("/resource/ftpAccount")
public ApiResponse<Map<String,Object>> ftpAccount() {
Map<String,Object> map = new HashMap<>();
@@ -177,6 +179,8 @@
systemDictDataBiz.queryByCode(Constants.FTP,Constants.DEVICE_EVENT_IMG).getCode());
map.put("FTP鐢ㄦ埛鍥剧墖瀛樺偍鐩綍",
systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode());
+ map.put("FTP璧勬簮璁块棶鏄犲皠鍦板潃",
+ systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode());
return ApiResponse.success(map);
}
--
Gitblit v1.9.3