| 
					
				 | 
			
			
				@@ -21,11 +21,13 @@ import com.yonge.cooleshow.biz.dal.entity.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.album.PurchaseRecordTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.course.CourseRelationTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.mapper.PaymentDivMemberRecordMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.support.WrapperUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.vo.CourseScheduleStudentPaymentVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.yonge.cooleshow.biz.dal.wrapper.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.wrapper.PaymentDivMemberRecordWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.wrapper.course.CourseRelationWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.common.constant.SysConfigConstant; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.common.entity.HttpResponseResult; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -33,20 +35,15 @@ import com.yonge.cooleshow.common.enums.ESettlementFrom; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.common.enums.EStatus; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.common.enums.PostStatusEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.toolset.base.exception.BizException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.collections.CollectionUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.joda.time.DateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.yonge.cooleshow.biz.dal.wrapper.TenantPersonStatWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.apache.commons.collections.CollectionUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.yonge.cooleshow.biz.dal.mapper.PaymentDivMemberRecordMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.transaction.annotation.Propagation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.RoundingMode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.concurrent.CompletableFuture; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -139,29 +136,32 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 查询详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param id 详情ID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return PaymentDivMemberRecord 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public PaymentDivMemberRecord detail(Long id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return baseMapper.selectById(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 分页查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param page IPage<PaymentDivMemberRecord> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param page  IPage<PaymentDivMemberRecord> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param query PaymentDivMemberRecordWrapper.PaymentDivMemberRecordQuery 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return IPage<PaymentDivMemberRecord> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public IPage<PaymentDivMemberRecord> selectPage(IPage<PaymentDivMemberRecord> page, PaymentDivMemberRecordWrapper.PaymentDivMemberRecordQuery query) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return page.setRecords(baseMapper.selectPage(page, query)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param paymentDivMemberRecord PaymentDivMemberRecordWrapper.PaymentDivMemberRecord 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return Boolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -173,13 +173,14 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param paymentDivMemberRecord PaymentDivMemberRecordWrapper.PaymentDivMemberRecord 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return Boolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public Boolean update(PaymentDivMemberRecordWrapper.PaymentDivMemberRecord paymentDivMemberRecord){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Boolean update(PaymentDivMemberRecordWrapper.PaymentDivMemberRecord paymentDivMemberRecord) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return this.updateById(JSON.parseObject(paymentDivMemberRecord.jsonString(), PaymentDivMemberRecord.class));        
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return this.updateById(JSON.parseObject(paymentDivMemberRecord.jsonString(), PaymentDivMemberRecord.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -188,21 +189,21 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public PaymentDivMemberRecordWrapper.OrderDetailDto getIncomeOrderDetail(String orderNo,Long tenantId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return baseMapper.getIncomeOrderDetail(orderNo,tenantId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public PaymentDivMemberRecordWrapper.OrderDetailDto getIncomeOrderDetail(String orderNo, Long tenantId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return baseMapper.getIncomeOrderDetail(orderNo, tenantId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public PaymentDivMemberRecordWrapper.IndexIncomeSummaryDto incomeSummary(PaymentDivMemberRecordWrapper.IndexIncomeQuery query) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<PaymentDivMemberRecordWrapper.IndexIncomeSummaryDetailDto> incomeSummary = baseMapper.incomeSummary(query); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PaymentDivMemberRecordWrapper.IndexIncomeSummaryDto result = new PaymentDivMemberRecordWrapper.IndexIncomeSummaryDto(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(CollectionUtils.isNotEmpty(incomeSummary)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(incomeSummary)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BigDecimal reduce = incomeSummary.stream().map(e -> e.getAmount()).reduce(BigDecimal.ZERO, BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.setIncomeDtos(incomeSummary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.setTotalIncome(reduce); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<PaymentDivMemberRecordWrapper.IndexIncomeSummaryDetailDto> expendSummary = baseMapper.expendSummary(query); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(CollectionUtils.isNotEmpty(expendSummary)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(expendSummary)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             BigDecimal reduce = expendSummary.stream().map(e -> e.getAmount()).reduce(BigDecimal.ZERO, BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.setExpendDtos(expendSummary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.setTotalExpend(reduce); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -216,18 +217,18 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param userPaymentOrder 订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void tenantAlbum(UserOrderDetailVo userPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 先计算分账金额,写入流水,最后执行分账,在写入分账数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 老师收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tenantdivMap.merge(-1L, userPaymentOrder.getActualPrice(), BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 计算商品分账数据 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -248,7 +249,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 计算老师分润数据  平台的真实收益 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        BigDecimal platformFee = tenantdivMap.getOrDefault(-1L,BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        BigDecimal platformFee = tenantdivMap.getOrDefault(-1L, BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         saveData(userPaymentOrder, tenantdivMap, teacherMap, bizMap, platformFee); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -257,21 +258,20 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 曲目分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void musicSheet(UserOrderDetailVo userPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 先计算分账金额,写入流水,最后执行分账,在写入分账数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tenantdivMap.merge(-1L, userPaymentOrder.getActualPrice(), BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 老师收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 计算商品分账数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 曲目服务费比例 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -283,7 +283,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //服务费  原价的平台服务费 ,减去优惠券金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal serviceFeeAmount = expectPrice.multiply(serviceFee).subtract(userPaymentOrder.getCouponAmount()).setScale(2, RoundingMode.HALF_UP); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (serviceFeeAmount.compareTo(BigDecimal.ZERO) <0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (serviceFeeAmount.compareTo(BigDecimal.ZERO) < 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             serviceFeeAmount = BigDecimal.ZERO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -316,29 +316,29 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 消息通知 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CompletableFuture.runAsync(() -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                musicSheetService.sendBuyMessage(userPaymentOrder.getMerchId(), userPaymentOrder.getUserId(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        userPaymentOrder.getBizId(), userPaymentOrder.getOrderClient(), userPaymentOrder.getOrderType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    musicSheetService.sendBuyMessage(userPaymentOrder.getMerchId(), userPaymentOrder.getUserId(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            userPaymentOrder.getBizId(), userPaymentOrder.getOrderClient(), userPaymentOrder.getOrderType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        saveData(userPaymentOrder, tenantdivMap, teacherMap,bizMap, serviceFeeAmount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        saveData(userPaymentOrder, tenantdivMap, teacherMap, bizMap, serviceFeeAmount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void practiceCourse(UserOrderDetailVo userPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 先计算分账金额,写入流水,最后执行分账,在写入分账数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tenantdivMap.merge(-1L, userPaymentOrder.getActualPrice(), BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 老师收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //服务费  原价的平台服务费 ,减去优惠券金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal serviceFeeAmount = BigDecimal.ZERO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -431,20 +431,19 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void liveCourse(UserOrderDetailVo userPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 先计算分账金额,写入流水,最后执行分账,在写入分账数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tenantdivMap.merge(-1L, userPaymentOrder.getActualPrice(), BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 老师收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //服务费  原价的平台服务费 ,减去优惠券金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal serviceFeeAmount = BigDecimal.ZERO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -515,7 +514,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 teacherSalaryList.add(teacherSalary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(CollectionUtils.isNotEmpty(teacherSalaryList)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (CollectionUtils.isNotEmpty(teacherSalaryList)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             courseScheduleTeacherSalaryService.getDao().insertBatch(teacherSalaryList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 老师收入总金额 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -540,19 +539,19 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void videoCourse(UserOrderDetailVo userPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 先计算分账金额,写入流水,最后执行分账,在写入分账数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tenantdivMap.merge(-1L, userPaymentOrder.getActualPrice(), BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 老师收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //服务费  原价的平台服务费 ,减去优惠券金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal serviceFeeAmount = BigDecimal.ZERO; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -601,7 +600,6 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         saveData(userPaymentOrder, tenantdivMap, teacherMap, bizMap, serviceFeeAmount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         videoLessonPurchaseRecordService.videoSend(lessonGroup.getTeacherId(), purchaseRecord.getStudentId(), lessonGroup); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 赠品曲目、专辑插入用户曲目购买记录表 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -660,18 +658,18 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void vip(UserOrderDetailVo userPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 先计算分账金额,写入流水,最后执行分账,在写入分账数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tenantdivMap.merge(-1L, userPaymentOrder.getActualPrice(), BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 老师收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //服务费  原价的平台服务费 ,减去优惠券金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal serviceFeeAmount = userPaymentOrder.getActualPrice(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -682,18 +680,18 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void activity(UserOrderDetailVo userPaymentOrder) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 先计算分账金额,写入流水,最后执行分账,在写入分账数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分账 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> tenantdivMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tenantdivMap.merge(-1L, userPaymentOrder.getActualPrice(), BigDecimal::add); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 分润 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> teacherMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 老师收入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long,BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, BigDecimal> bizMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //服务费  原价的平台服务费 ,减去优惠券金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         BigDecimal serviceFeeAmount = userPaymentOrder.getActualPrice(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -772,7 +770,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PaymentMerchantConfig merchantConfig = paymentMerchantConfigService.getByPaymentVendor(userPaymentOrder.getPaymentVendor()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<PaymentDivMemberRecord> paymentDivMemberRecords = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tenantdivMap.forEach((k, v)->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tenantdivMap.forEach((k, v) -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (v.compareTo(BigDecimal.ZERO) > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -801,7 +799,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             DivideResp divide = paymentService.divide(divideReq); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             feeAmt = divide.getFeeAmount(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            tenantEnterFlag= true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            tenantEnterFlag = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             log.error("分账失败 分账对象 {} 分账数据 {} 分账订单号 {}", paymentDivMember, divideReq, divideOrderNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -812,11 +810,11 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 写入机构分账记录表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 PaymentDivMemberRecord paymentDivMemberRecord = PaymentDivMemberRecord.builder() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .tenantId(userPaymentOrder.getTenantId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .appId(merchantConfig!=null?merchantConfig.getAppId():null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .memberId(paymentDivMember !=null?paymentDivMember.getMemberId():null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .appId(merchantConfig != null ? merchantConfig.getAppId() : null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .memberId(paymentDivMember != null ? paymentDivMember.getMemberId() : null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .orderNo(userPaymentOrder.getOrderNo()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .divOrderNo(divideOrderNo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        .transNo(newestPayment!=null?newestPayment.getTransNo():null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        .transNo(newestPayment != null ? newestPayment.getTransNo() : null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .amount(v) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .tenantEnterFlag(tenantEnterFlag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .status("SUCCESS") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -859,7 +857,7 @@ public class PaymentDivMemberRecordServiceImpl extends ServiceImpl<PaymentDivMem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void tenantDivRecord(UserOrderDetailVo userPaymentOrder, Map<Long, BigDecimal> tenantdivMap) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 写入收支表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<TenantAccountRecord> tenantAccountRecordList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tenantdivMap.forEach((tenantId, amount)->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tenantdivMap.forEach((tenantId, amount) -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (tenantId.equals(-1L)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 |