|
|
// 声明该类所属的包,用于组织代码结构,体现代码的模块划分
|
|
|
package com.ew.gerocomium.controller;
|
|
|
|
|
|
// 导入自定义的常量类,该类可能包含项目中的通用常量,如开发者信息等
|
|
|
import com.ew.gerocomium.common.constant.Constant;
|
|
|
// 导入自定义的基础结果类,用于封装接口返回的结果,包含操作状态、消息和数据等
|
|
|
import com.ew.gerocomium.dao.base.Result;
|
|
|
// 导入分页查询预存充值记录的请求实体类,用于封装查询条件和分页信息
|
|
|
import com.ew.gerocomium.dao.query.PageCheckContractByKeyQuery;
|
|
|
// 导入分页查询预存充值的请求实体类,用于封装查询条件和分页信息
|
|
|
import com.ew.gerocomium.dao.query.PageDepositRechargeByKeyQuery;
|
|
|
// 导入分页搜索老人的请求实体类,用于封装搜索条件和分页信息
|
|
|
import com.ew.gerocomium.dao.query.PageSearchElderByKeyQuery;
|
|
|
// 导入入住老人账户充值的请求实体类,用于封装充值相关信息
|
|
|
import com.ew.gerocomium.dao.query.RechargeQuery;
|
|
|
// 导入预存充值业务逻辑的服务类,负责处理预存充值相关的具体业务操作
|
|
|
import com.ew.gerocomium.service.DepositRechargeService;
|
|
|
// 导入 Swagger 的注解,用于生成 API 文档时对控制器进行分类和描述
|
|
|
import io.swagger.annotations.Api;
|
|
|
// 导入 Swagger 的注解,用于描述 API 操作的详细信息,如操作名称和备注
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
// 导入 Swagger 的注解,用于描述 API 参数的详细信息,如参数名称、是否必填等
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
// 导入 Spring Security 的注解,用于在方法执行前进行权限验证
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
// 导入 Spring MVC 的注解,用于处理 HTTP 请求,定义请求映射和请求方法等
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
// 导入 Spring 的注解,用于实现依赖注入,将所需的服务类实例注入到当前类中
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
|
/**
|
|
|
* 预存充值控制器类,用于处理与预存充值相关的各种操作请求,如分页查询预存充值记录、分页搜索老人以及入住老人账户充值等。
|
|
|
*/
|
|
|
// 使用 Swagger 的 @Api 注解,标记该控制器的标签为“预存充值”,方便在生成 API 文档时进行分类展示
|
|
|
@Api(tags = "预存充值")
|
|
|
// 使用 Spring MVC 的 @RestController 注解,将该类标记为 RESTful 风格的控制器,用于处理 HTTP 请求并返回 JSON 等格式的响应
|
|
|
@RestController
|
|
|
// 使用 Spring MVC 的 @RequestMapping 注解,定义该控制器的基础请求路径为 /depositRecharge,该控制器下的所有请求都以此为前缀
|
|
|
@RequestMapping("/depositRecharge")
|
|
|
// 使用 Spring Security 的 @PreAuthorize 注解,进行权限控制,只有拥有指定权限(/fee/pay)的用户才能访问该控制器的方法
|
|
|
@PreAuthorize("@AuthorityAssert.hasAuthority('/fee/pay')")
|
|
|
public class DepositRechargeController {
|
|
|
|
|
|
// 使用 @Resource 注解,将 DepositRechargeService 类型的实例注入到当前类中,以便调用其方法处理预存充值相关业务逻辑
|
|
|
@Resource
|
|
|
private DepositRechargeService depositRechargeService;
|
|
|
|
|
|
/**
|
|
|
* 分页查询预存充值记录的方法。
|
|
|
*
|
|
|
* @param pageDepositRechargeByKeyQuery 分页查询预存充值的请求实体,包含查询条件(如充值时间、充值金额范围等)和分页信息(如页码、每页数量等)。
|
|
|
* @param token 接口访问请求头中的令牌,用于身份验证,确保只有合法用户才能访问该接口。
|
|
|
* @return 包含分页查询预存充值记录操作结果的 Result 对象,封装了操作是否成功以及查询到的预存充值数据列表等信息。
|
|
|
*/
|
|
|
// 使用 Spring MVC 的 @GetMapping 注解,处理 HTTP GET 请求,路径为 /depositRecharge/pageDepositRechargeByKey
|
|
|
@GetMapping("/pageDepositRechargeByKey")
|
|
|
// 使用 Swagger 的 @ApiOperation 注解,描述该 API 操作的名称为“分页查询预存充值”,并添加备注信息(包含开发者信息)
|
|
|
@ApiOperation(value = "分页查询预存充值", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN)
|
|
|
public Result pageDepositRechargeByKey(
|
|
|
// 使用 Swagger 的 @ApiParam 注解,描述该参数的作用为“分页查询预存充值请求实体”,并标记为必需参数
|
|
|
@ApiParam(value = "分页查询预存充值请求实体", required = true)
|
|
|
PageDepositRechargeByKeyQuery pageDepositRechargeByKeyQuery,
|
|
|
// 使用 Swagger 的 @ApiParam 注解,描述该参数的作用为“接口访问请求头”,并标记为必需参数,同时使用 @RequestHeader 注解从请求头中获取该参数值
|
|
|
@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) {
|
|
|
// 调用 DepositRechargeService 的 pageDepositRechargeByKey 方法,传入分页查询请求实体,获取分页查询的预存充值记录信息并返回结果
|
|
|
return depositRechargeService.pageDepositRechargeByKey(pageDepositRechargeByKeyQuery);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 分页搜索老人的方法。
|
|
|
*
|
|
|
* @param pageSearchElderByKeyQuery 分页搜索老人的请求实体,包含搜索条件(如老人姓名、身份证号等)和分页信息(如页码、每页数量等)。
|
|
|
* @param token 接口访问请求头中的令牌,用于身份验证,确保只有合法用户才能访问该接口。
|
|
|
* @return 包含分页搜索老人操作结果的 Result 对象,封装了操作是否成功以及搜索到的老人数据列表等信息。
|
|
|
*/
|
|
|
// 使用 Spring MVC 的 @GetMapping 注解,处理 HTTP GET 请求,路径为 /depositRecharge/pageSearchElderByKey
|
|
|
@GetMapping("/pageSearchElderByKey")
|
|
|
// 使用 Swagger 的 @ApiOperation 注解,描述该 API 操作的名称为“分页搜索老人”,并添加备注信息(包含开发者信息)
|
|
|
@ApiOperation(value = "分页搜索老人", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN)
|
|
|
public Result pageSearchElderByKey(
|
|
|
// 使用 Swagger 的 @ApiParam 注解,描述该参数的作用为“分页搜索老人请求实体”,并标记为必需参数
|
|
|
@ApiParam(value = "分页搜索老人请求实体", required = true)
|
|
|
PageSearchElderByKeyQuery pageSearchElderByKeyQuery,
|
|
|
// 使用 Swagger 的 @ApiParam 注解,描述该参数的作用为“接口访问请求头”,并标记为必需参数,同时使用 @RequestHeader 注解从请求头中获取该参数值
|
|
|
@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) {
|
|
|
// 调用 DepositRechargeService 的 pageSearchElderByKey 方法,传入分页搜索请求实体,获取分页搜索的老人信息并返回结果
|
|
|
return depositRechargeService.pageSearchElderByKey(pageSearchElderByKeyQuery);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 入住老人账户充值的方法。
|
|
|
*
|
|
|
* @param rechargeQuery 入住老人账户充值的请求实体,包含充值的详细信息,如老人编号、充值金额等。
|
|
|
* @param token 接口访问请求头中的令牌,用于身份验证,确保只有合法用户才能访问该接口。
|
|
|
* @return 包含入住老人账户充值操作结果的 Result 对象,封装了操作是否成功以及可能的错误信息等。
|
|
|
*/
|
|
|
// 使用 Spring MVC 的 @PutMapping 注解,处理 HTTP PUT 请求,路径为 /depositRecharge/recharge
|
|
|
@PutMapping("/recharge")
|
|
|
// 使用 Swagger 的 @ApiOperation 注解,描述该 API 操作的名称为“入住老人账户充值”,并添加备注信息(包含开发者信息)
|
|
|
@ApiOperation(value = "入住老人账户充值", notes = Constant.DEVELOPER + Constant.EMPEROR_WEN)
|
|
|
public Result recharge(
|
|
|
// 使用 Swagger 的 @ApiParam 注解,描述该参数的作用为“入住老人账户充值请求实体”,并标记为必需参数,同时使用 @RequestBody 注解从请求体中获取该参数值
|
|
|
@ApiParam(value = "入住老人账户充值请求实体", required = true) @RequestBody
|
|
|
RechargeQuery rechargeQuery,
|
|
|
// 使用 Swagger 的 @ApiParam 注解,描述该参数的作用为“接口访问请求头”,并标记为必需参数,同时使用 @RequestHeader 注解从请求头中获取该参数值
|
|
|
@ApiParam(value = "接口访问请求头", required = true) @RequestHeader String token) {
|
|
|
// 调用 DepositRechargeService 的 recharge 方法,传入入住老人账户充值请求实体,执行充值操作并返回结果
|
|
|
return depositRechargeService.recharge(rechargeQuery);
|
|
|
}
|
|
|
} |