用户管理
This commit is contained in:
@ -0,0 +1,123 @@
|
||||
package com.coscoshipping.ebtp.project.user.controller;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.coscoshipping.ebtp.project.user.entity.vo.SysUserVO;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
import com.coscoshipping.ebtp.project.user.entity.SysUser;
|
||||
import com.coscoshipping.ebtp.project.user.service.SysUserService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
|
||||
@RestController
|
||||
@Api(value = "门户用户表")
|
||||
@RequestMapping("/v1/sysuser")
|
||||
public class SysUserController{
|
||||
|
||||
@Resource
|
||||
private SysUserService iSysUserService;
|
||||
|
||||
/**
|
||||
* 插入新数据
|
||||
*
|
||||
* @param sysUser
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("插入新数据")
|
||||
@PostMapping("/insert")
|
||||
public BaseResponse<Boolean> insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid SysUserVO sysUser){
|
||||
|
||||
Boolean i = iSysUserService.insertByVo(sysUser);
|
||||
|
||||
return BaseResponse.success(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改数据
|
||||
*
|
||||
* @param sysUser
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("修改数据")
|
||||
@PostMapping("/update")
|
||||
public BaseResponse<Boolean> update(@ApiParam(value = "对象数据", required = true) @RequestBody SysUser sysUser){
|
||||
|
||||
Boolean i = iSysUserService.updateById(sysUser);
|
||||
|
||||
return BaseResponse.success(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询数据
|
||||
*
|
||||
* @param id
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("根据id查询数据")
|
||||
@GetMapping("/{id}")
|
||||
public BaseResponse<SysUser> get(@ApiParam(value = "主键id", required = true) @PathVariable String id){
|
||||
|
||||
SysUser sysUser = iSysUserService.getById(id);
|
||||
|
||||
return BaseResponse.success(sysUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除数据
|
||||
* @param id 主键id
|
||||
* @return BaseResponse<Boolean>
|
||||
* @author dino
|
||||
* @date 2020/10/21 14:56
|
||||
*/
|
||||
@ApiOperation(value = "delete",notes = "删除数据")
|
||||
@GetMapping("/del/{id}")
|
||||
public BaseResponse<Boolean> delete(@ApiParam(value = "主键id", required = true) @PathVariable Long id) {
|
||||
Boolean i = iSysUserService.removeById(id);
|
||||
return BaseResponse.success(i);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询数据
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation("查询列表数据")
|
||||
@GetMapping("/list")
|
||||
public BaseResponse<List<SysUser>> list(@ApiParam(value = "查询对象数据", required = false) SysUser param) {
|
||||
//查询
|
||||
LambdaQueryWrapper<SysUser> query = Wrappers.lambdaQuery(param);
|
||||
List<SysUser> list = iSysUserService.list(query);
|
||||
//异常处理
|
||||
//RespsExceptionEnum.FRAME_EXCEPTION_DEMO_NOT_FIND.customValid(list.isEmpty());
|
||||
return BaseResponse.success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询分页数据
|
||||
*
|
||||
* @param sysUserVO 分页信息
|
||||
*
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("查询分页数据")
|
||||
@PostMapping("/getPage")
|
||||
public BaseResponse<IPage<SysUser>> getPage(@ApiParam(value = "对象数据", required = true) @RequestBody SysUserVO sysUserVO){
|
||||
|
||||
return BaseResponse.success(iSysUserService.getPage(sysUserVO));
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
package com.coscoshipping.ebtp.project.user.dao;
|
||||
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper;
|
||||
import java.util.List;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import com.coscoshipping.ebtp.project.user.entity.SysUser;
|
||||
|
||||
@Repository
|
||||
public interface SysUserMapper extends IBaseMapper<SysUser> {
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.coscoshipping.ebtp.project.user.dao.SysUserMapper">
|
||||
<resultMap id="userResultMap" type="com.coscoshipping.ebtp.project.user.entity.SysUser">
|
||||
<result column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="user_id" jdbcType="BIGINT" property="userId" />
|
||||
<result column="password" jdbcType="VARCHAR" property="password" />
|
||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||
<result column="display_name" jdbcType="VARCHAR" property="displayName" />
|
||||
<result column="portal_id" jdbcType="VARCHAR" property="portalId" />
|
||||
<result column="employee_number" jdbcType="VARCHAR" property="employeeNumber" />
|
||||
<result column="office_phone" jdbcType="VARCHAR" property="officePhone" />
|
||||
<result column="mobile" jdbcType="VARCHAR" property="mobile" />
|
||||
<result column="email" jdbcType="VARCHAR" property="email" />
|
||||
<result column="sex" jdbcType="VARCHAR" property="sex" />
|
||||
<result column="org_id" jdbcType="VARCHAR" property="orgId" />
|
||||
<result column="org_name" jdbcType="VARCHAR" property="orgName" />
|
||||
<result column="position" jdbcType="VARCHAR" property="position" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_date" jdbcType="VARCHAR" property="createDate" />
|
||||
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
|
||||
<result column="tenant_name" jdbcType="VARCHAR" property="tenantName" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_date" jdbcType="VARCHAR" property="updateDate" />
|
||||
<result column="delete_flag" jdbcType="VARCHAR" property="deleteFlag" />
|
||||
<result column="last_update_time" jdbcType="VARCHAR" property="lastUpdateTime" />
|
||||
</resultMap>
|
||||
|
||||
<!--逻辑删除方法 此方法为代码生成器生成 不允许修改 如有特殊需求 请自行新建SQL语句-->
|
||||
<update id="deleteOff" >
|
||||
update sys_user
|
||||
set
|
||||
delete_flag="1"
|
||||
where ID=#{id }
|
||||
</update>
|
||||
</mapper>
|
@ -0,0 +1,73 @@
|
||||
package com.coscoshipping.ebtp.project.user.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 实体类 SysUser-门户用户表
|
||||
*
|
||||
* @author yss
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName(value = "sys_user", autoResultMap = true)
|
||||
@ApiModel(value = "SysUser对象", description = "门户用户表")
|
||||
public class SysUser extends BaseEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@TableId
|
||||
@ApiModelProperty(value = "用户id")
|
||||
private String userId;
|
||||
|
||||
@ApiModelProperty(value = "密码")
|
||||
private String password;
|
||||
|
||||
@ApiModelProperty(value = "中文姓名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "一般情况下,等于name字段值,如部门内有重名的情况,可以以特殊名称标明,例如:张明(大),张明(小)等")
|
||||
private String displayName;
|
||||
|
||||
@ApiModelProperty(value = "portal的实际id,不一定为统一邮件前缀")
|
||||
private String portalId;
|
||||
|
||||
@ApiModelProperty(value = "状态")
|
||||
private Integer status;
|
||||
|
||||
@ApiModelProperty(value = "HR员工编码(非正式用户无该信息)")
|
||||
private String employeeNumber;
|
||||
|
||||
@ApiModelProperty(value = "用户办公电话")
|
||||
private String officePhone;
|
||||
|
||||
@ApiModelProperty(value = "手机号码(用于接收短信提醒)等")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "统一邮件")
|
||||
private String email;
|
||||
|
||||
@ApiModelProperty(value = "性别")
|
||||
private String sex;
|
||||
|
||||
@ApiModelProperty(value = "部门机构ID")
|
||||
private String orgId;
|
||||
|
||||
@ApiModelProperty(value = "部门机构名称")
|
||||
private String orgName;
|
||||
|
||||
@ApiModelProperty(value = "岗位")
|
||||
private String position;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.coscoshipping.ebtp.project.user.entity.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
|
||||
import com.coscoshipping.ebtp.project.user.entity.SysUser;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 实体类 SysUser-门户用户表
|
||||
*
|
||||
* @author yss
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@TableName(autoResultMap = true)
|
||||
@ApiModel("用户信息VO类")
|
||||
public class SysUserVO extends SysUser implements Serializable {
|
||||
/**
|
||||
* 分页数据
|
||||
*/
|
||||
@ApiModelProperty(value = "分页对象信息")
|
||||
private BasePageRequest basePageRequest;
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package com.coscoshipping.ebtp.project.user.service;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseService;
|
||||
import com.coscoshipping.ebtp.project.user.entity.SysUser;
|
||||
import com.coscoshipping.ebtp.project.user.entity.vo.SysUserVO;
|
||||
|
||||
/**
|
||||
* 对数据表 sys_user 操作的 service
|
||||
* @author yss
|
||||
*
|
||||
*/
|
||||
public interface SysUserService extends IBaseService<SysUser>{
|
||||
|
||||
/**
|
||||
* 角色分页
|
||||
* @param sysUserVO 标段信息
|
||||
* @return 返回结果
|
||||
*/
|
||||
IPage<SysUser> getPage(SysUserVO sysUserVO);
|
||||
|
||||
|
||||
Boolean insertByVo(SysUserVO vo);
|
||||
|
||||
|
||||
Boolean updateByVo(SysUserVO vo);
|
||||
/**
|
||||
* 通过角色ID删除角色
|
||||
*
|
||||
* @param roleId 角色ID
|
||||
* @return 结果
|
||||
*/
|
||||
Boolean deleteUserById(String roleId);
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,94 @@
|
||||
package com.coscoshipping.ebtp.project.user.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
|
||||
import com.coscoshipping.ebtp.project.role.entity.SysRoleMenu;
|
||||
import com.coscoshipping.ebtp.project.user.entity.vo.SysUserVO;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
|
||||
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
|
||||
import com.coscoshipping.ebtp.project.user.dao.SysUserMapper;
|
||||
import com.coscoshipping.ebtp.project.user.entity.SysUser;
|
||||
import com.coscoshipping.ebtp.project.user.service.SysUserService;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 对数据表 sys_user 操作的 serviceImpl
|
||||
* @author yss
|
||||
*
|
||||
*/
|
||||
@Service
|
||||
public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper,SysUser> implements SysUserService {
|
||||
|
||||
@Override
|
||||
public IPage<SysUser> getPage(SysUserVO sysUserVO) {
|
||||
|
||||
LambdaQueryWrapper query = buildQueryWrapper(sysUserVO);
|
||||
|
||||
if(null == sysUserVO.getBasePageRequest()){
|
||||
sysUserVO.setBasePageRequest(new BasePageRequest());
|
||||
}
|
||||
//查询
|
||||
IPage<SysUser> result = new Page<>(sysUserVO.getBasePageRequest().getPageNo(), sysUserVO.getBasePageRequest().getPageSize());
|
||||
result = this.page(result, query);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean insertByVo(SysUserVO vo) {
|
||||
vo.setUserId(PropertyUtils.getSnowflakeId()).setCreateDate(LocalDateTime.now());
|
||||
// SysUser add = BeanUtil.toBean(VO, SysUser.class);
|
||||
validEntityBeforeSave(vo,false);
|
||||
boolean flag = baseMapper.insert(vo) > 0;
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateByVo(SysUserVO vo) {
|
||||
// SysUser update = BeanUtil.toBean(vo, SysUser.class);
|
||||
validEntityBeforeSave(vo,true);
|
||||
boolean flag = baseMapper.updateById(vo) > 0;
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteUserById(String userId) {
|
||||
return this.removeById(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SysUser entity,boolean isUpdate){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SysUser> buildQueryWrapper(SysUserVO vo) {
|
||||
LambdaQueryWrapper<SysUser> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(vo.getUserId()), SysUser::getUserId , vo.getUserId());
|
||||
lqw.like(StringUtils.isNotBlank(vo.getName()), SysUser::getName, vo.getName());
|
||||
lqw.eq(StringUtils.isNotBlank(vo.getPortalId()), SysUser::getPortalId, vo.getPortalId());
|
||||
lqw.like(StringUtils.isNotBlank(vo.getDisplayName()), SysUser::getDisplayName, vo.getDisplayName());
|
||||
lqw.like(StringUtils.isNotBlank(vo.getMobile()), SysUser::getMobile, vo.getMobile());
|
||||
lqw.eq(StringUtils.isNotBlank(vo.getEmployeeNumber()), SysUser::getEmployeeNumber, vo.getEmployeeNumber());
|
||||
lqw.eq(StringUtils.isNotBlank(vo.getOfficePhone()), SysUser::getOfficePhone, vo.getOfficePhone());
|
||||
lqw.like(StringUtils.isNotBlank(vo.getEmail()), SysUser::getEmail, vo.getEmail());
|
||||
lqw.eq(StringUtils.isNotBlank(vo.getSex()), SysUser::getSex, vo.getSex());
|
||||
lqw.eq(StringUtils.isNotBlank(vo.getOrgId()), SysUser::getOrgId, vo.getOrgId());
|
||||
lqw.like(StringUtils.isNotBlank(vo.getOrgName()), SysUser::getOrgName, vo.getOrgName());
|
||||
lqw.like(StringUtils.isNotBlank(vo.getPosition()), SysUser::getPosition, vo.getPosition());
|
||||
lqw.eq(vo.getCreateBy() != null, SysUser::getCreateBy, vo.getCreateBy());
|
||||
lqw.eq(vo.getUpdateBy() != null, SysUser::getUpdateBy, vo.getUpdateBy());
|
||||
lqw.orderByDesc(SysUser::getCreateDate);
|
||||
return lqw;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user