From 1e621d98f4361158df25f2b4af9b53899bfde32f Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 02 六月 2025 14:36:10 +0800 Subject: [PATCH] 小程序接口 详情 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCompanyServiceImpl.java | 128 ++++++++++++++++++++++++++++++------------ 1 files changed, 92 insertions(+), 36 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 13a477e..6766ef7 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 @@ -4,22 +4,21 @@ 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.common.utils.StringUtils; 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.model.*; 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.service.*; +import com.ruoyi.system.vo.CompanyDetailVo; +import com.ruoyi.system.vo.CustomerInfoVo; import com.ruoyi.system.vo.IndexCompanyListVo; import com.ruoyi.system.vo.MyPushCompanyListVo; +import org.apache.poi.ss.formula.functions.T; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,65 +49,77 @@ @Autowired private TbOpeningBankService openingBankService; + @Autowired + private TbOrderService orderService; + + @Autowired + private TbScheduleService scheduleService; + + @Autowired + private TbBuyerCompanyInfoService buyerCompanyInfoService; + + @Autowired + private TbUserService userService; + @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){ + 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()){ + 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()); + queryWrapper.eq(TbCompany::getCityCode, query.getCityCode()); + queryWrapper.eq(TbCompany::getAreaCode, query.getAreaCode()); - if(query.getCompanyCategorys()!=null && query.getCompanyCategorys().size()>0){ + if (query.getCompanyCategorys() != null && query.getCompanyCategorys().size() > 0) { queryWrapper.in(TbCompany::getCompanyCategory, query.getCompanyCategorys()); } - if(query.getRegisteredCapitals()!=null && query.getRegisteredCapitals().size()>0){ + if (query.getRegisteredCapitals() != null && query.getRegisteredCapitals().size() > 0) { queryWrapper.in(TbCompany::getRegisteredCapital, query.getRegisteredCapitals()); } - if(query.getCompanyIndustryIds()!=null && query.getCompanyIndustryIds().size()>0){ + if (query.getCompanyIndustryIds() != null && query.getCompanyIndustryIds().size() > 0) { queryWrapper.in(TbCompany::getCompanyIndustryId, query.getCompanyIndustryIds()); } - if(query.getTaxpayerTypes()!=null && query.getTaxpayerTypes().size()>0){ + if (query.getTaxpayerTypes() != null && query.getTaxpayerTypes().size() > 0) { queryWrapper.in(TbCompany::getTaxpayerType, query.getTaxpayerTypes()); } - if(query.getTaxCredits()!=null && query.getTaxCredits().size()>0){ + if (query.getTaxCredits() != null && query.getTaxCredits().size() > 0) { queryWrapper.in(TbCompany::getTaxCredit, query.getTaxCredits()); } - if(query.getHighTechEnterpriseTechnology()!=null){ + if (query.getHighTechEnterpriseTechnology() != null) { queryWrapper.eq(TbCompany::getHighTechEnterpriseTechnology, query.getHighTechEnterpriseTechnology()); } - if(query.getSocialSecurity()!=null){ + if (query.getSocialSecurity() != null) { queryWrapper.eq(TbCompany::getSocialSecurity, query.getSocialSecurity()); } - if(query.getTendering()!=null){ + if (query.getTendering() != null) { queryWrapper.eq(TbCompany::getTendering, query.getTendering()); } - if(query.getHaveTrademark()!=null){ + if (query.getHaveTrademark() != null) { queryWrapper.eq(TbCompany::getHaveTrademark, query.getHaveTrademark()); } - if(query.getHavePatent()!=null){ + if (query.getHavePatent() != null) { queryWrapper.eq(TbCompany::getHavePatent, query.getHavePatent()); } - if(query.getHaveSoftWorks()!=null){ + if (query.getHaveSoftWorks() != null) { queryWrapper.eq(TbCompany::getHaveSoftWorks, query.getHaveSoftWorks()); } - if(query.getMoneySort()!=null && query.getMoneySort()==1){ + if (query.getMoneySort() != null && query.getMoneySort() == 1) { queryWrapper.orderByDesc(TbCompany::getSaleMoney); - }else if(query.getMoneySort()!=null && query.getMoneySort()==2){ + } else if (query.getMoneySort() != null && query.getMoneySort() == 2) { queryWrapper.orderByAsc(TbCompany::getSaleMoney); - }else { + } else { queryWrapper.orderByDesc(TbCompany::getCreateTime); } Page<TbCompany> companyPage = this.baseMapper.selectPage(page, queryWrapper); @@ -129,13 +140,13 @@ indexCompanyListVo.setPaidInFunds(record.getPaidInFunds()); indexCompanyListVo.setRegisteredCapital(record.getRegisteredCapital()); indexCompanyListVo.setSaleMoney(record.getSaleMoney()); - if(record.getUserId().equals(userId.toString())){ + if (record.getUserId().equals(userId.toString())) { indexCompanyListVo.setIsMyself(1); } list.add(indexCompanyListVo); } - BeanUtils.copyProperties(companyPage,page1); + BeanUtils.copyProperties(companyPage, page1); page1.setRecords(list); return page1; } @@ -144,7 +155,7 @@ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public void pushCompany(PushCompanyDto dto, Long userId) { TbCompany tbCompany = new TbCompany(); - BeanUtils.copyProperties(dto,tbCompany); + BeanUtils.copyProperties(dto, tbCompany); tbCompany.setUserId(userId.toString()); this.save(tbCompany); @@ -163,12 +174,12 @@ @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) - public void editCompany(EditCompanyDto dto, TbCompany company ,Long userId) { - BeanUtils.copyProperties(dto,company); + 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())); + 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()); @@ -185,6 +196,51 @@ @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); + return this.baseMapper.getMyPushCompanyList(page, query, userId); + } + + @Override + public CompanyDetailVo companyDetail(String companyId, Long userId) { + CompanyDetailVo companyDetailVo = new CompanyDetailVo(); + TbCompany tbCompany = this.baseMapper.selectById(companyId); + BeanUtils.copyProperties(tbCompany, companyDetailVo); + + TbIndustry industry = industryService.getById(tbCompany.getCompanyIndustryId()); + companyDetailVo.setCompanyIndustryName(industry.getName()); + + List<TbPermit> list = permitService.list(new LambdaQueryWrapper<TbPermit>().eq(TbPermit::getCompanyId, companyId)); + companyDetailVo.setPermits(list); + + List<TbOpeningBank> list1 = openingBankService.list(new LambdaQueryWrapper<TbOpeningBank>().eq(TbOpeningBank::getCompanyId, companyId)); + companyDetailVo.setOpeningBanks(list1); + + // 当前未产生订单 + if (tbCompany.getStatus() == 1) { + return companyDetailVo; + } + + TbOrder order = orderService.getOne(new LambdaQueryWrapper<TbOrder>().eq(TbOrder::getCompanyId, companyId).gt(TbOrder::getStatus, 0).orderByDesc(TbOrder::getCreateTime).last("limit 1")); + companyDetailVo.setStatus(order.getStatus()); + + List<TbSchedule> list2 = scheduleService.list(new LambdaQueryWrapper<TbSchedule>().eq(TbSchedule::getOrderId, order.getId()).orderByDesc(TbSchedule::getCreateTime)); + List<TbSchedule> collect = list2.stream().filter(e -> StringUtils.isEmpty(e.getParentId())).collect(Collectors.toList()); + for (TbSchedule tbSchedule : collect) { + List<TbSchedule> collect1 = list2.stream().filter(e -> StringUtils.isNotEmpty(e.getParentId()) && e.getParentId().equals(tbSchedule.getId())).collect(Collectors.toList()); + tbSchedule.setSchedules(collect1); + } + companyDetailVo.setSchedules(collect); + companyDetailVo.setPayTime(order.getPayTime()); + companyDetailVo.setConfirmTime(order.getConfirmTime()); + + TbBuyerCompanyInfo one = buyerCompanyInfoService.getOne(new LambdaQueryWrapper<TbBuyerCompanyInfo>().eq(TbBuyerCompanyInfo::getOrderId, order.getId())); + CustomerInfoVo customerInfoVo = new CustomerInfoVo(); + BeanUtils.copyProperties(one, customerInfoVo); + companyDetailVo.setCustomerInfoVo(customerInfoVo); + companyDetailVo.setEstimatedRevenue(order.getPrice().subtract(order.getCommissionPrice()).subtract(order.getCommissionPlatform())); + + TbUser user = userService.getById(order.getUserId()); + companyDetailVo.setCustomerName(user.getUserName()); + + return companyDetailVo; } } -- Gitblit v1.7.1