package com.vci.frameworkcore.controller;
|
|
import com.vci.frameworkcore.compatibility.SmUserQueryServiceI;
|
import com.vci.frameworkcore.pagemodel.SmUserVO;
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.pagemodel.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import java.util.List;
|
|
/**
|
* 用户的查询控制器
|
* @author weidy
|
* @date 2020/3/4
|
*/
|
@Controller
|
@RequestMapping("/userQueryController")
|
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)
|
@ResponseBody
|
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)
|
@ResponseBody
|
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)
|
@ResponseBody
|
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)
|
@ResponseBody
|
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)
|
@ResponseBody
|
public BaseResult changePassword(String userOid, String password, String confirmPassword) {
|
userQueryService.changePassword(userOid, password, confirmPassword);
|
return BaseResult.success("修改密码成功");
|
}
|
|
|
|
|
|
}
|