Ver Fonte

课酬收入

刘俊驰 há 6 meses atrás
pai
commit
c6050c6a76

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountServiceImpl.java

@@ -298,6 +298,7 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
         List<AccountTotal> infoList = baseMapper.accountTotal(totalReq.getTimeType().getCode(), totalReq);
 
         BigDecimal practiceAmount = BigDecimal.ZERO;
+        BigDecimal vipCourseAmount = BigDecimal.ZERO;
         BigDecimal liveAmount = BigDecimal.ZERO;
         BigDecimal videoAmount = BigDecimal.ZERO;
         BigDecimal musicAmount = BigDecimal.ZERO;
@@ -314,6 +315,7 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
             info = dealAccountTotal(info);
 
             practiceAmount = practiceAmount.add(info.getPracticeAmount());
+            vipCourseAmount = vipCourseAmount.add(info.getVipCourseAmount());
             liveAmount = liveAmount.add(info.getLiveAmount());
             videoAmount = videoAmount.add(info.getVideoAmount());
             musicAmount = musicAmount.add(info.getMusicAmount());
@@ -332,6 +334,7 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
                 practiceAmount.add(liveAmount).add(videoAmount).add(musicAmount)
                         .add(liveShareAmount).add(videoShareAmount).add(musicShareAmount)
                         .add(vipShareAmount).add(mallShareAmount).add(actiRegistShareAmount).add(albumShareAmount)
+                        .add(vipCourseAmount)
         );
         if (total.getTotalInAmount().doubleValue() > 0) {
             total.setPracticeAmount(practiceAmount);
@@ -339,6 +342,11 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
                     .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
                     .multiply(new BigDecimal("100")));
 
+            total.setVipCourseAmount(vipCourseAmount);
+            total.setVipCourseRate(total.getVipCourseAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
+
             total.setLiveAmount(liveAmount);
             total.setLiveRate(total.getLiveAmount()
                     .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
@@ -388,6 +396,7 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
             total.setActiRegistShareRate(
                     BigDecimal.valueOf(100)
                             .subtract(total.getPracticeRate())
+                            .subtract(total.getVipCourseRate())
                             .subtract(total.getLiveRate())
                             .subtract(total.getVideoRate())
                             .subtract(total.getMusicRate())
@@ -537,6 +546,8 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
                 null == info.getTotalInAmount() ? BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP) : info.getTotalInAmount().setScale(2, RoundingMode.HALF_UP));
         info.setPracticeAmount(
                 null == info.getPracticeAmount() ? BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP) : info.getPracticeAmount().setScale(2, RoundingMode.HALF_UP));
+        info.setVipCourseAmount(
+                null == info.getVipCourseAmount() ? BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP) : info.getVipCourseAmount().setScale(2, RoundingMode.HALF_UP));
         info.setLiveAmount(
                 null == info.getLiveAmount() ? BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP) : info.getLiveAmount().setScale(2, RoundingMode.HALF_UP));
         info.setVideoAmount(

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/AccountTotal.java

@@ -18,6 +18,10 @@ public class AccountTotal {
     private BigDecimal practiceAmount = BigDecimal.ZERO;
     @ApiModelProperty("趣纠课-百分比")
     private BigDecimal practiceRate = BigDecimal.ZERO;
+    @ApiModelProperty("vip课")
+    private BigDecimal vipCourseAmount = BigDecimal.ZERO;
+    @ApiModelProperty("vip课-百分比")
+    private BigDecimal vipCourseRate = BigDecimal.ZERO;
     @ApiModelProperty("直播课")
     private BigDecimal liveAmount = BigDecimal.ZERO;
     @ApiModelProperty("直播课-百分比")
@@ -65,6 +69,22 @@ public class AccountTotal {
     @ApiModelProperty("详情数据")
     private List<AccountTotal> infoList;
 
+    public BigDecimal getVipCourseAmount() {
+        return vipCourseAmount;
+    }
+
+    public void setVipCourseAmount(BigDecimal vipCourseAmount) {
+        this.vipCourseAmount = vipCourseAmount;
+    }
+
+    public BigDecimal getVipCourseRate() {
+        return vipCourseRate;
+    }
+
+    public void setVipCourseRate(BigDecimal vipCourseRate) {
+        this.vipCourseRate = vipCourseRate;
+    }
+
     public BigDecimal getAlbumShareAmount() {
         return albumShareAmount;
     }

+ 2 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountMapper.xml

@@ -104,6 +104,7 @@
                 t.sys_day_ym_ as timeStr,
             </if>
             sum(a.practiceAmount) as practiceAmount,
+            sum(a.vipCourseAmount) as vipCourseAmount,
             sum(a.liveAmount) as liveAmount,
             sum(a.videoAmount) as videoAmount,
             sum(a.musicAmount) as musicAmount,
@@ -119,6 +120,7 @@
             select
                 DATE_FORMAT(t.update_time_, '%Y-%m-%d') as timeStr,
                 sum(if(t.biz_type_ = 'PRACTICE',t.trans_amount_,0)) as practiceAmount,
+                sum(if(t.biz_type_ = 'VIP_COURSE',t.trans_amount_,0)) as vipCourseAmount,
                 sum(if(t.biz_type_ = 'LIVE',t.trans_amount_,0)) as liveAmount,
                 sum(if(t.biz_type_ = 'VIDEO',t.trans_amount_,0)) as videoAmount,
                 sum(if(t.biz_type_ = 'MUSIC',t.trans_amount_,0)) as musicAmount,