You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
4.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.xmomen.module.pick.controller;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.xmomen.framework.mybatis.dao.MybatisDao;
import com.xmomen.framework.web.exceptions.ArgumentValidException;
import com.xmomen.module.logger.Log;
import com.xmomen.module.pick.model.CreateMember;
import com.xmomen.module.pick.model.PickVo;
import com.xmomen.module.pick.service.PickService;
/**
* PickController 类是一个控制器类,用于处理与采摘相关的业务请求。
* 它使用了 Spring 的注解 @RestController表明这是一个 RESTful 风格的控制器,
* 用于处理 HTTP 请求并返回 JSON 格式的响应(虽然在当前代码中部分方法没有返回值,但通常是这样的用途)。
*/
@RestController
public class PickController {
// 自动注入 PickService 实例,用于调用与采摘相关的业务逻辑方法
@Autowired
PickService pickService;
// 自动注入 MybatisDao 实例,用于进行数据库操作(如查询、插入、更新等)
@Autowired
MybatisDao mybatisDao;
/**
* 采摘结算的处理方法,处理 PUT 请求到 "/pick/settleAccounts" 路径的请求。
* 该方法用于执行采摘结算的业务逻辑。
*
* @param pickVo 包含采摘结算相关信息的对象,通过 @RequestBody 注解从请求体中获取,
* 并使用 @Valid 注解进行数据验证。
* @param bindingResult 用于存储数据验证的结果,如果数据验证失败,可以通过它获取错误信息。
* @return 该方法没有返回值,它主要是调用 PickService 的方法来处理业务逻辑。
* @throws ArgumentValidException 如果数据验证失败(即 bindingResult 中有错误),则抛出该异常。
*/
@RequestMapping(value = "/pick/settleAccounts", method = RequestMethod.PUT)
@Log(actionName = "采摘结算")
public void settleAccounts(@RequestBody @Valid PickVo pickVo, BindingResult bindingResult) throws ArgumentValidException {
// 检查数据验证结果,如果有错误
if (bindingResult != null && bindingResult.hasErrors()) {
// 抛出参数验证异常,将错误信息传递给上层处理
throw new ArgumentValidException(bindingResult);
}
// 调用 PickService 的 pick 方法,执行采摘结算的业务逻辑
pickService.pick(pickVo);
}
/**
* 办理新卡的处理方法,处理 PUT 请求到 "/pick/pickCard" 路径的请求。
* 该方法用于执行办理新卡的业务逻辑。
*
* @param createMember 包含办理新卡相关信息的对象,通过 @RequestBody 注解从请求体中获取,
* 并使用 @Valid 注解进行数据验证。
* @param bindingResult 用于存储数据验证的结果,如果数据验证失败,可以通过它获取错误信息。
* @return 该方法没有返回值,它主要是调用 PickService 的方法来处理业务逻辑。
* @throws ArgumentValidException 如果数据验证失败(即 bindingResult 中有错误),则抛出该异常。
*/
@RequestMapping(value = "/pick/pickCard", method = RequestMethod.PUT)
@Log(actionName = "办新卡")
public void pickCard(@RequestBody @Valid CreateMember createMember, BindingResult bindingResult) throws ArgumentValidException {
// 检查数据验证结果,如果有错误
if (bindingResult != null && bindingResult.hasErrors()) {
// 抛出参数验证异常,将错误信息传递给上层处理
throw new ArgumentValidException(bindingResult);
}
// 调用 PickService 的 pickCard 方法,执行办理新卡的业务逻辑
pickService.pickCard(createMember);
}
}