heheng
5 天以前 189849927e37278c8bc03202bd714aca7a0f8f7d
修改功能
已修改1个文件
99 ■■■■■ 文件已修改
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysUserServiceImpl.java
@@ -24,6 +24,7 @@
import com.gkhy.exam.system.domain.vo.EmployeeRecordVO;
import com.gkhy.exam.system.domain.vo.SpSysUser;
import com.gkhy.exam.system.mapper.EmployeeRecordMapper;
import com.gkhy.exam.system.mapper.ExStudentMapper;
import com.gkhy.exam.system.mapper.SysUserMapper;
import com.gkhy.exam.system.mapper.SysUserRoleMapper;
import com.gkhy.exam.system.service.ExStudentService;
@@ -65,6 +66,9 @@
    @Autowired
    private EmployeeRecordMapper employeeRecordMapper;
    @Autowired
    private ExStudentMapper exStudentMapper;
    @Override
@@ -153,8 +157,6 @@
    public SysUser selectUserById(Long userId) {
        return baseMapper.getUserById(userId);
    }
@@ -166,7 +168,7 @@
        }
        delCacheByUsername(user.getUsername());
        int i = baseMapper.deleteUserById(userId);
        if (i > 0){
        if (i > 0) {
            delEmployeeRecord(userId);
        }
        return i;
@@ -185,26 +187,28 @@
        batchSaveRole(user.getRoles(), user.getId(), false);
        ExStudent exStudent = new ExStudent();
        exStudent.setCompanyId(user.getCompanyId());
        exStudent.setName(user.getName());
        exStudent.setPassword(user.getPassword());
        exStudent.setDeptId(user.getDeptId());
        exStudent.setDuty(user.getDuty());
        exStudent.setSex(user.getSex());
        exStudent.setPhone(user.getPhone());
        exStudent.setUserId(user.getId());
        exStudentService.insertStudent(exStudent);
        Integer internal = user.getInternal();
        if (internal == 0){
            EmployeeRecord employeeRecord = new EmployeeRecord();
            employeeRecord.setCompanyId(user.getCompanyId());
            employeeRecord.setUserId(user.getId());
            employeeRecord.setCreateBy(SecurityUtils.getUsername());
            employeeRecord.setCreateTime(LocalDateTime.now());
            saveEmployeeRecord(employeeRecord);
        if (user.getCompanyId() != null) {
            ExStudent exStudent = new ExStudent();
            exStudent.setCompanyId(user.getCompanyId());
            exStudent.setName(user.getName());
            exStudent.setPassword(user.getPassword());
            exStudent.setDeptId(user.getDeptId());
            exStudent.setDuty(user.getDuty());
            exStudent.setSex(user.getSex());
            exStudent.setPhone(user.getPhone());
            exStudent.setUserId(user.getId());
            exStudentService.insertStudent(exStudent);
            Integer internal = user.getInternal();
            if (internal == 0) {
                EmployeeRecord employeeRecord = new EmployeeRecord();
                employeeRecord.setCompanyId(user.getCompanyId());
                employeeRecord.setUserId(user.getId());
                employeeRecord.setCreateBy(SecurityUtils.getUsername());
                employeeRecord.setCreateTime(LocalDateTime.now());
                saveEmployeeRecord(employeeRecord);
            }
        }
        if (row < 1) {
            throw new ApiException("新增用户失败");
@@ -212,15 +216,15 @@
        return row;
    }
    private void saveEmployeeRecord( EmployeeRecord employeeRecord){
        employeeRecordMapper.insert( employeeRecord);
    private void saveEmployeeRecord(EmployeeRecord employeeRecord) {
        employeeRecordMapper.insert(employeeRecord);
    }
    private void delEmployeeRecord(Long userId){
    private void delEmployeeRecord(Long userId) {
        LambdaUpdateWrapper<EmployeeRecord> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(EmployeeRecord::getUserId,userId).set(EmployeeRecord::getDelFlag,1)
                .set(EmployeeRecord::getUpdateBy,SecurityUtils.getUsername()).set(EmployeeRecord::getUpdateTime,LocalDateTime.now());
        employeeRecordMapper.update(new EmployeeRecord() ,updateWrapper);
        updateWrapper.eq(EmployeeRecord::getUserId, userId).set(EmployeeRecord::getDelFlag, 1)
                .set(EmployeeRecord::getUpdateBy, SecurityUtils.getUsername()).set(EmployeeRecord::getUpdateTime, LocalDateTime.now());
        employeeRecordMapper.update(new EmployeeRecord(), updateWrapper);
    }
@@ -255,26 +259,41 @@
        checkUserAllowed(user);
        user.setUpdateBy(SecurityUtils.getUsername());
        if(StringUtils.isNotEmpty(user.getPassword())){
        if (StringUtils.isNotEmpty(user.getPassword())) {
            user.setPassword(SecurityUtils.encryptPassword(Base64.decodeStr(user.getPassword())));
        }else {
        } else {
            user.setPassword(null);
        }
        if (sysUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode()) && !user.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){
            if (user.getCompanyId() == null){
                throw new ApiException("请选择所属公司");
            }
        }
        if (user.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode()) && !sysUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){
           user.setCompanyId(null);
           delEmployeeRecord(user.getId());
            LambdaUpdateWrapper<ExStudent> updateWrapper = new LambdaUpdateWrapper<>();
            updateWrapper.eq(ExStudent::getUserId, user.getId()).set(ExStudent::getDelFlag, 1)
                    .set(ExStudent::getUpdateBy, SecurityUtils.getUsername()).set(ExStudent::getUpdateTime, LocalDateTime.now());
            exStudentMapper.update(new ExStudent(),updateWrapper);
        }
        int row = baseMapper.updateById(user);
        batchSaveRole(user.getRoles(), user.getId(), true);
        if (sysUser.getInternal() == 0 && sysUser.getInternal() == 1){
            delEmployeeRecord(user.getId());
        }else if (sysUser.getInternal() == 1 && user.getInternal() == 0){
            EmployeeRecord employeeRecord = new EmployeeRecord();
            employeeRecord.setCompanyId(user.getCompanyId());
            employeeRecord.setUserId(user.getId());
            employeeRecord.setCreateBy(SecurityUtils.getUsername());
            employeeRecord.setCreateTime(LocalDateTime.now());
            saveEmployeeRecord(employeeRecord);
        if (user.getCompanyId() != null){
            if (sysUser.getInternal() == 0 && sysUser.getInternal() == 1) {
                delEmployeeRecord(user.getId());
            } else if (sysUser.getInternal() == 1 && user.getInternal() == 0) {
                EmployeeRecord employeeRecord = new EmployeeRecord();
                employeeRecord.setCompanyId(user.getCompanyId());
                employeeRecord.setUserId(user.getId());
                employeeRecord.setCreateBy(SecurityUtils.getUsername());
                employeeRecord.setCreateTime(LocalDateTime.now());
                saveEmployeeRecord(employeeRecord);
            }
        }
        if (row < 1) {
            throw new ApiException("更新用户信息失败");
        }