diff --git a/service/src/main/java/cn/bunny/services/controller/financial/SavingGoalController.java b/service/src/main/java/cn/bunny/services/controller/financial/SavingGoalController.java index 5454503..66750a1 100644 --- a/service/src/main/java/cn/bunny/services/controller/financial/SavingGoalController.java +++ b/service/src/main/java/cn/bunny/services/controller/financial/SavingGoalController.java @@ -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>> getUserSavingGoalList( + @Parameter(name = "page", description = "当前页", required = true) + @PathVariable("page") Integer page, + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable("limit") Integer limit, + SavingGoalDto dto) { + Page pageParams = new Page<>(page, limit); + PageResult pageResult = savingGoalService.getUserSavingGoalList(pageParams, dto); + return Mono.just(Result.success(pageResult)); + } + + @Operation(summary = "添加储值", description = "添加储值") @PostMapping("addSavingGoal") public Mono> 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> adduserSavingGoal(@Valid @RequestBody SavingGoalAddUserDto dto) { + savingGoalService.adduserSavingGoal(dto); + return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); + } + + @Operation(summary = "更新储值", description = "更新储值") @PutMapping("updateSavingGoal") public Mono> 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> updateUserSavingGoal(@Valid @RequestBody SavingGoalUpdateDto dto) { + savingGoalService.updateUserSavingGoal(dto); + return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS)); + } + + @Operation(summary = "删除储值", description = "删除储值") @DeleteMapping("deleteSavingGoal") public Mono> deleteSavingGoal(@RequestBody List ids) { savingGoalService.deleteSavingGoal(ids); return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS)); } + + @Operation(summary = "用户删除储值", description = "用户删除储值") + @DeleteMapping("noManage/deleteUserSavingGoal") + public Mono> deleteUserSavingGoal(@RequestBody List ids) { + savingGoalService.deleteUserSavingGoal(ids); + return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS)); + } } diff --git a/service/src/main/java/cn/bunny/services/service/financial/SavingGoalService.java b/service/src/main/java/cn/bunny/services/service/financial/SavingGoalService.java index fde84b4..f0cd2d4 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/SavingGoalService.java +++ b/service/src/main/java/cn/bunny/services/service/financial/SavingGoalService.java @@ -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 { * @param ids 删除id列表 */ void deleteSavingGoal(List ids); + + /** + * 用户分页查询用户储值 + * + * @param pageParams 分页查询条件 + * @param dto 分页查询表单 + * @return 分页返回结果 + */ + PageResult getUserSavingGoalList(Page pageParams, SavingGoalDto dto); + + /** + * 用户添加储值 + * + * @param dto 添加表单 + */ + void adduserSavingGoal(@Valid SavingGoalAddUserDto dto); + + /** + * 用户更新储值 + * + * @param dto 更新表单 + */ + void updateUserSavingGoal(SavingGoalUpdateDto dto); + + /** + * 用户删除储值 + * + * @param ids 删除列表 + */ + void deleteUserSavingGoal(List ids); } diff --git a/service/src/main/java/cn/bunny/services/service/financial/impl/SavingGoalServiceImpl.java b/service/src/main/java/cn/bunny/services/service/financial/impl/SavingGoalServiceImpl.java index 5cfc3ba..a6896e3 100644 --- a/service/src/main/java/cn/bunny/services/service/financial/impl/SavingGoalServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/financial/impl/SavingGoalServiceImpl.java @@ -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 ids) { baseMapper.deleteBatchIdsWithPhysics(ids); } + + /** + * 用户分页查询用户储值 + * + * @param pageParams 分页查询条件 + * @param dto 分页查询表单 + * @return 分页返回结果 + */ + @Override + public PageResult getUserSavingGoalList(Page pageParams, SavingGoalDto dto) { + dto.setUserId(BaseContext.getUserId()); + IPage page = baseMapper.selectListByPage(pageParams, dto); + + return PageResult.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 ids) { + // 判断删除的是否是自己的账单 + List billList = list(Wrappers.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); + } }