From 87f979fb201a82ebad5926735ed6dfa75ca004d3 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 21 七月 2025 09:21:42 +0800 Subject: [PATCH] 修改bug --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbCompanyServiceImpl.java | 121 ++++++++++++++++++++++++++++++++-------- 1 files changed, 96 insertions(+), 25 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 6766ef7..24614d9 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,24 +1,21 @@ package com.ruoyi.system.service.impl; +import com.alibaba.fastjson2.JSONObject; 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.core.redis.RedisCache; 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.*; import com.ruoyi.system.query.CompanyListQuery; import com.ruoyi.system.query.MyPushCompanyListQuery; 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 com.ruoyi.system.vo.*; 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; @@ -26,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @@ -56,10 +54,19 @@ private TbScheduleService scheduleService; @Autowired + private TbShareholderService shareholderService; + + @Autowired private TbBuyerCompanyInfoService buyerCompanyInfoService; @Autowired private TbUserService userService; + + @Autowired + private TbCompanyTypeService companyTypeService; + + @Autowired + private RedisCache redisCache; @Override public Page<IndexCompanyListVo> getCompanyList(CompanyListQuery query, Long userId) { @@ -76,13 +83,17 @@ 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.getAreaCode()!=null && !"".equals(query.getAreaCode())){ + queryWrapper.eq(TbCompany::getAreaCode, query.getAreaCode()); + } + queryWrapper.like(StringUtils.isNotEmpty(query.getCompanyName()),TbCompany::getCompanyName, query.getCompanyName()); 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()); } @@ -123,6 +134,9 @@ queryWrapper.orderByDesc(TbCompany::getCreateTime); } Page<TbCompany> companyPage = this.baseMapper.selectPage(page, queryWrapper); + if (companyPage.getRecords().isEmpty()) { + return page1; + } 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<>(); @@ -153,7 +167,7 @@ @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) - public void pushCompany(PushCompanyDto dto, Long userId) { + public String pushCompany(PushCompanyDto dto, Long userId) { TbCompany tbCompany = new TbCompany(); BeanUtils.copyProperties(dto, tbCompany); tbCompany.setUserId(userId.toString()); @@ -169,6 +183,7 @@ openingBank.setCompanyId(tbCompany.getId()); openingBankService.save(openingBank); } + return tbCompany.getId(); } @@ -196,14 +211,35 @@ @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); + Page<MyPushCompanyListVo> myPushCompanyList = this.baseMapper.getMyPushCompanyList(page, query, userId); + for (MyPushCompanyListVo record : myPushCompanyList.getRecords()) { + if(record.getStatus()!=1){ + TbOrder order = orderService.getOne(new LambdaQueryWrapper<TbOrder>().eq(TbOrder::getCompanyId, record.getId()).ne(TbOrder::getStatus, -1).last("limit 1")); + if(order!=null){ + record.setOrderId(order.getId()); + } + } + } + return myPushCompanyList; } + @Override + public HashMap<String, Object> getMyPushCompanyListNum(Long userId, HashMap<String, Object> map) { + List<MyPushCompanyListVo> list = this.baseMapper.getMyPushCompanyListNum(userId); + map.put("pendingTransaction", list.stream().filter(e -> e.getStatus() == 1).count()); + map.put("toBeConfirmed", list.stream().filter(e -> e.getStatus() == 2).count()); + map.put("confirmed", list.stream().filter(e -> e.getStatus() == 3).count()); + map.put("processing", list.stream().filter(e -> e.getStatus() == 4).count()); + map.put("completed", list.stream().filter(e -> e.getStatus() == 5).count() + list.stream().filter(e -> e.getStatus() == 6).count()); + return map; + } @Override public CompanyDetailVo companyDetail(String companyId, Long userId) { CompanyDetailVo companyDetailVo = new CompanyDetailVo(); TbCompany tbCompany = this.baseMapper.selectById(companyId); BeanUtils.copyProperties(tbCompany, companyDetailVo); + companyDetailVo.setState(tbCompany.getStatus()); + TbIndustry industry = industryService.getById(tbCompany.getCompanyIndustryId()); companyDetailVo.setCompanyIndustryName(industry.getName()); @@ -214,33 +250,68 @@ List<TbOpeningBank> list1 = openingBankService.list(new LambdaQueryWrapper<TbOpeningBank>().eq(TbOpeningBank::getCompanyId, companyId)); companyDetailVo.setOpeningBanks(list1); + Integer companyCategory = tbCompany.getCompanyCategory(); + TbCompanyType byId = companyTypeService.getById(companyCategory); + companyDetailVo.setCompanyCategoryName(byId.getName()); + // 当前未产生订单 if (tbCompany.getStatus() == 1) { + companyDetailVo.setStatus(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()); + if(order!=null) { + companyDetailVo.setStatus(order.getStatus()); + companyDetailVo.setSellerFinishTime(order.getSellerFinishTime()); + companyDetailVo.setOrderId(order.getId()); + companyDetailVo.setOrderMoney(order.getPrice()); - 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); + + 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(); + if(one!=null){ + BeanUtils.copyProperties(one, customerInfoVo); + String orderId = one.getOrderId(); + List<TbShareholder> list3 = shareholderService.list(new LambdaQueryWrapper<TbShareholder>().eq(TbShareholder::getOrderId, orderId)); + customerInfoVo.setShareHolders(list3); + } + companyDetailVo.setCustomerInfoVo(customerInfoVo); + companyDetailVo.setEstimatedRevenue(order.getPrice().subtract(order.getCommissionPrice()).subtract(order.getCommissionPlatform())); + + TbUser user = userService.getById(order.getUserId()); + companyDetailVo.setCustomerName(user.getUserName()); + companyDetailVo.setCustomerPhone(user.getPhone()); + + companyDetailVo.setSellerName(userService.getById(tbCompany.getUserId()).getUserName()); + + // 判断是否要迁区 是否要改名 新增天数 + if(one!=null){ + companyDetailVo.setEstimatedDays(one.getAddDay()+companyDetailVo.getEstimatedDays()); + if(one.getNeedRename()==1 && companyDetailVo.getRenameMoney()!=null){ + companyDetailVo.setSaleMoney( companyDetailVo.getSaleMoney().add(companyDetailVo.getRenameMoney())); + } + if(one.getNewDistrict()==1 && companyDetailVo.getRelocationAreaMoney()!=null){ + companyDetailVo.setSaleMoney( companyDetailVo.getSaleMoney().add(companyDetailVo.getRelocationAreaMoney())); + } + } } - 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