From bc22a1fce8b936f61e1f799689ee5795fc2508b0 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 17 一月 2024 15:22:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 83d3f76..0204f3e 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -1,15 +1,23 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.CompanyMapper;
+import com.doumee.dao.business.CompanyPermissionMapper;
 import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.CompanyPermission;
+import com.doumee.dao.business.model.Insurance;
 import com.doumee.service.business.CompanyService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -26,9 +34,12 @@
 
     @Autowired
     private CompanyMapper companyMapper;
+    @Autowired
+    private CompanyPermissionMapper companyPermissionMapper;
 
     @Override
     public Integer create(Company company) {
+
         companyMapper.insert(company);
         return company.getId();
     }
@@ -54,6 +65,10 @@
 
     @Override
     public void updateById(Company company) {
+        Company model = findById(company.getId());
+        if(model == null  || !Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO) ){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY );
+        }
         companyMapper.updateById(company);
     }
 
@@ -89,6 +104,15 @@
         IPage<Company> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<Company> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(pageWrap.getModel().getQueryFlag() == 0){
+            //鍙兘鐪嬫潈闄愯寖鍥村唴
+            queryWrapper.exists("select b.id from company_permission b where b.user_id="+user.getId()+" and b.isdeleted=0 and b.company_id=company.id");
+        } else if (pageWrap.getModel().getQueryFlag() == 1) {
+            //鏌ヨ鏄惁鏈夋煡鐪嬫瑠闄�
+            queryWrapper.select("*,(select count(1) from company_permission b where b.user_id="+user.getId()+" and b.isdeleted=0 and b.company_id=company.id) as hasPerimission");
+        }
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(Company::getId, pageWrap.getModel().getId());
         }
@@ -110,7 +134,7 @@
             queryWrapper.lambda().eq(Company::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
         if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(Company::getName, pageWrap.getModel().getName());
+            queryWrapper.lambda().like(Company::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getRemark() != null) {
             queryWrapper.lambda().eq(Company::getRemark, pageWrap.getModel().getRemark());

--
Gitblit v1.9.3