From d4202e0a054617cc1d18e5e5f92581cf9b07e1db Mon Sep 17 00:00:00 2001
From: ZQN <364596817@qq.com>
Date: 星期六, 22 六月 2024 10:35:06 +0800
Subject: [PATCH] 执法结果上报

---
 project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
index e43b05a..b4df7a6 100644
--- a/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
+++ b/project-system/src/main/java/com/project/system/service/impl/SysCompanyServiceImpl.java
@@ -60,9 +60,11 @@
     public Boolean insertByBo(SysCompanyBo bo)
     {
         SysCompany add = Convert.convert(SysCompany.class, bo);
+        add.setCompanyStatus(1);
         validEntityBeforeSave(add);
+        add.setCompanyStatus(0);
         boolean save = this.save(add);
-        addCompanyUser(add);
+        addCompanyUser(add, 0);
         return save;
     }
 
@@ -77,10 +79,23 @@
             if (!delUser) {
                 throw new BaseException("鍘熶紒涓氱敤鎴锋竻闄ゅけ璐ワ紝璇疯仈绯荤鐞嗗憳锛�");
             }
-            this.addCompanyUser(update);
+            this.addCompanyUser(update, update.getCompanyStatus()==0 ? 1 : 0);
         }
         validEntityBeforeSave(update);
         return this.updateById(update);
+    }
+
+    @Override//鐘舵�佸紑鍏�
+    @Transactional
+    public Boolean updStatus(SysCompanyBo bo)
+    {
+        if (bo.getCompanyId()==null || bo.getCompanyStatus()==null) {
+            throw new BaseException("鍙傛暟鏈夎锛岀姸鎬佷慨鏀瑰け璐ワ紒");
+        }
+        SysCompany company = this.getById(bo.getCompanyId());
+        company.setCompanyStatus(bo.getCompanyStatus());
+        updCompanyUserStatus(company.getCompanyPhone(), bo.getCompanyStatus());
+        return this.updateById(company);
     }
 
     @Override//鍒犻櫎
@@ -137,7 +152,9 @@
         });
         List<SysCompany> companies = Convert.toList(SysCompany.class, resultVo.getVoList());
         boolean b = this.saveOrUpdateBatch(companies);
-        companies.forEach(this::addCompanyUser);
+        for (SysCompany company : companies) {
+            addCompanyUser(company,1);
+        }
         return b;
     }
 
@@ -181,6 +198,11 @@
             int phoneCount = this.count(lq().eq(SysCompany::getCompanyPhone, entity.getCompanyPhone()));
             if (phoneCount>0){
                 throw new BaseException(String.format("%1$s锛屼紒涓氳仈绯荤數璇濆凡瀛樺湪锛�", entity.getCompanyName()));
+            }
+            SysUser user = new SysUser();
+            user.setPhonenumber(entity.getCompanyPhone());
+            if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
+                throw new BaseException(String.format("%1$s锛屼紒涓氳仈绯荤數璇濆凡瀛樺湪锛岃鏇存崲鎵嬫満鍙凤紒", entity.getCompanyName()));
             }
         } else {
             int codeCount = this.count(lq().eq(SysCompany::getCompanyCode, entity.getCompanyCode()).ne(SysCompany::getCompanyId,entity.getCompanyId()));
@@ -226,6 +248,11 @@
             errorList.add(new ImportError(0, "浼佷笟鍚嶅凡瀛樺湪锛�"));
         }
         int phoneCount = this.count(lq().eq(SysCompany::getCompanyPhone, entity.getCompanyPhone()));
+        SysUser user = new SysUser();
+        user.setPhonenumber(entity.getCompanyPhone());
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
+            errorList.add(new ImportError(3, "浼佷笟鑱旂郴鐢佃瘽绯荤粺涓凡瀛樺湪锛岃鏇存崲鐢佃瘽锛�"));
+        }
         if (phoneCount>0){
             errorList.add(new ImportError(3, "浼佷笟鑱旂郴鐢佃瘽宸插瓨鍦紒"));
         }
@@ -237,9 +264,15 @@
      * @param entity    浼佷笟淇℃伅
      */
     @Async
-    protected void addCompanyUser(SysCompany entity)
+    protected void addCompanyUser(SysCompany entity, Integer isImport)
     {
+
         SysUser user = new SysUser();
+        if (isImport==1){
+            user.setStatus("0");
+        } else {
+            user.setStatus("1");
+        }
         SysCompany one = this.getOne(lq().eq(SysCompany::getCompanyCode, entity.getCompanyCode()));
         String phone = entity.getCompanyPhone();
         user.setPhonenumber(phone);
@@ -248,6 +281,7 @@
         user.setPassword(phone);
         user.setDeptId(one.getCompanyId());
         user.setUserType("02");
+        user.setRecommendUser(user.getPassword());
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user)))
         {
             return;
@@ -262,12 +296,16 @@
         {
             return;
         }
-        user.setCreateBy(SecurityUtils.getUsername());
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
-        user.setRecommendUser(user.getPassword());
         userService.insertUser(user);
     }
 
+    @Async
+    protected void updCompanyUserStatus(String phone, Integer status)
+    {
+        userService.update(userService.lu().set(SysUser::getStatus,status).eq(SysUser::getPhonenumber, phone));
+    }
+
     /**
      * 鍒犻櫎浼佷笟鐢ㄦ埛
      * @param companyId    浼佷笟id

--
Gitblit v1.9.1