package com.example.web.mapper; import com.example.web.annotation.DataSource; import com.example.web.dto.ManagerAuthInfo; import com.example.web.entity.UsersManagements; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.time.LocalDateTime; import java.util.List; /** * 负责人信息Mapper接口 * 对应wechat_app数据源中的负责人信息表操作 * 使用@DataSource("wechat")注解指定数据源 */ @Mapper @DataSource("wechat") public interface SupplyUsersManagementsMapper { // 负责人信息相关的数据库操作方法将在这里定义 // 🔥 新增:根据用户名和managerId查询 List findByUserNameAndManagerId(@Param("userName") String userName, @Param("managerId") String managerId); // 新增方法 List findByDepartment(@Param("department") String department); List findByConditions(@Param("userName") String userName, @Param("department") String department, @Param("company") String company, @Param("role") String role); /** * 根据用户ID查询负责人信息 */ UsersManagements findByUserId(@Param("userId") String userId); /** * 插入负责人信息 */ int insertUsersManagements(UsersManagements usersManagements); /** * 更新负责人信息 */ int updateUsersManagements(UsersManagements usersManagements); // 🔥 新增:更新负责人信息的更新时间(不改变负责人本身) boolean updateManagerUpdateTime(@Param("userId") String userId, @Param("updatedAt") LocalDateTime updatedAt); // 🔥 新增:查询指定客户的完整负责人信息 UsersManagements findCompleteManagerInfoByUserId(String userId); // 新增:根据用户ID和认证信息直接查询匹配的负责人 UsersManagements findByUserIdAndAuthInfo(@Param("userId") String userId, @Param("authInfo") ManagerAuthInfo authInfo); // 新增:批量查询用户权限 List findAuthorizedUserIds(@Param("authInfo") ManagerAuthInfo authInfo); // 🔥 新增:批量查询用户负责人信息 List findByUserIds(@Param("userIds") List userIds); }