From 3343c76e40c6760116bf9984fd7c366f934fa06f Mon Sep 17 00:00:00 2001 From: winter Date: Wed, 24 Jul 2024 23:36:34 +0800 Subject: [PATCH] fix --- .../market/WxFinanceController.java | 14 ++++++++-- .../iformall/service/WxFinanceService.java | 3 +- .../service/impl/WxFinanceServiceImpl.java | 28 ++++++++++++------- 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java index 61a9e5e1b..6d60a3273 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxFinanceController.java @@ -11,6 +11,7 @@ import com.iformall.domain.po.WxFinanceAdvance; import com.iformall.domain.po.WxFinanceAdvanceType; import com.iformall.domain.po.WxFinanceReceive; import com.iformall.domain.po.base.BaseEntity; +import com.iformall.domain.po.base.WxBillBaseEntity; import com.iformall.enums.EnumBillAllType; import com.iformall.enums.EnumYesOrNo; import com.iformall.service.WxEnergyService; @@ -20,6 +21,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -219,8 +221,13 @@ public class WxFinanceController extends BaseController { @PostMapping("setoff") public ResultData setoff(@RequestBody FinanceSetOffDTO dto) { dto.updateTenantInfo(getTenantInfo()); - wxFinanceService.setOff(dto,this.getUser()); - return new ResultData(); + WxBillBaseEntity bill = wxFinanceService.setOff(dto,this.getUser()); + if (null == bill) { + return new ResultData(Result.ERROR,"未冲抵"); + } + List list = new ArrayList(); + list.add(bill); + return new ResultData(wxFinanceService.getBills(dto, list)); } @ApiOperation("新增收款单") @@ -230,7 +237,8 @@ public class WxFinanceController extends BaseController { if (null == record.getBills() || null == record.getPayWays()) { return new ResultData(Result.ERROR,"请选择账单和支付方式"); } - return new ResultData(wxFinanceService.createReceive(record,this.getUser())); + List list = wxFinanceService.createReceive(record,this.getUser()); + return new ResultData(wxFinanceService.getBills(record, list)); } // @ApiOperation("收款记录列表") diff --git a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java index 7fd2f60e9..e0304282e 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFinanceService.java @@ -38,7 +38,8 @@ public interface WxFinanceService { void updateAdvanceIsDel(WxFinanceAdvance record); List getMerchantAdvanceGroupSumList(WxFinanceAdvance record); List getSetOffList(FinanceSetOffDTO dto); - void setOff(FinanceSetOffDTO dto,MallUserInfo user); + WxBillBaseEntity setOff(FinanceSetOffDTO dto,MallUserInfo user); + List getBills(TenantEntity tenantEntity,List bills); //收款 PageInfo receiveListAsPage(WxFinanceReceive record, Integer pageIndex, Integer pageSize); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java index 67898271d..f96a441dc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFinanceServiceImpl.java @@ -380,14 +380,13 @@ public class WxFinanceServiceImpl implements WxFinanceService { } @Override - public void setOff(FinanceSetOffDTO dto,MallUserInfo user) { - //TODO + public WxBillBaseEntity setOff(FinanceSetOffDTO dto,MallUserInfo user) { //根据预充规则计算冲抵费用 WxMerchant merchant = new WxMerchant(); merchant.updateTenantInfo(dto); WxBillBaseEntity bill = wxBillAllHelper.getBillDetail(EnumBillAllType.getEnum(dto.getBillType()), merchant, dto.getBillId()); if (new BigDecimal(bill.getOwe()).compareTo(new BigDecimal(0)) <= 0) { - return; + return null; } WxFinanceAdvance advance = this.getAdvanceById(dto, dto.getFinanceAdvanceId()); WxFinanceAdvanceType advanceType= getAdvanceTypeById(dto,advance.getAdvanceTypeId()); @@ -420,6 +419,7 @@ public class WxFinanceServiceImpl implements WxFinanceService { rb.setBillType(bill.getBillType()); rb.setFeesId(bill.getEnergyFeesId()); saveOrUpdateReceiveBill(rb); + return bill; } @Override @@ -572,13 +572,21 @@ public class WxFinanceServiceImpl implements WxFinanceService { return updateList; } - - - - - - - + @Override + public List getBills(TenantEntity tenantEntity,List bills) { + if (null != bills && bills.size() > 0 ) { + WxMerchant merchant = new WxMerchant(); + merchant.updateTenantInfo(tenantEntity); + List retList = new ArrayList(); + for (int i = 0 ; i < bills.size() ; i++) { + WxBillBaseEntity be = bills.get(i); + WxBillBaseEntity bill = wxBillAllHelper.getBillDetail(EnumBillAllType.getEnum(be.getBillType()), merchant, be.getId()); + retList.add(bill); + } + return retList; + } + return null; + }