package com.fdkankan.fusion.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.fdkankan.fusion.common.ResultCode;
import com.fdkankan.fusion.entity.SceneDeptShare;
import com.fdkankan.fusion.exception.BusinessException;
import com.fdkankan.fusion.mapper.ISceneDeptShareMapper;
import com.fdkankan.fusion.service.ISceneDeptShareService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* 服务实现类
*
*
* @author
* @since 2025-11-11
*/
@Service
public class SceneDeptShareServiceImpl extends ServiceImpl implements ISceneDeptShareService {
@Override
public void share(SceneDeptShare param) {
if(StringUtils.isBlank(param.getNum()) || param.getIsObj() == null || StringUtils.isBlank(param.getDeptId()) || param.getIsAuth() == null){
throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
}
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SceneDeptShare::getNum,param.getNum());
wrapper.eq(SceneDeptShare::getIsObj,param.getIsObj());
wrapper.eq(SceneDeptShare::getDeptId,param.getDeptId());
List list = this.list(wrapper);
if(list.isEmpty()){
this.save(param);
}else {
LambdaUpdateWrapper wrapper2 = new LambdaUpdateWrapper<>();
wrapper2.eq(SceneDeptShare::getId,list.get(0).getId());
wrapper2.set(SceneDeptShare::getIsAuth,param.getIsAuth());
this.update(wrapper2);
}
}
@Override
public List getNumListByDeptId(String deptId, Integer isObj) {
LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SceneDeptShare::getDeptId,deptId);
wrapper.eq(SceneDeptShare::getIsObj,isObj);
wrapper.ne(SceneDeptShare::getIsAuth,0);
List list = this.list(wrapper);
return list.stream().map(SceneDeptShare::getNum).collect(Collectors.toList());
}
}