package com.gkhy.assess.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.assess.common.api.CommonPage;
import com.gkhy.assess.common.enums.DeleteFlagEnum;
import com.gkhy.assess.common.exception.ApiException;
import com.gkhy.assess.common.utils.PageUtil;
import com.gkhy.assess.system.domain.SysAgency;
import com.gkhy.assess.system.domain.SysUser;
import com.gkhy.assess.system.mapper.SysAgencyMapper;
import com.gkhy.assess.system.service.SysAgencyService;
import com.gkhy.assess.system.utils.ShiroUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
*
* 机构表 服务实现类
*
*
* @author kzy
* @since 2023-11-23 16:04:36
*/
@Service
public class SysAgencyServiceImpl extends ServiceImpl implements SysAgencyService {
@Override
public CommonPage agencyList(SysAgency agency) {
PageUtil.startPage();
List agencyList=baseMapper.agencyList(agency);
return CommonPage.restPage(agencyList);
}
@Override
public List agencyLists(SysAgency agency) {
return baseMapper.agencyList(agency);
}
@Override
public boolean checkAgencyNameUnique(SysAgency agency) {
Long agencyId = agency.getId()==null? -1L : agency.getId();
SysAgency info = baseMapper.checkAgencyNameUnique(agency.getName());
if (info!=null && info.getId().longValue() != agencyId.longValue())
{
return false;
}
return true;
}
@Override
public SysAgency getAgencyById(Long agencyId) {
return baseMapper.getAgencyById(agencyId);
}
@Override
public boolean changePublic(SysAgency agency) {
checkAgencyDataScope(agency.getId());
SysAgency ay=new SysAgency().setId(agency.getId()).setPublication(agency.getPublication());
ay.setUpdateBy(ShiroUtils.getSysUser().getUsername());
return updateById(ay);
}
@Override
public int deleteAgencyById(Long agencyId) {
SysAgency agency=new SysAgency().setId(agencyId)
.setDelFlag(DeleteFlagEnum.DELETED.getCode());
agency.setUpdateBy(ShiroUtils.getSysUser().getUsername());
return baseMapper.updateById(agency);
}
public SysAgency checkAgencyDataScope(Long agencyId) {
if(agencyId==null){
throw new ApiException("机构id为空!");
}
SysAgency agency = baseMapper.getAgencyById(agencyId);
if (ObjectUtil.isNull(agency))
{
throw new ApiException("机构数据不存在!");
}
return agency;
}
}