liweifan 3 vuotta sitten
vanhempi
commit
ec577b0d54
14 muutettua tiedostoa jossa 335 lisäystä ja 38 poistoa
  1. 42 2
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java
  2. 15 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/UserAccountRecordSearch.java
  3. 13 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserAccountRecord.java
  4. 17 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserAccountRecordService.java
  5. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  6. 12 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountRecordServiceImpl.java
  7. 62 13
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountServiceImpl.java
  8. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java
  9. 14 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/UserAccountVo.java
  10. 100 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/AccountTotal.java
  11. 6 4
      cooleshow-user/user-biz/src/main/resources/config/mybatis/SysConfigMapper.xml
  12. 16 4
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountMapper.xml
  13. 35 11
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountRecordMapper.xml
  14. 1 1
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/UserAccountController.java

+ 42 - 2
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java

@@ -227,7 +227,47 @@ public interface SysConfigConstant {
     String WHITE_LIST = "white_list";
 
     /**
-     * 平台分润比例
+     * 直播课推荐分润比例
      */
-    String SHARE_FEE = "share_fee";
+    String LIVE_SHARE_FEE = "live_share_fee";
+    /**
+     * 视频课推荐分润比例
+     */
+    String VIDEO_SHARE_FEE = "video_share_fee";
+    /**
+     * 会员推荐分润比例
+     */
+    String VIP_SHARE_FEE = "vip_share_fee";
+    /**
+     * 乐谱推荐分润比例
+     */
+    String MUSIC_SHARE_FEE = "music_share_fee";
+    /**
+     * 商品推荐分润比例
+     */
+    String MALL_SHARE_FEE = "mall_share_fee";
+    /**
+     * 陪练课账期
+     */
+    String PRACTICE_ACCOUNT_PERIOD = "practice_account_period";
+    /**
+     * 直播课账期
+     */
+    String LIVE_ACCOUNT_PERIOD = "live_account_period";
+    /**
+     * 视频课账期
+     */
+    String VIDEO_ACCOUNT_PERIOD = "video_account_period";
+    /**
+     * 会员账期
+     */
+    String VIP_ACCOUNT_PERIOD = "vip_account_period";
+    /**
+     * 乐谱账期
+     */
+    String MUSIC_ACCOUNT_PERIOD = "music_account_period";
+    /**
+     * 商品账期
+     */
+    String MALL_ACCOUNT_PERIOD = "mall_account_period";
 }

+ 15 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/UserAccountRecordSearch.java

@@ -1,8 +1,10 @@
 package com.yonge.cooleshow.biz.dal.dto.search;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.enums.AccountBizTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.InOrOutEnum;
+import com.yonge.cooleshow.common.enums.PostStatusEnum;
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -28,6 +30,9 @@ public class UserAccountRecordSearch extends QueryInfo{
 	@ApiModelProperty("收支类型:IN、收入 OUT、支出 ")
 	private InOrOutEnum inOrOut;
 
+	@ApiModelProperty(value = "入账状态 WAIT 待入账 FROZEN 冻结入账 RECORDED 已入账 CANCEL 取消 ")
+	private PostStatusEnum postStatus;
+
 	@ApiModelProperty("业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、提现 LIVE_SHARE、直播课分润 VIDEO_SHARE、视频课分润 MUSIC_SHARE、乐谱分润 VIP_SHARE、会员分润 MALL_SHARE、商品分润 ")
 	private AccountBizTypeEnum bizType;
 
@@ -44,6 +49,8 @@ public class UserAccountRecordSearch extends QueryInfo{
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
 	private LocalDateTime endTime;
 
+
+
 	public Long getUserId() {
 		return userId;
 	}
@@ -99,4 +106,12 @@ public class UserAccountRecordSearch extends QueryInfo{
 	public void setOrderNo(String orderNo) {
 		this.orderNo = orderNo;
 	}
+
+	public PostStatusEnum getPostStatus() {
+		return postStatus;
+	}
+
+	public void setPostStatus(PostStatusEnum postStatus) {
+		this.postStatus = postStatus;
+	}
 }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserAccountRecord.java

@@ -59,6 +59,11 @@ public class UserAccountRecord implements Serializable {
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
     private Date createTime;
+    @ApiModelProperty("更新时间 ")
+    @TableField(value = "update_time_")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+    private Date updateTime;
     @ApiModelProperty("是否异常 ")
     @TableField(value = "err_flag_")
     private Integer errFlag = 0;
@@ -169,4 +174,12 @@ public class UserAccountRecord implements Serializable {
     public void setPostStatus(PostStatusEnum postStatus) {
         this.postStatus = postStatus;
     }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
 }

+ 17 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserAccountRecordService.java

@@ -40,6 +40,23 @@ public interface UserAccountRecordService extends IService<UserAccountRecord> {
     List<UserAccountRecordVo> selectAllPage(UserAccountRecordSearch query);
 
     /**
+     * app查询详情
+     *
+     * @author liweifan
+     * @date 2022-03-30 13:53:51
+     * @return: com.yonge.cooleshow.biz.dal.vo.UserAccountRecordVo
+     */
+    UserAccountRecordVo appDetail(Long id);
+    /**
+     * app分页查询
+     *
+     * @author liweifan
+     * @date 2022-03-30 13:53:51
+     * @return: com.yonge.cooleshow.biz.dal.vo.UserAccountRecordVo
+     */
+    IPage<UserAccountRecordVo> appSelectPage(IPage<UserAccountRecordVo> page, UserAccountRecordSearch query);
+
+    /**
      * 老师本月收入
      *
      * @param userId 老师id

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -619,7 +619,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         //判断是否分润
         if (null != userOrderDetailVo.getRecomUserId()) {
             // 分润比例
-            BigDecimal shareFeeRate = new BigDecimal(sysConfigService.findConfigValue(SysConfigConstant.SHARE_FEE))
+            BigDecimal shareFeeRate = new BigDecimal(sysConfigService.findConfigValue(SysConfigConstant.MUSIC_SHARE_FEE))
                     .divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
 
             //分润金额

+ 12 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountRecordServiceImpl.java

@@ -67,9 +67,20 @@ public class UserAccountRecordServiceImpl extends ServiceImpl<UserAccountRecordD
     }
 
     @Override
+    public UserAccountRecordVo appDetail(Long id){
+        UserAccountRecordVo detail = baseMapper.appDetail(id);
+        return detail;
+    }
+
+
+    @Override
+    public IPage<UserAccountRecordVo> appSelectPage(IPage<UserAccountRecordVo> page, UserAccountRecordSearch query) {
+        return page.setRecords(baseMapper.appSelectPage(page, query));
+    }
+
+    @Override
     public BigDecimal getMonthDecimal(Long userId) {
         return baseMapper.selectMonthDecimal(userId);
-
     }
 
     @Override

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

@@ -35,6 +35,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.concurrent.*;
@@ -179,6 +180,7 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
         }
         //插入账户变更记录
         detail.setAccountBalance(accountVo.getAmountUsable());
+        detail.setUpdateTime(new Date());
         userAccountRecordService.updateById(detail);
         return HttpResponseResult.succeed(detail);
     }
@@ -191,40 +193,87 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
         BigDecimal liveAmount = BigDecimal.ZERO;
         BigDecimal videoAmount = BigDecimal.ZERO;
         BigDecimal musicAmount = BigDecimal.ZERO;
+        BigDecimal liveShareAmount = BigDecimal.ZERO;
+        BigDecimal videoShareAmount = BigDecimal.ZERO;
+        BigDecimal musicShareAmount = BigDecimal.ZERO;
+        BigDecimal vipShareAmount = BigDecimal.ZERO;
+        BigDecimal mallShareAmount = BigDecimal.ZERO;
+
         for (AccountTotal info : infoList) {
             info.setPracticeAmount(null == info.getPracticeAmount() ? BigDecimal.ZERO : info.getPracticeAmount());
             info.setLiveAmount(null == info.getLiveAmount() ? BigDecimal.ZERO : info.getLiveAmount());
             info.setVideoAmount(null == info.getVideoAmount() ? BigDecimal.ZERO : info.getVideoAmount());
             info.setMusicAmount(null == info.getMusicAmount() ? BigDecimal.ZERO : info.getMusicAmount());
 
+            info.setLiveShareAmount(null == info.getLiveShareAmount() ? BigDecimal.ZERO : info.getLiveShareRate());
+            info.setVideoShareAmount(null == info.getVideoShareAmount() ? BigDecimal.ZERO : info.getVipShareAmount());
+            info.setMusicShareAmount(null == info.getMusicShareAmount() ? BigDecimal.ZERO : info.getMusicShareAmount());
+            info.setVipShareAmount(null == info.getVipShareAmount() ? BigDecimal.ZERO : info.getVipShareAmount());
+            info.setMallShareAmount(null == info.getMusicShareAmount() ? BigDecimal.ZERO : info.getMusicShareAmount());
+
             practiceAmount = practiceAmount.add(info.getPracticeAmount());
             liveAmount = liveAmount.add(info.getLiveAmount());
             videoAmount = videoAmount.add(info.getVideoAmount());
             musicAmount = musicAmount.add(info.getMusicAmount());
+
+            liveShareAmount = liveShareAmount.add(info.getLiveShareAmount());
+            videoShareAmount = videoShareAmount.add(info.getVideoShareAmount());
+            musicShareAmount = musicShareAmount.add(info.getMusicShareAmount());
+            vipShareAmount = vipShareAmount.add(info.getVipShareAmount());
+            mallShareAmount = mallShareAmount.add(info.getMallShareAmount());
         }
         AccountTotal total = new AccountTotal();
 
-        total.setTotalInAmount(practiceAmount.add(liveAmount).add(videoAmount).add(musicAmount));
+        total.setTotalInAmount(
+                practiceAmount.add(liveAmount).add(videoAmount).add(musicAmount)
+                        .add(liveShareAmount).add(videoShareAmount).add(musicShareAmount)
+                        .add(vipShareAmount).add(mallShareAmount)
+        );
         if (total.getTotalInAmount().doubleValue() > 0) {
             total.setPracticeAmount(practiceAmount);
-            BigDecimal practiceRate = total.getPracticeAmount()
-                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100"));
-            total.setPracticeRate(practiceRate);
+            total.setPracticeRate(total.getPracticeAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
 
             total.setLiveAmount(liveAmount);
-            BigDecimal liveRate = total.getLiveAmount()
-                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100"));
-            total.setLiveRate(liveRate);
+            total.setLiveRate(total.getLiveAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
 
             total.setVideoAmount(videoAmount);
-            BigDecimal videoRate = total.getVideoAmount()
-                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100"));
-            total.setVideoRate(videoRate);
+            total.setVideoRate(total.getVideoAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
 
             total.setMusicAmount(musicAmount);
-            BigDecimal musicRate = total.getMusicAmount()
-                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100"));
-            total.setMusicRate(musicRate);
+            total.setMusicRate(total.getMusicAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
+
+            total.setLiveShareAmount(liveShareAmount);
+            total.setLiveShareRate(total.getLiveShareAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
+
+            total.setVideoShareAmount(videoShareAmount);
+            total.setVideoShareRate(total.getVideoShareAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
+
+            total.setMusicShareAmount(musicShareAmount);
+            total.setMusicShareRate(total.getMusicShareAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
+
+            total.setVipShareAmount(vipShareAmount);
+            total.setVipShareRate(total.getVipShareAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
+
+            total.setMallShareAmount(mallShareAmount);
+            total.setMallShareRate(total.getMallShareAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
         }
         total.setInfoList(infoList);
         return HttpResponseResult.succeed(total);

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java

@@ -184,7 +184,7 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
         //判断是否分润
         if (null != userOrderDetailVo.getRecomUserId()) {
             // 分润比例
-            BigDecimal shareFeeRate = new BigDecimal(sysConfigService.findConfigValue(SysConfigConstant.SHARE_FEE))
+            BigDecimal shareFeeRate = new BigDecimal(sysConfigService.findConfigValue(SysConfigConstant.VIDEO_SHARE_FEE))
                     .divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
 
             //分润金额

+ 14 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/UserAccountVo.java

@@ -1,7 +1,11 @@
 package com.yonge.cooleshow.biz.dal.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.yonge.cooleshow.biz.dal.entity.UserAccount;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
 
 /**
  * @Author: liweifan
@@ -11,4 +15,14 @@ import io.swagger.annotations.ApiModel;
 public class UserAccountVo extends UserAccount{
 	private static final long serialVersionUID = 1L;
 
+	@ApiModelProperty("待入账金额 ")
+	private BigDecimal amountUnrecorded;
+
+	public BigDecimal getAmountUnrecorded() {
+		return amountUnrecorded;
+	}
+
+	public void setAmountUnrecorded(BigDecimal amountUnrecorded) {
+		this.amountUnrecorded = amountUnrecorded;
+	}
 }

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

@@ -30,6 +30,26 @@ public class AccountTotal {
     private BigDecimal musicAmount = BigDecimal.ZERO;
     @ApiModelProperty("乐谱-百分比")
     private BigDecimal musicRate = BigDecimal.ZERO;
+    @ApiModelProperty("小酷AI推广")
+    private BigDecimal vipShareAmount = BigDecimal.ZERO;
+    @ApiModelProperty("小酷AI推广-百分比")
+    private BigDecimal vipShareRate = BigDecimal.ZERO;
+    @ApiModelProperty("商品推荐")
+    private BigDecimal mallShareAmount = BigDecimal.ZERO;
+    @ApiModelProperty("商品推荐-百分比")
+    private BigDecimal mallShareRate = BigDecimal.ZERO;
+    @ApiModelProperty("乐谱分润")
+    private BigDecimal musicShareAmount = BigDecimal.ZERO;
+    @ApiModelProperty("乐谱分润-百分比")
+    private BigDecimal musicShareRate = BigDecimal.ZERO;
+    @ApiModelProperty("直播课分润")
+    private BigDecimal liveShareAmount = BigDecimal.ZERO;
+    @ApiModelProperty("直播课分润-百分比")
+    private BigDecimal liveShareRate = BigDecimal.ZERO;
+    @ApiModelProperty("视频课分润")
+    private BigDecimal videoShareAmount = BigDecimal.ZERO;
+    @ApiModelProperty("视频课-百分比")
+    private BigDecimal videoShareRate = BigDecimal.ZERO;
 
     @ApiModelProperty("时间(详情数据中使用)")
     private String timeStr;
@@ -123,4 +143,84 @@ public class AccountTotal {
     public void setInfoList(List<AccountTotal> infoList) {
         this.infoList = infoList;
     }
+
+    public BigDecimal getVipShareAmount() {
+        return vipShareAmount;
+    }
+
+    public void setVipShareAmount(BigDecimal vipShareAmount) {
+        this.vipShareAmount = vipShareAmount;
+    }
+
+    public BigDecimal getVipShareRate() {
+        return vipShareRate;
+    }
+
+    public void setVipShareRate(BigDecimal vipShareRate) {
+        this.vipShareRate = vipShareRate;
+    }
+
+    public BigDecimal getMallShareAmount() {
+        return mallShareAmount;
+    }
+
+    public void setMallShareAmount(BigDecimal mallShareAmount) {
+        this.mallShareAmount = mallShareAmount;
+    }
+
+    public BigDecimal getMallShareRate() {
+        return mallShareRate;
+    }
+
+    public void setMallShareRate(BigDecimal mallShareRate) {
+        this.mallShareRate = mallShareRate;
+    }
+
+    public BigDecimal getMusicShareAmount() {
+        return musicShareAmount;
+    }
+
+    public void setMusicShareAmount(BigDecimal musicShareAmount) {
+        this.musicShareAmount = musicShareAmount;
+    }
+
+    public BigDecimal getMusicShareRate() {
+        return musicShareRate;
+    }
+
+    public void setMusicShareRate(BigDecimal musicShareRate) {
+        this.musicShareRate = musicShareRate;
+    }
+
+    public BigDecimal getLiveShareAmount() {
+        return liveShareAmount;
+    }
+
+    public void setLiveShareAmount(BigDecimal liveShareAmount) {
+        this.liveShareAmount = liveShareAmount;
+    }
+
+    public BigDecimal getLiveShareRate() {
+        return liveShareRate;
+    }
+
+    public void setLiveShareRate(BigDecimal liveShareRate) {
+        this.liveShareRate = liveShareRate;
+    }
+
+    public BigDecimal getVideoShareAmount() {
+        return videoShareAmount;
+    }
+
+    public void setVideoShareAmount(BigDecimal videoShareAmount) {
+        this.videoShareAmount = videoShareAmount;
+    }
+
+    public BigDecimal getVideoShareRate() {
+        return videoShareRate;
+    }
+
+    public void setVideoShareRate(BigDecimal videoShareRate) {
+        this.videoShareRate = videoShareRate;
+    }
 }

+ 6 - 4
cooleshow-user/user-biz/src/main/resources/config/mybatis/SysConfigMapper.xml

@@ -21,10 +21,12 @@
 
 	<!-- 全查询 -->
 	<select id="findAll" resultMap="SysConfig">
-		SELECT * FROM sys_config where 1=1
-		<if test="group != null">
-			and group_ = #{group}
-		</if>
+		SELECT * FROM sys_config
+		<where>
+			<if test="group != null and group != ''">
+				and find_in_set(group_,#{group})
+			</if>
+		</where>
 		ORDER BY id_
 	</select>
 

+ 16 - 4
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountMapper.xml

@@ -77,7 +77,9 @@
 
     <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.UserAccountVo">
         SELECT
-        <include refid="baseColumns"/>
+            <include refid="baseColumns"/>,
+            (select sum(a.trans_amount_) from user_cash_account_record a where a.account_id_ = t.user_id_
+                and a.post_status_ = 'WAIT' and a.in_or_out_ = 'IN') as amountUnrecorded
         FROM user_cash_account t
         where t.user_id_ = #{id}
     </select>
@@ -99,7 +101,12 @@
             sum(a.practiceAmount) as practiceAmount,
             sum(a.liveAmount) as liveAmount,
             sum(a.videoAmount) as videoAmount,
-            sum(a.musicAmount) as musicAmount
+            sum(a.musicAmount) as musicAmount,
+            sum(a.liveShareAmount) as liveShareAmount,
+            sum(a.videoShareAmount) as videoShareAmount,
+            sum(a.musicShareAmount) as musicShareAmount,
+            sum(a.vipShareAmount) as vipShareAmount,
+            sum(a.mallShareAmount) as mallShareAmount
         from sys_day t
         left join (
             select
@@ -107,8 +114,13 @@
                 sum(if(t.biz_type_ = 'PRACTICE',t.trans_amount_,0)) as practiceAmount,
                 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
-            from user_cash_account_record t
+                sum(if(t.biz_type_ = 'MUSIC',t.trans_amount_,0)) as musicAmount,
+                sum(if(t.biz_type_ = 'LIVE_SHARE',t.trans_amount_,0)) as liveShareAmount,
+                sum(if(t.biz_type_ = 'VIDEO_SHARE',t.trans_amount_,0)) as videoShareAmount,
+                sum(if(t.biz_type_ = 'MUSIC_SHARE',t.trans_amount_,0)) as musicShareAmount,
+                sum(if(t.biz_type_ = 'VIP_SHARE',t.trans_amount_,0)) as vipShareAmount,
+                sum(if(t.biz_type_ = 'MALL_SHARE',t.trans_amount_,0)) as mallShareAmount
+        from user_cash_account_record t
             <where>
                 <if test="param.startTime !=null">
                     <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>

+ 35 - 11
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountRecordMapper.xml

@@ -13,6 +13,9 @@
         <result column="biz_name_" property="bizName" />
         <result column="order_no_" property="orderNo" />
         <result column="create_time_" property="createTime" />
+        <result column="update_time_" property="updateTime" />
+        <result column="err_flag_" property="errFlag" />
+        <result column="err_msg_" property="errMsg" />
     </resultMap>
 
     <!-- 表字段 -->
@@ -28,6 +31,9 @@
         , t.biz_name_ as bizName
         , t.order_no_ as orderNo
         , t.create_time_ as createTime
+        , t.update_time_ as updateTime
+        , t.err_flag_ as errFlag
+        , t.err_msg_ as errMsg
         </sql>
 
     <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.UserAccountRecordVo">
@@ -56,10 +62,10 @@
             AND t.biz_type_ = #{param.bizType}
         </if>
         <if test="param.startTime !=null">
-            <![CDATA[AND t.create_time_ >= #{param.startTime} ]]>
+            <![CDATA[AND t.update_time_ >= #{param.startTime} ]]>
         </if>
         <if test="param.endTime !=null">
-            <![CDATA[AND t.create_time_ < #{param.endTime} ]]>
+            <![CDATA[AND t.update_time_ < #{param.endTime} ]]>
         </if>
     </sql>
 
@@ -82,7 +88,7 @@
             </if>
             <include refid="selectCondition"/>
         </where>
-        order by t.create_time_ desc
+        order by t.update_time_ desc
     </sql>
 
     <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.UserAccountRecordVo">
@@ -93,10 +99,24 @@
         <include refid="selectSql"/>
     </select>
 
+    <!-- 表字段 -->
+    <sql id="appBaseColumns">
+        t.id_ as id
+        , t.account_id_ as accountId
+        , t.trans_amount_ as transAmount
+        , t.account_balance_ as accountBalance
+        , t.in_or_out_ as inOrOut
+        , t.post_status_ as postStatus
+        , t.biz_type_ as bizType
+        , t.biz_id_ as bizId
+        , t.biz_name_ as bizName
+        , t.create_time_ as createTime
+        , t.update_time_ as updateTime
+    </sql>
 
     <select id="appDetail" resultType="com.yonge.cooleshow.biz.dal.vo.UserAccountRecordVo">
         SELECT
-            <include refid="baseColumns"/>
+            <include refid="appBaseColumns"/>
         FROM (
             select
                 max(t.id_) as id_,
@@ -108,7 +128,8 @@
                 t.biz_type_,
                 t.biz_id_,
                 t.biz_name_,
-                max(t.create_time_) as create_time_
+                max(t.update_time_) as create_time_,
+                max(t.update_time_) as update_time_
             from user_cash_account_record t
             where t.biz_type_ = 'LIVE' and exists(
                 select 1 from user_cash_account_record t1
@@ -126,7 +147,8 @@
                 t.biz_type_,
                 t.biz_id_,
                 t.biz_name_,
-                t.create_time_
+                t.update_time_ as create_time_,
+                t.update_time_ as update_time_
             from user_cash_account_record t
             where t.biz_type_ != 'LIVE' and t.id_ = #{id}
         ) t
@@ -134,8 +156,8 @@
 
     <select id="appSelectPage" resultType="com.yonge.cooleshow.biz.dal.vo.UserAccountRecordVo">
         SELECT
-            <include refid="baseColumns" />,
-            DATE_FORMAT(t.create_time_,'%m-%d') as timeDay,
+            <include refid="appBaseColumns" />,
+            DATE_FORMAT(t.update_time_,'%m-%d') as timeDay,
             a.start_time_ as startTime,
             a.end_time_ as endTime
         FROM (
@@ -149,7 +171,8 @@
                 t.biz_type_,
                 t.biz_id_,
                 t.biz_name_,
-                max(t.create_time_) as create_time_
+                max(t.update_time_) as create_time_,
+                max(t.update_time_) as update_time_
             from user_cash_account_record t
             where t.biz_type_ = 'LIVE'
             <include refid="selectCondition"/>
@@ -165,13 +188,14 @@
                 t.biz_type_,
                 t.biz_id_,
                 t.biz_name_,
-                t.create_time_
+                t.update_time_ as create_time_,
+                t.update_time_ as update_time_
             from user_cash_account_record t
             where t.biz_type_ != 'LIVE'
             <include refid="selectCondition"/>
         ) t
         left join course_schedule a on t.biz_id_ = a.id_ and t.biz_type_ in ('PRACTICE','LIVE')
-        order by t.create_time_ desc
+        order by t.update_time_ desc
     </select>
 
     <select id="selectMonthDecimal" resultType="java.math.BigDecimal">

+ 1 - 1
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/UserAccountController.java

@@ -84,7 +84,7 @@ public class UserAccountController extends BaseController {
             throw new BizException("查询时间格式不正确 [" + query.getSearchDate() + "]");
         }
 
-        IPage<UserAccountRecordVo> pages = userAccountRecordService.selectPage(PageUtil.getPage(query), query);
+        IPage<UserAccountRecordVo> pages = userAccountRecordService.appSelectPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(pages));
     }