From 4f46dade49d809e1b8ef92530309dc5f19e39582 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期二, 27 五月 2025 19:05:38 +0800 Subject: [PATCH] 小程序接口 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCompanyServiceImpl.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 169 insertions(+), 0 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCompanyServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCompanyServiceImpl.java index 3a1f1e0..13a477e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCompanyServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCompanyServiceImpl.java @@ -1,11 +1,34 @@ package com.ruoyi.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.dto.EditCompanyDto; +import com.ruoyi.system.dto.PushCompanyDto; import com.ruoyi.system.mapper.TbCompanyMapper; +import com.ruoyi.system.mapper.TbOpeningBankMapper; import com.ruoyi.system.model.TbCompany; +import com.ruoyi.system.model.TbIndustry; +import com.ruoyi.system.model.TbOpeningBank; +import com.ruoyi.system.model.TbPermit; +import com.ruoyi.system.query.CompanyListQuery; +import com.ruoyi.system.query.MyPushCompanyListQuery; import com.ruoyi.system.service.TbCompanyService; +import com.ruoyi.system.service.TbIndustryService; +import com.ruoyi.system.service.TbOpeningBankService; +import com.ruoyi.system.service.TbPermitService; +import com.ruoyi.system.vo.IndexCompanyListVo; +import com.ruoyi.system.vo.MyPushCompanyListVo; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -18,4 +41,150 @@ @Service public class TbCompanyServiceImpl extends ServiceImpl<TbCompanyMapper, TbCompany> implements TbCompanyService { + @Autowired + private TbPermitService permitService; + + @Autowired + private TbIndustryService industryService; + + @Autowired + private TbOpeningBankService openingBankService; + + @Override + public Page<IndexCompanyListVo> getCompanyList(CompanyListQuery query, Long userId) { + Page<TbCompany> page = new Page<>(query.getPageNum(), query.getPageSize()); + Page<IndexCompanyListVo> page1 = new Page<>(); + LambdaQueryWrapper<TbCompany> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TbCompany::getIsDelete,0); + queryWrapper.eq(TbCompany::getStatus,1); + if(query.getCertificateNames()!=null && query.getCertificateNames().size()>0){ + List<TbPermit> tbPermits = permitService.list(new LambdaQueryWrapper<TbPermit>().in(TbPermit::getName, query.getCertificateNames())); + if(tbPermits.isEmpty()){ + return page1; + } + queryWrapper.in(TbCompany::getId, tbPermits.stream().map(TbPermit::getCompanyId).collect(Collectors.toList())); + } + queryWrapper.eq(TbCompany::getCityCode,query.getCityCode()); + queryWrapper.eq(TbCompany::getAreaCode,query.getAreaCode()); + + if(query.getCompanyCategorys()!=null && query.getCompanyCategorys().size()>0){ + queryWrapper.in(TbCompany::getCompanyCategory, query.getCompanyCategorys()); + } + + if(query.getRegisteredCapitals()!=null && query.getRegisteredCapitals().size()>0){ + queryWrapper.in(TbCompany::getRegisteredCapital, query.getRegisteredCapitals()); + } + + if(query.getCompanyIndustryIds()!=null && query.getCompanyIndustryIds().size()>0){ + queryWrapper.in(TbCompany::getCompanyIndustryId, query.getCompanyIndustryIds()); + } + + if(query.getTaxpayerTypes()!=null && query.getTaxpayerTypes().size()>0){ + queryWrapper.in(TbCompany::getTaxpayerType, query.getTaxpayerTypes()); + } + if(query.getTaxCredits()!=null && query.getTaxCredits().size()>0){ + queryWrapper.in(TbCompany::getTaxCredit, query.getTaxCredits()); + } + + if(query.getHighTechEnterpriseTechnology()!=null){ + queryWrapper.eq(TbCompany::getHighTechEnterpriseTechnology, query.getHighTechEnterpriseTechnology()); + } + if(query.getSocialSecurity()!=null){ + queryWrapper.eq(TbCompany::getSocialSecurity, query.getSocialSecurity()); + } + if(query.getTendering()!=null){ + queryWrapper.eq(TbCompany::getTendering, query.getTendering()); + } + if(query.getHaveTrademark()!=null){ + queryWrapper.eq(TbCompany::getHaveTrademark, query.getHaveTrademark()); + } + if(query.getHavePatent()!=null){ + queryWrapper.eq(TbCompany::getHavePatent, query.getHavePatent()); + } + if(query.getHaveSoftWorks()!=null){ + queryWrapper.eq(TbCompany::getHaveSoftWorks, query.getHaveSoftWorks()); + } + if(query.getMoneySort()!=null && query.getMoneySort()==1){ + queryWrapper.orderByDesc(TbCompany::getSaleMoney); + }else if(query.getMoneySort()!=null && query.getMoneySort()==2){ + queryWrapper.orderByAsc(TbCompany::getSaleMoney); + }else { + queryWrapper.orderByDesc(TbCompany::getCreateTime); + } + Page<TbCompany> companyPage = this.baseMapper.selectPage(page, queryWrapper); + List<Integer> ids = companyPage.getRecords().stream().map(TbCompany::getCompanyIndustryId).collect(Collectors.toList()); + List<TbIndustry> tbIndustries = industryService.list(new LambdaQueryWrapper<TbIndustry>().in(TbIndustry::getId, ids)); + ArrayList<IndexCompanyListVo> list = new ArrayList<>(); + for (TbCompany record : companyPage.getRecords()) { + IndexCompanyListVo indexCompanyListVo = new IndexCompanyListVo(); + indexCompanyListVo.setId(record.getId()); + indexCompanyListVo.setCompanyName(record.getCompanyName()); + TbIndustry tbIndustry = tbIndustries.stream().filter(e -> e.getId().equals(record.getCompanyIndustryId())).findFirst().orElse(null); + indexCompanyListVo.setIndustryName(tbIndustry.getName()); + indexCompanyListVo.setEstablishTime(record.getEstablishTime()); + indexCompanyListVo.setTaxpayerType(record.getTaxpayerType()); + indexCompanyListVo.setTaxCredit(record.getTaxCredit()); + indexCompanyListVo.setCompanyCategory(record.getCompanyCategory()); + indexCompanyListVo.setHighTechEnterpriseTechnology(record.getHighTechEnterpriseTechnology()); + indexCompanyListVo.setPaidInFunds(record.getPaidInFunds()); + indexCompanyListVo.setRegisteredCapital(record.getRegisteredCapital()); + indexCompanyListVo.setSaleMoney(record.getSaleMoney()); + if(record.getUserId().equals(userId.toString())){ + indexCompanyListVo.setIsMyself(1); + } + list.add(indexCompanyListVo); + + } + BeanUtils.copyProperties(companyPage,page1); + page1.setRecords(list); + return page1; + } + + @Override + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) + public void pushCompany(PushCompanyDto dto, Long userId) { + TbCompany tbCompany = new TbCompany(); + BeanUtils.copyProperties(dto,tbCompany); + tbCompany.setUserId(userId.toString()); + this.save(tbCompany); + + List<TbPermit> permits = dto.getPermits(); + for (TbPermit permit : permits) { + permit.setCompanyId(tbCompany.getId()); + permitService.save(permit); + } + List<TbOpeningBank> openingBanks = dto.getOpeningBanks(); + for (TbOpeningBank openingBank : openingBanks) { + openingBank.setCompanyId(tbCompany.getId()); + openingBankService.save(openingBank); + } + + } + + @Override + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) + public void editCompany(EditCompanyDto dto, TbCompany company ,Long userId) { + BeanUtils.copyProperties(dto,company); + company.setUserId(userId.toString()); + this.updateById(company); + permitService.remove(new LambdaQueryWrapper<TbPermit>().eq(TbPermit::getCompanyId,dto.getId())); + openingBankService.remove(new LambdaQueryWrapper<TbOpeningBank>().eq(TbOpeningBank::getCompanyId,dto.getId())); + List<TbPermit> permits = dto.getPermits(); + for (TbPermit permit : permits) { + permit.setCompanyId(company.getId()); + permitService.save(permit); + } + List<TbOpeningBank> openingBanks = dto.getOpeningBanks(); + for (TbOpeningBank openingBank : openingBanks) { + openingBank.setCompanyId(company.getId()); + openingBankService.save(openingBank); + } + + } + + @Override + public Page<MyPushCompanyListVo> getMyPushCompanyList(MyPushCompanyListQuery query, Long userId) { + Page<MyPushCompanyListVo> page = new Page<>(query.getPageNum(), query.getPageSize()); + return this.baseMapper.getMyPushCompanyList(page,query,userId); + } } -- Gitblit v1.7.1