feat: 储蓄目标修改

This commit is contained in:
Bunny 2024-11-16 23:18:16 +08:00
parent 889c774520
commit 58c53a10f0
3 changed files with 141 additions and 3 deletions

View File

@ -3,6 +3,7 @@ package cn.bunny.services.controller.financial;
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalDto;
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalAddDto;
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto;
import cn.bunny.dao.dto.financial.savingGoal.user.SavingGoalAddUserDto;
import cn.bunny.dao.entity.financial.SavingGoal;
import cn.bunny.dao.pojo.result.PageResult;
import cn.bunny.dao.pojo.result.Result;
@ -49,24 +50,58 @@ public class SavingGoalController {
return Mono.just(Result.success(pageResult));
}
@Operation(summary = "添加用户储值", description = "添加用户储值")
@Operation(summary = "用户分页查询用户储值", description = "用户分页查询用户储值")
@GetMapping("noManage/getUserSavingGoalList/{page}/{limit}")
public Mono<Result<PageResult<SavingGoalVo>>> getUserSavingGoalList(
@Parameter(name = "page", description = "当前页", required = true)
@PathVariable("page") Integer page,
@Parameter(name = "limit", description = "每页记录数", required = true)
@PathVariable("limit") Integer limit,
SavingGoalDto dto) {
Page<SavingGoal> pageParams = new Page<>(page, limit);
PageResult<SavingGoalVo> pageResult = savingGoalService.getUserSavingGoalList(pageParams, dto);
return Mono.just(Result.success(pageResult));
}
@Operation(summary = "添加储值", description = "添加储值")
@PostMapping("addSavingGoal")
public Mono<Result<String>> addSavingGoal(@Valid @RequestBody SavingGoalAddDto dto) {
savingGoalService.addSavingGoal(dto);
return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS));
}
@Operation(summary = "更新用户储值", description = "更新用户储值")
@Operation(summary = "用户添加储值", description = "用户添加储值")
@PostMapping("noManage/adduserSavingGoal")
public Mono<Result<String>> adduserSavingGoal(@Valid @RequestBody SavingGoalAddUserDto dto) {
savingGoalService.adduserSavingGoal(dto);
return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS));
}
@Operation(summary = "更新储值", description = "更新储值")
@PutMapping("updateSavingGoal")
public Mono<Result<String>> updateSavingGoal(@Valid @RequestBody SavingGoalUpdateDto dto) {
savingGoalService.updateSavingGoal(dto);
return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS));
}
@Operation(summary = "删除用户储值", description = "删除用户储值")
@Operation(summary = "用户更新储值", description = "用户更新储值")
@PutMapping("noManage/updateUserSavingGoal")
public Mono<Result<String>> updateUserSavingGoal(@Valid @RequestBody SavingGoalUpdateDto dto) {
savingGoalService.updateUserSavingGoal(dto);
return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS));
}
@Operation(summary = "删除储值", description = "删除储值")
@DeleteMapping("deleteSavingGoal")
public Mono<Result<String>> deleteSavingGoal(@RequestBody List<Long> ids) {
savingGoalService.deleteSavingGoal(ids);
return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS));
}
@Operation(summary = "用户删除储值", description = "用户删除储值")
@DeleteMapping("noManage/deleteUserSavingGoal")
public Mono<Result<String>> deleteUserSavingGoal(@RequestBody List<Long> ids) {
savingGoalService.deleteUserSavingGoal(ids);
return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS));
}
}

View File

@ -3,6 +3,7 @@ package cn.bunny.services.service.financial;
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalDto;
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalAddDto;
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto;
import cn.bunny.dao.dto.financial.savingGoal.user.SavingGoalAddUserDto;
import cn.bunny.dao.entity.financial.SavingGoal;
import cn.bunny.dao.pojo.result.PageResult;
import cn.bunny.dao.vo.financial.admin.SavingGoalVo;
@ -49,4 +50,34 @@ public interface SavingGoalService extends IService<SavingGoal> {
* @param ids 删除id列表
*/
void deleteSavingGoal(List<Long> ids);
/**
* 用户分页查询用户储值
*
* @param pageParams 分页查询条件
* @param dto 分页查询表单
* @return 分页返回结果
*/
PageResult<SavingGoalVo> getUserSavingGoalList(Page<SavingGoal> pageParams, SavingGoalDto dto);
/**
* 用户添加储值
*
* @param dto 添加表单
*/
void adduserSavingGoal(@Valid SavingGoalAddUserDto dto);
/**
* 用户更新储值
*
* @param dto 更新表单
*/
void updateUserSavingGoal(SavingGoalUpdateDto dto);
/**
* 用户删除储值
*
* @param ids 删除列表
*/
void deleteUserSavingGoal(List<Long> ids);
}

View File

@ -1,14 +1,19 @@
package cn.bunny.services.service.financial.impl;
import cn.bunny.common.service.context.BaseContext;
import cn.bunny.common.service.exception.BunnyException;
import cn.bunny.dao.dto.financial.savingGoal.SavingGoalDto;
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalAddDto;
import cn.bunny.dao.dto.financial.savingGoal.admin.SavingGoalUpdateDto;
import cn.bunny.dao.dto.financial.savingGoal.user.SavingGoalAddUserDto;
import cn.bunny.dao.entity.financial.SavingGoal;
import cn.bunny.dao.pojo.result.PageResult;
import cn.bunny.dao.pojo.result.ResultCodeEnum;
import cn.bunny.dao.vo.financial.admin.SavingGoalVo;
import cn.bunny.services.mapper.financial.SavingGoalMapper;
import cn.bunny.services.service.financial.SavingGoalService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.validation.Valid;
@ -82,4 +87,71 @@ public class SavingGoalServiceImpl extends ServiceImpl<SavingGoalMapper, SavingG
public void deleteSavingGoal(List<Long> ids) {
baseMapper.deleteBatchIdsWithPhysics(ids);
}
/**
* 用户分页查询用户储值
*
* @param pageParams 分页查询条件
* @param dto 分页查询表单
* @return 分页返回结果
*/
@Override
public PageResult<SavingGoalVo> getUserSavingGoalList(Page<SavingGoal> pageParams, SavingGoalDto dto) {
dto.setUserId(BaseContext.getUserId());
IPage<SavingGoalVo> page = baseMapper.selectListByPage(pageParams, dto);
return PageResult.<SavingGoalVo>builder()
.list(page.getRecords())
.pageNo(page.getCurrent())
.pageSize(page.getSize())
.total(page.getTotal())
.build();
}
/**
* 用户添加储值
*
* @param dto 添加表单
*/
@Override
public void adduserSavingGoal(@Valid SavingGoalAddUserDto dto) {
// 保存数据
SavingGoal savingGoal = new SavingGoal();
BeanUtils.copyProperties(dto, savingGoal);
savingGoal.setUserId(BaseContext.getUserId());
save(savingGoal);
}
/**
* 用户更新储值
*
* @param dto 更新表单
*/
@Override
public void updateUserSavingGoal(SavingGoalUpdateDto dto) {
// 更新内容
SavingGoal savingGoal = new SavingGoal();
BeanUtils.copyProperties(dto, savingGoal);
savingGoal.setUserId(BaseContext.getUserId());
updateById(savingGoal);
}
/**
* 用户删除储值
*
* @param ids 删除列表
*/
@Override
public void deleteUserSavingGoal(List<Long> ids) {
// 判断删除的是否是自己的账单
List<SavingGoal> billList = list(Wrappers.<SavingGoal>lambdaQuery().in(SavingGoal::getId, ids))
.stream().filter(bill -> !bill.getUserId().equals(BaseContext.getUserId())).toList();
if (!billList.isEmpty()) {
throw new BunnyException(ResultCodeEnum.ILLEGAL_DATA_REQUEST);
}
baseMapper.deleteBatchIdsWithPhysics(ids);
}
}