package com.gkhy.exam.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.common.api.CommonPage; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.common.domain.model.LoginUserDetails; import com.gkhy.exam.common.exception.ApiException; import com.gkhy.exam.common.utils.PageUtils; import com.gkhy.exam.common.utils.SecurityUtils; import com.gkhy.exam.system.domain.CompanyBasic; import com.gkhy.exam.system.domain.SysCompany; import com.gkhy.exam.system.mapper.CompanyBasicMapper; import com.gkhy.exam.system.service.CompanyBasicService; import com.gkhy.exam.system.service.SysCompanyService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.util.List; @Service public class CompanyBasicServiceImpl extends ServiceImpl implements CompanyBasicService { @Autowired private CompanyBasicMapper companyBasicMapper; @Autowired private SysCompanyService sysCompanyService; @Override public CommonPage selectCompanyBasicList(Integer companyId) { boolean admin = SecurityUtils.isAdmin(SecurityUtils.getUserId()); if (!admin){ if (companyId==null){ throw new ApiException("非管理员操作,查询条件不可为空"); } } PageUtils.startPage(); List companyBasics = companyBasicMapper.selectCompanyBasicList(companyId); return CommonPage.restPage(companyBasics); } @Override public CommonResult insertCompanyBasic(CompanyBasic companyBasic) { LoginUserDetails loginUser = SecurityUtils.getLoginUser(); List companyBasics = companyBasicMapper.selectCompanyBasicList(companyBasic.getCompanyId()); if (companyBasics.size()>0){ throw new ApiException("当前企业已有相关数据,请删除原有数据后重试"); } SysCompany sysCompany = sysCompanyService.selectCompanyById(Long.valueOf(companyBasic.getCompanyId())); companyBasic.setCompanyName(sysCompany.getName()); companyBasic.setCreateBy(loginUser.getUsername()); companyBasic.setCreateTime(LocalDateTime.now()); int insert = companyBasicMapper.insert(companyBasic); if (insert>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult updateCompanyBasic(CompanyBasic companyBasic) { LoginUserDetails loginUser = SecurityUtils.getLoginUser(); List companyBasics = companyBasicMapper.selectCompanyBasicList(companyBasic.getCompanyId()); if (companyBasics.size()>0){ throw new ApiException("当前企业已有相关数据,请删除原有数据后重试"); } SysCompany sysCompany = sysCompanyService.selectCompanyById(Long.valueOf(companyBasic.getCompanyId())); companyBasic.setCompanyName(sysCompany.getName()); companyBasic.setUpdateBy(loginUser.getUsername()); companyBasic.setUpdateTime(LocalDateTime.now()); int update = companyBasicMapper.updateBasicById(companyBasic); if (update>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult deletedCompanyBasic(Integer companyBasicId) { LoginUserDetails loginUser = SecurityUtils.getLoginUser(); CompanyBasic companyBasic = new CompanyBasic(); companyBasic.setId(companyBasicId); companyBasic.setDelFlag(2); companyBasic.setUpdateBy(loginUser.getUsername()); companyBasic.setUpdateTime(LocalDateTime.now()); int deleted = companyBasicMapper.updateById(companyBasic); if (deleted>0){ return CommonResult.success(); } return CommonResult.failed(); } }