mitao
2025-01-20 c66c3eba5a6cab20e3ce7b6b5eb30d4570c6099c
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/CompanyServiceImpl.java
@@ -1,11 +1,62 @@
package com.ruoyi.company.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.page.BeanUtils;
import com.ruoyi.common.core.page.PageDTO;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.company.api.domain.Company;
import com.ruoyi.company.api.domain.User;
import com.ruoyi.company.api.domain.query.MgtCompanyQuery;
import com.ruoyi.company.api.domain.vo.MgtCompanyVO;
import com.ruoyi.company.mapper.CompanyMapper;
import com.ruoyi.company.service.CompanyService;
import com.ruoyi.company.service.UserService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Objects;
@Service
@RequiredArgsConstructor
public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
    private final UserService userService;
    /**
     * 获取企业列表
     * @param query
     * @return
     */
    @Override
    public PageDTO<MgtCompanyVO> queryPage(MgtCompanyQuery query) {
        Page<Company> page = this.lambdaQuery()
                .like(StringUtils.isNotBlank(query.getCompanyInfo()), Company::getCompanyName, query.getCompanyInfo())
                .like(StringUtils.isNotBlank(query.getCompanyInfo()), Company::getSocialCode, query.getCompanyInfo())
                .like(StringUtils.isNotBlank(query.getLegalPersonInfo()), Company::getLegalPersonName, query.getLegalPersonInfo())
                .like(StringUtils.isNotBlank(query.getLegalPersonInfo()), Company::getIdCardNumber, query.getLegalPersonInfo())
                .like(StringUtils.isNotBlank(query.getContactInfo()), Company::getContactName, query.getContactInfo())
                .like(StringUtils.isNotBlank(query.getContactInfo()), Company::getContactPhone, query.getContactInfo())
                .page(new Page<>(query.getPageCurr(), query.getPageSize()));
        return PageDTO.of(page,MgtCompanyVO.class);
    }
    /**
     * 获取企业详情
     * @param id
     * @return
     */
    @Override
    public MgtCompanyVO queryCompanyDetail(Long id) {
        Company company = this.getById(id);
        MgtCompanyVO mgtCompanyVO = BeanUtils.copyBean(company, MgtCompanyVO.class);
        if (Objects.isNull(mgtCompanyVO)) {
            mgtCompanyVO = new MgtCompanyVO();
            return mgtCompanyVO;
        }
        User user = userService.getById(company.getUserId());
        if (Objects.nonNull(user)) {
            mgtCompanyVO.setPhone(user.getPhone());
            mgtCompanyVO.setAccountName(user.getAccountName());
        }
        return mgtCompanyVO;
    }
}