public ApiResult<Budget> updateBudget(@Validated(Update.class) @RequestBody Budget budget) throws Exception { Budget oldBudget = budgetService.getById(budget.getBId()); String tokenSha256 = DigestUtils.sha256Hex(JwtTokenUtil.getToken()); LoginSysUserVo loginSysUserVo = (LoginSysUserVo) redisTemplate.opsForValue().get(tokenSha256); if (loginSysUserVo == null) { return ApiResult.ok(null); } budget.setUpdatedBy(loginSysUserVo.getId()); // 校验金额 boolean flag = budgetService.updateBudget(budget);不让getProjectState>2的修改
时间: 2024-02-20 16:56:56 浏览: 56
根据代码中的注释,需要对 budget 的 ProjectState 进行校验,确保其值不能大于 2,否则不允许修改。可以在更新之前添加以下代码:
```
if (budget.getProjectState() > 2) {
return ApiResult.fail("ProjectState cannot be greater than 2");
}
```
这样就可以保证只有 ProjectState 值小于等于 2 的 budget 才能被更新。
相关问题
public ApiResult<List<ViewUser>> FindUser(int id) { List<ViewUser> viewuser = DbConfig.Db.Queryable<ViewUser>().Where(it => it.id == id).ToList(); return new ApiResult<ViewUser> { Status = ResultStatus.Success, Data = viewuser }; }帮我查看一下这段代码的问题
这段代码的问题在于返回类型不匹配,应该返回 ApiResult<List<ViewUser>> 而不是 ApiResult<ViewUser>。正确的代码应该是:
public ApiResult<List<ViewUser>> FindUser(int id)
{
List<ViewUser> viewuser = DbConfig.Db.Queryable<ViewUser>().Where(it => it.id == id).ToList();
return new ApiResult<List<ViewUser>> { Status = ResultStatus.Success, Data = viewuser };
}
public static <T> ApiResult<T> successResult(T data) { ApiResult<T> apiResult = new ApiResult<>(); apiResult.setCode(BusinessCode.SUCCESS.getCode()); apiResult.setMessage(BusinessCode.SUCCESS.getMsg()); apiResult.setData(data); return apiResult;
这段代码是一个静态方法,返回一个泛型类型为 ApiResult<T> 的对象。这个方法接收一个参数 data,表示请求成功时需要返回的数据。在方法中,首先创建了一个 ApiResult<T> 类型的对象 apiResult,然后设置它的 code 和 message 属性为 SUCCESS 对应的值,最后将传入的 data 设置为 apiResult 的 data 属性,并将 apiResult 返回。这个方法的作用是返回一个请求成功的 ApiResult 对象,其中包含了传入的数据。
阅读全文