From 85f968c63cadfe780120deb4b77b8239037d6082 Mon Sep 17 00:00:00 2001
From: 杜洪波 <1074825718@qq.com>
Date: 星期五, 27 三月 2026 10:16:28 +0800
Subject: [PATCH] 用户中心客户代码提交
---
src/main/java/com/product/saas/service/SaasClientService.java | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 101 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/product/saas/service/SaasClientService.java b/src/main/java/com/product/saas/service/SaasClientService.java
index 60820d0..7874513 100644
--- a/src/main/java/com/product/saas/service/SaasClientService.java
+++ b/src/main/java/com/product/saas/service/SaasClientService.java
@@ -11,7 +11,9 @@
import com.product.core.entity.FieldSetEntity;
import com.product.core.service.support.AbstractBaseService;
import com.product.core.spring.context.SpringMVCContextHolder;
+import com.product.core.transfer.Transactional;
import com.product.module.sys.entity.SystemUser;
+import com.product.saas.service.idel.ISaasClientService;
import com.product.util.BaseUtil;
/**
@@ -19,7 +21,7 @@
*
*/
@Service
-public class SaasClientService extends AbstractBaseService{
+public class SaasClientService extends AbstractBaseService implements ISaasClientService{
@Autowired
BaseDao baseDao;
@@ -34,7 +36,7 @@
if (user == null) {
return null;
}
- List<Object> param = new ArrayList<>();;
+ List<Object> param = new ArrayList<>();
StringBuilder sql = new StringBuilder();
sql.append("\n SELECT");
sql.append("\n A.uuid,A.client_name,A.client_unit_type,A.platform_admin,A.expiration_date,B.apply_status,");
@@ -46,9 +48,14 @@
sql.append("\n LEFT JOIN product_sys_users E ON E.user_id = D.user_id ");
sql.append("\n WHERE A.uuid != '00000000-0000-0000-0000-000000000000' ");
FieldSetEntity fsePost = user.getJobPost();
- if(fsePost.getString("job_post_name").contains("骞冲彴绠$悊鍛�")) {
- param.add(user.getUser_id());
- sql.append("\n AND A.platform_admin = ?");
+ if (fsePost == null) {
+ param.add(user.getClient_uuid());
+ sql.append("\n AND A.uuid = ?");
+ } else {
+ if(fsePost.getString("job_post_name").contains("骞冲彴绠$悊鍛�")) {
+ param.add(user.getUser_id());
+ sql.append("\n AND A.platform_admin = ?");
+ }
}
DataTableEntity dte = baseDao.listTable(sql.toString(), param.toArray(), fse.getInteger("pagesize"), fse.getInteger("cpage"));
if (!BaseUtil.dataTableIsEmpty(dte)) {
@@ -71,6 +78,94 @@
sql.append("\n LEFT JOIN product_sys_org_manager D ON D.org_level_uuid = C.uuid ");
sql.append("\n LEFT JOIN product_sys_users E ON E.user_id = D.user_id ");
sql.append("\n WHERE A.uuid = ? ");
- return baseDao.getFieldSetEntityBySQL(sql.toString(), new Object[] {uuid}, false);
+ FieldSetEntity fseClient = baseDao.getFieldSetEntityBySQL(sql.toString(), new Object[] {uuid}, false);
+ if(fseClient != null) {
+ DataTableEntity dtClientChange = baseDao.listTable("product_sys_tenant_change", "client_uuid = ?", new Object[] {uuid});
+ fseClient.addSubDataTable(dtClientChange);
+ }
+ return fseClient;
+ }
+
+ /**
+ * 绉熸埛淇℃伅鍙樻洿鍒楄〃
+ * @param fse
+ * @return
+ */
+ public DataTableEntity listClientChange(FieldSetEntity fse) {
+ SystemUser user = SpringMVCContextHolder.getCurrentUser();
+ if (user == null) {
+ return null;
+ }
+ List<Object> param = new ArrayList<>();
+ StringBuilder sql = new StringBuilder();
+ sql.append("\n SELECT * FROM product_sys_tenant_change A");
+ sql.append("\n LEFT JOIN product_sys_clients B ON B.uuid = A.client_uuid");
+ FieldSetEntity fsePost = user.getJobPost();
+ String filter = fse.getString("filter");
+ if (fsePost == null) {
+ param.add(user.getClient_uuid());
+ sql.append("\n WHERE client_uuid = ?");
+ if ("entrance".equals(filter)) {
+ sql.append("\n AND (change_status IS NULL OR change_status = 0)");
+ } else {
+ sql.append("\n AND (change_status = 1 OR change_status = 2)");
+ }
+ } else {
+ if(fsePost.getString("job_post_name").contains("骞冲彴绠$悊鍛�")) {
+ param.add(user.getUser_id());
+ sql.append("\n WHERE B.platform_admin = ?");
+ if ("entrance".equals(filter)) {
+ sql.append("\n AND change_status = 1");
+ } else {
+ sql.append("\n AND change_status = 2");
+ }
+ }
+ }
+ sql.append("\n ORDER BY created_utc_datetime");
+ DataTableEntity dte = baseDao.listTable(sql.toString(), param.toArray(), fse.getInteger("pagesize"), fse.getInteger("cpage"));
+ if (!BaseUtil.dataTableIsEmpty(dte)) {
+ baseDao.loadPromptData(dte);
+ }
+ return dte;
+ }
+
+ /**
+ * 瀹㈡埛淇℃伅鍙樻洿杩涚▼
+ * @param fseChange
+ * @return
+ */
+ @Transactional
+ public boolean clientChangeProcess(FieldSetEntity fseChange) {
+ String changeStatus = fseChange.getString("change_status");
+ if (BaseUtil.strIsNull(changeStatus) || "0".equals(changeStatus)) {
+ // 绉熸埛绠$悊鍛樻彁浜ゅ彉鏇�
+ fseChange.setValue("change_status", 1);
+ } else {
+ // 绠$悊鍛樼‘璁ゅ彉鏇�
+ String clientUUID = fseChange.getString("client_uuid");
+ String newClientName = fseChange.getString("new_client_name");
+ if (!BaseUtil.strIsNull(newClientName)) {
+ String oldClientName = fseChange.getString("old_client_name");
+ // 鍙樻洿瀹㈡埛鍚嶇О
+ baseDao.executeUpdate("UPDATE product_sys_clients SET client_name = ? WHERE uuid = ?", new Object[] {newClientName, clientUUID});
+ // 鍙樻洿缁勭粐鏈烘瀯鍚嶇О,鍏ㄧО
+ baseDao.executeUpdate("UPDATE product_sys_org_levels SET org_level_name = REPLACE(org_level_name, ?, ?),org_level_all = REPLACE(org_level_all, ?, ?) WHERE org_level_all LIKE ?",
+ new Object[] {oldClientName, newClientName, oldClientName, newClientName, "%"+oldClientName+"%"});
+ }
+ String newClientAdmin = fseChange.getString("new_client_admin");
+ if (!BaseUtil.strIsNull(newClientAdmin)) {
+// String oldClientAdmin = fseChange.getString("old_client_admin");
+ // 鍘绘帀鏃х鐞嗗憳
+ // 鐢熸垚鏂扮鐞嗗憳
+ }
+ String newBusinessLicense = fseChange.getString("new_business_license");
+ if (!BaseUtil.strIsNull(newBusinessLicense)) {
+// String oldBusinessLicense = fseChange.getString("old_business_license");
+ // 灏嗘柊钀ヤ笟鎵х収褰掑叆瀹㈡埛淇℃伅涓�
+ baseDao.executeUpdate("UPDATE product_sys_tenant_apply SET business_license = ? WHERE client_uuid = ?", new Object[] {newBusinessLicense, clientUUID});
+ }
+ fseChange.setValue("change_status", 2);
+ }
+ return baseDao.saveFieldSetEntity(fseChange);
}
}
--
Gitblit v1.9.2