package com.ots.project.exam.service.impl;
|
|
import com.ots.common.enums.OpertypeEnum;
|
import com.ots.common.utils.StringUtils;
|
import com.ots.common.utils.file.FileUploadUtils;
|
import com.ots.common.utils.security.ShiroUtils;
|
import com.ots.common.utils.text.Convert;
|
import com.ots.framework.config.EssConfig;
|
import com.ots.framework.shiro.service.PasswordService;
|
import com.ots.project.exam.domain.SysUserExtend;
|
import com.ots.project.exam.mapper.SysUserExtendMapper;
|
import com.ots.project.exam.service.ISysUserExtendService;
|
import com.ots.project.system.user.domain.User;
|
import com.ots.project.system.user.domain.UserRole;
|
import com.ots.project.system.user.mapper.UserMapper;
|
import com.ots.project.system.user.mapper.UserRoleMapper;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.IOException;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Objects;
|
|
import static com.ots.common.enums.UserTypeEnum.DIS_USER;
|
import static com.ots.common.enums.UserTypeEnum.SYS_USER;
|
|
/**
|
* 用户信息扩展Service业务层处理
|
*
|
* @author ots
|
* @date 2019-11-20
|
*/
|
@Service
|
public class SysUserExtendServiceImpl implements ISysUserExtendService {
|
|
@Autowired
|
private SysUserExtendMapper sysUserExtendMapper;
|
@Autowired
|
private UserMapper userMapper;
|
@Autowired
|
private UserRoleMapper userRoleMapper;
|
@Autowired
|
private EntOperLogServiceImpl entOperLogService;
|
@Autowired
|
private PasswordService passwordService;
|
|
/**
|
* 查询用户信息扩展
|
*
|
* @param userId 用户信息扩展ID
|
* @return 用户信息扩展
|
*/
|
@Override
|
public SysUserExtend selectSysUserExtendById(Long userId) {
|
return sysUserExtendMapper.selectSysUserExtendById(userId);
|
}
|
|
/**
|
* 查询用户信息扩展列表
|
*
|
* @param sysUserExtend 用户信息扩展
|
* @return 用户信息扩展
|
*/
|
@Override
|
public List<SysUserExtend> selectSysUserExtendList(SysUserExtend sysUserExtend) {
|
return sysUserExtendMapper.selectSysUserExtendList(sysUserExtend);
|
}
|
|
/**
|
* 新增用户信息扩展
|
*
|
* @param sysUserExtend 用户信息扩展
|
* @return 结果
|
*/
|
@Override
|
public int insertSysUserExtend(SysUserExtend sysUserExtend) {
|
|
MultipartFile businessLicenseFile = sysUserExtend.getBusinessLicenseFile();
|
if (businessLicenseFile != null && !businessLicenseFile.isEmpty()) {
|
try {
|
String ufi = FileUploadUtils.upload(EssConfig.getUploadPath(), businessLicenseFile);
|
sysUserExtend.setBusinessLicense(ufi);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
MultipartFile businessLogoFile = sysUserExtend.getBusinessLogoFile();
|
if (businessLogoFile != null && !businessLogoFile.isEmpty()) {
|
try {
|
String ufi = FileUploadUtils.upload(EssConfig.getUploadPath(), businessLogoFile);
|
sysUserExtend.setBusinessLogo(ufi);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
|
if (StringUtils.isNotBlank(sysUserExtend.getLoginName())) {
|
User user = new User();
|
user.setLoginName(sysUserExtend.getLoginName());
|
user.setUserName(sysUserExtend.getUserName());
|
user.setPassword(sysUserExtend.getPassword());
|
user.setUserType(sysUserExtend.getUserType());
|
user.setPhonenumber(sysUserExtend.getPhonenumber());
|
user.randomSalt();
|
user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
|
this.userMapper.insertUser(user);
|
sysUserExtend.setUserId(user.getUserId());
|
if (user.getUserType().equals(DIS_USER.getUserType()) && !Objects.equals("1",sysUserExtend.getFirstLevel())) {
|
UserRole e = new UserRole();
|
e.setRoleId(4L);
|
e.setUserId(user.getUserId());
|
List<UserRole> rs = Arrays.asList(e);
|
this.userRoleMapper.batchUserRole(rs);
|
} else if (user.getUserType().equals("02")) {
|
UserRole e = new UserRole();
|
e.setRoleId(3L);
|
e.setUserId(user.getUserId());
|
List<UserRole> rs = Arrays.asList(e);
|
this.userRoleMapper.batchUserRole(rs);
|
} else if (Objects.equals(DIS_USER.getUserType(),user.getUserType())&& Objects.equals("1",sysUserExtend.getFirstLevel())) {
|
UserRole e = new UserRole();
|
e.setRoleId(6L);
|
e.setUserId(sysUserExtend.getUserId());
|
List<UserRole> rs = Arrays.asList(e);
|
this.userRoleMapper.batchUserRole(rs);
|
}
|
}
|
return sysUserExtendMapper.insertSysUserExtend(sysUserExtend);
|
}
|
|
/**
|
* 修改用户信息扩展
|
*
|
* @param sysUserExtend 用户信息扩展
|
* @return 结果
|
*/
|
@Override
|
public int updateSysUserExtend(SysUserExtend sysUserExtend) {
|
MultipartFile businessLicenseFile = sysUserExtend.getBusinessLicenseFile();
|
if (businessLicenseFile != null && !businessLicenseFile.isEmpty()) {
|
try {
|
String ufi = FileUploadUtils.upload(EssConfig.getUploadPath(), businessLicenseFile);
|
sysUserExtend.setBusinessLicense(ufi);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
MultipartFile businessLogoFile = sysUserExtend.getBusinessLogoFile();
|
if (businessLogoFile != null && !businessLogoFile.isEmpty()) {
|
try {
|
String ufi = FileUploadUtils.upload(EssConfig.getUploadPath(), businessLogoFile);
|
sysUserExtend.setBusinessLogo(ufi);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
MultipartFile contractTextFile = sysUserExtend.getContractTextFile();
|
if (contractTextFile != null && !contractTextFile.isEmpty()) {
|
try {
|
String ufi = FileUploadUtils.upload(EssConfig.getUploadPath(), contractTextFile);
|
sysUserExtend.setContractText(ufi);
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
}
|
if (StringUtils.isNotBlank(sysUserExtend.getLoginName())) {
|
User user = new User();
|
user.setUserId(sysUserExtend.getUserId());
|
user.setLoginName(sysUserExtend.getLoginName());
|
user.setUserName(sysUserExtend.getUserName());
|
user.setPassword(sysUserExtend.getPassword());
|
user.setUserType(sysUserExtend.getUserType());
|
user.setPhonenumber(sysUserExtend.getPhonenumber());
|
this.userMapper.updateUser(user);
|
}
|
|
Long userId = sysUserExtend.getUserId();
|
User user = userMapper.selectUserById(userId);
|
if (user.getUserType().equals(DIS_USER.getUserType()) && !Objects.equals("1",sysUserExtend.getFirstLevel())) {
|
UserRole e = new UserRole();
|
e.setRoleId(4L);
|
e.setUserId(user.getUserId());
|
List<UserRole> rs = Arrays.asList(e);
|
this.userRoleMapper.deleteUserRoleInfo(e);//先删除,再新增
|
this.userRoleMapper.batchUserRole(rs);
|
|
UserRole de = new UserRole();
|
de.setRoleId(6L);
|
de.setUserId(user.getUserId());
|
userRoleMapper.deleteUserRoleInfo(de);
|
} else if (Objects.equals(DIS_USER.getUserType(),user.getUserType())&& Objects.equals("1",sysUserExtend.getFirstLevel())) {
|
UserRole e = new UserRole();
|
e.setRoleId(6L);
|
e.setUserId(sysUserExtend.getUserId());
|
List<UserRole> rs = Arrays.asList(e);
|
this.userRoleMapper.deleteUserRoleInfo(e);//先删除,再新增
|
this.userRoleMapper.batchUserRole(rs);
|
|
UserRole de = new UserRole();
|
de.setRoleId(4L);
|
de.setUserId(user.getUserId());
|
userRoleMapper.deleteUserRoleInfo(de);
|
}
|
|
return sysUserExtendMapper.updateSysUserExtend(sysUserExtend);
|
}
|
|
/**
|
* 删除用户信息扩展对象
|
*
|
* @param ids 需要删除的数据ID
|
* @return 结果
|
*/
|
@Override
|
public int deleteSysUserExtendByIds(String ids) {
|
return sysUserExtendMapper.deleteSysUserExtendByIds(Convert.toStrArray(ids));
|
}
|
|
/**
|
* 删除用户信息扩展信息
|
*
|
* @param userId 用户信息扩展ID
|
* @return 结果
|
*/
|
public int deleteSysUserExtendById(Long userId) {
|
return sysUserExtendMapper.deleteSysUserExtendById(userId);
|
}
|
|
@Override
|
@Transactional
|
public int updateTestNum(Long userId, Long addNum) {
|
SysUserExtend sysUserExtend = sysUserExtendMapper.selectSysUserExtendById(userId);
|
long newTestNum = sysUserExtend.getTestNum() + addNum;
|
sysUserExtend.setTestNum(newTestNum);
|
int result = sysUserExtendMapper.updateSysUserExtend(sysUserExtend);
|
entOperLogService.saveLog(userId, String.valueOf(ShiroUtils.getSysUser().getUserId()), OpertypeEnum.SYS_USER, addNum);
|
return result;
|
}
|
|
@Override
|
public int resetpwd(User user) {
|
user.randomSalt();
|
user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
|
return this.userMapper.updateUser(user);
|
}
|
}
|