futian.liu
2023-11-17 209d9c6f60d96fc29fad0bd2f9dad8fe8424f91f
consum-base/src/main/java/com/consum/base/service/FinSysTenantUserServiceImpl.java
@@ -10,26 +10,29 @@
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service;
@Service
public class FinSysTenantUserServiceImpl extends BaseServiceImpl {
    private static final String SQL_GET_USER = "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 1 AND `STATUS` = 1 AND TENANT_ID = ?";
    private static final String SQL_QH_PAGE_USER_PREFIX = "select fstu.* from FIN_SYS_TENANT_USER fstu where fstu.IS_DELETE = 1 ";
    private static final String SQL_QH_PAGE_USER_PREFIX_NEW = "select fstu.* from FIN_SYS_TENANT_USER fstu where IS_DELETE = 1 and status=1  ";
    private static final String SQL_TENANT_USER = "select fstu.*, fst.TENANT_NAME, fst.LV from FIN_SYS_TENANT_USER fstu\n" +
            "left join (SELECT CODE, NAME AS TENANT_NAME, LV FROM FIN_SYS_TENANT) fst ON fstu.TENANT_CODE = fst.CODE\n" +
            "where fstu.SYS_USER_ID = ?";
    private static final String SQL_GET_USER = "SELECT * FROM fin_sys_tenant_user WHERE IS_DELETE = 0 AND `STATUS` = 1 AND TENANT_ID = ?";
    private static final String SQL_QH_PAGE_USER_PREFIX = "select fstu.* from FIN_SYS_TENANT_USER fstu where fstu.IS_DELETE = 0 ";
    private static final String SQL_QH_PAGE_USER_PREFIX_NEW = "select fstu.* from FIN_SYS_TENANT_USER fstu where IS_DELETE = 0 and status=1  ";
    private static final String SQL_TENANT_USER = "select fstu.*, fst.TENANT_NAME, fst.LV from FIN_SYS_TENANT_USER fstu\n"
        + "left join (SELECT CODE, NAME AS TENANT_NAME, LV FROM FIN_SYS_TENANT) fst ON fstu.TENANT_CODE = fst.CODE\n" + "where fstu.SYS_USER_ID = ?";
    private static final String SQL_TENANT_USER_BY_USER_ID = "select * from FIN_SYS_TENANT_USER where SYS_USER_ID = ? AND STATUS = 1";
    private static final String SQL_INSERT_ROLE_USER="insert into s_role_user(user_id, role_id, org_id) values(?,?,0)";
    private static final String SQL_DELETE_ROLE_USER="DELETE FROM S_ROLE_USER WHERE USER_ID =?";
    /**
     * 根据用户id和角色id删除角色
     */
    private static final String SQL_DELETE_ROLE_BY_USER_ID_AND_ROLE_ID = "DELETE FROM S_ROLE_USER WHERE USER_ID =? AND role_id =?";
    private static final String SQL_SELECT_USER_CODE="SELECT * FROM FIN_SYS_TENANT_USER  where  1 = 1 ";
@@ -39,15 +42,14 @@
    private static final String SQL_FIN_SYS_ORG = "SELECT * from FIN_SYS_ORG where ID=?";
    private static final String SQL_TENANT_KF_USER = "select fstu.*, sru.USER_ID from FIN_SYS_TENANT_USER fstu\n" +
            "left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = '1690961420053') sru ON fstu.SYS_USER_ID = sru.USER_ID\n" +
            "WHERE IS_DELETE = 1 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND TENANT_CODE = ?";
    private static final String SQL_TENANT_KF_USER = "select fstu.*, sru.USER_ID from FIN_SYS_TENANT_USER fstu\n"
        + "left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = '1690961420053') sru ON fstu.SYS_USER_ID = sru.USER_ID\n"
        + "WHERE IS_DELETE = 0 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND TENANT_CODE = ?";
    private static final String SQL_TEAM_KF_USER = "select fstu.*, sru.USER_ID,FST2.CODE as PARENT_Code from FIN_SYS_TENANT_USER fstu\n" +
            " left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = 2) sru ON fstu.SYS_USER_ID = sru.USER_ID\n" +
            " LEFT JOIN FIN_SYS_TENANT FST ON FST.CODE = fstu.TENANT_CODE \n" +
            " LEFT JOIN FIN_SYS_TENANT FST2 ON FST2.ID = FST.PARENT_ID \n" +
            "            WHERE IS_DELETE = 1 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND fstu.ID != ?";
    private static final String SQL_TEAM_KF_USER = "select fstu.*, sru.USER_ID,FST2.CODE as PARENT_Code from FIN_SYS_TENANT_USER fstu\n"
        + " left join (select USER_ID FROM S_ROLE_USER WHERE ROLE_ID = 2) sru ON fstu.SYS_USER_ID = sru.USER_ID\n"
        + " LEFT JOIN FIN_SYS_TENANT FST ON FST.CODE = fstu.TENANT_CODE \n" + " LEFT JOIN FIN_SYS_TENANT FST2 ON FST2.ID = FST.PARENT_ID \n"
        + "            WHERE IS_DELETE = 0 AND STATUS = 1 AND sru.USER_ID is NOT NULL AND fstu.ID != ?";
    /**
     * @Description 分页查询系统用户
@@ -87,7 +89,6 @@
//            parameter.put("role_id", param.getRoleId());
//        }
        if(StringUtils.isNotEmpty(param.getUserPhone())){
            sql.append(" and USER_PHONE =:userPhone");
            try {
@@ -124,7 +125,6 @@
    }
    /**
     * @Description 分页查询系统用户
     * @Author wh
@@ -158,7 +158,6 @@
            sql.append(" and fstu.SYS_USER_ID  in  (select  user_id    from s_role_user where role_id = :role_id)");
            parameter.put("role_id", param.getRoleId());
        }
        if(StringUtils.isNotEmpty(param.getUserPhone())){
            sql.append(" and USER_PHONE =:userPhone");
@@ -208,6 +207,7 @@
    /**
     * 批量添加角色对应的用户。
     *
     * @param roleIdList
     * @param userId
     */
@@ -243,6 +243,7 @@
    /**
     * 批量删除用户角色
     *
     * @param userId
     */
    public void execDelRoleUserList(Long userId){
@@ -253,9 +254,24 @@
        this.execBatchUpdate(SQL_DELETE_ROLE_USER, parameters);
    }
    /**
     * 根据用户id和角色id删除用户角色
     *
     * @param userId
     */
    public void execDeleteRoleByUserIdAndRoleId(Long userId, Long roleId) {
        List<Object[]> parameters = new ArrayList<>();
        Object[] one = new Object[2];
        one[0] = userId;
        one[1] = roleId;
        parameters.add(one);
        this.execBatchUpdate(SQL_DELETE_ROLE_BY_USER_ID_AND_ROLE_ID, parameters);
    }
    /**
     * 根据userCode查询重复。
     *
     * @param userCode  用户登录标识
     * @return
     */
@@ -275,6 +291,7 @@
    /**
     * 根据USERID查询角色
     *
     * @param userId
     * @return
     */
@@ -283,6 +300,18 @@
        StringBuilder sql = new StringBuilder(SQL_SELECT_USER_ID);
        sql.append("and ROLE_ID IN (SELECT DISTINCT(ROLE_ID) FROM S_ROLE_USER WHERE USER_ID= :userId )");
        parameter.put("userId", userId);
        List<S_role> select = this.select(sql.toString(), parameter, new S_role());
        return select;
    }
    /**
     * 查询所有角色列表
     *
     * @return
     */
    public List<S_role> getRoleAll() {
        Map<String, Object> parameter = new HashMap<>();
        StringBuilder sql = new StringBuilder(SQL_SELECT_USER_ID);
        List<S_role> select = this.select(sql.toString(), parameter, new S_role());
        return select;
    }
@@ -328,6 +357,7 @@
    /**
     * 根据机构id查询机构
     *
     * @param orgId
     * @return
     */
@@ -345,15 +375,15 @@
        }
    }
    private static final String SQL_GET_ALL_USER = "select DISTINCT( fstu.sys_user_id), fstu.USER_NAME as USER_Name, fstu.id as Id from (\n" +
            "SELECT DISTINCT(CREATE_BY), EVENT_MANAGE_ID FROM FIN_EVENT_MANAGE_RECORD) femr LEFT JOIN FIN_SYS_TENANT_USER fstu ON femr.CREATE_BY = fstu.ID\n" +
            "LEFT JOIN FIN_EVENT_MANAGE fem ON fem.id = femr.EVENT_MANAGE_ID WHERE USER_NAME is not NULL ";
    private static final String SQL_GET_ALL_USER = "select DISTINCT( fstu.sys_user_id), fstu.USER_NAME as USER_Name, fstu.id as Id from (\n"
        + "SELECT DISTINCT(CREATE_BY), EVENT_MANAGE_ID FROM FIN_EVENT_MANAGE_RECORD) femr LEFT JOIN FIN_SYS_TENANT_USER fstu ON femr.CREATE_BY = fstu.ID\n"
        + "LEFT JOIN FIN_EVENT_MANAGE fem ON fem.id = femr.EVENT_MANAGE_ID WHERE USER_NAME is not NULL ";
    /**
     * @Description 查询数据统计的信息
     * @Author wh
     * @Date 2023/9/5 11:53
     * */
     */
    public List<FinSysTenantUser> getStatics(FinSysTenantUserSearchParam finSysTenantUserSearchParam) {
        Map<String, Object> parameters = new HashMap<>(10);
        StringBuilder sql = new StringBuilder(SQL_GET_ALL_USER);