2021-07-12 14:51:34 +08:00
package com.xkrs.dao ;
import com.xkrs.model.entity.SysUserEntity ;
import com.xkrs.model.vo.SysUserVo ;
import org.springframework.data.jpa.repository.JpaRepository ;
import org.springframework.data.jpa.repository.Modifying ;
import org.springframework.data.jpa.repository.Query ;
import org.springframework.data.repository.query.Param ;
import java.util.List ;
/ * *
* SysUserDao
2022-06-02 20:50:49 +08:00
*
2021-07-12 14:51:34 +08:00
* @author tajochen
* /
2022-06-02 20:50:49 +08:00
public interface SysUserDao extends JpaRepository < SysUserEntity , Integer > {
@Modifying ( clearAutomatically = true )
@Query ( value = " UPDATE sys_user SET vip_level = ?2 WHERE id = ?1 " , nativeQuery = true )
void updateVipLevel ( Integer id , Integer vipLevel ) ;
@Modifying ( clearAutomatically = true )
@Query ( value = " UPDATE sys_user SET receive_sms = ?2 WHERE id = ?1 " , nativeQuery = true )
void updateReceiveSms ( Integer id , Integer receiveSms ) ;
2021-07-12 14:51:34 +08:00
2022-06-06 11:45:46 +08:00
@Modifying ( clearAutomatically = true )
@Query ( value = " UPDATE sys_user SET remark = ?2 WHERE id = ?1 " , nativeQuery = true )
void updateRemark ( Integer id , String remark ) ;
2021-07-12 14:51:34 +08:00
/ * *
* 检查系统用户名是否存在
* /
@Query ( value = " SELECT COUNT(*) FROM sys_user WHERE user_name = :userName " , nativeQuery = true )
int checkUserName ( @Param ( " userName " ) String userName ) ;
/ * *
* 查找用户实体根据用户名
* /
@Query ( value = " SELECT * FROM sys_user WHERE user_name = :userName " , nativeQuery = true )
SysUserEntity selectByUserName ( @Param ( " userName " ) String userName ) ;
/ * *
* 根据用户名查询用户信息
* /
SysUserEntity findByUserName ( String userName ) ;
/ * *
* 更新用户登录信息
* /
@Modifying
2022-06-02 20:50:49 +08:00
@Query ( value = " UPDATE sys_user SET last_entry_time = now(), last_entry_ip = :ipAddress " + " WHERE user_name = :userName ; " , nativeQuery = true )
2021-07-12 14:51:34 +08:00
int updateSysUserLogin ( @Param ( " userName " ) String userName , @Param ( " ipAddress " ) String ipAddress ) ;
/ * *
* 软删除系统用户根据id
* /
@Modifying
2022-06-02 20:50:49 +08:00
@Query ( value = " UPDATE sys_user SET delete_flag = 1 " + " WHERE id = :id ; " , nativeQuery = true )
2021-07-12 14:51:34 +08:00
int softDeleteGeneralUserById ( @Param ( " id " ) Integer id ) ;
/ * *
* 删除系统用户 ( 危险操作 ! )
* /
@Modifying
@Query ( value = " DELETE FROM sys_user WHERE user_name = :userName ; " , nativeQuery = true )
int deleteSysUser ( @Param ( " userName " ) String userName ) ;
/ * *
* 查询用户信息
* /
2022-07-06 16:15:44 +08:00
@Query ( value = " select new com.xkrs.model.vo.SysUserVo (id,reallyName,telephone,countyCode,activeFlag,addTime,overTime,dayNum,accountType,countyName,lastEntryIp,loginNum,loginLastTime,vipLevel,receiveSms,remark,agentOrgId) from SysUserEntity " )
2021-07-12 14:51:34 +08:00
List < SysUserVo > selectAll ( ) ;
2021-07-15 14:31:07 +08:00
/ * *
* 根据用户名查询实体信息
* /
2022-07-06 16:15:44 +08:00
@Query ( value = " select new com.xkrs.model.vo.SysUserVo (id,reallyName,telephone,countyCode,activeFlag,addTime,overTime,dayNum,accountType,countyName,lastEntryIp,loginNum,loginLastTime,vipLevel,receiveSms,remark,agentOrgId) from SysUserEntity where userName = :userName " )
2021-07-15 14:31:07 +08:00
SysUserVo selectUserByUserName ( String userName ) ;
2021-07-12 14:51:34 +08:00
/ * *
* 启用
* /
2022-06-02 20:50:49 +08:00
@Query ( value = " update sys_user set active_flag = 0 where id = ? " , nativeQuery = true )
@Modifying ( clearAutomatically = true )
2021-07-12 14:51:34 +08:00
void updateEnable ( Integer userId ) ;
/ * *
* 禁用
* /
2022-06-02 20:50:49 +08:00
@Query ( value = " update sys_user set active_flag = 1 where id = ? " , nativeQuery = true )
@Modifying ( clearAutomatically = true )
2021-07-12 14:51:34 +08:00
void updateDisable ( Integer userId ) ;
/ * *
* 用户修改密码
* /
2022-06-02 20:50:49 +08:00
@Query ( value = " update sys_user set password = ?2 where id = ?1 " , nativeQuery = true )
@Modifying ( clearAutomatically = true )
void updatePassword ( Integer userId , String newPassword ) ;
2021-07-12 14:51:34 +08:00
/ * *
* 根据id查询用户的信息
* /
2022-06-02 20:50:49 +08:00
@Query ( value = " select * from sys_user where id = ? " , nativeQuery = true )
2021-07-12 14:51:34 +08:00
SysUserEntity selectByUserId ( Integer userId ) ;
2021-08-04 16:17:58 +08:00
/ * *
* 根据id修改账户的到期时间
* /
2022-06-02 20:50:49 +08:00
@Query ( value = " update sys_user set over_time = ?2 where id = ?1 " , nativeQuery = true )
@Modifying ( clearAutomatically = true )
void updateOverTime ( Integer userId , String overTime ) ;
2021-08-04 16:17:58 +08:00
/ * *
* 将账户的期限修改为永久有效
* /
2022-06-02 20:50:49 +08:00
@Query ( value = " update sys_user set over_time = '永久' and day_num = 1 where id = ? " , nativeQuery = true )
@Modifying ( clearAutomatically = true )
2021-08-04 16:17:58 +08:00
void updateDayNum ( Integer userId ) ;
2021-08-10 09:06:16 +08:00
/ * *
* 记录用户登录次数
* /
2022-06-02 20:50:49 +08:00
@Query ( value = " update sys_user set login_num = ?2 where id = ?1 " , nativeQuery = true )
@Modifying ( clearAutomatically = true )
void updateLoginNum ( Integer userId , Integer loginNum ) ;
2021-11-17 14:55:09 +08:00
/ * *
* 修改登陆时间
* /
2022-06-02 20:50:49 +08:00
@Query ( value = " update sys_user set login_last_time = ?2 where id = ?1 " , nativeQuery = true )
@Modifying ( clearAutomatically = true )
void updateLoginLastTime ( Integer userId , String loginLastTime ) ;
2021-07-12 14:51:34 +08:00
}