package com.fdkankan.manage.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.fdkankan.manage.common.ResultCode; import com.fdkankan.manage.entity.JySceneAuth; import com.fdkankan.manage.entity.JySceneUserAuth; import com.fdkankan.manage.entity.JyUser; import com.fdkankan.manage.exception.BusinessException; import com.fdkankan.manage.mapper.IJySceneUserAuthMapper; import com.fdkankan.manage.service.IJySceneAuthService; import com.fdkankan.manage.service.IJySceneUserAuthService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fdkankan.manage.service.IJyUserService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; /** *

* 服务实现类 *

* * @author * @since 2023-08-24 */ @Service public class JySceneUserAuthServiceImpl extends ServiceImpl implements IJySceneUserAuthService { @Autowired IJyUserService jyUserService; @Autowired IJySceneAuthService jySceneAuthService; @Override public Object getAuthList(String num) { if(StringUtils.isBlank(num)){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } JySceneAuth jySceneAuth = jySceneAuthService.getByNum(num); if(jySceneAuth == null){ return new JySceneAuth(0); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(JySceneUserAuth::getNum,num); wrapper.orderByDesc(JySceneUserAuth::getCreateTime); List list = this.list(wrapper); if(list.isEmpty()){ return list; } List jyUserIds = list.stream().map(JySceneUserAuth::getJyUserId).collect(Collectors.toList()); HashMap map = jyUserService.getByIds(jyUserIds); for (JySceneUserAuth jySceneUserAuth : list) { JyUser jyUser = map.get(jySceneUserAuth.getJyUserId()); if(jyUser != null){ jySceneUserAuth.setRyId(jyUser.getRyId()); jySceneUserAuth.setRyNickName(jyUser.getRyNickName()); } } jySceneAuth.setUserAuthList(list); return jySceneAuth; } @Override public void addAuth(JySceneUserAuth param) { if(param.getAuthType() == null ){ param.setAuthType(0); } jySceneAuthService.updateAuthTypeByNum(param.getNum(),param.getAuthType()); if(param.getAuthType() == 1){ return; } if(StringUtils.isBlank(param.getRyId()) || StringUtils.isBlank(param.getNum()) ){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } JyUser jyUser = jyUserService.getByRyId(param.getRyId()); if(jyUser == null){ throw new BusinessException(ResultCode.JY_ID_NO_EXIST); } JySceneUserAuth auth = this.getByNumAndJyId(jyUser.getId(),param.getNum()); if(auth != null){ param.setId(auth.getId()); } param.setJyUserId(jyUser.getId()); this.saveOrUpdate(param); } @Override public void delAuth(JySceneUserAuth param) { if(param.getId() == null){ throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS); } this.removeById(param.getId()); } private JySceneUserAuth getByNumAndJyId(Integer jyUserId, String num) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(JySceneUserAuth::getJyUserId,jyUserId); wrapper.eq(JySceneUserAuth::getNum,num); return this.getOne(wrapper); } @Override public JySceneUserAuth getByNumAndRyId(String num, String ryId) { JyUser jyUser = jyUserService.getByRyId(ryId); if(jyUser == null){ throw new BusinessException(ResultCode.JY_ID_NO_EXIST); } return this.getByNumAndJyId(jyUser.getId(),num); } }