From 62b6a7fac3f2acde70b578431147c4a01f19c182 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期一, 15 四月 2024 09:07:05 +0800
Subject: [PATCH] bug修改

---
 consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantServiceImpl.java |   61 ++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 4 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantServiceImpl.java
index 7273e72..dd8c2dc 100644
--- a/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantServiceImpl.java
+++ b/consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantServiceImpl.java
@@ -6,6 +6,12 @@
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
+import com.consum.base.service.SLoginInfoServiceImp;
+import com.consum.model.po.SLoginInfo;
+import com.iplatform.model.po.S_role;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.consum.base.pojo.FinSysTenantParam;
@@ -18,15 +24,20 @@
 import com.walker.jdbc.service.BaseServiceImpl;
 
 import cn.hutool.core.date.DateUtil;
+import org.springframework.transaction.annotation.Transactional;
 
 @Service
 public class FinSysTenantServiceImpl extends BaseServiceImpl implements FinSysTenantService {
 
     private static final String QUERY_TREE_ALL =
-        "select * from FIN_SYS_TENANT where is_delete = 0 and status = 1  order by parent_id, LV ASC";
+            "select * from FIN_SYS_TENANT where is_delete = 0 and status = 1  order by parent_id, LV ASC";
     private static final String QUERY_TREE_BY_CODE = "SELECT * FROM FIN_SYS_TENANT  ";
     private static final String QUERY_LIST_BY_CITY_CODE =
-        "SELECT ID, NAME, CODE, CASE WHEN LV = 2 THEN ID ELSE PARENT_ID END AS PARENT_ID, LV, TENANT_TYPE, BELONG_PROVINCE FROM FIN_SYS_TENANT  ";
+            "SELECT ID, NAME, CODE, CASE WHEN LV = 2 THEN ID ELSE PARENT_ID END AS PARENT_ID, LV, TENANT_TYPE, BELONG_PROVINCE FROM FIN_SYS_TENANT  ";
+
+    @Autowired
+    private SLoginInfoServiceImp sLoginInfoService;
+
 
     /**
      * @Author 锛歱ower
@@ -46,7 +57,7 @@
     @Override
     public List<FinSysTenant> queryForTree() {
         // 灞曠ず鍏ㄩ儴鑺傜偣
-        return this.select(QUERY_TREE_ALL, new Object[] {}, new FinSysTenant());
+        return this.select(QUERY_TREE_ALL, new Object[]{}, new FinSysTenant());
     }
 
     /**
@@ -132,7 +143,7 @@
         List<Map<String, Object>> list = this.select(sql.toString(), paramts);
         long id = 0L;
         if (!CollectionUtils.isEmpty(list)) {
-            id = (Long)list.get(0).get("max(id)") + 1;
+            id = (Long) list.get(0).get("max(id)") + 1;
         } else {
             id = param.getParentId() * 1000 + 1;
         }
@@ -281,4 +292,46 @@
         tenant.setParentId(0L);
         return this.select(tenant).stream().findFirst().orElse(null);
     }
+
+    /**
+     * 淇敼鐧诲綍鏃ュ織鐨勪俊鎭紝鍔犱笂鐧婚檰浜猴紝鐧诲綍浜虹殑閮ㄩ棬
+     *
+     * @param sysUserName 鐢ㄦ埛name
+     */
+    @Override
+    @Transactional(readOnly = false)
+    public void changeSLoginInfo(String sysUserName) {
+        // 鏌ヨ褰撳墠鐧诲綍鐢ㄦ埛鐨勬渶鍚庝竴鏉℃棩蹇�
+        Map<String, Object> parameter = new HashMap();
+        parameter.put("userName", sysUserName);
+        StringBuilder whStr = new StringBuilder(" order by login_time desc LIMIT 1 ");
+        List<SLoginInfo> select = select(new SLoginInfo(), whStr.toString(), parameter);
+        if (!CollectionUtil.isEmpty(select) && select.size() == 1) {
+            // 鏌ヨ鐢ㄦ埛鍏宠仈鐨勬満鏋勯儴闂ㄥ拰濮撳悕
+            SLoginInfo sLoginInfo = select.get(0);
+            StringBuilder selSql = new StringBuilder("SELECT fstu.USER_NAME userName,fst.NAME tenantName,fstd.NAME sysDeptName FROM\n" +
+                    "\tFIN_SYS_TENANT_USER fstu LEFT JOIN fin_sys_tenant fst ON fst.id = fstu.TENANT_ID LEFT JOIN fin_sys_tenant_department fstd ON fstd.id = fstu.SYS_DEPT_ID \n" +
+                    "WHERE fstu.IS_DELETE = 0  ");
+            selSql.append(" AND fstu.USER_NAME =:userName");
+            parameter.put("userName", sysUserName);
+            List<Map<String, Object>> selected = select(selSql.toString(), parameter);
+            Object unit = null;
+            Object name = null;
+            if (!CollectionUtil.isEmpty(selected)) {
+                Map<String, Object> stringObjectMap = selected.get(0);
+                name = stringObjectMap.get("userName");
+                unit = stringObjectMap.get("sysDeptName");
+            }
+            if (unit != null && name != null) {
+                // 濡傛灉鏈夐儴闂ㄥ拰鐢ㄦ埛鍚� 鏇存柊鏃ュ織琛ㄧ殑鏁版嵁
+                StringBuilder sb = new StringBuilder("update s_login_info set sys_user_unit = '");
+                sb.append(unit == null ? "" : unit.toString() + "',");
+                sb.append("  sys_user_name = '");
+                sb.append(name == null ? "" : name.toString() + "'");
+                sb.append(" where info_id = ");
+                sb.append(sLoginInfo.getInfoId());
+                sLoginInfoService.update(sb.toString());
+            }
+        }
+    }
 }

--
Gitblit v1.9.1