杜洪波
2026-03-27 85f968c63cadfe780120deb4b77b8239037d6082
用户中心客户代码提交
已重命名1个文件
已添加2个文件
已修改4个文件
已删除1个文件
334 ■■■■ 文件已修改
src/main/java/com/product/saas/config/SaasCode.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/config/SaasConst.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/controller/SaasClientController.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/controller/SystemContractController.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/controller/TenantContractController.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/service/SaasClientService.java 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/service/TenantContractService.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/service/idel/ISaasClientService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/config/SaasCode.java
@@ -24,7 +24,15 @@
    TENANT_APPLY_LICENSE_FILE_COPY_FAIL("租户申请License文件COPY失败", 11),
    
    // ç§Ÿæˆ·ä¿¡æ¯
    TENANT_INFO_GET_LIST_FAIL("租户信息列表查询失败", 12),
    CLIENT_INFO_GET_LIST_FAIL("租户信息列表查询失败:", 12),
    CLIENT_INFO_GET_DETAIL_FAIL("租户信息详情查询失败:", 13),
    CLIENT_CHANGE_GET_LIST_FAIL("租户变更列表查询失败:", 14),
    CLIENT_CHANGE_CONFIRM_FAIL("租户变更确认保存失败:", 15),
    CLIENT_CHANGE_CONFIRM_SAVEFAIL("租户变更确认保存失败!", 16),
    // ç§Ÿæˆ·åˆåŒ
    CLIENT_CONTRACT_GET_LIST_FAIL("租户合同列表查询失败:", 17),
    CLIENT_CONTRACT_GET_FIND_FAIL("租户合同详情查询失败:", 18),
    ;
    
    private String text;
src/main/java/com/product/saas/config/SaasConst.java
@@ -11,6 +11,7 @@
    public static final String PRODUCT_SYS_TENANT_APPLY =  "product_sys_tenant_apply";
    public static final String PRODUCT_SYS_CLIENTS =  "product_sys_clients";
    public static final String PRODUCT_SYS_CONTRACT =  "product_sys_contract";
    public static final String PRODUCT_SYS_TENANT_CHANGE =  "product_sys_tenant_change";
    
    //字段常量
}
src/main/java/com/product/saas/controller/SaasClientController.java
@@ -9,10 +9,13 @@
import com.product.admin.config.SystemCode;
import com.product.core.controller.support.AbstractBaseController;
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.module.sys.version.ApiVersion;
import com.product.saas.config.SaasCode;
import com.product.saas.config.SaasConst;
import com.product.saas.service.SaasClientService;
import com.product.saas.service.idel.ISaasClientService;
import com.product.util.BaseUtil;
/**
@@ -40,14 +43,17 @@
                return error(SystemCode.SYSTEM_CPAGES_NOT_NULL.getValue(), SystemCode.SYSTEM_CPAGES_NOT_NULL.getText());
            }
            return OK_List(saasClientService.listClient(fse));
        } catch (BaseException e) {
            e.printStackTrace();
            return error(e);
        } catch (Exception e) {
            e.printStackTrace();
            return error(SaasCode.TENANT_INFO_GET_LIST_FAIL.getValue(), SaasCode.TENANT_INFO_GET_LIST_FAIL.getText() + e.getMessage());
            return error(SaasCode.CLIENT_INFO_GET_LIST_FAIL.getValue(), SaasCode.CLIENT_INFO_GET_LIST_FAIL.getText() + e.getMessage());
        }
    }
    
    /**
     *     ç§Ÿæˆ·åˆ—表
     *     ç§Ÿæˆ·è¯¦æƒ…
     * @param request
     * @return
     */
@@ -57,12 +63,62 @@
        try {
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, SaasConst.PRODUCT_SYS_CLIENTS);
            if(BaseUtil.strIsNull(fse.getUUID())) {
                return error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
                fse.setValue("uuid", SpringMVCContextHolder.getCurrentUser().getClient_uuid());
//                return error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
            }
            return OK_List(saasClientService.findClient(fse.getUUID()));
        } catch (BaseException e) {
            e.printStackTrace();
            return error(e);
        } catch (Exception e) {
            e.printStackTrace();
            return error(SaasCode.TENANT_INFO_GET_LIST_FAIL.getValue(), SaasCode.TENANT_INFO_GET_LIST_FAIL.getText() + e.getMessage());
            return error(SaasCode.CLIENT_INFO_GET_DETAIL_FAIL.getValue(), SaasCode.CLIENT_INFO_GET_DETAIL_FAIL.getText() + e.getMessage());
        }
    }
    /**
     *  ç§Ÿæˆ·ä¿¡æ¯å˜æ›´åˆ—表
     * @param request
     * @return
     */
    @RequestMapping("/list-client-change/{version}")
    @ApiVersion(1)
    public String listClientChange(HttpServletRequest request) {
        try {
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, SaasConst.PRODUCT_SYS_TENANT_CHANGE);
            return OK_List(saasClientService.listClientChange(fse));
        } catch (BaseException e) {
            e.printStackTrace();
            return error(e);
        } catch (Exception e) {
            e.printStackTrace();
            return error(SaasCode.CLIENT_CHANGE_GET_LIST_FAIL.getValue(), SaasCode.CLIENT_CHANGE_GET_LIST_FAIL.getText() + e.getMessage());
        }
    }
    /**
     *  ç§Ÿæˆ·ä¿¡æ¯å˜æ›´è¿›ç¨‹
     * @param request
     * @return
     */
    @RequestMapping("/change-process/{version}")
    @ApiVersion(1)
    public String clientChangeProcess(HttpServletRequest request) {
        try {
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, SaasConst.PRODUCT_SYS_TENANT_CHANGE);
            ISaasClientService service = (ISaasClientService)getProxyInstance(saasClientService);
            boolean succ = service.clientChangeProcess(fse);
            if (succ) {
                return OK();
            }
            return error(SaasCode.CLIENT_CHANGE_CONFIRM_SAVEFAIL.getValue(), SaasCode.CLIENT_CHANGE_CONFIRM_SAVEFAIL.getText());
        } catch (BaseException e) {
            e.printStackTrace();
            return error(e);
        } catch (Exception e) {
            e.printStackTrace();
            return error(SaasCode.CLIENT_CHANGE_CONFIRM_FAIL.getValue(), SaasCode.CLIENT_CHANGE_CONFIRM_FAIL.getText() + e.getMessage());
        }
    }
}
src/main/java/com/product/saas/controller/SystemContractController.java
ÎļþÒÑɾ³ý
src/main/java/com/product/saas/controller/TenantContractController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
package com.product.saas.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.product.saas.config.SaasCode;
import com.product.saas.config.SaasConst;
import com.product.saas.service.TenantContractService;
import com.product.core.controller.support.AbstractBaseController;
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.module.sys.version.ApiVersion;
import com.product.util.BaseUtil;
@RequestMapping("/api/tenant-contract")
@RestController
public class TenantContractController extends AbstractBaseController{
    @Autowired
    TenantContractService tenantContractService;
    /**
     * èŽ·å–åˆåŒä¿¡æ¯
     * @param request
     * @return
     */
    @RequestMapping("/list-contract/{version}")
    @ApiVersion(1)
    public String listContract(HttpServletRequest request){
        try {
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, SaasConst.PRODUCT_SYS_CONTRACT);
            return OK_List(tenantContractService.listContract(fse));
        } catch (BaseException e) {
            e.printStackTrace();
            return this.error(e);
        }catch (Exception e){
            e.printStackTrace();
            return error(SaasCode.CLIENT_CONTRACT_GET_LIST_FAIL.getValue(), SaasCode.CLIENT_CONTRACT_GET_LIST_FAIL.getText()+e.getMessage());
        }
    }
    /**
     * èŽ·å–ç§Ÿæˆ·æœ€æ–°åˆåŒä¿¡æ¯
     * @param request
     * @return
     */
    @RequestMapping("/find-contract/{version}")
    @ApiVersion(1)
    public String findContract(HttpServletRequest request){
        try {
            FieldSetEntity fse = BaseUtil.getFieldSetEntity(request, SaasConst.PRODUCT_SYS_CONTRACT);
            return OK_List(tenantContractService.findContract(fse.getString("uuid")));
        } catch (BaseException e) {
            e.printStackTrace();
            return this.error(e);
        }catch (Exception e){
            e.printStackTrace();
            return error(SaasCode.CLIENT_CONTRACT_GET_FIND_FAIL.getValue(), SaasCode.CLIENT_CONTRACT_GET_FIND_FAIL.getText()+e.getMessage());
        }
    }
}
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);
    }
}
src/main/java/com/product/saas/service/TenantContractService.java
ÎļþÃû´Ó src/main/java/com/product/saas/service/SystemContractService.java ÐÞ¸Ä
@@ -1,6 +1,8 @@
package com.product.saas.service;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -12,17 +14,48 @@
import com.product.core.entity.FieldSetEntity;
import com.product.core.exception.BaseException;
import com.product.core.service.support.AbstractBaseService;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.module.sys.entity.SystemUser;
import com.product.saas.config.SaasCode;
import com.product.saas.config.SaasConst;
import com.product.util.BaseUtil;
import cn.hutool.core.io.FileUtil;
@Component
public class SystemContractService extends AbstractBaseService{
public class TenantContractService extends AbstractBaseService{
    @Autowired
    BaseDao baseDao;
    
    public DataTableEntity listContract(FieldSetEntity fse) {
        SystemUser user = SpringMVCContextHolder.getCurrentUser();
        if (user == null) {
            return null;
        }
        List<Object> param = new ArrayList<>();;
        StringBuilder sql = new StringBuilder();
        sql.append("\n SELECT A.*");
        sql.append("\n FROM product_sys_contract A");
        sql.append("\n LEFT JOIN product_sys_clients B ON B.uuid = A.client_uuid");
        sql.append("\n WHERE ").append(fse.getString("filter"));
        FieldSetEntity fsePost = user.getJobPost();
        if (fsePost == null) {
            param.add(user.getClient_uuid());
            sql.append("\n AND A.client_uuid = ?");
        } else {
            if(fsePost.getString("job_post_name").contains("平台管理员")) {
                param.add(user.getUser_id());
                sql.append("\n AND B.platform_admin = ?");
            }
        }
        DataTableEntity dte = baseDao.listTable(sql.toString(), param.toArray(), fse.getInteger("pagesize"), fse.getInteger("cpage"));
        if (!BaseUtil.dataTableIsEmpty(dte)) {
            baseDao.loadPromptData(dte);
        }
        return dte;
    }
    /**
     *     èŽ·å–åˆåŒè¯¦æƒ…(流程详情调用)
     * @param fse
src/main/java/com/product/saas/service/idel/ISaasClientService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
package com.product.saas.service.idel;
import com.product.core.entity.FieldSetEntity;
public interface ISaasClientService {
    public boolean clientChangeProcess(FieldSetEntity fseChange);
}