From eb4463934f2c7861a502dd51320fb66009f65589 Mon Sep 17 00:00:00 2001
From: lishuai <260038442@qq.com>
Date: 星期一, 08 一月 2024 14:31:32 +0800
Subject: [PATCH] 配置信息对接调整提交
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++------
1 files changed, 76 insertions(+), 13 deletions(-)
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 8a22813..d4654a1 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
@@ -25,16 +25,13 @@
import com.github.yulichang.query.MPJQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
-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;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
/**
* 娴峰悍缁勭粐浜哄憳閫氳繃姝ervice瀹炵幇
@@ -46,6 +43,8 @@
public class HkSyncOrgUserServiceImpl extends HkSyncBaseServiceImpl {
@Autowired
private CompanyMapper companyMapper;
+ @Autowired
+ private DeviceRoleMapper deviceRoleMapper;
@Autowired
private MemberRoleMapper memberRoleMapper;
@Autowired
@@ -140,7 +139,7 @@
if(addList!=null &&addList.size()>0){
//澶勭悊鏂板
BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList);
- if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
OrgOrUserAddResponse data = result.getData();
if(data.getSuccesses()!=null && data.getSuccesses().size()>0){
//澶勭悊鏂板鎴愬姛鐨勬暟鎹紝淇敼娴峰悍鍚屾鐘舵��
@@ -163,7 +162,7 @@
List<String> error = new ArrayList<>();
for(OrgEditRequest param : editHkList){
BaseResponse result = HKService.editOrg(param);
- if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
success.add(param.getOrgIndexCode());
}else{
error.add(param.getOrgIndexCode());
@@ -198,7 +197,7 @@
private OrgAddRequest getOrgAddModel(Company c,String rootOrgId) {
OrgAddRequest model = new OrgAddRequest();
model.setOrgIndexCode(HKConstants.RES_ORG_INDEX+UUID.randomUUID().toString().replace("-",""));
- model.setOrgName(c.getName());
+ model.setOrgName(c.getName()+HKConstants.RES_ORG_NAME_INDEX);
// model.setOrgCode(c.getCode());
model.setParentIndexCode(c.getHkParentId());
return model;
@@ -264,6 +263,7 @@
List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
.selectAll(Member.class )
.selectAs(Company::getHkId,Member::getCompanyHkId)
+ .isNotNull(Member::getFaceImg)
.leftJoin(Company.class,Company::getId,Member::getCompanyId)
.eq(Member::getHkStatus,Constants.ZERO)
.orderByAsc(Member::getErpDate));
@@ -282,7 +282,36 @@
Constants.DEALING_HK_USER =false;
}
}
-
+ private List<Integer> getRoleIdByParam( Member member) {
+ //鏌ヨ鏁版嵁搴撳瓨鍦ㄧ殑鏉冮檺
+ List<DeviceRole> deviceRoleList= deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
+ .eq(DeviceRole::getType,Constants.TWO)
+ .exists("(select b.id from member_role b where b.ROLE_ID = device_role.ID and b.MEMBER_ID="+member.getRoleId()+")"));
+ if(CollectionUtils.isNotEmpty(deviceRoleList)){
+ List<MemberRole> memberRoleList = new ArrayList<>();
+ String ids = "";
+ List<Integer> r = new ArrayList<>();
+ for (int i = 0; i < deviceRoleList.size(); i++) {
+ DeviceRole deviceRole =deviceRoleList.get(i);
+ if(i>0){
+ ids += ",";
+ }
+ String doorids =deviceRole.getDoorIds();
+ if(StringUtils.isNotBlank(doorids)){
+ String[] ss = doorids.split(",");
+ try {
+ for(String s :ss){
+ r.add(Integer.parseInt(s));
+ }
+ }catch (Exception e){
+ //鑴忔暟鎹笉澶勭悊
+ }
+ }
+ }
+ return r;
+ }
+ return null;
+ }
@Transactional
private boolean dealMemberInfoBiz(Member c, Date date, String path) {
if( c.getCompanyId() == null){
@@ -298,7 +327,39 @@
}
return false;
}
-
+ private void dealMemberRoleEmpower(Member member ) {
+ List<Integer> doorIds = getRoleIdByParam(member);
+ if(doorIds==null || doorIds.size() == 0){
+ return;
+ }
+ if(StringUtils.isBlank(member.getFaceImg())){
+ return;
+ }
+ if(Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
+ //濡傛灉鐢ㄦ埛鏄悓姝ユ捣搴锋垚鍔燂紝娣诲姞甯︿笅鍙戞潈闄�
+ List<Empower> list = new ArrayList<>();
+ List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,doorIds));
+ if(deviceList == null || deviceList.size() == 0){
+ return;
+ }
+ for (Device deviceRole:deviceList) {
+ Empower model = new Empower();
+ model.setCreateDate(new Date());
+ model.setMemberId(member.getId());
+ model.setIsdeleted(Constants.ZERO);
+ model.setDeviceId(deviceRole.getId());
+ model.setSendStatus(Constants.ZERO);
+ model.setStartTime(member.getStartTime());
+ model.setEndTime(member.getEndTime());
+ //榛樿缁欎簬铏氭嫙鍗�
+ model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId());
+ model.setSendType(Constants.ZERO);
+ list.add(model);
+ }
+ //瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
+ empowerMapper.insertBatchSomeColumn(list);
+ }
+ }
/**
* 濡傛灉涔嬪墠宸茬粡鍜屾捣搴峰悓姝ワ紝鍒欐洿鏂扮敤鎴锋暟鎹互鍙婁汉鑴告暟鎹紙鍙兘鏂板浜鸿劯 涔熷彲鑳芥洿鏂颁汉鑴革級
* @param c
@@ -334,7 +395,8 @@
c.setHkStatus(Constants.TWO);
c.setRemark("浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴鏇存柊澶辫触锛岃淇鍚庨噸璇曪紒锛�"+(result!=null?result.getCode()+result.getMsg():""));
}
-
+ //閲嶆柊涓嬪彂鏉冮檺鏁版嵁
+ dealMemberRoleEmpower(c);
}
c.setHkDate(date);
memberMapper.updateById(c);
@@ -373,6 +435,7 @@
c.setHkStatus(Constants.ONE);
c.setHkId(addHkModel.getPersonId());
memberMapper.updateById(c);
+ dealMemberRoleEmpower(c);
return true;
}else{
noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg());
@@ -392,7 +455,7 @@
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 ){
+ if(response !=null && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)&& response.getData()!=null ){
return response.getData().getFaceId();
}
}else{
@@ -431,7 +494,7 @@
UserDelRequest request = new UserDelRequest();
request.setPersonIds(new String[]{delHkIds});
BaseResponse<List<UserDelResponse>> result = HKService.delBatchUser(request);
- if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
List<String> fIds = new ArrayList<>();
//鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
if(result.getData()!=null && result.getData().size()>0){
--
Gitblit v1.9.3