Commit 6d5bbcba authored by wuwz's avatar wuwz

Merge remote-tracking branch 'origin/dev-chw' into dev-chw

parents 02ca2d89 b2d59862
...@@ -84,11 +84,17 @@ public class CompanyWalletDetailBiz extends BaseBiz<CompanyWalletDetailMapper, C ...@@ -84,11 +84,17 @@ public class CompanyWalletDetailBiz extends BaseBiz<CompanyWalletDetailMapper, C
public void updByIdOrOrderNo(BaseOrderAcceptDetailedDTO acceptDetailedDTO){ public void updByIdOrOrderNo(BaseOrderAcceptDetailedDTO acceptDetailedDTO){
List<BaseOrderAcceptDetailedVO> list = acceptDetailedBiz.getList(acceptDetailedDTO); List<BaseOrderAcceptDetailedVO> list = acceptDetailedBiz.getList(acceptDetailedDTO);
List<CompanyWalletDetail> walletDetails = new ArrayList<>(); List<CompanyWalletDetail> walletDetails = new ArrayList<>();
List<BaseOrderRevenue> revenues = new ArrayList<>();
String orderNo = ""; String orderNo = "";
String type = "";
if (list.size() > 0){ if (list.size() > 0){
for (BaseOrderAcceptDetailedVO acceptDetailedVO : list){ for (BaseOrderAcceptDetailedVO acceptDetailedVO : list){
BigDecimal divisionAmount = acceptDetailedVO.getDivisionAmount() == null ? BigDecimal.ZERO : acceptDetailedVO.getDivisionAmount(); BigDecimal divisionAmount = acceptDetailedVO.getDivisionAmount() == null ? BigDecimal.ZERO : acceptDetailedVO.getDivisionAmount();
Integer source = setItype(acceptDetailedVO.getDivisionType());
orderNo=acceptDetailedVO.getOrderNo();
BaseOrderRevenue baseOrderRevenue = new BaseOrderRevenue();
baseOrderRevenue.setCompanyId(acceptDetailedVO.getMchId());
baseOrderRevenue.setAmount(divisionAmount);
revenues.add(baseOrderRevenue);
if (divisionAmount .compareTo(BigDecimal.ZERO) > 0 ){ if (divisionAmount .compareTo(BigDecimal.ZERO) > 0 ){
Integer entryType = acceptDetailedVO.getEntryType() == null ? 0 : acceptDetailedVO.getEntryType(); Integer entryType = acceptDetailedVO.getEntryType() == null ? 0 : acceptDetailedVO.getEntryType();
if (entryType != 1){ if (entryType != 1){
...@@ -105,32 +111,30 @@ public class CompanyWalletDetailBiz extends BaseBiz<CompanyWalletDetailMapper, C ...@@ -105,32 +111,30 @@ public class CompanyWalletDetailBiz extends BaseBiz<CompanyWalletDetailMapper, C
companyWalletDetail.setAmount(divisionAmount); companyWalletDetail.setAmount(divisionAmount);
companyWalletDetail.setCompanyId(acceptDetailedVO.getMchId()); companyWalletDetail.setCompanyId(acceptDetailedVO.getMchId());
companyWalletDetail.setSAmount(companyAmount); companyWalletDetail.setSAmount(companyAmount);
companyWalletDetail.setSource(setItype(acceptDetailedVO.getDivisionType())); companyWalletDetail.setSource(source);
companyWalletDetail.setItype(CompanyWalletITypeEnum.COMPANY.getCode()); companyWalletDetail.setItype(CompanyWalletITypeEnum.COMPANY.getCode());
insertSelective(companyWalletDetail); insertSelective(companyWalletDetail);
walletDetails.add(companyWalletDetail); walletDetails.add(companyWalletDetail);
orderNo=acceptDetailedVO.getOrderNo();
type=companyWalletDetail.getType()+"";
} }
} }
} }
if (walletDetails.size() > 0){ Map<Integer, BigDecimal> amountSum = walletDetails.stream().filter(t -> t.getAmount() != null)
Map<Integer, BigDecimal> amountSum = walletDetails.stream().filter(t -> t.getAmount() != null) .collect(Collectors.groupingBy(CompanyWalletDetail::getCompanyId, CollectorsUtil.summingBigDecimal(CompanyWalletDetail::getAmount)));
.collect(Collectors.groupingBy(CompanyWalletDetail::getCompanyId, CollectorsUtil.summingBigDecimal(CompanyWalletDetail::getAmount))); amountSum.forEach((k,v) -> updCompanyWallet(k,v));
for(Map.Entry<Integer, BigDecimal> entry : amountSum.entrySet()){
//营收明细
if (revenues.size() > 0){
Map<Integer, BigDecimal> amounts = revenues.stream().filter(t -> t.getAmount() != null)
.collect(Collectors.groupingBy(BaseOrderRevenue::getCompanyId, CollectorsUtil.summingBigDecimal(BaseOrderRevenue::getAmount)));
for(Map.Entry<Integer, BigDecimal> entry : amounts.entrySet()){
Integer companyId = entry.getKey(); Integer companyId = entry.getKey();
BigDecimal amount = entry.getValue(); BigDecimal amount = entry.getValue();
updCompanyWallet(companyId,amount);
//营收明细
BaseOrderRevenue baseOrderRevenue = new BaseOrderRevenue(); BaseOrderRevenue baseOrderRevenue = new BaseOrderRevenue();
baseOrderRevenue.setAmount(amount); baseOrderRevenue.setAmount(amount);
baseOrderRevenue.setCompanyId(companyId); baseOrderRevenue.setCompanyId(companyId);
baseOrderRevenue.setOrderNo(orderNo); baseOrderRevenue.setOrderNo(orderNo);
baseOrderRevenue.setType(type);
baseOrderRevenue.setStatus(1); baseOrderRevenue.setStatus(1);
revenueBiz.addOrUpd(baseOrderRevenue); revenueBiz.addOrUpd(baseOrderRevenue);
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment