Search in sources :

Example 21 with BusinessException

use of com.jun.plugin.system.common.exception.BusinessException in project jun_springboot_api_service by wujun728.

the class UserServiceImpl method addUser.

@Override
public void addUser(SysUser vo) {
    SysUser sysUserOne = sysUserMapper.selectOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, vo.getUsername()));
    if (sysUserOne != null) {
        throw new BusinessException("用户已存在,请勿重复添加!");
    }
    vo.setSalt(PasswordUtils.getSalt());
    String encode = PasswordUtils.encode(vo.getPassword(), vo.getSalt());
    vo.setPassword(encode);
    vo.setStatus(1);
    vo.setCreateWhere(1);
    sysUserMapper.insert(vo);
    if (!CollectionUtils.isEmpty(vo.getRoleIds())) {
        UserRoleOperationReqVO reqVO = new UserRoleOperationReqVO();
        reqVO.setUserId(vo.getId());
        reqVO.setRoleIds(vo.getRoleIds());
        userRoleService.addUserRoleInfo(reqVO);
    }
}
Also used : UserRoleOperationReqVO(com.jun.plugin.system.vo.req.UserRoleOperationReqVO) BusinessException(com.jun.plugin.system.common.exception.BusinessException) SysUser(com.jun.plugin.system.entity.SysUser)

Example 22 with BusinessException

use of com.jun.plugin.system.common.exception.BusinessException in project jun_springboot_api_service by wujun728.

the class UserServiceImpl method register.

@Override
public void register(SysUser sysUser) {
    SysUser sysUserOne = sysUserMapper.selectOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, sysUser.getUsername()));
    if (sysUserOne != null) {
        throw new BusinessException("用户名已存在!");
    }
    sysUser.setSalt(PasswordUtils.getSalt());
    String encode = PasswordUtils.encode(sysUser.getPassword(), sysUser.getSalt());
    sysUser.setPassword(encode);
    sysUserMapper.insert(sysUser);
}
Also used : BusinessException(com.jun.plugin.system.common.exception.BusinessException) SysUser(com.jun.plugin.system.entity.SysUser)

Example 23 with BusinessException

use of com.jun.plugin.system.common.exception.BusinessException in project jun_springboot_api_service by wujun728.

the class UserServiceImpl method login.

@Override
public LoginRespVO login(SysUser vo) {
    SysUser sysUser = sysUserMapper.selectOne(Wrappers.<SysUser>lambdaQuery().eq(SysUser::getUsername, vo.getUsername()));
    if (null == sysUser) {
        throw new BusinessException(BaseResponseCode.NOT_ACCOUNT);
    }
    if (sysUser.getStatus() == 2) {
        throw new BusinessException(BaseResponseCode.USER_LOCK);
    }
    if (!PasswordUtils.matches(sysUser.getSalt(), vo.getPassword(), sysUser.getPassword())) {
        throw new BusinessException(BaseResponseCode.PASSWORD_ERROR);
    }
    LoginRespVO respVO = new LoginRespVO();
    BeanUtils.copyProperties(sysUser, respVO);
    // true:允许多处登陆; false:只能单处登陆,顶掉之前登陆
    if (!allowMultipleLogin) {
        httpSessionService.abortUserById(sysUser.getId());
    }
    if (StringUtils.isNotBlank(sysUser.getDeptId())) {
        SysDept sysDept = sysDeptMapper.selectById(sysUser.getDeptId());
        if (sysDept != null) {
            sysUser.setDeptNo(sysDept.getDeptNo());
        }
    }
    String token = httpSessionService.createTokenAndUser(sysUser, roleService.getRoleNames(sysUser.getId()), permissionService.getPermissionsByUserId(sysUser.getId()));
    respVO.setAccessToken(token);
    respVO.setJwtToken(JwtUtil.sign(vo.getUsername()));
    return respVO;
}
Also used : BusinessException(com.jun.plugin.system.common.exception.BusinessException) LoginRespVO(com.jun.plugin.system.vo.resp.LoginRespVO) SysUser(com.jun.plugin.system.entity.SysUser) SysDept(com.jun.plugin.system.entity.SysDept)

Example 24 with BusinessException

use of com.jun.plugin.system.common.exception.BusinessException in project jun_springboot_api_service by wujun728.

the class ScheduleUtils method createScheduleJob.

/**
 * 创建定时任务
 */
public static void createScheduleJob(Scheduler scheduler, SysJobEntity scheduleJob) {
    try {
        // 构建job信息
        JobDetail jobDetail = JobBuilder.newJob(ScheduleJob.class).withIdentity(getJobKey(scheduleJob.getId())).build();
        // 表达式调度构建器
        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(scheduleJob.getCronExpression()).withMisfireHandlingInstructionDoNothing();
        // 按新的cronExpression表达式构建一个新的trigger
        CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(scheduleJob.getId())).withSchedule(scheduleBuilder).build();
        // 放入参数,运行时的方法可以获取
        jobDetail.getJobDataMap().put(SysJobEntity.JOB_PARAM_KEY, scheduleJob);
        scheduler.scheduleJob(jobDetail, trigger);
        // 暂停任务
        if (Constant.SCHEDULER_STATUS_PAUSE.equals(scheduleJob.getStatus())) {
            pauseJob(scheduler, scheduleJob.getId());
        }
    } catch (SchedulerException e) {
        throw new BusinessException("创建定时任务失败");
    }
}
Also used : BusinessException(com.jun.plugin.system.common.exception.BusinessException)

Example 25 with BusinessException

use of com.jun.plugin.system.common.exception.BusinessException in project jun_springboot_api_service by wujun728.

the class ScheduleUtils method updateScheduleJob.

/**
 * 更新定时任务
 */
public static void updateScheduleJob(Scheduler scheduler, SysJobEntity scheduleJob) {
    try {
        TriggerKey triggerKey = getTriggerKey(scheduleJob.getId());
        // 表达式调度构建器
        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(scheduleJob.getCronExpression()).withMisfireHandlingInstructionDoNothing();
        CronTrigger trigger = getCronTrigger(scheduler, scheduleJob.getId());
        // 按新的cronExpression表达式重新构建trigger
        trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();
        // 参数
        trigger.getJobDataMap().put(SysJobEntity.JOB_PARAM_KEY, scheduleJob);
        scheduler.rescheduleJob(triggerKey, trigger);
        // 暂停任务
        if (Constant.SCHEDULER_STATUS_PAUSE.equals(scheduleJob.getStatus())) {
            pauseJob(scheduler, scheduleJob.getId());
        }
    } catch (SchedulerException e) {
        throw new BusinessException("更新定时任务失败");
    }
}
Also used : BusinessException(com.jun.plugin.system.common.exception.BusinessException)

Aggregations

BusinessException (com.jun.plugin.system.common.exception.BusinessException)32 SysUser (com.jun.plugin.system.entity.SysUser)7 SysDept (com.jun.plugin.system.entity.SysDept)5 IOException (java.io.IOException)4 UnsupportedEncodingException (java.io.UnsupportedEncodingException)4 SysPermission (com.jun.plugin.system.entity.SysPermission)3 SysRolePermission (com.jun.plugin.system.entity.SysRolePermission)3 Transactional (org.springframework.transaction.annotation.Transactional)3 Algorithm (com.auth0.jwt.algorithms.Algorithm)2 SysRole (com.jun.plugin.system.entity.SysRole)2 DeptRespNodeVO (com.jun.plugin.system.vo.resp.DeptRespNodeVO)2 InvalidKeyException (java.security.InvalidKeyException)2 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)2 SecureRandom (java.security.SecureRandom)2 BadPaddingException (javax.crypto.BadPaddingException)2 Cipher (javax.crypto.Cipher)2 IllegalBlockSizeException (javax.crypto.IllegalBlockSizeException)2 KeyGenerator (javax.crypto.KeyGenerator)2 NoSuchPaddingException (javax.crypto.NoSuchPaddingException)2 SecretKey (javax.crypto.SecretKey)2