zhangherong
2025-06-25 23855599412c4d61b38d78f0f3abd3430a48b5b1
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,347 @@
package org.jeecg.modules.system.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.system.vo.SysUserCacheInfo;
import org.jeecg.modules.system.entity.SysRoleIndex;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.model.SysUserSysDepartModel;
import org.jeecg.modules.system.vo.UserSelector;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
 * <p>
 * ç”¨æˆ·è¡¨ æœåŠ¡ç±»
 * </p>
 *
 * @Author scott
 * @since 2018-12-20
 */
public interface ISysUserService extends IService<SysUser> {
   /**
    * é‡ç½®å¯†ç 
    *
    * @param username
    * @param oldpassword
    * @param newpassword
    * @param confirmpassword
    * @return
    */
    Result<?> resetPassword(String username, String oldpassword, String newpassword, String confirmpassword);
   /**
    * ä¿®æ”¹å¯†ç 
    *
    * @param sysUser
    * @return
    */
    Result<?> changePassword(SysUser sysUser);
   /**
    * åˆ é™¤ç”¨æˆ·
    * @param userId
    * @return
    */
    boolean deleteUser(String userId);
   /**
    * æ‰¹é‡åˆ é™¤ç”¨æˆ·
    * @param userIds
    * @return
    */
    boolean deleteBatchUsers(String userIds);
    /**
     * æ ¹æ®ç”¨æˆ·åæŸ¥è¯¢
     * @param username ç”¨æˆ·å
     * @return SysUser
     */
    SysUser getUserByName(String username);
   /**
    * æ·»åŠ ç”¨æˆ·å’Œç”¨æˆ·è§’è‰²å…³ç³»
    * @param user
    * @param roles
    */
    void addUserWithRole(SysUser user, String roles);
   /**
    * ä¿®æ”¹ç”¨æˆ·å’Œç”¨æˆ·è§’色关系
    * @param user
    * @param roles
    */
    void editUserWithRole(SysUser user, String roles);
   /**
    * èŽ·å–ç”¨æˆ·çš„æŽˆæƒè§’è‰²
    * @param username
    * @return
    */
    List<String> getRole(String username);
   /**
    * èŽ·å–æ ¹æ®ç™»å½•ç”¨æˆ·çš„è§’è‰²èŽ·å–åŠ¨æ€é¦–é¡µ
    *
    * @param username
    * @param version å‰ç«¯UI版本
    * @return
    */
    SysRoleIndex getDynamicIndexByUserRole(String username, String version);
   /**
     * æŸ¥è¯¢ç”¨æˆ·ä¿¡æ¯åŒ…括 éƒ¨é—¨ä¿¡æ¯
    * @param username
    * @return
    */
   @Deprecated
    SysUserCacheInfo getCacheUser(String username);
   /**
    * æ ¹æ®éƒ¨é—¨Id查询
    * @param page
     * @param departId éƒ¨é—¨id
     * @param username ç”¨æˆ·è´¦æˆ·åç§°
    * @return
    */
    IPage<SysUser> getUserByDepId(Page<SysUser> page, String departId, String username);
   /**
    * æ ¹æ®éƒ¨é—¨Ids查询
    * @param page
     * @param departIds  éƒ¨é—¨id集合
     * @param username ç”¨æˆ·è´¦æˆ·åç§°
    * @return
    */
    IPage<SysUser> getUserByDepIds(Page<SysUser> page, List<String> departIds, String username);
   /**
    * æ ¹æ® userIds查询,查询用户所属部门的名称(多个部门名逗号隔开)
    * @param userIds
    * @return
    */
    Map<String,String> getDepNamesByUserIds(List<String> userIds);
    /**
     * æ ¹æ®éƒ¨é—¨ Id å’Œ QueryWrapper æŸ¥è¯¢
     *
     * @param page
     * @param departId
     * @param queryWrapper
     * @return
     */
    //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245【漏洞】发现新漏洞待处理20220906 ----sql注入 æ–¹æ³•没有使用,注掉
    // public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper);
   //update-end-author:taoyan date:2022-9-13 for: VUEN-2245【漏洞】发现新漏洞待处理20220906 ----sql注入 æ–¹æ³•没有使用,注掉
   /**
    * æ ¹æ® orgCode æŸ¥è¯¢ç”¨æˆ·ï¼ŒåŒ…括子部门下的用户
    *
    * @param orgCode
    * @param userParams ç”¨æˆ·æŸ¥è¯¢æ¡ä»¶ï¼Œå¯ä¸ºç©º
    * @param page åˆ†é¡µå‚æ•°
    * @return
    */
   IPage<SysUserSysDepartModel> queryUserByOrgCode(String orgCode, SysUser userParams, IPage page);
   /**
    * æ ¹æ®è§’色Id查询
    * @param page
     * @param roleId è§’色id
     * @param username ç”¨æˆ·è´¦æˆ·åç§°
    * @return
    */
    IPage<SysUser> getUserByRoleId(Page<SysUser> page, String roleId, String username);
   /**
    * é€šè¿‡ç”¨æˆ·åèŽ·å–ç”¨æˆ·è§’è‰²é›†åˆ
    *
    * @param username ç”¨æˆ·å
    * @return è§’色集合
    */
   Set<String> getUserRolesSet(String username);
   /**
    * é€šè¿‡ç”¨æˆ·åèŽ·å–ç”¨æˆ·æƒé™é›†åˆ
    *
    * @param username ç”¨æˆ·å
    * @return æƒé™é›†åˆ
    */
   Set<String> getUserPermissionsSet(String username);
   /**
    * æ ¹æ®ç”¨æˆ·åè®¾ç½®éƒ¨é—¨ID
    * @param username
    * @param orgCode
    */
   void updateUserDepart(String username,String orgCode);
   /**
    * æ ¹æ®æ‰‹æœºå·èŽ·å–ç”¨æˆ·åå’Œå¯†ç 
     * @param phone æ‰‹æœºå·
     * @return SysUser
    */
    SysUser getUserByPhone(String phone);
   /**
    * æ ¹æ®é‚®ç®±èŽ·å–ç”¨æˆ·
     * @param email é‚®ç®±
     * @return SysUser
     */
    SysUser getUserByEmail(String email);
   /**
    * æ·»åŠ ç”¨æˆ·å’Œç”¨æˆ·éƒ¨é—¨å…³ç³»
    * @param user
    * @param selectedParts
    */
   void addUserWithDepart(SysUser user, String selectedParts);
   /**
    * ç¼–辑用户和用户部门关系
    * @param user
    * @param departs
    */
   void editUserWithDepart(SysUser user, String departs);
   /**
      * æ ¡éªŒç”¨æˆ·æ˜¯å¦æœ‰æ•ˆ
    * @param sysUser
    * @return
    */
   Result checkUserIsEffective(SysUser sysUser, String loginType);
   /**
    * æŸ¥è¯¢è¢«é€»è¾‘删除的用户
     * @return List<SysUser>
    */
   List<SysUser> queryLogicDeleted();
   /**
    * æŸ¥è¯¢è¢«é€»è¾‘删除的用户(可拼装查询条件)
     * @param wrapper
     * @return List<SysUser>
    */
   List<SysUser> queryLogicDeleted(LambdaQueryWrapper<SysUser> wrapper);
   /**
    * è¿˜åŽŸè¢«é€»è¾‘åˆ é™¤çš„ç”¨æˆ·
     * @param userIds  å­˜æ”¾ç”¨æˆ·id集合
     * @param updateEntity
     * @return boolean
    */
   boolean revertLogicDeleted(List<String> userIds, SysUser updateEntity);
   /**
    * å½»åº•删除被逻辑删除的用户
     * @param userIds å­˜æ”¾ç”¨æˆ·id集合
     * @return boolean
    */
   boolean removeLogicDeleted(List<String> userIds);
    /**
     * æ›´æ–°æ‰‹æœºå·ã€é‚®ç®±ç©ºå­—符串为 null
     * @return boolean
     */
    @Transactional(rollbackFor = Exception.class)
    boolean updateNullPhoneEmail();
   /**
    * ä¿å­˜ç¬¬ä¸‰æ–¹ç”¨æˆ·ä¿¡æ¯
    * @param sysUser
    */
   void saveThirdUser(SysUser sysUser);
   /**
    * æ ¹æ®éƒ¨é—¨Ids查询
    * @param departIds éƒ¨é—¨id集合
     * @param username ç”¨æˆ·è´¦æˆ·åç§°
    * @return
    */
   List<SysUser> queryByDepIds(List<String> departIds, String username);
   /**
    * ä¿å­˜ç”¨æˆ·
    * @param user ç”¨æˆ·
    * @param selectedRoles é€‰æ‹©çš„角色id,多个以逗号隔开
    * @param selectedDeparts é€‰æ‹©çš„部门id,多个以逗号隔开
    * @param selectedProductions é€‰æ‹©çš„产线id,多个以逗号隔开
    */
   void saveUser(SysUser user, String selectedRoles, String selectedDeparts, String selectedProductions);
   /**
    * ç¼–辑用户
    * @param user ç”¨æˆ·
    * @param roles é€‰æ‹©çš„角色id,多个以逗号隔开
    * @param departs é€‰æ‹©çš„部门id,多个以逗号隔开
    * @param productions é€‰æ‹©çš„产线id,多个以逗号隔开
    */
   void editUser(SysUser user, String roles, String departs, String productions);
   /**
     * userId转为username
     * @param userIdList
     * @return List<String>
     */
   List<String> userIdToUsername(Collection<String> userIdList);
   /**
    * èŽ·å–ç”¨æˆ·ä¿¡æ¯ å­—段信息是加密后的 ã€åŠ å¯†ç”¨æˆ·ä¿¡æ¯ã€‘
    * @param username
    * @return
    */
   LoginUser getEncodeUserInfo(String username);
   /**
    * æ ¹æ® userIds查询,查询用户所属产线的名称(多个产线名逗号隔开)
    */
   Map<String, String> getProNamesByUserIds(List<String> userIds);
   /**
    * æ ¹æ®è§’色Id查询该角色下的所有用户信息,不分页
    *
    * @param
    * @return
    */
    List<SysUser> getAllUsersByRoleId(String roleId);
   List<String> getUserByRoleCode(String roleCode);
   List<SysUser> getEquipmentAdmin(String roleCode, String equipmentId);
   /**
    * é€‰æ‹©ç”¨æˆ·
    * @param equipmentCode é€‰æ‹©çš„设备ID
    * @param productionId é€‰æ‹©çš„车间ID
    * @param positionCode å²—位编号
    * @return
    */
    List<UserSelector> selectOperatorList(String equipmentCode, String productionId, String positionCode);
   /**
    * é€‰æ‹©ç”¨æˆ·
    * @param positionCode å²—位编号
    * @return
    */
   List<UserSelector> selectOperatorList( String positionCode);
   /**
    * æ ¹æ®ç”¨æˆ·åæ‰¹é‡èŽ·å–çœŸå®žå§“åæ˜ å°„
     * @param userNames ç”¨æˆ·ååˆ—表
     * @return ç”¨æˆ·å->真实姓名的映射(不存在时值为null)
    */
   Map<String, String> getUserRealNamesByUserNames(List<String> userNames);
}