|
|
|
@ -17,10 +17,17 @@ import com.tamguo.modules.sys.model.condition.SysUserCondition;
|
|
|
|
|
import com.tamguo.modules.sys.service.ISysPostService;
|
|
|
|
|
import com.tamguo.modules.sys.service.ISysUserService;
|
|
|
|
|
|
|
|
|
|
// @Controller注解表明这个类是Spring MVC框架中的控制器类,用于处理Web请求,在此处主要负责处理与系统用户相关的各类请求,
|
|
|
|
|
// 它会协调视图展示以及调用相应的业务逻辑服务来完成具体的用户业务操作,是连接前端页面和后端业务逻辑的关键部分。
|
|
|
|
|
@Controller
|
|
|
|
|
@RequestMapping(path="sys/user")
|
|
|
|
|
// @RequestMapping注解为这个控制器类下的所有请求路径设置一个公共的前缀,意味着该控制器主要处理以"sys/user"开头的请求,
|
|
|
|
|
// 这样的设置便于对系统用户相关的众多请求进行分类管理,使代码结构更清晰,便于后续的维护和扩展。
|
|
|
|
|
@RequestMapping(path = "sys/user")
|
|
|
|
|
public class SysUserController {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 以下定义了多个常量字符串,分别代表不同用户相关页面的视图名称,按照Spring MVC的视图解析机制,这些字符串对应着具体的模板文件路径(例如JSP、Thymeleaf等模板文件所在的实际路径),
|
|
|
|
|
// 用于在不同业务场景下展示相应的用户页面内容。
|
|
|
|
|
|
|
|
|
|
/** 用户列表*/
|
|
|
|
|
private final String USER_LIST_PAGE = "modules/sys/user/list";
|
|
|
|
|
/** 修改*/
|
|
|
|
@ -31,153 +38,277 @@ public class SysUserController {
|
|
|
|
|
private final String USER_ROLE_PAGE = "modules/sys/user/role";
|
|
|
|
|
/** 数据权限*/
|
|
|
|
|
private final String USER_DATA_SCOPE_PAGE = "modules/sys/user/dataScope";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 通过@Autowired注解自动注入ISysUserService接口的实现类实例,ISysUserService接口应该定义了许多与系统用户业务相关的方法,
|
|
|
|
|
// 例如查询用户信息、保存用户数据、更新用户记录、管理用户角色分配、处理用户数据权限以及对用户状态进行操作等,
|
|
|
|
|
// 通过注入该实例,本控制器类能够方便地调用这些业务逻辑方法来实现各种用户相关的功能,完成与业务逻辑层的交互。
|
|
|
|
|
@Autowired
|
|
|
|
|
private ISysUserService iSysUserService;
|
|
|
|
|
|
|
|
|
|
// 同样通过@Autowired注解注入ISysPostService接口的实现类实例,ISysPostService主要用于处理与岗位相关的业务逻辑,
|
|
|
|
|
// 例如查询岗位列表等操作,由于在系统中用户通常与岗位存在关联关系(比如用户属于某个岗位),所以在这里注入该服务实例,
|
|
|
|
|
// 可以辅助完成涉及岗位相关信息查询等的用户业务处理。
|
|
|
|
|
@Autowired
|
|
|
|
|
private ISysPostService iSysPostService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/list"的请求方法,用于准备并返回用户列表页面相关的数据和视图信息。
|
|
|
|
|
// 当客户端发起此请求时,该方法会被调用,主要完成设置视图名称以及向视图传递岗位列表数据的操作,使得页面能够展示相应内容。
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
@RequestMapping(path="list")
|
|
|
|
|
@RequestMapping(path = "list")
|
|
|
|
|
public ModelAndView list(ModelAndView model) {
|
|
|
|
|
// 设置要返回的视图名称为用户列表页面的视图名称(USER_LIST_PAGE),这样Spring MVC就能根据这个名称找到对应的模板文件进行渲染展示。
|
|
|
|
|
model.setViewName(USER_LIST_PAGE);
|
|
|
|
|
// 通过ISysPostService的selectList方法结合MyBatis Plus的条件构造器(Condition.create().eq("status", "normal"))查询状态为正常的岗位列表,
|
|
|
|
|
// 并将查询到的岗位列表数据添加到ModelAndView对象中,以便在视图层可以获取并展示这些岗位信息,可能用于在用户列表页面关联显示用户所属岗位等情况。
|
|
|
|
|
model.addObject("postList", iSysPostService.selectList(Condition.create().eq("status", "normal")));
|
|
|
|
|
// 返回包含了视图名称和岗位列表数据的ModelAndView对象,供Spring MVC进行后续的视图渲染操作,最终将用户列表页面展示给客户端。
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/add"的请求方法,目的是准备并返回新增用户页面相关的数据和视图,让客户端可以进入新增用户的操作界面。
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
@RequestMapping(path="add")
|
|
|
|
|
public ModelAndView add(String userCode , ModelAndView model) {
|
|
|
|
|
@RequestMapping(path = "add")
|
|
|
|
|
public ModelAndView add(String userCode, ModelAndView model) {
|
|
|
|
|
// 设置返回的视图名称为新增用户页面的视图名称(USER_ADD_PAGE),以便Spring MVC找到对应的模板文件进行页面展示。
|
|
|
|
|
model.setViewName(USER_ADD_PAGE);
|
|
|
|
|
// 同样查询状态为正常的岗位列表数据(通过ISysPostService),并添加到ModelAndView对象中,方便在新增用户页面上展示岗位信息,
|
|
|
|
|
// 例如让用户选择所属岗位等操作,虽然当前传入了userCode参数,但在此处代码逻辑中暂时未对其进行实质性使用(可能后续会用于预填充部分信息等扩展功能)。
|
|
|
|
|
model.addObject("postList", iSysPostService.selectList(Condition.create().eq("status", "normal")));
|
|
|
|
|
// 返回包含了视图名称和岗位列表数据的ModelAndView对象,供Spring MVC渲染展示新增用户页面给客户端。
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@RequestMapping(path="role")
|
|
|
|
|
public ModelAndView role(String userCode , ModelAndView model) {
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/role"的请求方法,负责准备并返回分配用户角色页面相关的数据和视图,以便在页面上进行用户角色分配的相关操作。
|
|
|
|
|
@RequestMapping(path = "role")
|
|
|
|
|
public ModelAndView role(String userCode, ModelAndView model) {
|
|
|
|
|
// 设置要返回的视图名称为分配用户角色页面的视图名称(USER_ROLE_PAGE),使Spring MVC能找到对应的模板文件进行渲染展示该页面。
|
|
|
|
|
model.setViewName(USER_ROLE_PAGE);
|
|
|
|
|
// 通过ISysUserService的selectById方法,依据传入的userCode参数(用于指定具体的用户,一般是用户的唯一标识,比如用户编号等)查询对应的用户信息,
|
|
|
|
|
// 并将查询到的用户对象添加到ModelAndView对象中,这样在视图层就能展示该用户的相关基本信息,方便进行角色分配操作时参考。
|
|
|
|
|
model.addObject("user", iSysUserService.selectById(userCode));
|
|
|
|
|
// 调用ISysUserService的findUserRole方法,同样依据userCode参数查询该用户已分配的角色列表,
|
|
|
|
|
// 然后将角色列表数据添加到ModelAndView对象中,使得在分配用户角色页面上能够展示用户当前已有的角色情况,方便进行角色调整等操作。
|
|
|
|
|
model.addObject("userRoleList", iSysUserService.findUserRole(userCode));
|
|
|
|
|
// 返回包含了视图名称、用户对象以及用户角色列表数据的ModelAndView对象,供Spring MVC进行视图渲染展示分配用户角色页面给客户端。
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@RequestMapping(path="dataScope")
|
|
|
|
|
public ModelAndView dataScope(String userCode , ModelAndView model) {
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/dataScope"的请求方法,用于准备并返回用户数据权限页面相关的数据和视图,便于在页面上对用户的数据权限进行设置等操作。
|
|
|
|
|
@RequestMapping(path = "dataScope")
|
|
|
|
|
public ModelAndView dataScope(String userCode, ModelAndView model) {
|
|
|
|
|
// 设置返回的视图名称为用户数据权限页面的视图名称(USER_DATA_SCOPE_PAGE),让Spring MVC可以找到对应的模板文件进行页面渲染展示。
|
|
|
|
|
model.setViewName(USER_DATA_SCOPE_PAGE);
|
|
|
|
|
// 通过ISysUserService的selectById方法,根据传入的userCode参数查询对应的用户信息,并添加到ModelAndView对象中,
|
|
|
|
|
// 以便在视图层展示用户的基本信息,为设置数据权限提供参考依据。
|
|
|
|
|
model.addObject("user", iSysUserService.selectById(userCode));
|
|
|
|
|
// 调用ISysUserService的selectUserDataScope方法,依据userCode参数查询该用户的数据权限列表,
|
|
|
|
|
// 再将查询到的数据权限列表数据添加到ModelAndView对象中,使得在用户数据权限页面上可以展示用户当前的数据权限情况,方便进行权限设置调整操作。
|
|
|
|
|
model.addObject("userDataScopeList", iSysUserService.selectUserDataScope(userCode));
|
|
|
|
|
// 返回包含了视图名称、用户对象以及用户数据权限列表数据的ModelAndView对象,供Spring MVC进行视图渲染展示用户数据权限页面给客户端。
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/update"的请求方法(此路径下一般会有两个方法,一个用于处理GET请求展示修改页面,一个用于处理POST请求提交修改内容,这里是处理GET请求展示页面的情况),
|
|
|
|
|
// 主要功能是准备并返回修改用户信息页面相关的数据和视图,让用户可以看到要修改的用户信息详情并进行编辑操作。
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
@RequestMapping(path="update")
|
|
|
|
|
public ModelAndView update(String userCode , ModelAndView model) {
|
|
|
|
|
@RequestMapping(path = "update")
|
|
|
|
|
public ModelAndView update(String userCode, ModelAndView model) {
|
|
|
|
|
// 设置要返回的视图名称为修改用户信息页面的视图名称(USER_UPDATE_PAGE),以便Spring MVC找到对应的模板文件进行页面渲染展示。
|
|
|
|
|
model.setViewName(USER_UPDATE_PAGE);
|
|
|
|
|
// 通过ISysUserService的selectById方法,依据传入的userCode参数(指定要修改的用户的唯一标识)查询对应的用户信息,
|
|
|
|
|
// 并将查询到的用户对象添加到ModelAndView对象中,使得在修改页面上能展示用户的当前信息,方便用户进行编辑修改。
|
|
|
|
|
model.addObject("user", iSysUserService.selectById(userCode));
|
|
|
|
|
// 通过ISysPostService的selectList方法结合条件构造器(Condition.create().eq("status", "0"))查询状态为特定值(这里"0"可能表示正常等可用状态,具体取决于业务中岗位状态定义)的岗位列表,
|
|
|
|
|
// 然后将岗位列表数据添加到ModelAndView对象中,方便在修改用户信息页面上展示岗位相关信息,比如让用户可以重新选择所属岗位等操作。
|
|
|
|
|
model.addObject("postList", iSysPostService.selectList(Condition.create().eq("status", "0")));
|
|
|
|
|
// 调用ISysUserService的queryUserPostByUserCode方法,依据userCode参数查询该用户所属岗位编号等相关信息,
|
|
|
|
|
// 并将这些信息添加到ModelAndView对象中,以便在修改页面上展示用户当前所属岗位的具体情况,辅助用户进行相关信息的修改。
|
|
|
|
|
model.addObject("userPostCode", iSysUserService.queryUserPostByUserCode(userCode));
|
|
|
|
|
// 返回包含了视图名称、用户对象、岗位列表数据以及用户所属岗位编号相关信息的ModelAndView对象,供Spring MVC进行视图渲染展示修改用户信息页面给客户端。
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 列表*/
|
|
|
|
|
@RequestMapping(path="listData",method=RequestMethod.POST)
|
|
|
|
|
// 处理路径为"sys/user/listData"(且请求方法为POST的请求)的请求方法,用于查询并返回符合条件的用户列表数据,
|
|
|
|
|
// 返回结果会以适合前端表格组件(如jqGrid等)使用的格式包装在Map中,并以JSON格式响应给客户端,方便前端进行数据展示和分页等操作。
|
|
|
|
|
@RequestMapping(path = "listData", method = RequestMethod.POST)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Map<String, Object> listData(SysUserCondition condition) {
|
|
|
|
|
try {
|
|
|
|
|
// 通过ISysUserService的listData方法,依据传入的SysUserCondition对象(该对象用于封装查询用户列表的各种条件,比如查询关键字、分页信息、用户状态筛选等条件)查询用户列表,
|
|
|
|
|
// 返回的结果是一个Page<SysUserEntity>对象,它是MyBatis Plus分页插件生成的分页后的用户实体对象列表,包含了相关的分页信息(总记录数、每页记录数、当前页码、总页数等)。
|
|
|
|
|
Page<SysUserEntity> page = iSysUserService.listData(condition);
|
|
|
|
|
// 调用Result类的jqGridResult方法,将分页信息以及实际的用户记录数据进行整合,包装成一个Map对象,这个Map对象的格式符合前端表格组件期望的格式,
|
|
|
|
|
// 以便前端能够方便地解析并展示用户列表数据以及进行分页等相关操作。
|
|
|
|
|
return Result.jqGridResult(page.getRecords(), page.getTotal(), page.getSize(), page.getCurrent(), page.getPages());
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 如果在查询用户列表数据过程中出现异常,调用ExceptionSupport的resolverResult方法处理异常,
|
|
|
|
|
// 该方法可能会进行一些异常记录、日志输出等操作,并返回一个相应的处理结果(在这里返回null,表示查询出现问题),方便客户端根据返回结果判断是否获取到正确的用户列表数据以及是否出现异常情况。
|
|
|
|
|
ExceptionSupport.resolverResult("查询用户列表", this.getClass(), e);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 校验登录账号*/
|
|
|
|
|
@RequestMapping(path="checkLoginCode",method=RequestMethod.GET)
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/checkLoginCode"(且请求方法为GET的请求)的请求方法,用于校验登录账号是否可用,例如检查新输入的登录账号是否已存在,或者与原登录账号对比是否符合修改规则等情况,
|
|
|
|
|
// 并返回校验结果给客户端,结果以布尔值形式响应(true表示可用,false表示不可用),方便前端根据校验结果进行相应的提示或后续操作。
|
|
|
|
|
@RequestMapping(path = "checkLoginCode", method = RequestMethod.GET)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Boolean checkLoginCode(String oldLoginCode , String loginCode) {
|
|
|
|
|
return iSysUserService.checkLoginCode(oldLoginCode , loginCode);
|
|
|
|
|
public Boolean checkLoginCode(String oldLoginCode, String loginCode) {
|
|
|
|
|
// 直接调用ISysUserService的checkLoginCode方法,传入旧登录账号(oldLoginCode)和新登录账号(loginCode)两个参数进行账号可用性校验,
|
|
|
|
|
// 并将校验结果(布尔值)直接返回给客户端,由前端根据这个结果来决定后续的操作,比如是否允许修改登录账号等。
|
|
|
|
|
return iSysUserService.checkLoginCode(oldLoginCode, loginCode);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 更新用户*/
|
|
|
|
|
@RequestMapping(path="update",method=RequestMethod.POST)
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/update"(且请求方法为POST的请求)的请求方法,用于更新用户信息,当客户端提交修改后的用户信息时,此方法会被调用进行实际的更新操作,
|
|
|
|
|
// 并返回更新操作的结果给客户端,结果以JSON格式响应,告知客户端更新是否成功以及相关提示信息等内容。
|
|
|
|
|
@RequestMapping(path = "update", method = RequestMethod.POST)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Result update(SysUserEntity user) {
|
|
|
|
|
try {
|
|
|
|
|
// 调用ISysUserService的update方法,传入包含了更新后用户信息的SysUserEntity对象,进行用户信息的更新操作,
|
|
|
|
|
// 如果更新操作成功,通过Result类的result方法构建一个包含成功状态码(0表示成功)、提示信息(表明保存用户成功以及用户的名称等相关内容)以及空数据的Result对象返回给客户端。
|
|
|
|
|
iSysUserService.update(user);
|
|
|
|
|
return Result.result(0, null, "保存用户【"+user.getUserName()+"】成功!");
|
|
|
|
|
return Result.result(0, null, "保存用户【" + user.getUserName() + "】成功!");
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 如果在更新用户信息过程中出现异常,调用ExceptionSupport的resolverResult方法处理异常,
|
|
|
|
|
// 并将处理后的结果(同样包装在Result对象中)返回给客户端,客户端可以根据返回的Result对象判断更新操作是否成功以及获取相应的提示信息等。
|
|
|
|
|
return ExceptionSupport.resolverResult("更新用户", this.getClass(), e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 保存用户*/
|
|
|
|
|
@RequestMapping(path="save",method=RequestMethod.POST)
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/save"(且请求方法为POST的请求)的请求方法,用于保存新用户信息,将客户端提交的新用户相关数据保存到数据库等存储介质中,
|
|
|
|
|
// 并返回保存操作的结果给客户端,结果以JSON格式响应,告知客户端保存是否成功以及相应提示信息。
|
|
|
|
|
@RequestMapping(path = "save", method = RequestMethod.POST)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Result save(SysUserEntity user) {
|
|
|
|
|
try {
|
|
|
|
|
// 调用ISysUserService的save方法,传入包含新用户信息的SysUserEntity对象,进行保存新用户信息的操作,
|
|
|
|
|
// 如果保存操作成功,同样通过Result类的result方法构建一个包含成功状态码、提示信息(表明保存用户成功以及用户的名称等相关内容)以及空数据的Result对象返回给客户端。
|
|
|
|
|
iSysUserService.save(user);
|
|
|
|
|
return Result.result(0, null, "保存用户【"+user.getUserName()+"】成功!");
|
|
|
|
|
return Result.result(0, null, "保存用户【" + user.getUserName() + "】成功!");
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 如果在保存新用户信息过程中出现异常,调用ExceptionSupport的resolverResult方法处理异常,
|
|
|
|
|
// 并将处理后的结果(包装在Result对象中)返回给客户端,方便客户端知晓保存操作是否成功以及获取相应的提示信息等。
|
|
|
|
|
return ExceptionSupport.resolverResult("保存用户", this.getClass(), e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 授权用户角色*/
|
|
|
|
|
@RequestMapping(path="allowUserRole",method=RequestMethod.POST)
|
|
|
|
|
|
|
|
|
|
// 处理路径为"sys/user/allowUserRole"(且请求方法为POST的请求)的请求方法,用于授权用户角色,即对用户的角色进行分配或调整操作,
|
|
|
|
|
// 并返回授权操作的结果给客户端,结果以JSON格式响应,告知客户端角色分配是否成功以及相关提示信息等内容。
|
|
|
|
|
/**
|
|
|
|
|
* 授权用户角色
|
|
|
|
|
* 此方法用于处理对用户进行角色授权的业务操作,接收一个包含用户相关信息以及要分配角色信息的 SysUserEntity 对象,
|
|
|
|
|
* 通过调用业务逻辑层的相应方法完成角色分配,并根据操作结果返回合适的提示信息给客户端,告知角色分配是否成功。
|
|
|
|
|
* 请求路径为 "sys/user/allowUserRole",且请求方法限定为 POST,表明这是一个用于接收客户端提交数据来执行用户角色授权操作的接口。
|
|
|
|
|
* 使用 @ResponseBody 注解将返回结果转换为 JSON 格式返回给客户端,方便客户端进行解析和相应的提示展示等处理。
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(path = "allowUserRole", method = RequestMethod.POST)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Result allowUserRole(SysUserEntity user) {
|
|
|
|
|
try {
|
|
|
|
|
// 调用 iSysUserService 的 allowUserRole 方法,传入包含了用户相关信息以及角色分配相关设置的 SysUserEntity 对象,
|
|
|
|
|
// 由业务逻辑层去执行具体的用户角色授权逻辑,比如将用户与指定的角色在数据库中建立关联关系等操作,以完成角色分配的业务需求。
|
|
|
|
|
iSysUserService.allowUserRole(user);
|
|
|
|
|
return Result.result(0, null, "【"+user.getUserName()+"】分配角色成功!");
|
|
|
|
|
// 如果角色授权操作成功,通过 Result 类的 result 方法构建一个 Result 对象返回给客户端。
|
|
|
|
|
// 该 Result 对象包含了表示操作成功的状态码(这里使用 0 表示成功)、提示信息(表明【用户名称】分配角色成功,方便客户端展示友好且明确的提示内容告知用户操作结果,其中用户名称通过 user.getUserName() 获取)以及空的数据部分(因为在此场景下,成功授权角色后通常不需要额外返回具体的数据)。
|
|
|
|
|
return Result.result(0, null, "【" + user.getUserName() + "】分配角色成功!");
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 如果在执行用户角色授权操作过程中出现异常,调用 ExceptionSupport 的 resolverResult 方法来处理异常情况。
|
|
|
|
|
// 这个方法可能会进行一些诸如记录异常详细信息到日志、根据异常类型返回合适的错误提示信息等操作,并将处理后的结果(同样包装在 Result 对象中)返回给客户端,
|
|
|
|
|
// 客户端可以根据接收到的 Result 对象判断角色分配操作是否成功以及获取相应的异常提示信息,以便进行后续的处理(如向用户展示错误提示等)。
|
|
|
|
|
return ExceptionSupport.resolverResult("分配角色", this.getClass(), e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 保存用户数据权限*/
|
|
|
|
|
@RequestMapping(path="saveUserDataScope",method=RequestMethod.POST)
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 保存用户数据权限
|
|
|
|
|
* 用于处理保存用户数据权限的业务操作,接收一个包含用户相关信息以及要设置的数据权限信息的 SysUserEntity 对象,
|
|
|
|
|
* 通过调用业务逻辑层对应方法来保存用户的数据权限设置,并依据操作结果返回相应提示信息给客户端,告知数据权限保存是否成功。
|
|
|
|
|
* 请求路径为 "sys/user/saveUserDataScope",请求方法限定为 POST,意味着这是接收客户端提交数据以执行保存用户数据权限操作的接口,
|
|
|
|
|
* 同时借助 @ResponseBody 注解将返回结果转换为 JSON 格式返回给客户端,便于客户端解析和展示提示信息等操作。
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(path = "saveUserDataScope", method = RequestMethod.POST)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Result saveUserDataScope(SysUserEntity user) {
|
|
|
|
|
try {
|
|
|
|
|
// 调用 iSysUserService 的 saveUserDataScope 方法,传入包含了用户信息以及要保存的数据权限相关设置的 SysUserEntity 对象,
|
|
|
|
|
// 由业务逻辑层执行具体的保存用户数据权限的逻辑,例如将用户的数据权限配置信息持久化存储到数据库等操作,以满足数据权限设置保存的业务需求。
|
|
|
|
|
iSysUserService.saveUserDataScope(user);
|
|
|
|
|
return Result.result(0, null, "【"+user.getUserName()+"】保存数据权限成功!");
|
|
|
|
|
// 若保存用户数据权限操作成功,使用 Result 类的 result 方法创建一个 Result 对象返回给客户端。
|
|
|
|
|
// 该 Result 对象包含表示成功的状态码(0 表示成功)、提示信息(表明【用户名称】保存数据权限成功,便于客户端向用户展示清晰的操作成功提示,其中用户名称通过 user.getUserName() 获取)以及空的数据部分(通常保存成功后不需要额外返回其他数据)。
|
|
|
|
|
return Result.result(0, null, "【" + user.getUserName() + "】保存数据权限成功!");
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 当保存用户数据权限操作出现异常时,调用 ExceptionSupport 的 resolverResult 方法来处理异常情况。
|
|
|
|
|
// 此方法会进行如记录异常详情到日志、根据异常生成合适的错误提示信息等操作,然后将处理后的结果(包装在 Result 对象中)返回给客户端,
|
|
|
|
|
// 客户端可依据接收到的 Result 对象判断保存操作是否成功以及获取相应的异常提示,进而进行后续的处理(例如向用户展示错误提示等)。
|
|
|
|
|
return ExceptionSupport.resolverResult("保存数据权限", this.getClass(), e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@RequestMapping(path="disable",method=RequestMethod.POST)
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 停用用户
|
|
|
|
|
* 此方法负责处理停用指定用户的业务操作,根据传入的用户编号(userCode)来定位要停用的用户,
|
|
|
|
|
* 通过调用业务逻辑层的相关方法执行停用操作,并依据操作结果返回相应信息给客户端,告知停用操作是否成功。
|
|
|
|
|
* 请求路径为 "sys/user/disable",请求方法限定为 POST,表明这是接收客户端请求以执行停用用户操作的接口,
|
|
|
|
|
* 利用 @ResponseBody 注解将返回结果转换为 JSON 格式返回给客户端,方便客户端进行解析和后续处理(如展示提示信息等)。
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(path = "disable", method = RequestMethod.POST)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Result disable(String userCode) {
|
|
|
|
|
try {
|
|
|
|
|
// 调用 iSysUserService 的 disable 方法,传入表示要停用用户的唯一标识(userCode,比如用户编号等),
|
|
|
|
|
// 由业务逻辑层去执行具体的停用用户的逻辑,例如在数据库中将用户的状态标记为停用状态等操作,以实现停用用户的业务需求。
|
|
|
|
|
return iSysUserService.disable(userCode);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 若在停用用户操作过程中出现异常,调用 ExceptionSupport 的 resolverResult 方法来处理异常情况。
|
|
|
|
|
// 该方法可能会记录异常信息到日志、返回合适的错误提示等操作,并返回处理后的结果(此处返回 null,表示操作出现问题,未能正常停用用户),
|
|
|
|
|
// 客户端可以根据接收到的返回值判断停用操作是否成功以及是否出现异常情况,进而进行相应的处理(如向用户展示错误提示等)。
|
|
|
|
|
ExceptionSupport.resolverResult("停用用户", this.getClass(), e);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@RequestMapping(path="enable",method=RequestMethod.POST)
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 激活用户
|
|
|
|
|
* 用于处理激活指定用户的业务操作,依据传入的用户编号(userCode)确定要激活的用户,
|
|
|
|
|
* 通过调用业务逻辑层相应方法来执行激活操作,并根据操作结果返回对应信息给客户端,告知激活操作是否成功。
|
|
|
|
|
* 请求路径为 "sys/user/enable",请求方法限定为 POST,意味着这是接收客户端请求以执行激活用户操作的接口,
|
|
|
|
|
* 借助 @ResponseBody 注解把返回结果转换为 JSON 格式返回给客户端,便于客户端解析和后续的展示提示信息等处理。
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(path = "enable", method = RequestMethod.POST)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Result enable(String userCode) {
|
|
|
|
|
try {
|
|
|
|
|
// 调用 iSysUserService 的 enable 方法,传入代表要激活用户的唯一标识(userCode),
|
|
|
|
|
// 由业务逻辑层去执行具体的激活用户的逻辑,比如在数据库中将用户的状态修改为激活状态等操作,以此实现激活用户的业务要求。
|
|
|
|
|
return iSysUserService.enable(userCode);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 当激活用户操作出现异常时,调用 ExceptionSupport 的 resolverResult 方法来处理异常情况。
|
|
|
|
|
// 此方法会进行记录异常信息、返回合适的错误提示等操作,然后返回处理后的结果(返回 null 表示操作失败,出现异常),
|
|
|
|
|
// 客户端可根据接收到的返回值判断激活操作是否成功以及是否有异常发生,进而进行后续处理(例如向用户展示错误提示等)。
|
|
|
|
|
ExceptionSupport.resolverResult("激活用户", this.getClass(), e);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@RequestMapping(path="delete",method=RequestMethod.POST)
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除用户
|
|
|
|
|
* 该方法负责处理删除指定用户的业务操作,按照传入的用户编号(userCode)来找到对应的用户进行删除,
|
|
|
|
|
* 通过调用业务逻辑层相关方法执行删除操作,并依据操作结果返回相应信息给客户端,告知删除操作是否成功。
|
|
|
|
|
* 请求路径为 "sys/user/delete",请求方法限定为 POST,表明这是接收客户端请求以执行删除用户操作的接口,
|
|
|
|
|
* 使用 @ResponseBody 注解将返回结果转换为 JSON 格式返回给客户端,方便客户端进行解析和后续的处理(如展示提示信息等)。
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping(path = "delete", method = RequestMethod.POST)
|
|
|
|
|
@ResponseBody
|
|
|
|
|
public Result delete(String userCode) {
|
|
|
|
|
try {
|
|
|
|
|
// 调用 iSysUserService 的 delete 方法,传入用于标识要删除用户的用户编号(userCode),
|
|
|
|
|
// 由业务逻辑层去执行具体的删除用户的逻辑,例如从数据库中删除该用户的相关记录等操作,以完成删除用户的业务需求。
|
|
|
|
|
return iSysUserService.delete(userCode);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 若在删除用户操作过程中出现异常,调用 ExceptionSupport 的 resolverResult 方法来处理异常情况。
|
|
|
|
|
// 该方法可能会记录异常详情到日志、返回合适的错误提示等操作,并返回处理后的结果(返回 null 表示操作失败,出现异常),
|
|
|
|
|
// 客户端可以根据接收到的返回值判断删除操作是否成功以及是否出现异常情况,进而进行相应的处理(如向用户展示错误提示等)。
|
|
|
|
|
ExceptionSupport.resolverResult("删除用户", this.getClass(), e);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|