用户管理
This commit is contained in:
parent
563455a412
commit
254e0ac233
@ -63,9 +63,9 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
||||
// 获取用户的权限
|
||||
List<AuthorityDto> authorities = roleService.buildPermissions(user);
|
||||
EmEmployees emEmployees = null;
|
||||
if (user.getUserType()==1) {
|
||||
emEmployees = emEmployeesService.findByUserId(user.getId());
|
||||
}
|
||||
// if (user.getUserType()==1) {
|
||||
// emEmployees = emEmployeesService.findByUserId(user.getId());
|
||||
// }
|
||||
// 初始化JwtUserDto
|
||||
jwtUserDto = new JwtUserDto(BeanUtil.copyProperties(user, LoginUserDto.class), UserTypeEnum.getByValue(user.getUserType()),dataService.getDeptIds(user), authorities,emEmployees);
|
||||
// 添加缓存数据
|
||||
|
@ -28,6 +28,7 @@ import com.aircraft.modules.security.service.dto.AuthUserDto;
|
||||
import com.aircraft.modules.security.service.dto.JwtUserDto;
|
||||
import com.aircraft.modules.system.domain.EmEmployees;
|
||||
import com.aircraft.modules.system.domain.User;
|
||||
import com.aircraft.modules.system.domain.dto.EmEmployeesQueryCriteria;
|
||||
import com.aircraft.modules.system.domain.dto.UserPassVo;
|
||||
import com.aircraft.modules.system.domain.vo.EmEmployeesDetailVo;
|
||||
import com.aircraft.modules.system.domain.vo.EmEmployeesVo;
|
||||
@ -36,12 +37,14 @@ import com.aircraft.modules.system.service.UserService;
|
||||
import com.aircraft.utils.*;
|
||||
import com.aircraft.utils.enums.UserTypeEnum;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
@ -49,8 +52,10 @@ import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
|
||||
/**
|
||||
@ -79,7 +84,7 @@ public class EmEmployeesController {
|
||||
// public void exportEmEmployees(HttpServletResponse response, EmEmployeesQueryCriteria criteria) throws IOException {
|
||||
// emEmployeesService.download(emEmployeesService.queryAll(criteria), response);
|
||||
// }
|
||||
//
|
||||
|
||||
// @GetMapping
|
||||
// @ApiOperation("查询员工管理")
|
||||
// @PreAuthorize("@el.check('emEmployees:list')")
|
||||
@ -87,16 +92,16 @@ public class EmEmployeesController {
|
||||
// Page<Object> page = new Page<>(criteria.getPage(), criteria.getSize());
|
||||
// return new ResponseEntity<>(emEmployeesService.queryAll(criteria,page),HttpStatus.OK);
|
||||
// }
|
||||
//
|
||||
// @PostMapping
|
||||
// @Log("新增员工管理")
|
||||
// @ApiOperation("新增员工管理")
|
||||
// @PreAuthorize("@el.check('emEmployees:add')")
|
||||
// public ResponseEntity<Object> createEmEmployees(@Validated @RequestBody EmEmployeesVo resources){
|
||||
// emEmployeesService.create(resources);
|
||||
// return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
// }
|
||||
//
|
||||
|
||||
@PostMapping
|
||||
@Log("新增员工管理")
|
||||
@ApiOperation("新增员工管理")
|
||||
@PreAuthorize("@el.check('emEmployees:add')")
|
||||
public ResponseEntity<Object> createEmEmployees(@Validated @RequestBody EmEmployeesVo resources){
|
||||
emEmployeesService.create(resources);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Log("设置个人信息")
|
||||
@ApiOperation("设置个人信息")
|
||||
@ -111,7 +116,7 @@ public class EmEmployeesController {
|
||||
@ApiImplicitParam(name = "id", value = "飞行员id", required = true, paramType = "path")
|
||||
public ResponseEntity<Object> one(@PathVariable final Integer id) {
|
||||
try {
|
||||
EmEmployees emEmployees = JSON.parseObject(SecurityUtils.getCurrentEmployee(), EmEmployees.class);
|
||||
// EmEmployees emEmployees = JSON.parseObject(SecurityUtils.getCurrentEmployee(), EmEmployees.class);
|
||||
EmEmployeesDetailVo entity = emEmployeesService.findById(id);
|
||||
return new ResponseEntity<>(entity,HttpStatus.OK);
|
||||
} catch (Exception e) {
|
||||
@ -136,22 +141,22 @@ public class EmEmployeesController {
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
//
|
||||
// @DeleteMapping
|
||||
// @Log("删除员工管理")
|
||||
// @ApiOperation("删除员工管理")
|
||||
// @PreAuthorize("@el.check('emEmployees:del')")
|
||||
// public ResponseEntity<Object> deleteEmEmployees(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
|
||||
// emEmployeesService.deleteAll(ids);
|
||||
// return new ResponseEntity<>(HttpStatus.OK);
|
||||
// }
|
||||
|
||||
// @GetMapping("findByPage")
|
||||
// @ApiOperation("分页查询员工管理")
|
||||
// public ResponseEntity<PageResult<EmEmployeesDetailVo>> findByPage(final EmEmployeesDetailVo example, final Page page){
|
||||
// PageResult<EmEmployeesDetailVo> records = emEmployeesService.page(example,page);
|
||||
// return new ResponseEntity<>(records,HttpStatus.OK);
|
||||
// }
|
||||
@DeleteMapping
|
||||
@Log("删除员工管理")
|
||||
@ApiOperation("删除员工管理")
|
||||
@PreAuthorize("@el.check('emEmployees:del')")
|
||||
public ResponseEntity<Object> deleteEmEmployees(@ApiParam(value = "传ID数组[]") @RequestBody List<Long> ids) {
|
||||
emEmployeesService.deleteAll(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("findByPage")
|
||||
@ApiOperation("分页查询员工管理")
|
||||
public ResponseEntity<PageResult<EmEmployeesDetailVo>> findByPage(final EmEmployeesDetailVo example, final Page page){
|
||||
PageResult<EmEmployeesDetailVo> records = emEmployeesService.page(example,page);
|
||||
return new ResponseEntity<>(records,HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("用户登录")
|
||||
@ApiOperation("登录授权")
|
||||
|
@ -16,6 +16,7 @@
|
||||
package com.aircraft.modules.system.domain;
|
||||
|
||||
import com.aircraft.base.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import lombok.Data;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@ -48,12 +49,24 @@ public class EmEmployees extends BaseEntity {
|
||||
@ApiModelProperty(value = "员工状态")
|
||||
private String status;
|
||||
|
||||
@ApiModelProperty(value = "userid")
|
||||
private Long userid;
|
||||
|
||||
@ApiModelProperty(value = "入职时间")
|
||||
private Timestamp hireDate;
|
||||
|
||||
@ApiModelProperty(value = "飞行资质")
|
||||
private String qualification;
|
||||
|
||||
@ApiModelProperty(value = "飞行资质附件")
|
||||
private String qualificationAttachment;
|
||||
|
||||
@ApiModelProperty(value = "区域id")
|
||||
private Long areaId;
|
||||
|
||||
@ApiModelProperty(value = "景区id")
|
||||
private Long scenicId;
|
||||
|
||||
@ApiModelProperty(value = "密码")
|
||||
private String password;
|
||||
|
||||
public void copy(EmEmployees source){
|
||||
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
||||
}
|
||||
|
@ -73,9 +73,9 @@ public class User extends BaseEntity implements Serializable {
|
||||
@ApiModelProperty(value = "用户昵称")
|
||||
private String nickName;
|
||||
|
||||
@Email
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
// @Email
|
||||
// @ApiModelProperty(value = "邮箱")
|
||||
// private String email;
|
||||
|
||||
@NotBlank
|
||||
@ApiModelProperty(value = "电话号码")
|
||||
@ -109,12 +109,6 @@ public class User extends BaseEntity implements Serializable {
|
||||
@ApiModelProperty(value = "景区id")
|
||||
private Long scenicId;
|
||||
|
||||
@ApiModelProperty(value = "飞行资质")
|
||||
private String qualification;
|
||||
|
||||
@ApiModelProperty(value = "飞行资质附件")
|
||||
private String qualificationAttachment;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "区域名称")
|
||||
private String areaName;
|
||||
|
@ -14,8 +14,5 @@ public class EmEmployeesDetailVo extends EmEmployees {
|
||||
@ApiModelProperty(value = "景区名称")
|
||||
private String scenicName;
|
||||
|
||||
@ApiModelProperty(value = "用户性别")
|
||||
private String gender;
|
||||
|
||||
}
|
||||
|
||||
|
@ -182,19 +182,19 @@ public class UserController {
|
||||
return new ResponseEntity<>(userService.updateAvatar(avatar), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("修改邮箱")
|
||||
@ApiOperation("修改邮箱")
|
||||
@PostMapping(value = "/updateEmail/{code}")
|
||||
public ResponseEntity<Object> updateUserEmail(@PathVariable String code, @RequestBody User resources) throws Exception {
|
||||
String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,resources.getPassword());
|
||||
User user = userService.findByName(SecurityUtils.getCurrentUsername());
|
||||
if(!passwordEncoder.matches(password, user.getPassword())){
|
||||
throw new BadRequestException("密码错误");
|
||||
}
|
||||
verificationCodeService.validated(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey() + resources.getEmail(), code);
|
||||
userService.updateEmail(user.getUsername(),resources.getEmail());
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
// @Log("修改邮箱")
|
||||
// @ApiOperation("修改邮箱")
|
||||
// @PostMapping(value = "/updateEmail/{code}")
|
||||
// public ResponseEntity<Object> updateUserEmail(@PathVariable String code, @RequestBody User resources) throws Exception {
|
||||
// String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,resources.getPassword());
|
||||
// User user = userService.findByName(SecurityUtils.getCurrentUsername());
|
||||
// if(!passwordEncoder.matches(password, user.getPassword())){
|
||||
// throw new BadRequestException("密码错误");
|
||||
// }
|
||||
// verificationCodeService.validated(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey() + resources.getEmail(), code);
|
||||
// userService.updateEmail(user.getUsername(),resources.getEmail());
|
||||
// return new ResponseEntity<>(HttpStatus.OK);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 如果当前用户的角色级别低于创建用户的角色级别,则抛出权限不足的错误
|
||||
|
@ -51,53 +51,46 @@ public interface EmEmployeesService extends IService<EmEmployees> {
|
||||
*/
|
||||
List<EmEmployees> queryAll(EmEmployeesQueryCriteria criteria);
|
||||
|
||||
// /**
|
||||
// * 创建
|
||||
// * @param resources /
|
||||
// */
|
||||
// void create(EmEmployeesVo resources);
|
||||
//
|
||||
/**
|
||||
* 创建
|
||||
* @param resources /
|
||||
*/
|
||||
void create(EmEmployeesVo resources);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param resources /
|
||||
*/
|
||||
void update(EmEmployeesVo resources);
|
||||
//
|
||||
// /**
|
||||
// * 多选删除
|
||||
// * @param ids /
|
||||
// */
|
||||
// void deleteAll(List<Long> ids);
|
||||
//
|
||||
// /**
|
||||
// * 导出数据
|
||||
// * @param all 待导出的数据
|
||||
// * @param response /
|
||||
// * @throws IOException /
|
||||
// */
|
||||
// void download(List<EmEmployees> all, HttpServletResponse response) throws IOException;
|
||||
//
|
||||
// /**
|
||||
// * 分页查询
|
||||
// * @param example
|
||||
// * @param page
|
||||
// * @return
|
||||
// */
|
||||
// PageResult<EmEmployeesDetailVo> page(EmEmployeesDetailVo example, Page page);
|
||||
//
|
||||
// /**
|
||||
// * 获取景区下的用户
|
||||
// * @param id
|
||||
// * @return
|
||||
// */
|
||||
// List<EmEmployees> findByScenicId(Long id);
|
||||
|
||||
/**
|
||||
* 根据userid查找用户
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(List<Long> ids);
|
||||
|
||||
/**
|
||||
* 导出数据
|
||||
* @param all 待导出的数据
|
||||
* @param response /
|
||||
* @throws IOException /
|
||||
*/
|
||||
void download(List<EmEmployees> all, HttpServletResponse response) throws IOException;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param example
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
PageResult<EmEmployeesDetailVo> page(EmEmployeesDetailVo example, Page page);
|
||||
|
||||
/**
|
||||
* 获取景区下的用户
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
EmEmployees findByUserId(Long id);
|
||||
List<EmEmployees> findByScenicId(Long id);
|
||||
|
||||
/**
|
||||
* 查询详细信息
|
||||
|
@ -15,17 +15,15 @@
|
||||
*/
|
||||
package com.aircraft.modules.system.service.impl;
|
||||
|
||||
import com.aircraft.exception.EntityExistException;
|
||||
import com.aircraft.base.BaseEntity;
|
||||
import com.aircraft.modules.security.service.UserCacheManager;
|
||||
import com.aircraft.modules.system.domain.EmEmployees;
|
||||
import com.aircraft.modules.system.domain.vo.EmEmployeesDetailVo;
|
||||
import com.aircraft.modules.system.domain.vo.EmEmployeesVo;
|
||||
import com.aircraft.modules.system.domain.User;
|
||||
import com.aircraft.modules.system.mapper.UserMapper;
|
||||
import com.aircraft.modules.system.mapper.UserRoleMapper;
|
||||
import com.aircraft.modules.system.service.EmAreaService;
|
||||
import com.aircraft.modules.system.service.EmScenicService;
|
||||
import com.aircraft.modules.system.service.UserService;
|
||||
import com.aircraft.utils.*;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -35,8 +33,7 @@ import com.aircraft.modules.system.service.EmEmployeesService;
|
||||
import com.aircraft.modules.system.domain.dto.EmEmployeesQueryCriteria;
|
||||
import com.aircraft.modules.system.mapper.EmEmployeesMapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -59,6 +56,7 @@ public class EmEmployeesServiceImpl extends ServiceImpl<EmEmployeesMapper, EmEmp
|
||||
private final UserMapper userMapper;
|
||||
private final EmAreaService areaService;
|
||||
private final EmScenicService scenicService;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
|
||||
@Override
|
||||
public PageResult<EmEmployees> queryAll(EmEmployeesQueryCriteria criteria, Page<Object> page){
|
||||
@ -70,33 +68,24 @@ public class EmEmployeesServiceImpl extends ServiceImpl<EmEmployeesMapper, EmEmp
|
||||
return emEmployeesMapper.findAll(criteria);
|
||||
}
|
||||
|
||||
// @Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public void create(EmEmployeesVo resources) {
|
||||
// if (userMapper.findByUsername(resources.getUsername()) != null) {
|
||||
// throw new EntityExistException(User.class, "username", resources.getUsername());
|
||||
// }
|
||||
// User user = new User();
|
||||
// BeanUtils.copyProperties(resources, user);
|
||||
// user.setNickName(resources.getName());
|
||||
// user.setEnabled(true);
|
||||
// userMapper.insert(user);
|
||||
// // 保存用户角色
|
||||
// userRoleMapper.insertData(user.getId(), resources.getRoles());
|
||||
// EmEmployees emEmployees = new EmEmployees();
|
||||
// BeanUtils.copyProperties(resources, emEmployees);
|
||||
// emEmployees.setDelFlag(0);
|
||||
// emEmployees.setStatus("1");
|
||||
// emEmployees.setUserid(user.getId());
|
||||
// emEmployeesMapper.insert(resources);
|
||||
// }
|
||||
//
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(EmEmployeesVo resources) {
|
||||
EmEmployees emEmployees = new EmEmployees();
|
||||
BeanUtils.copyProperties(resources, emEmployees);
|
||||
emEmployees.setPassword(passwordEncoder.encode("123456"));
|
||||
emEmployees.setDelFlag(0);
|
||||
emEmployees.setStatus("1");
|
||||
emEmployeesMapper.insert(resources);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(EmEmployeesVo resources) {
|
||||
User user1 = userMapper.findByPhone(resources.getPhone());
|
||||
EmEmployees emEmployees = getById(resources.getId());
|
||||
emEmployees.copy(resources);
|
||||
user1.setPassword(passwordEncoder.encode(resources.getPassword()));
|
||||
user1.setPhone(resources.getPhone());
|
||||
user1.setScenicId(resources.getScenicId());
|
||||
user1.setAreaId(resources.getAreaId());
|
||||
@ -123,76 +112,56 @@ public class EmEmployeesServiceImpl extends ServiceImpl<EmEmployeesMapper, EmEmp
|
||||
private void flushCache(String username) {
|
||||
userCacheManager.cleanUserCache(username);
|
||||
}
|
||||
//
|
||||
// @Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public void deleteAll(List<Long> ids) {
|
||||
// Set<Long> userIds = new HashSet<>();
|
||||
// for (Long id : ids) {
|
||||
// EmEmployees emEmployees = getById(id);
|
||||
// emEmployees.setDelFlag(1);
|
||||
// emEmployeesMapper.updateById(emEmployees);
|
||||
// // 清理缓存
|
||||
// User user = userService.getById(emEmployees.getUserid());
|
||||
// userService.delCaches(user.getId(), user.getUsername());
|
||||
// userIds.add(emEmployees.getUserid());
|
||||
// }
|
||||
// userMapper.deleteBatchIds(ids);
|
||||
// // 删除用户角色
|
||||
// userRoleMapper.deleteByUserIds(userIds);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void download(List<EmEmployees> all, HttpServletResponse response) throws IOException {
|
||||
// List<Map<String, Object>> list = new ArrayList<>();
|
||||
// for (EmEmployees emEmployees : all) {
|
||||
// Map<String,Object> map = new LinkedHashMap<>();
|
||||
// map.put("姓名", emEmployees.getName());
|
||||
// map.put("电话", emEmployees.getPhone());
|
||||
// map.put("员工状态", emEmployees.getStatus());
|
||||
// map.put("创建时间", emEmployees.getCreateTime());
|
||||
// map.put("更新时间", emEmployees.getUpdateTime());
|
||||
// map.put("userid", emEmployees.getUserid());
|
||||
// list.add(map);
|
||||
// }
|
||||
// FileUtil.downloadExcel(list, response);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public PageResult<EmEmployeesDetailVo> page(EmEmployeesDetailVo example, Page page) {
|
||||
// page.setOptimizeCountSql(false);
|
||||
// return PageUtil.toPage(this.baseMapper.findByExample(buildWrapper(example),page));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 构建查询
|
||||
// *
|
||||
// * @param example
|
||||
// * @return
|
||||
// */
|
||||
// private QueryWrapper<EmEmployeesDetailVo> buildWrapper(EmEmployeesDetailVo example) {
|
||||
// String name = example.getName();
|
||||
// QueryWrapper<EmEmployeesDetailVo> wrapper = new QueryWrapper<>();
|
||||
// wrapper.lambda()
|
||||
// .like(StringUtils.isNotEmpty(name), EmEmployees::getName, name);
|
||||
// return wrapper;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public List<EmEmployees> findByScenicId(Long areaId) {
|
||||
// QueryWrapper<EmEmployees> wrapper = new QueryWrapper<>();
|
||||
// wrapper.lambda()
|
||||
// .eq(EmEmployees::getAreaId, areaId)
|
||||
// .eq(EmEmployees::getDelFlag, 0);
|
||||
// return super.list(wrapper);
|
||||
// }
|
||||
//
|
||||
|
||||
@Override
|
||||
public EmEmployees findByUserId(Long id) {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAll(List<Long> ids) {
|
||||
this.removeByIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void download(List<EmEmployees> all, HttpServletResponse response) throws IOException {
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (EmEmployees emEmployees : all) {
|
||||
Map<String,Object> map = new LinkedHashMap<>();
|
||||
map.put("姓名", emEmployees.getName());
|
||||
map.put("电话", emEmployees.getPhone());
|
||||
map.put("员工状态", emEmployees.getStatus());
|
||||
map.put("创建时间", emEmployees.getCreateTime());
|
||||
map.put("更新时间", emEmployees.getUpdateTime());
|
||||
list.add(map);
|
||||
}
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<EmEmployeesDetailVo> page(EmEmployeesDetailVo example, Page page) {
|
||||
page.setOptimizeCountSql(false);
|
||||
return PageUtil.toPage(this.baseMapper.findByExample(buildWrapper(example),page));
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建查询
|
||||
*
|
||||
* @param example
|
||||
* @return
|
||||
*/
|
||||
private QueryWrapper<EmEmployeesDetailVo> buildWrapper(EmEmployeesDetailVo example) {
|
||||
String name = example.getName();
|
||||
QueryWrapper<EmEmployeesDetailVo> wrapper = new QueryWrapper<>();
|
||||
wrapper.lambda()
|
||||
.like(StringUtils.isNotEmpty(name), EmEmployees::getName, name)
|
||||
.eq(BaseEntity::getDelFlag,0);
|
||||
return wrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<EmEmployees> findByScenicId(Long areaId) {
|
||||
QueryWrapper<EmEmployees> wrapper = new QueryWrapper<>();
|
||||
wrapper.lambda()
|
||||
.eq(EmEmployees::getUserid,id);
|
||||
return this.baseMapper.selectOne(wrapper);
|
||||
.eq(EmEmployees::getAreaId, areaId)
|
||||
.eq(EmEmployees::getDelFlag, 0);
|
||||
return super.list(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -200,12 +169,10 @@ public class EmEmployeesServiceImpl extends ServiceImpl<EmEmployeesMapper, EmEmp
|
||||
EmEmployeesDetailVo emEmployeesDetailVo = new EmEmployeesDetailVo();
|
||||
EmEmployees emEmployees = getById(id);
|
||||
BeanUtils.copyProperties(emEmployees, emEmployeesDetailVo);
|
||||
User user = userMapper.findByPhone(emEmployees.getPhone());
|
||||
emEmployeesDetailVo.setGender(user.getGender());
|
||||
if (user.getAreaId()!=null){
|
||||
emEmployeesDetailVo.setAreaName(areaService.findById(user.getAreaId()).getName());
|
||||
if (user.getScenicId() != null) {
|
||||
user.setScenicName(scenicService.findByAreaIdAndName(user.getScenicId(), user.getAreaName()).getName());
|
||||
if (emEmployees.getAreaId()!=null){
|
||||
emEmployeesDetailVo.setAreaName(areaService.findById(emEmployees.getAreaId()).getName());
|
||||
if (emEmployees.getScenicId() != null) {
|
||||
emEmployeesDetailVo.setScenicName(scenicService.findByAreaIdAndName(emEmployeesDetailVo.getScenicId(), emEmployeesDetailVo.getAreaName()).getName());
|
||||
}
|
||||
}
|
||||
return emEmployeesDetailVo;
|
||||
|
@ -15,11 +15,9 @@
|
||||
*/
|
||||
package com.aircraft.modules.system.service.impl;
|
||||
|
||||
import com.aircraft.modules.system.domain.EmEmployees;
|
||||
import com.aircraft.config.properties.RsaProperties;
|
||||
import com.aircraft.modules.system.service.EmAreaService;
|
||||
import com.aircraft.modules.system.service.EmEmployeesService;
|
||||
import com.aircraft.modules.system.service.EmScenicService;
|
||||
import com.aircraft.utils.enums.UserTypeEnum;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -33,13 +31,11 @@ import com.aircraft.modules.system.domain.Role;
|
||||
import com.aircraft.modules.system.domain.User;
|
||||
import com.aircraft.exception.EntityExistException;
|
||||
import com.aircraft.modules.system.domain.dto.UserQueryCriteria;
|
||||
import com.aircraft.modules.system.mapper.UserJobMapper;
|
||||
import com.aircraft.modules.system.mapper.UserMapper;
|
||||
import com.aircraft.modules.system.mapper.UserRoleMapper;
|
||||
import com.aircraft.modules.system.service.UserService;
|
||||
import com.aircraft.utils.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@ -60,7 +56,7 @@ import java.util.stream.Collectors;
|
||||
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
|
||||
|
||||
private final UserMapper userMapper;
|
||||
private final UserJobMapper userJobMapper;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
private final UserRoleMapper userRoleMapper;
|
||||
private final FileProperties properties;
|
||||
private final RedisUtils redisUtils;
|
||||
@ -68,22 +64,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
private final OnlineUserService onlineUserService;
|
||||
private final EmAreaService areaService;
|
||||
private final EmScenicService scenicService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private final EmEmployeesService employeesService;
|
||||
|
||||
@Override
|
||||
public PageResult<User> queryAll(UserQueryCriteria criteria, Page<Object> page) {
|
||||
criteria.setOffset(page.offset());
|
||||
List<User> users = userMapper.findAll(criteria);
|
||||
for (User user : users) {
|
||||
if (user.getAreaId() != null) {
|
||||
user.setAreaName(areaService.findById(user.getAreaId()).getName());
|
||||
}
|
||||
if (user.getScenicId() != null) {
|
||||
user.setScenicName(scenicService.getById(user.getScenicId()).getName());
|
||||
}
|
||||
}
|
||||
Long total = userMapper.countAll(criteria);
|
||||
return PageUtil.toPage(users, total);
|
||||
}
|
||||
@ -121,14 +106,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
throw new EntityExistException(User.class, "phone", resources.getPhone());
|
||||
}
|
||||
save(resources);
|
||||
if (Objects.equals(UserTypeEnum.getByValue(resources.getUserType()), UserTypeEnum.EMPLOYEES)) {
|
||||
EmEmployees emEmployees = new EmEmployees();
|
||||
emEmployees.setDelFlag(0);
|
||||
emEmployees.setPhone(resources.getPhone());
|
||||
emEmployees.setName(resources.getNickName());
|
||||
emEmployees.setUserid(resources.getId());
|
||||
employeesService.save(emEmployees);
|
||||
}
|
||||
// if (Objects.equals(UserTypeEnum.getByValue(resources.getUserType()), UserTypeEnum.EMPLOYEES)) {
|
||||
// EmEmployees emEmployees = new EmEmployees();
|
||||
// }
|
||||
// 保存用户角色
|
||||
userRoleMapper.insertData(resources.getId(), resources.getRoles());
|
||||
}
|
||||
@ -156,8 +136,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
if(!resources.getEnabled()){
|
||||
onlineUserService.kickOutForUsername(resources.getUsername());
|
||||
}
|
||||
user.setQualification(resources.getQualification());
|
||||
user.setQualificationAttachment(resources.getQualificationAttachment());
|
||||
user.setPassword(passwordEncoder.encode(RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,resources.getPassword())));
|
||||
user.setUsername(resources.getUsername());
|
||||
user.setScenicId(resources.getScenicId());
|
||||
user.setEnabled(resources.getEnabled());
|
||||
@ -168,12 +147,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
user.setNickName(resources.getNickName());
|
||||
user.setGender(resources.getGender());
|
||||
saveOrUpdate(user);
|
||||
if (Objects.equals(UserTypeEnum.getByValue(resources.getUserType()), UserTypeEnum.EMPLOYEES)) {
|
||||
EmEmployees emEmployees = employeesService.findByUserId(resources.getId());
|
||||
emEmployees.setPhone(resources.getPhone());
|
||||
emEmployees.setName(resources.getNickName());
|
||||
employeesService.saveOrUpdate(emEmployees);
|
||||
}
|
||||
// 清除缓存
|
||||
delCaches(user.getId(), user.getUsername());
|
||||
// 更新用户角色
|
||||
@ -203,10 +176,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
for (Long id : ids) {
|
||||
// 清理缓存
|
||||
User user = getById(id);
|
||||
if (Objects.equals(UserTypeEnum.getByValue(user.getUserType()), UserTypeEnum.EMPLOYEES)) {
|
||||
EmEmployees emEmployees = employeesService.findByUserId(id);
|
||||
employeesService.removeById(emEmployees.getId());
|
||||
}
|
||||
delCaches(user.getId(), user.getUsername());
|
||||
}
|
||||
userMapper.deleteBatchIds(ids);
|
||||
@ -290,7 +259,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
|
||||
map.put("角色", roles);
|
||||
map.put("部门", user.getDept().getName());
|
||||
map.put("岗位", user.getJobs().stream().map(Job::getName).collect(Collectors.toList()));
|
||||
map.put("邮箱", user.getEmail());
|
||||
// map.put("邮箱", user.getEmail());
|
||||
map.put("状态", user.getEnabled() ? "启用" : "禁用");
|
||||
map.put("手机号码", user.getPhone());
|
||||
map.put("修改密码的时间", user.getPwdResetTime());
|
||||
|
@ -42,8 +42,6 @@
|
||||
SELECT id,
|
||||
name,
|
||||
phone,
|
||||
gender,
|
||||
department_id,
|
||||
status,
|
||||
create_time,
|
||||
update_time,
|
||||
@ -53,13 +51,11 @@
|
||||
qualification_attachment,
|
||||
areaName,
|
||||
scenicName,
|
||||
roleName,
|
||||
username
|
||||
username,
|
||||
del_flag
|
||||
FROM (SELECT em_employees.id as id,
|
||||
em_employees.name as name,
|
||||
em_employees.phone as phone,
|
||||
em_employees.gender as gender,
|
||||
em_employees.department_id as department_id,
|
||||
em_employees.status as status,
|
||||
em_employees.create_time as create_time,
|
||||
em_employees.update_time as update_time,
|
||||
@ -69,14 +65,10 @@
|
||||
em_employees.qualification_attachment as qualification_attachment,
|
||||
em_area.name as areaName,
|
||||
em_scenic.name as scenicName,
|
||||
sys_user.username as username,
|
||||
sys_role.name as roleName
|
||||
em_employees.username as username,
|
||||
em_employees.del_flag as del_flag
|
||||
FROM em_employees
|
||||
LEFT JOIN em_area
|
||||
ON em_area.id = em_employees.area_id
|
||||
left join sys_user on sys_user.user_id = em_employees.user_id
|
||||
left join sys_users_roles on sys_users_roles.user_id = em_employees.user_id
|
||||
left join sys_role on sys_users_roles.role_id = sys_role.role_id
|
||||
LEFT JOIN em_area ON em_area.id = em_employees.area_id
|
||||
left join em_scenic on em_scenic.id = em_employees.scenic_id) t
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<result column="user_type" property="userType"/>
|
||||
<result column="user_username" property="username"/>
|
||||
<result column="user_nick_name" property="nickName"/>
|
||||
<result column="user_email" property="email"/>
|
||||
<!-- <result column="user_email" property="email"/>-->
|
||||
<result column="user_phone" property="phone"/>
|
||||
<result column="user_gender" property="gender"/>
|
||||
<result column="user_avatar_name" property="avatarName"/>
|
||||
@ -22,8 +22,8 @@
|
||||
<result column="user_update_time" property="updateTime"/>
|
||||
<result column="user_area_id" property="areaId"/>
|
||||
<result column="user_scenic_id" property="scenicId"/>
|
||||
<result column="user_qualification" property="qualification"/>
|
||||
<result column="user_qualification_attachment" property="qualificationAttachment"/>
|
||||
<result column="area_name" property="areaName"/>
|
||||
<result column="scenic_name" property="scenicName"/>
|
||||
<association property="dept" javaType="com.aircraft.modules.system.domain.Dept">
|
||||
<id column="dept_id" property="id"/>
|
||||
<result column="dept_name" property="name"/>
|
||||
@ -46,14 +46,18 @@
|
||||
u.gender as user_gender, u.avatar_name as user_avatar_name, u.avatar_path as user_avatar_path,
|
||||
u.enabled as user_enabled, u.pwd_reset_time as user_pwd_reset_time, u.create_by as user_create_by,
|
||||
u.update_by as user_update_by, u.create_time as user_create_time, u.update_time as user_update_time,
|
||||
u.area_id as user_area_id, u.scenic_id as user_scenic_id,
|
||||
u.qualification as user_qualification, u.qualification_attachment as user_qualification_attachment
|
||||
u.area_id as user_area_id, u.scenic_id as user_scenic_id
|
||||
</sql>
|
||||
|
||||
<sql id="Job_Column_List">
|
||||
j.job_id as job_id, j.name as job_name
|
||||
</sql>
|
||||
|
||||
<sql id="Area_Column_List">
|
||||
a.name as area_name
|
||||
</sql>
|
||||
<sql id="Scenic_Column_List">
|
||||
s.name as scenic_name
|
||||
</sql>
|
||||
<sql id="Role_Column_List">
|
||||
r.role_id as role_id, r.name as role_name, r.level as role_level, r.data_scope as role_data_scope
|
||||
</sql>
|
||||
@ -82,6 +86,8 @@
|
||||
|
||||
<select id="findAll" resultMap="BaseResultMap">
|
||||
select u.*,
|
||||
<include refid="Area_Column_List"/>,
|
||||
<include refid="Scenic_Column_List"/>,
|
||||
<include refid="Role_Column_List"/>
|
||||
from (
|
||||
select
|
||||
@ -95,6 +101,8 @@
|
||||
) u
|
||||
left join sys_users_roles sur on u.user_user_id = sur.user_id
|
||||
left join sys_role r on sur.role_id = r.role_id
|
||||
left join em_area a on u.user_area_id = a.id
|
||||
left join em_scenic s on u.user_scenic_id = s.id
|
||||
order by u.user_user_id desc
|
||||
</select>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user