| | |
| | | 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_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 =?"; |
| | | private static final String SQL_DELETE_ROLE_USER = "DELETE FROM S_ROLE_USER WHERE USER_ID =?"; |
| | | |
| | | private static final String SQL_SELECT_USER_CODE="SELECT * FROM FIN_SYS_TENANT_USER where 1 = 1 "; |
| | | /** |
| | | * 根据用户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_ID="SELECT * FROM S_ROLE where 1=1 "; |
| | | private static final String SQL_SELECT_USER_CODE = "SELECT * FROM FIN_SYS_TENANT_USER where 1 = 1 "; |
| | | |
| | | private static final String SQL_SELECT_USER_ID = "SELECT * FROM S_ROLE where 1=1 "; |
| | | private static final String SQL_DEPT_ROLES = "select * from s_dept where status=0 and del_flag=0"; |
| | | |
| | | 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 分页查询系统用户 |
| | |
| | | public GenericPager<FinSysTenantUser> queryAllPageUser(FinSysTenantUserSearchParam param) { |
| | | Map<String, Object> parameter = new HashMap<>(5); |
| | | StringBuilder sql = new StringBuilder(SQL_QH_PAGE_USER_PREFIX); |
| | | if(param.getTenantCode() > 0){ |
| | | if (param.getTenantCode() > 0) { |
| | | sql.append(" and fstu.TENANT_CODE =:tenantCode"); |
| | | parameter.put("tenantCode", param.getTenantCode()); |
| | | } |
| | | if(param.getSupplierId() !=null ){ |
| | | if (param.getSupplierId() != null) { |
| | | sql.append(" and fstu.supplier_Id =:supplier_Id"); |
| | | parameter.put("supplier_Id", param.getSupplierId()); |
| | | } |
| | | if(StringUtils.isNotEmpty(param.getUserName())){ |
| | | if (StringUtils.isNotEmpty(param.getUserName())) { |
| | | sql.append(" and USER_NAME like :userName"); |
| | | parameter.put("userName", StringUtils.CHAR_PERCENT + param.getUserName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if(StringUtils.isNotEmpty(param.getUserCode())){ |
| | | if (StringUtils.isNotEmpty(param.getUserCode())) { |
| | | sql.append(" and USER_CODE like :USER_CODE"); |
| | | parameter.put("USER_CODE", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT); |
| | | } |
| | |
| | | // sql.append(" and user_code like :user_code"); |
| | | // parameter.put("user_code", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT); |
| | | // } |
| | | if(param.getStatus()!=null){ |
| | | if (param.getStatus() != null) { |
| | | sql.append(" and status =:status"); |
| | | parameter.put("status", param.getStatus()); |
| | | } |
| | |
| | | // parameter.put("role_id", param.getRoleId()); |
| | | // } |
| | | |
| | | |
| | | if(StringUtils.isNotEmpty(param.getUserPhone())){ |
| | | if (StringUtils.isNotEmpty(param.getUserPhone())) { |
| | | sql.append(" and USER_PHONE =:userPhone"); |
| | | try { |
| | | // 加密手机号 |
| | |
| | | } |
| | | |
| | | // 这里是选择人员加的 |
| | | if(param.getType()!=null){ |
| | | // 1 是财政用户 2 供应商 他俩的区别就是 供应商id是否为空 |
| | | if(param.getType()==1){ |
| | | sql.append(" and fstu.supplier_Id is null "); |
| | | } |
| | | if (param.getType() != null) { |
| | | // 1 是财政用户 2 供应商 他俩的区别就是 供应商id是否为空 |
| | | if (param.getType() == 1) { |
| | | sql.append(" and fstu.supplier_Id is null "); |
| | | } |
| | | |
| | | if(param.getType()==2){ |
| | | //这里是 查的供应商 供应商id 已经在上面加过了 |
| | | } |
| | | if (param.getType() == 2) { |
| | | //这里是 查的供应商 供应商id 已经在上面加过了 |
| | | } |
| | | } |
| | | // 绑定CTI客服 |
| | | if (param.getCtiStatus() != null) { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description 分页查询系统用户 |
| | | * @Author wh |
| | |
| | | public GenericPager<FinSysTenantUser> queryAllPageUserNew(FinSysTenantUserSearchParam param) { |
| | | Map<String, Object> parameter = new HashMap<>(5); |
| | | StringBuilder sql = new StringBuilder(SQL_QH_PAGE_USER_PREFIX_NEW); |
| | | if(param.getTenantCode() > 0){ |
| | | if (param.getTenantCode() > 0) { |
| | | sql.append(" and fstu.TENANT_CODE =:tenantCode"); |
| | | parameter.put("tenantCode", param.getTenantCode()); |
| | | } |
| | | if(param.getSupplierId() !=null ){ |
| | | if (param.getSupplierId() != null) { |
| | | sql.append(" and fstu.supplier_Id =:supplier_Id"); |
| | | parameter.put("supplier_Id", param.getSupplierId()); |
| | | } |
| | | if(StringUtils.isNotEmpty(param.getUserName())){ |
| | | if (StringUtils.isNotEmpty(param.getUserName())) { |
| | | sql.append(" and USER_NAME like :userName"); |
| | | parameter.put("userName", StringUtils.CHAR_PERCENT + param.getUserName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if(StringUtils.isNotEmpty(param.getUserCode())){ |
| | | if (StringUtils.isNotEmpty(param.getUserCode())) { |
| | | sql.append(" and user_code like :user_code"); |
| | | parameter.put("user_code", StringUtils.CHAR_PERCENT + param.getUserCode() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if(param.getStatus()!=null){ |
| | | if (param.getStatus() != null) { |
| | | sql.append(" and status like :status"); |
| | | parameter.put("status", param.getStatus()); |
| | | } |
| | | |
| | | if(param.getRoleId()!=null &&!param.getRoleId().equals("")){ |
| | | if (param.getRoleId() != null && !param.getRoleId().equals("")) { |
| | | 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())){ |
| | | if (StringUtils.isNotEmpty(param.getUserPhone())) { |
| | | sql.append(" and USER_PHONE =:userPhone"); |
| | | try { |
| | | // 加密手机号 |
| | |
| | | } |
| | | |
| | | // 这里是选择人员加的 |
| | | if(param.getType()!=null){ |
| | | if (param.getType() != null) { |
| | | // 1 是财政用户 2 供应商 他俩的区别就是 供应商id是否为空 |
| | | if(param.getType()==1){ |
| | | if (param.getType() == 1) { |
| | | sql.append(" and fstu.supplier_Id is null "); |
| | | } |
| | | |
| | | if(param.getType()==2){ |
| | | if (param.getType() == 2) { |
| | | //这里是 查的供应商 供应商id 已经在上面加过了 |
| | | } |
| | | } |
| | |
| | | FinSysTenantUser finSysTenantUser = new FinSysTenantUser(); |
| | | finSysTenantUser.setId(Long.valueOf(id)); |
| | | List<FinSysTenantUser> finSysTenantUserList = this.select(finSysTenantUser); |
| | | if(!StringUtils.isEmptyList(finSysTenantUserList)){ |
| | | if (!StringUtils.isEmptyList(finSysTenantUserList)) { |
| | | return finSysTenantUserList.get(0); |
| | | } |
| | | return null; |
| | |
| | | |
| | | /** |
| | | * 批量添加角色对应的用户。 |
| | | * |
| | | * @param roleIdList |
| | | * @param userId |
| | | */ |
| | | public void execInsertRoleUserList(List<Long> roleIdList, Long userId){ |
| | | public void execInsertRoleUserList(List<Long> roleIdList, Long userId) { |
| | | List<Object[]> parameters = new ArrayList<>(); |
| | | Object[] one = null; |
| | | for(long roleId : roleIdList){ |
| | | for (long roleId : roleIdList) { |
| | | one = new Object[2]; |
| | | one[0] = userId; |
| | | one[1] = roleId; |
| | |
| | | /** |
| | | * 批量添加角色对应的用户。支持同时多个用户 |
| | | */ |
| | | public void execInsertRoleUserList(List<FinSysTenantUser> finSysTenantUsers){ |
| | | public void execInsertRoleUserList(List<FinSysTenantUser> finSysTenantUsers) { |
| | | List<Object[]> parameters = new ArrayList<>(); |
| | | for (FinSysTenantUser finSysTenantUser : finSysTenantUsers) { |
| | | Object[] one = null; |
| | | for(long roleId : finSysTenantUser.getRoleList()){ |
| | | for (long roleId : finSysTenantUser.getRoleList()) { |
| | | one = new Object[2]; |
| | | one[0] = finSysTenantUser.getSysUserId(); |
| | | one[1] = roleId; |
| | |
| | | |
| | | /** |
| | | * 批量删除用户角色 |
| | | * |
| | | * @param userId |
| | | */ |
| | | public void execDelRoleUserList(Long userId){ |
| | | public void execDelRoleUserList(Long userId) { |
| | | List<Object[]> parameters = new ArrayList<>(); |
| | | Object[] one = new Object[1]; |
| | | one[0]=userId; |
| | | one[0] = userId; |
| | | parameters.add(one); |
| | | 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 用户登录标识 |
| | | * |
| | | * @param userCode 用户登录标识 |
| | | * @return |
| | | */ |
| | | public Integer getByUserCode(String userCode){ |
| | | public Integer getByUserCode(String userCode) { |
| | | Map<String, Object> parameter = new HashMap<>(); |
| | | StringBuilder sql = new StringBuilder(SQL_SELECT_USER_CODE); |
| | | sql.append("and USER_CODE= :userCode"); |
| | | parameter.put("userCode", userCode); |
| | | sql.append(" limit 1"); |
| | | List<FinSysTenantUser> select = this.select(sql.toString(), parameter, new FinSysTenantUser()); |
| | | Integer flag=0; |
| | | if (select!=null && select.size() >0){ |
| | | flag=select.size(); |
| | | Integer flag = 0; |
| | | if (select != null && select.size() > 0) { |
| | | flag = select.size(); |
| | | } |
| | | return flag; |
| | | } |
| | | |
| | | /** |
| | | * 根据USERID查询角色 |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | public List<S_role> getByUserId(Long userId){ |
| | | public List<S_role> getByUserId(Long userId) { |
| | | Map<String, Object> parameter = new HashMap<>(); |
| | | 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 )"); |
| | |
| | | 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; |
| | | } |
| | | |
| | | public List<S_dept> selectDept(String deptName) { |
| | | StringBuilder sqlStr=new StringBuilder(SQL_DEPT_ROLES); |
| | | StringBuilder sqlStr = new StringBuilder(SQL_DEPT_ROLES); |
| | | Map<String, Object> paramts = new HashMap<>(); |
| | | sqlStr.append(" and dept_name =:dept_name"); |
| | | paramts.put("dept_name",deptName); |
| | | paramts.put("dept_name", deptName); |
| | | List<S_dept> orgDeptList = this.select(sqlStr.toString(), paramts, new S_dept()); |
| | | return orgDeptList; |
| | | } |
| | |
| | | |
| | | /** |
| | | * 根据机构id查询机构 |
| | | * |
| | | * @param orgId |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | } |
| | | |
| | | 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); |
| | |
| | | sql.append(" and fstu.USER_NAME like :userName"); |
| | | parameters.put("userName", StringUtils.CHAR_PERCENT + finSysTenantUserSearchParam.getUserName() + StringUtils.CHAR_PERCENT); |
| | | } |
| | | if(finSysTenantUserSearchParam.getStartTime() != null && finSysTenantUserSearchParam.getStartTime() > 0){ |
| | | if (finSysTenantUserSearchParam.getStartTime() != null && finSysTenantUserSearchParam.getStartTime() > 0) { |
| | | sql.append(" and fem.create_time >= :startTime"); |
| | | parameters.put("startTime", finSysTenantUserSearchParam.getStartTime()); |
| | | } |
| | | if(finSysTenantUserSearchParam.getEndTime() != null && finSysTenantUserSearchParam.getEndTime() > 0){ |
| | | if (finSysTenantUserSearchParam.getEndTime() != null && finSysTenantUserSearchParam.getEndTime() > 0) { |
| | | sql.append(" and fem.create_time <= :endTime"); |
| | | parameters.put("endTime", finSysTenantUserSearchParam.getEndTime()); |
| | | } |