package com.vci.frameworkcore.controller;
|
|
import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
|
import com.vci.frameworkcore.model.dto.SmUserDTO;
|
import com.vci.frameworkcore.pagemodel.SmUserVO;
|
import com.vci.starter.web.annotation.controller.VciUnCheckRight;
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.pagemodel.*;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 用户的查询控制器
|
* @author weidy
|
* @date 2020/3/4
|
*/
|
@RestController
|
@RequestMapping("/userQueryController")
|
@Slf4j
|
public class SmUserQueryController {
|
|
/**
|
* 用户查询服务
|
*/
|
@Autowired
|
private SmUserQueryServiceI userQueryService;
|
|
/**
|
* 用户的列表参照,
|
* @param queryObject 查询对象,包含了查询条件,分页,排序等,即允许使用SmUserVO里的所有属性作为查询条件,也可以使用pkRole.xxx,pkDepartment.xxx,pkDuty.xxx这样来查询
|
* @return 普通用户(不包含三员,也不包含停用的)的显示对象列表数据,请获取其中的data属性
|
* @throws VciBaseException 查询出错的时候会抛出异常,如果是老的项目里不抛出异常
|
*/
|
@RequestMapping(value = "/refDataGrid",method = RequestMethod.GET)
|
public BaseResult<SmUserVO> refDataGrid(BaseQueryObject queryObject) throws VciBaseException {
|
//代码示例
|
if(queryObject == null){
|
queryObject = new BaseQueryObject();
|
}
|
DataGrid<SmUserVO> userVODataGrid = userQueryService.refGridUsers(queryObject.getConditionMap(),queryObject.getPageHelper());
|
return BaseResult.dataGrid(userVODataGrid);
|
//如果是老的项目,应该在refGridUsers上添加try,catch,然后catch里应该使用下面的代码
|
//BaseResult.fail("这里返回前端的错误信息");
|
}
|
|
/**
|
* 用户的树形参照
|
* @param treeQueryObject 树形数据的查询对象,包括查询条件,上级主键,是否多选等,即允许使用SmUserVO里的所有属性作为查询条件,也可以使用pkRole.xxx,pkDepartment.xxx,pkDuty.xxx这样来查询
|
* @return 普通用户(不包含三员,也不包含停用的)的树形数据,已经转换过上下级关系,请获取其中的treeData属性
|
* @throws VciBaseException 查询出错的时候会抛出异常,如果是老的项目里不抛出异常
|
*/
|
@RequestMapping(value = "/refTree",method = RequestMethod.GET)
|
public BaseResult<Tree> refTree(TreeQueryObject treeQueryObject) throws VciBaseException{
|
List<Tree> userTreeList = userQueryService.refTreeUsers(treeQueryObject);
|
return BaseResult.tree(userTreeList);
|
//老的项目依然是添加try catch,方法里不抛出异常
|
//BaseResult.fail("这里返回前端的错误信息");
|
}
|
|
/**
|
* 使用部门来获取用户的参照列表
|
* @param pkDepartment 部门的主键,不能为空
|
* @param queryObject 查询对象,包含查询条件,分页,排序等,即允许使用SmUserVO里的所有属性作为查询条件,也可以使用pkRole.xxx,pkDepartment.xxx,pkDuty.xxx这样来查询
|
* @return 普通用户(不包含三员,也不包含停用的)的显示对象列表数据,请获取其中的data属性
|
* @throws VciBaseException 部门主键为空、查询出错的时候会抛出异常,如果是老的项目里不抛出异常
|
*/
|
@RequestMapping(value = "/refDataGridByPkDepartment",method = RequestMethod.GET)
|
public BaseResult<SmUserVO> refDataGridByPkDepartment(String pkDepartment,BaseQueryObject queryObject) throws VciBaseException{
|
if(queryObject == null){
|
queryObject = new BaseQueryObject();
|
}
|
DataGrid<SmUserVO> userVODataGrid = userQueryService.gridUserByDeptOid(pkDepartment, queryObject.getConditionMap(), queryObject.getPageHelper());
|
return BaseResult.dataGrid(userVODataGrid);
|
//如果是老的项目,应该在gridUserByDeptOid上添加try,catch,然后catch里应该使用下面的代码
|
//BaseResult.fail("这里返回前端的错误信息");
|
}
|
|
/**
|
* 使用角色来获取用户的参照列表
|
* @param pkRole 角色的主键,不能为空
|
* @param queryObject 查询对象,包含查询条件,分页,排序等,即允许使用SmUserVO里的所有属性作为查询条件,也可以使用pkRole.xxx,pkDepartment.xxx,pkDuty.xxx这样来查询
|
* @return 普通用户(不包含三员,也不包含停用的)的显示对象列表数据,请获取其中的data属性
|
* @throws VciBaseException 角色的主键为空、查询出错的时候会抛出异常,如果是老的项目里不抛出异常
|
*/
|
@RequestMapping(value = "/refDataGridByPkRole",method = RequestMethod.GET)
|
public BaseResult<SmUserVO> refDataGridByPkRole(String pkRole,BaseQueryObject queryObject) throws VciBaseException{
|
if(queryObject == null){
|
queryObject = new BaseQueryObject();
|
}
|
DataGrid<SmUserVO> userVODataGrid = userQueryService.gridUserByRoleOid(pkRole, queryObject.getConditionMap(), queryObject.getPageHelper());
|
return BaseResult.dataGrid(userVODataGrid);
|
//如果是老的项目,应该在gridUserByRoleOid上添加try,catch,然后catch里应该使用下面的代码
|
//BaseResult.fail("这里返回前端的错误信息");
|
}
|
|
/**
|
* 修改密码
|
* @param userOid 用户主键
|
* @param password 新密码
|
* @param confirmPassword 确认密码
|
*/
|
@RequestMapping(value = "/changePassword",method = RequestMethod.POST)
|
public BaseResult changePassword(String userOid, String password, String confirmPassword) {
|
userQueryService.changePassword(userOid, password, confirmPassword);
|
return BaseResult.success("修改密码成功");
|
}
|
|
/**
|
* 用户管理列表分页查询,平台是不查plusertype=0的成员,也就是developer和admin
|
* @param queryObject 查询对象,包含了查询条件,分页,排序等,即允许使用SmUserVO里的所有属性作为查询条件,也可以使用pkRole.xxx,pkDepartment.xxx,pkDuty.xxx这样来查询
|
* @return 全部用户显示对象列表数据,请获取其中的data属性
|
* @throws VciBaseException 查询出错的时候会抛出异常,如果是老的项目里不抛出异常
|
*/
|
@RequestMapping(value = "/getDataGridUsers",method = RequestMethod.GET)
|
@VciUnCheckRight
|
public BaseResult<SmUserVO> getDataGridUsers(BaseQueryObject queryObject) throws VciBaseException {
|
try {
|
DataGrid<SmUserVO> userVODataGrid = userQueryService.getDataGridUsers(queryObject.getConditionMap(),queryObject.getPageHelper());
|
return BaseResult.dataGrid(userVODataGrid);
|
}catch (Exception e) {
|
e.printStackTrace();
|
log.error("用户管理列表查询时出现错误,原因:" + e.getMessage());
|
return BaseResult.fail("用户管理列表查询时出现错误,原因:" + e.getMessage());
|
}
|
}
|
|
/**
|
* 添加用户
|
* @param smUserDTO
|
* @return
|
*/
|
@RequestMapping(value = "/addUser",method = RequestMethod.POST)
|
@VciUnCheckRight
|
public BaseResult addUser(@RequestBody SmUserDTO smUserDTO){
|
try {
|
return BaseResult.success(userQueryService.addUser(smUserDTO) ? "用户添加成功!":"用户添加失败!");
|
}catch (Exception e){
|
e.printStackTrace();
|
log.error("添加用户时出现错误,原因:" + e.getMessage());
|
return BaseResult.fail("添加用户时出现错误,原因:" + e.getMessage());
|
}
|
}
|
|
/**
|
* 修改用户信息
|
* @param smUserDTO
|
* @return
|
*/
|
@RequestMapping(value = "/updateUser",method = RequestMethod.PUT)
|
@VciUnCheckRight
|
public BaseResult updateUser(@RequestBody SmUserDTO smUserDTO){
|
try {
|
return BaseResult.success(userQueryService.updateUser(smUserDTO) ? "用户修改成功!":"用户修改失败!");
|
}catch (Exception e){
|
e.printStackTrace();
|
log.error("修改用户时出现错误,原因:" + e.getMessage());
|
return BaseResult.fail("修改用户时出现错误,原因:" + e.getMessage());
|
}
|
}
|
|
/**
|
* 删除用户
|
* @param ids
|
* @return
|
*/
|
@RequestMapping(value = "/deleteUser",method = RequestMethod.DELETE)
|
//@VciUnCheckRight
|
public BaseResult deleteUser(String[] ids){
|
try {
|
return BaseResult.success(userQueryService.deleteUser(ids) ? "删除用户成功!":"删除用户失败!");
|
}catch (Exception e){
|
e.printStackTrace();
|
log.error("添加用户时出现错误,原因:" + e.getMessage());
|
return BaseResult.fail("添加用户时出现错误,原因:" + e.getMessage());
|
}
|
}
|
|
/**
|
* 用户停用/启用
|
* @param ids
|
* @param flag
|
* @return
|
*/
|
@RequestMapping(value = "/stopUsers",method = RequestMethod.POST)
|
//@VciUnCheckRight
|
public BaseResult disableOrEnableUsers(String[] ids,boolean flag){
|
try {
|
userQueryService.disableOrEnableUsers(ids,flag);
|
return BaseResult.success("用户【停用/启用】成功!");
|
}catch (Exception e){
|
e.printStackTrace();
|
log.error("用户【停用/启用】时出现错误,原因:" + e.getMessage());
|
return BaseResult.fail("用户【停用/启用】时出现错误,原因:" + e.getMessage());
|
}
|
}
|
|
/**
|
* 下载人员导入模板
|
*/
|
@RequestMapping(value = "/downloadImportTemplate",method = RequestMethod.POST)
|
public void downloadImportTemplate(){
|
|
}
|
|
/**
|
* 人员导入
|
*/
|
@RequestMapping(value = "/importUser",method = RequestMethod.POST)
|
public void importUser(){
|
|
}
|
|
}
|