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