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 |  109 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 86 insertions(+), 23 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 6db2e48..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,9 +1,11 @@
 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;
@@ -12,10 +14,8 @@
 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.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -23,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;
 
@@ -53,6 +54,9 @@
     private TbScheduleService scheduleService;
 
     @Autowired
+    private TbShareholderService shareholderService;
+
+    @Autowired
     private TbBuyerCompanyInfoService buyerCompanyInfoService;
 
     @Autowired
@@ -60,6 +64,9 @@
 
     @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());
         }
 
@@ -156,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());
@@ -172,6 +183,7 @@
             openingBank.setCompanyId(tbCompany.getId());
             openingBankService.save(openingBank);
         }
+        return tbCompany.getId();
 
     }
 
@@ -199,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());
@@ -228,27 +261,57 @@
         }
 
         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