package com.ruoyi.account.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.pojo.AccountExpense; import com.ruoyi.account.pojo.AccountIncome; import com.ruoyi.account.pojo.BorrowInfo; import com.ruoyi.account.mapper.BorrowInfoMapper; import com.ruoyi.account.service.AccountExpenseService; import com.ruoyi.account.service.AccountIncomeService; import com.ruoyi.account.service.BorrowInfoService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.sales.service.ReceiptPaymentService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** *

* 借款信息表 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2026-01-15 02:57:29 */ @Service @Slf4j public class BorrowInfoServiceImpl extends ServiceImpl implements BorrowInfoService { @Autowired private BorrowInfoMapper borrowInfoMapper; @Autowired private AccountIncomeService accountIncomeService; @Autowired private AccountExpenseService accountExpenseService; @Override public AjaxResult listPage(Page page, BorrowInfo borrowInfo) { LambdaQueryWrapper borrowInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); if(borrowInfo != null){ if(StringUtils.isNotEmpty(borrowInfo.getEntryDateStart()) && StringUtils.isNotEmpty(borrowInfo.getEntryDateEnd())){ borrowInfoLambdaQueryWrapper.ge(BorrowInfo::getBorrowDate, borrowInfo.getEntryDateStart()); borrowInfoLambdaQueryWrapper.le(BorrowInfo::getBorrowDate, borrowInfo.getEntryDateEnd()); } if(borrowInfo.getStatus() != null){ borrowInfoLambdaQueryWrapper.eq(BorrowInfo::getStatus, borrowInfo.getStatus()); } if(StringUtils.isNotEmpty(borrowInfo.getBorrowerName())){ borrowInfoLambdaQueryWrapper.like(BorrowInfo::getBorrowerName, borrowInfo.getBorrowerName()); } } return AjaxResult.success(borrowInfoMapper.selectPage(page, borrowInfoLambdaQueryWrapper)); } @Override public AjaxResult add(BorrowInfo borrowInfo) { int insert = borrowInfoMapper.insert(borrowInfo); if(insert > 0){ // 添加成功,进入收入管理 AccountIncome accountIncome = new AccountIncome(); accountIncome.setBusinessId(borrowInfo.getId()); accountIncome.setBusinessType(2); accountIncome.setIncomeDate(DateUtils.toDate(borrowInfo.getBorrowDate())); accountIncome.setIncomeType("2"); accountIncome.setIncomeMoney(borrowInfo.getBorrowAmount()); accountIncome.setIncomeDescribed("借款"); accountIncome.setIncomeMethod("3"); accountIncome.setInputTime(DateUtils.getNowDate()); accountIncome.setInputUser(borrowInfo.getBorrowerName()); accountIncomeService.save(accountIncome); return AjaxResult.success("添加成功"); } return AjaxResult.success("添加失败"); } @Override public AjaxResult updateBorrowInfo(BorrowInfo borrowInfo) { int update = borrowInfoMapper.updateById(borrowInfo); if(update > 0){ // 修改成功,修改收入管理 AccountIncome one = accountIncomeService.getOne(new LambdaQueryWrapper() .eq(AccountIncome::getBusinessId, borrowInfo.getId()) .eq(AccountIncome::getBusinessType, 2) .last("limit 1")); if(one != null){ one.setIncomeMoney(borrowInfo.getBorrowAmount()); accountIncomeService.updateById(one); } // 是否为还款 if(borrowInfo.getStatus() != null && borrowInfo.getStatus() == 2){ // 新增支出记录 AccountExpense accountExpense = new AccountExpense(); accountExpense.setBusinessId(borrowInfo.getId()); accountExpense.setBusinessType(2); accountExpense.setExpenseDate(DateUtils.toDate(borrowInfo.getRepayDate())); accountExpense.setExpenseType("4"); accountExpense.setExpenseMoney(borrowInfo.getBorrowAmount()); accountExpense.setExpenseDescribed("还款"); accountExpense.setExpenseMethod("3"); accountExpense.setInputTime(DateUtils.getNowDate()); accountExpense.setInputUser(borrowInfo.getBorrowerName()); accountExpenseService.save(accountExpense); } return AjaxResult.success("修改成功"); } return AjaxResult.success("修改失败"); } @Override public AjaxResult delete(List ids) { int delete = borrowInfoMapper.deleteBatchIds(ids); if(delete > 0){ // 删除成功,删除收入管理 accountIncomeService.remove(new LambdaQueryWrapper() .in(AccountIncome::getBusinessId, ids) .eq(AccountIncome::getBusinessType, 2)); // 删除支出管理 accountExpenseService.remove(new LambdaQueryWrapper() .in(AccountExpense::getBusinessId, ids) .eq(AccountExpense::getBusinessType, 2)); return AjaxResult.success("删除成功"); } return AjaxResult.success("删除失败"); } }