LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); QueryWrapper queryWrapper = new QueryWrapper<Buffet>() .eq("code",buffet.getCode()); List<Buffet> list = buffetMapper.selectList(queryWrapper); if (ObjectUtils.isEmpty(list)) { throw new ServiceException("取餐码错误,请重新输入取餐码"); } QueryWrapper queryWrapper2 = new QueryWrapper<Buffet>() .eq("code",buffet.getCode()); Buffet buffet1 = buffetMapper.selectOne(queryWrapper2); QueryWrapper queryWrapper3 = new QueryWrapper<Buffet>() .eq("order_no",buffet1.getOrderNo()); BuffetLog buffetLog = buffetLogMapper.selectOne(queryWrapper3); buffetLog.setOuttime(new Date()); // buffetLog.setOutuser(user.getId()); DdOrder ddOrder = ddOrderMapper.selectById(buffet1.getOrderNo()); if (!ddOrder.getStatus().equals("6")){ throw new ServiceException("请等待配送完成后再取餐!!!"); } ddOrder.setStatus("7"); ddOrderMapper.updateById(ddOrder); buffetLogMapper.updateById(buffetLog); for (Buffet buffet2 : list) { buffet2.setStatus("0"); buffet2.setCode(""); buffet2.setOrderNo(""); this.updateById(buffet2); } return null; }
时间: 2023-06-18 20:07:09 浏览: 64
这是一个 Java 代码块,其中包含了对自助餐的取餐操作的处理逻辑。主要流程如下:
1. 从前端传来的参数中获取自助餐的取餐码;
2. 根据取餐码从数据库中查询自助餐的信息,如果查询不到,则抛出异常;
3. 根据查询到的自助餐信息,获取对应的订单号,并查询该订单的状态,如果订单状态不为已完成,则抛出异常;
4. 更新订单状态为已取餐;
5. 更新自助餐日志信息,记录取餐时间;
6. 更新自助餐信息,将自助餐状态改为可用状态,清空取餐码和订单号。
需要注意的是,这段代码中还有一行被注释掉的代码:`// buffetLog.setOutuser(user.getId());`,该代码用于记录取餐用户的 ID,可以根据需要取消注释。
相关问题
@ApiOperation("修改授权") @PostMapping("/changeAuthFlag") public Result<?> changeAuthFlag(@RequestBody String authFlag) { // 获取Session对象 Result<String> result = new Result<String>(); try { LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); SysUser sysUser = sysUserService.getById(loginUser.getId()); if(sysUser == null){ result.setSuccess(false); result.setResult("没有改用户"); return result; }else{ //update sysUserService.updateById(sysUser); } result.setSuccess(true); return result; } catch (Exception e) { e.printStackTrace(); result.setSuccess(false); } return result; }我这个方法是正确的吗,好像有错,没有去修改 数值没变
根据您提供的代码,我看不出来具体的问题所在。但是,我可以给您一些可能出错的地方:
1. @RequestBody注解用于接收HTTP请求体中的数据,而不是请求参数。如果您想要接收请求参数,应该使用@RequestParam注解。
2. 在更新SysUser之前,您需要根据请求体中的authFlag参数获取要更新的SysUser对象,并设置新的授权标志。然后再调用sysUserService.updateById(sysUser)方法进行更新。
3. 在更新SysUser之后,您需要返回更新后的SysUser对象,而不是返回一个字符串。
下面是一个示例代码:
```
@ApiOperation("修改授权")
@PostMapping("/changeAuthFlag")
public Result<?> changeAuthFlag(@RequestParam String authFlag) {
// 获取Session对象
Result<SysUser> result = new Result<>();
try {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
SysUser sysUser = sysUserService.getById(loginUser.getId());
if (sysUser == null) {
result.setSuccess(false);
result.setMessage("没有该用户");
} else {
// 更新SysUser对象
sysUser.setAuthFlag(authFlag);
sysUserService.updateById(sysUser);
result.setSuccess(true);
result.setResult(sysUser);
}
} catch (Exception e) {
e.printStackTrace();
result.setSuccess(false);
result.setMessage("更新授权标志时出现异常");
}
return result;
}
```
希望能够帮助到您!
SysUser user = SecurityUtils.getLoginUser().getUser();
引用\[2\]中的代码段展示了一个后端接口的实现,其中的`SysUser user = SecurityUtils.getLoginUser().getUser();`是获取当前登录用户的信息。这段代码的作用是从`SecurityUtils`中获取登录用户的信息,并将其赋值给`user`变量。在这个例子中,`SecurityUtils`是一个工具类,`getLoginUser()`方法返回一个`LoginUser`对象,而`getUser()`方法则返回该对象中的`SysUser`信息。所以,`SysUser user = SecurityUtils.getLoginUser().getUser();`这行代码的作用是获取当前登录用户的`SysUser`对象。
#### 引用[.reference_title]
- *1* [反射调用get和set方法](https://blog.csdn.net/liuyuinsdu/article/details/121127052)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [若依框架原理及使用(一)](https://blog.csdn.net/weixin_52210557/article/details/121611329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)