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;
|
|
/**
|
* <p>
|
* 借款信息表 服务实现类
|
* </p>
|
*
|
* @author 芯导软件(江苏)有限公司
|
* @since 2026-01-15 02:57:29
|
*/
|
@Service
|
@Slf4j
|
public class BorrowInfoServiceImpl extends ServiceImpl<BorrowInfoMapper, BorrowInfo> implements BorrowInfoService {
|
|
@Autowired
|
private BorrowInfoMapper borrowInfoMapper;
|
|
@Autowired
|
private AccountIncomeService accountIncomeService;
|
|
@Autowired
|
private AccountExpenseService accountExpenseService;
|
|
@Override
|
public AjaxResult listPage(Page page, BorrowInfo borrowInfo) {
|
LambdaQueryWrapper<BorrowInfo> 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<AccountIncome>()
|
.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<Long> ids) {
|
int delete = borrowInfoMapper.deleteBatchIds(ids);
|
if(delete > 0){
|
// 删除成功,删除收入管理
|
accountIncomeService.remove(new LambdaQueryWrapper<AccountIncome>()
|
.in(AccountIncome::getBusinessId, ids)
|
.eq(AccountIncome::getBusinessType, 2));
|
// 删除支出管理
|
accountExpenseService.remove(new LambdaQueryWrapper<AccountExpense>()
|
.in(AccountExpense::getBusinessId, ids)
|
.eq(AccountExpense::getBusinessType, 2));
|
return AjaxResult.success("删除成功");
|
}
|
return AjaxResult.success("删除失败");
|
}
|
}
|