From c97d60075a43626dcdd4d5d4e59d55c94642a7dc Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 20 十月 2025 10:35:42 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 624ce03..01b1d19 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -78,6 +78,7 @@
import java.math.BigDecimal;
import java.util.Date;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -93,6 +94,9 @@
@Autowired
private MemberJoinMapper memberJoinMapper;
+
+ @Autowired
+ private JkCabinetMapper jkCabinetMapper;
@Autowired
private TrainTimeMapper trainTimeMapper;
@@ -221,9 +225,9 @@
private Member initAddMemberModel(Member member, LoginUserInfo loginUserInfo) {
Member insert= new Member();
- insert.setCreator(Objects.nonNull(loginUserInfo.getId())?loginUserInfo.getId():null);
+ insert.setCreator(Objects.nonNull(loginUserInfo)?loginUserInfo.getId():null);
insert.setCreateDate(new Date());
- insert.setEditor(Objects.nonNull(loginUserInfo.getId())?loginUserInfo.getId():null);
+ insert.setEditor(Objects.nonNull(loginUserInfo)?loginUserInfo.getId():null);
insert.setEditDate(new Date());
insert.setHkOrgId(member.getHkOrgId());
insert.setIsdeleted(Constants.ZERO);
@@ -233,6 +237,8 @@
insert.setCode(member.getCode());
insert.setType(Constants.TWO);
insert.setHkDate(new Date());
+ insert.setDdId(member.getDdId());
+ insert.setErpId(member.getErpId());
insert.setWorkStatus(Constants.ZERO);//榛樿鍦ㄨ亴
insert.setCanVisit(Constants.ZERO);//榛樿涓嶅彲璁块棶
insert.setAuthStatus(Constants.ZERO);
@@ -1208,6 +1214,21 @@
queryWrapper.apply(" find_in_set('"+companySpecialId+"',REPLACE(t3.company_path,'/',',')) ");
}
}
+ if(null != member.getQueryAuth() && Constants.equalsInteger(member.getQueryAuth(),Constants.ONE)){
+ List<JkCabinet> jkCabinets = jkCabinetMapper.selectList(new QueryWrapper<JkCabinet>().lambda()
+ .eq(JkCabinet::getIsdeleted,Constants.ZERO)
+ .isNotNull(JkCabinet::getAuthMemberId)
+ );
+ if(CollectionUtils.isNotEmpty(jkCabinets)){
+ List<String> memberIdList = new ArrayList<>();
+ List<String> authMemberId = jkCabinets.stream().map(i->i.getAuthMemberId()).collect(Collectors.toList());
+ for (String s:authMemberId) {
+ memberIdList.addAll(Arrays.asList(s.split(","))) ;
+ }
+ queryWrapper.in(Member::getId,memberIdList);
+ }
+
+ }
queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
queryWrapper.eq(Member::getWorkStatus,Constants.ZERO);
queryWrapper.orderByAsc(Member::getPinyin);
@@ -2138,7 +2159,7 @@
if(importing!=null && importing){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝宸插瓨鍦ㄥ憳宸ュ鍏ヤ换鍔℃鍦ㄦ墽琛屼腑锛岃绋嶅悗鍐嶈瘯锛�");
}
- redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_MEMBER,true);
+ redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_MEMBER,true,30, TimeUnit.MINUTES);
try {
ExcelImporter ie = null;
List<MemberImport> dataList =null;
@@ -2391,6 +2412,7 @@
/**
* 鍚屾閽夐拤鍐呴儴鍛樺伐淇℃伅
*/
+ @Override
public void syncDDUserInfo() throws ApiException {
List<OapiV2UserGetResponse.UserGetResponse> list = dingTalk.syncAllUserInfo();
if(CollectionUtils.isEmpty(list)){
@@ -2456,10 +2478,11 @@
private Member syncDDAddMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member member) {
member.setCreateDate(new Date());
- member.setErpId(deptGetResponse.getUserid());
+ member.setErpId(deptGetResponse.getUnionid());
member.setPhone(deptGetResponse.getMobile());
member.setName(deptGetResponse.getName());
member.setCode(deptGetResponse.getJobNumber());
+ member.setDdId(deptGetResponse.getUserid());
isMemberParamValidDetail(member,deptGetResponse.getDeptIdList());
//鑾峰彇鍑虹敓鏃ユ湡
//鑴辨晱鎿嶄綔
@@ -2486,7 +2509,7 @@
if(Objects.nonNull(deptIdList)){
List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda().in(Company::getErpId,deptIdList)
.eq(Company::getType,Constants.ONE).eq(Company::getIsdeleted,Constants.ZERO)
- .isNotNull(Company::getHkId)
+// .isNotNull(Company::getHkId) 鏆傛椂鏃犳硶鍚屾娴峰悍 鍏堟敞閲�
);
if(CollectionUtils.isNotEmpty(companyList)){
member.setHkOrgId(companyList.get(Constants.ZERO).getHkId());
@@ -2515,11 +2538,11 @@
public Member syncDDEditMemberModel(OapiV2UserGetResponse.UserGetResponse deptGetResponse,Member updateMember) {
updateMember.setEditDate(new Date());
- updateMember.setErpId(deptGetResponse.getUserid());
+ updateMember.setErpId(deptGetResponse.getUnionid());
updateMember.setPhone(deptGetResponse.getMobile());
updateMember.setName(deptGetResponse.getName());
updateMember.setCode(deptGetResponse.getJobNumber());
-
+ updateMember.setDdId(deptGetResponse.getUserid());
updateMember.setHkId(null);
updateMember.setAuthStatus(Constants.ZERO);
Boolean hkFlag = dealHkUserForUpdateBiz(updateMember);
@@ -2541,6 +2564,7 @@
.set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate())
.set(StringUtils.isNotBlank(updateMember.getRemark()),Member::getRemark,updateMember.getRemark())
.set(StringUtils.isNotBlank(updateMember.getFaceImg()),Member::getFaceImg,updateMember.getFaceImg())
+ .set(StringUtils.isNotBlank(updateMember.getDdId()),Member::getDdId,updateMember.getDdId())
.set(updateMember.getFaceId()!=null,Member::getFaceId,updateMember.getFaceId())
.set(updateMember.getCompanyId()!=null,Member::getCompanyId,updateMember.getCompanyId())
.set(Member::getCode,updateMember.getCode())
@@ -2582,6 +2606,7 @@
}
+ @Override
public void ddPushMemberInfo(String eventType, shade.com.alibaba.fastjson2.JSONObject eventData) throws ApiException {
JSONArray jsonArray = eventData.getJSONArray("userId");
if(jsonArray.isEmpty()){
@@ -2599,16 +2624,17 @@
}
}else if(eventType.equals("user_add_org")||eventType.equals("user_modify_org")){
for (int i = 0; i < jsonArray.size(); i++) {
+ OapiV2UserGetResponse.UserGetResponse userGetResponse = dingTalk.syncUserInfo(jsonArray.getString(i));
Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
.eq(Member::getIsdeleted,Constants.ZERO)
- .eq(Member::getErpId,jsonArray.getLong(i))
+ .eq(Member::getErpId,userGetResponse.getUnionid())
.last(" limit 1")
);
- OapiV2UserGetResponse.UserGetResponse deptGetResponse = dingTalk.syncUserInfo(jsonArray.getString(i));
if(Objects.isNull(member)){
- getAddMemberModel(deptGetResponse,member);
+ member = new Member();
+ getAddMemberModel(userGetResponse,member);
}else{
- getUpdateMemberModel(deptGetResponse,member);
+ getUpdateMemberModel(userGetResponse,member);
}
}
}
--
Gitblit v1.9.3