| | |
| | | package com.xiaopeng.account.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.xiaopeng.account.mapper.SysRoleMapper; |
| | | import com.xiaopeng.account.mapper.XpOperationsRoleMapper; |
| | | import com.xiaopeng.account.mapper.XpOperationsUserMapper; |
| | | import com.xiaopeng.account.mapper.XpQualificationAuditMapper; |
| | | import com.xiaopeng.account.model.dto.QualificationReviewDTO; |
| | | import com.xiaopeng.account.model.query.XpQualificationAuditQuery; |
| | | import com.xiaopeng.account.service.ISysRoleService; |
| | | import com.xiaopeng.account.service.IXpQualificationAuditService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.xiaopeng.api.model.account.SysRole; |
| | | import com.xiaopeng.api.model.account.XpOperationsRole; |
| | | import com.xiaopeng.api.model.account.XpOperationsUser; |
| | | import com.xiaopeng.api.model.account.XpQualificationAudit; |
| | | import com.xiaopeng.api.vo.account.XpQualificationAuditVO; |
| | | import com.xiaopeng.common.core.web.page.PageInfo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class XpQualificationAuditServiceImpl extends ServiceImpl<XpQualificationAuditMapper, XpQualificationAudit> implements IXpQualificationAuditService { |
| | | |
| | | @Autowired |
| | | private XpOperationsRoleMapper xpOperationsRoleMapper; |
| | | @Autowired |
| | | private SysRoleMapper sysRoleMapper; |
| | | |
| | | @Override |
| | | public PageInfo<XpQualificationAuditVO> pageList(XpQualificationAuditQuery query) { |
| | | PageInfo<XpQualificationAuditVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); |
| | | List<XpQualificationAuditVO> list = this.baseMapper.pageList(pageInfo, query); |
| | | if(CollectionUtils.isEmpty(list)){ |
| | | return pageInfo; |
| | | } |
| | | |
| | | // 查询角色名称 |
| | | List<Long> operationsUserIds = list.stream().map(XpQualificationAuditVO::getOperationsUserId).collect(Collectors.toList()); |
| | | |
| | | // 查询用户信息 |
| | | List<XpOperationsRole> xpOperationsRoles = xpOperationsRoleMapper.selectList(Wrappers.lambdaQuery(XpOperationsRole.class) |
| | | .in(XpOperationsRole::getOperationsUserId, operationsUserIds)); |
| | | |
| | | if(!CollectionUtils.isEmpty(xpOperationsRoles)){ |
| | | List<Long> roleIds = xpOperationsRoles.stream().map(XpOperationsRole::getRoleId).collect(Collectors.toList()); |
| | | // 查询列表关联的所有角色 |
| | | List<SysRole> sysRoles = sysRoleMapper.selectList(Wrappers.lambdaQuery(SysRole.class) |
| | | .in(SysRole::getId, roleIds)); |
| | | if(!CollectionUtils.isEmpty(sysRoles)){ |
| | | |
| | | // 角色匹配账号id |
| | | Map<Long, List<SysRole>> map = new HashMap<>(); |
| | | for (XpOperationsRole xpOperationsRole : xpOperationsRoles) { |
| | | List<SysRole> sysRoleList = sysRoles.stream().filter(sysRole -> sysRole.getId().equals(xpOperationsRole.getRoleId())).collect(Collectors.toList()); |
| | | map.put(xpOperationsRole.getOperationsUserId(), sysRoleList); |
| | | } |
| | | |
| | | // 角色名称匹配 |
| | | for (XpQualificationAuditVO xpQualificationAuditVO : list) { |
| | | map.get(xpQualificationAuditVO.getOperationsUserId()).forEach(sysRole -> { |
| | | xpQualificationAuditVO.getRoleNames().add(sysRole.getRoleName()); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | pageInfo.setRecords(list); |
| | | return pageInfo; |
| | | } |
| | | |
| | | @Override |
| | | public void audit(QualificationReviewDTO dto, Long userid) { |
| | | List<XpQualificationAudit> qualificationAudits = this.listByIds(dto.getIds()); |
| | | for (XpQualificationAudit qualificationAudit : qualificationAudits) { |
| | | qualificationAudit.setAuditUserId(userid); |
| | | qualificationAudit.setAuditTime(LocalDateTime.now()); |
| | | qualificationAudit.setAuditStatus(dto.getAuditStatus()); |
| | | // qualificationAudit.setAuditRemarks(dto.getAuditRemarks()); |
| | | } |
| | | this.updateBatchById(qualificationAudits); |
| | | } |
| | | } |