jiangping
2023-12-08 1140f80aefef30b543c99aaed47bcbca731b24e2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -24,6 +24,7 @@
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * 企业信息表Service实现
@@ -50,7 +51,6 @@
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        checkUnique(company);
        Company insert = new Company();
        insert.setCreator(loginUserInfo.getId());
        insert.setCreateDate(new Date());
@@ -233,6 +233,7 @@
                    .leftJoin(SystemUser.class,SystemUser::getId,Company::getCreator);
        queryWrapper.selectAll(Company.class)
                    .selectAs(Category::getName,Company::getCategoryName)
                    .select("count(t1.id) as countNum")
                    .selectAs(SystemUser::getRealname,Company::getCreatorName);
        IPage<Company> companyIPage = companyJoinMapper.selectJoinPage(page, Company.class, queryWrapper);
        return PageData.from(companyIPage);
@@ -255,9 +256,16 @@
                .eq(Company::getType,Constants.ZERO)
                .eq(Company::getName,company.getName());
        List<Company> companies = companyMapper.selectList(wrapper);
        if (CollectionUtils.isNotEmpty(companies)){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"企业信息已存在");
        if (CollectionUtils.isEmpty(companies)){
            return;
        }
        //新增的情况存在记录
        if (Objects.isNull(company.getId())){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"公司名称已存在");
        }
        //修改的情况存在记录 匹配不到 own
        if (!companies.stream().map(s -> s.getId()).anyMatch(s -> s.equals(company.getId()))){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"公司名称已存在");
        }
    }
}