package com.ruoyi.account.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.dto.AccountTransferDto; import com.ruoyi.account.pojo.Account; import com.ruoyi.account.pojo.AccountIncome; import com.ruoyi.account.service.AccountIncomeService; import com.ruoyi.account.service.AccountService; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.framework.security.LoginUser; import com.ruoyi.framework.web.domain.AjaxResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.Date; import java.util.List; /** * 财务管理--资金管理 */ @RestController @RequestMapping("/finance/funds") @Api(tags = "财务管理--资金管理") public class AccountController { @Resource private AccountService accountService; /** * 新增流水(自动补全收支方向) * @param account * @return */ @PostMapping("/add") @ApiOperation("新增流水") public AjaxResult add(@RequestBody Account account) { return AjaxResult.success(accountService.saveFlow(account)); } /** * 转账(生成成对流水) * @param dto * @return */ @PostMapping("/transfer") @ApiOperation("转账") public AjaxResult transfer(@RequestBody AccountTransferDto dto) { return AjaxResult.success(accountService.transfer(dto)); } /** * 删除 * @param ids * @return */ @DeleteMapping() @ApiOperation("删除") public AjaxResult delQualityInspect(@RequestBody List ids) { if(CollectionUtils.isEmpty(ids)){ return AjaxResult.error("请选择至少一条数据"); } if (accountService.listByIds(ids).stream().anyMatch(item -> "2".equals(item.getFlowType()))) { return AjaxResult.error("转账成对流水不可单独删除"); } // 删除普通资金流水;转账流水必须保持成对完整 return AjaxResult.success(accountService.removeBatchByIds(ids)); } /** * 修改 * @param account * @return */ @PutMapping() @ApiOperation("修改") public AjaxResult update(@RequestBody Account account) { return AjaxResult.success(accountService.updateFlow(account)); } /** *分页查询 * @param page * @return */ @GetMapping("/page") @ApiOperation("分页查询") public AjaxResult accountListPage(Page page,Account account) { return AjaxResult.success(accountService.accountListPage(page,account)); } }