|
@@ -1,6 +1,7 @@
|
|
|
package com.winhc.repal.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.winhc.common.base.BeanResponse;
|
|
@@ -9,19 +10,20 @@ import com.winhc.common.exception.CommonException;
|
|
|
import com.winhc.repal.cloud.LoginService;
|
|
|
import com.winhc.repal.cloud.dto.RepalRegUserDTO;
|
|
|
import com.winhc.repal.cloud.dto.RepalRegUserInfoDTO;
|
|
|
-import com.winhc.repal.entity.RepalBill;
|
|
|
-import com.winhc.repal.entity.RepalGroupMember;
|
|
|
-import com.winhc.repal.entity.RepalGroupRole;
|
|
|
-import com.winhc.repal.entity.UserInfo;
|
|
|
+import com.winhc.repal.entity.*;
|
|
|
import com.winhc.repal.enums.DeletedStatusEnum;
|
|
|
+import com.winhc.repal.enums.GroupAdminEnum;
|
|
|
import com.winhc.repal.enums.RepalBillTypeEnum;
|
|
|
import com.winhc.repal.enums.RoleTypeEnum;
|
|
|
import com.winhc.repal.model.dto.AddGroupMemberDTO;
|
|
|
import com.winhc.repal.model.dto.UpdateMemberRoleDTO;
|
|
|
import com.winhc.repal.model.vo.GroupRoleMemberVO;
|
|
|
+import com.winhc.repal.model.vo.MemberInfoVO;
|
|
|
import com.winhc.repal.repository.RepalGroupMemberMapper;
|
|
|
import com.winhc.repal.service.*;
|
|
|
import com.winhc.repal.util.UserContextUtil;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -37,6 +39,8 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMapper, RepalGroupMember> implements RepalGroupMemberService {
|
|
|
|
|
|
+ public static final Logger LOGGER = LoggerFactory.getLogger(RepalGroupMemberServiceImpl.class);
|
|
|
+
|
|
|
@Autowired
|
|
|
private UserExtService userExtService;
|
|
|
|
|
@@ -64,6 +68,9 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
|
|
|
@Autowired
|
|
|
private RepalRolePermissionService repalRolePermissionService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ThirdPartyAccountService thirdPartyAccountService;
|
|
|
+
|
|
|
@Override
|
|
|
public RepalGroupMember getMemberByUserId(Long userId) {
|
|
|
return this.getOne(Wrappers.lambdaQuery(RepalGroupMember.class)
|
|
@@ -161,6 +168,7 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
|
|
|
.eq(RepalGroupMember::getRepalGroupId, groupId)
|
|
|
.eq(RepalGroupMember::getUserId, dto.getUserId())
|
|
|
.set(RepalGroupMember::getRoleId, dto.getRoleId()));
|
|
|
+ repalRolePermissionService.initMemberPermission(dto.getUserId());
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -233,4 +241,34 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
|
|
|
}
|
|
|
return new ArrayList<>(repalRolePermissionService.getUserPermissionCodeSet(userId));
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String getGroupAdminName() {
|
|
|
+ ThirdPartyAccount account = thirdPartyAccountService.getOne(Wrappers.lambdaQuery(ThirdPartyAccount.class)
|
|
|
+ .eq(ThirdPartyAccount::getUserId, UserContextUtil.getUser().getUserId())
|
|
|
+ .eq(ThirdPartyAccount::getDeleted, DeletedStatusEnum.NORMAL.getCode()));
|
|
|
+ if (Objects.isNull(account) || StrUtil.isBlank(account.getGroupId())) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ // 组织里管理员
|
|
|
+ List<ThirdPartyAccount> accounts = thirdPartyAccountService.list(Wrappers.lambdaQuery(ThirdPartyAccount.class)
|
|
|
+ .eq(ThirdPartyAccount::getGroupId, account.getGroupId())
|
|
|
+ .eq(ThirdPartyAccount::getIsAdmin, GroupAdminEnum.是管理员.getCode())
|
|
|
+ .eq(ThirdPartyAccount::getDeleted, DeletedStatusEnum.NORMAL.getCode()));
|
|
|
+ if (CollUtil.isEmpty(accounts)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return accounts.stream().map(ThirdPartyAccount::getUserName).filter(StrUtil::isNotBlank).collect(Collectors.joining(","));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public MemberInfoVO getMemberInfo() {
|
|
|
+ long userId = UserContextUtil.getUser().getUserId();
|
|
|
+ MemberInfoVO info = repalGroupMemberMapper.getMemberInfo(userId);
|
|
|
+ info.setMemberCount(this.count(Wrappers.lambdaQuery(RepalGroupMember.class)
|
|
|
+ .eq(RepalGroupMember::getRepalGroupId, info.getRepalGroupId())
|
|
|
+ .eq(RepalGroupMember::getDeleted, DeletedStatusEnum.NORMAL.getCode())));
|
|
|
+ info.setMaxCount(100);
|
|
|
+ return info;
|
|
|
+ }
|
|
|
}
|