Jelajahi Sumber

Merge branch 'dev_v1_1_20220720' of http://git.dayaedu.com/yonge/cooleshow into dev_v1_1_20220720

liujunchi 3 tahun lalu
induk
melakukan
692f22a78b
17 mengubah file dengan 215 tambahan dan 50 penghapusan
  1. 0 5
      cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java
  2. 88 2
      cooleshow-mall/mall-common/src/main/java/com/yonge/cooleshow/mall/common/domain/WebLog.java
  3. 2 2
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java
  4. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/VideoLessonGroupSearch.java
  5. 3 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java
  6. 4 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderService.java
  7. 4 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java
  8. 6 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  9. 30 22
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  10. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  11. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonGroupServiceImpl.java
  12. 6 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonPurchaseRecordServiceImpl.java
  13. 2 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  14. 2 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherCourseGroupController.java
  15. 7 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java
  16. 21 3
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenMusicAlbumController.java
  17. 25 0
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenSubjectController.java

+ 0 - 5
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -1,20 +1,15 @@
 package com.yonge.cooleshow.auth.service.impl;
 
-import java.util.Date;
 import java.util.List;
 
 import com.yonge.cooleshow.auth.api.dto.*;
 import com.yonge.cooleshow.auth.config.RongCloudConfig;
-import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
-import com.yonge.cooleshow.common.security.AuthUser;
-import com.yonge.cooleshow.common.security.SecurityUtils;
 import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
 import io.rong.models.user.UserModel;
 import org.apache.commons.lang3.StringUtils;
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 

+ 88 - 2
cooleshow-mall/mall-common/src/main/java/com/yonge/cooleshow/mall/common/domain/WebLog.java

@@ -7,8 +7,6 @@ import lombok.EqualsAndHashCode;
  * Controller层的日志封装类
  * Created by macro on 2018/4/26.
  */
-@Data
-@EqualsAndHashCode(callSuper = false)
 public class WebLog {
     /**
      * 操作描述
@@ -65,4 +63,92 @@ public class WebLog {
      */
     private Object result;
 
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public Long getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Long startTime) {
+        this.startTime = startTime;
+    }
+
+    public Integer getSpendTime() {
+        return spendTime;
+    }
+
+    public void setSpendTime(Integer spendTime) {
+        this.spendTime = spendTime;
+    }
+
+    public String getBasePath() {
+        return basePath;
+    }
+
+    public void setBasePath(String basePath) {
+        this.basePath = basePath;
+    }
+
+    public String getUri() {
+        return uri;
+    }
+
+    public void setUri(String uri) {
+        this.uri = uri;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getMethod() {
+        return method;
+    }
+
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    public String getIp() {
+        return ip;
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
+    }
+
+    public Object getParameter() {
+        return parameter;
+    }
+
+    public void setParameter(Object parameter) {
+        this.parameter = parameter;
+    }
+
+    public Object getResult() {
+        return result;
+    }
+
+    public void setResult(Object result) {
+        this.result = result;
+    }
 }

+ 2 - 2
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -3,7 +3,6 @@ package com.yonge.cooleshow.admin.controller;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.common.enums.SysUserType;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetExport;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherMusicSheetAuditReq;
@@ -243,7 +242,8 @@ public class MusicSheetController extends BaseController {
         if (sysUser == null  || sysUser.getId() == null) {
             return failed("用户信息获取失败");
         }
-        return status(musicSheetService.sendBuyMessage(param.getTeacherId(),param.getStudentId(),param.getMusicSheetId()));
+        return status(musicSheetService.sendBuyMessage(param.getTeacherId(), param.getStudentId(), param.getMusicSheetId(),
+                                                       ClientEnum.STUDENT));
     }
     /**
      * 导入

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

@@ -51,6 +51,17 @@ public class VideoLessonGroupSearch extends QueryInfo {
         this.myself = myself;
     }
 
+    @ApiModelProperty("当前课程组id(查看其他课程时,筛选掉)")
+    private Long videoLessonGroupId;
+
+    public Long getVideoLessonGroupId() {
+        return videoLessonGroupId;
+    }
+
+    public void setVideoLessonGroupId(Long videoLessonGroupId) {
+        this.videoLessonGroupId = videoLessonGroupId;
+    }
+
     public Long getLessonSubject() {
         return lessonSubject;
     }

+ 3 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -3,7 +3,6 @@ package com.yonge.cooleshow.biz.dal.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.common.enums.SysUserType;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetDto;
 import com.yonge.cooleshow.biz.dal.dto.MusicSheetExport;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
@@ -192,12 +191,12 @@ public interface MusicSheetService extends IService<MusicSheet> {
 
     /**
      * 发送学生购买曲目消息
-     *
-     * @param teacherId 老师id
+     *  @param teacherId 老师id
      * @param studentId 学生id
      * @param musicSheetId 曲目id
+     * @param orderClient
      */
-    boolean sendBuyMessage(Long teacherId, Long studentId, Long musicSheetId);
+    boolean sendBuyMessage(Long teacherId, Long studentId, Long musicSheetId, ClientEnum orderClient);
 
     /**
      * 订单生产后,创建记录

+ 4 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderService.java

@@ -7,6 +7,7 @@ import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
 import com.yonge.cooleshow.biz.dal.entity.UserOrder;
 import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
+import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderVo;
 import com.yonge.cooleshow.biz.dal.dto.search.OrderSearch;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderPayRes;
@@ -14,6 +15,7 @@ import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.payment.base.model.callback.PaymentCallBack;
 
 import java.math.BigDecimal;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -165,5 +167,7 @@ public interface UserOrderService extends IService<UserOrder> {
     void orderSuccess(UserOrderVo detail, PaymentCallBack data);
 
 
+    Date getAccountPeriodTime(UserOrderDetailVo orderDetailVo);
+
     public BigDecimal getShareFreeByGoodType(GoodTypeEnum goodType);
 }

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

@@ -809,11 +809,14 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
 
     //写入老师账户
     private void addTeacherAccount(UserOrderDetailVo orderParam, List<CourseScheduleTeacherSalary> teacherSalaryList, BigDecimal totalExpectPrice) {
+        //获取账期时间
+        Date accountPeriodTime = userOrderService.getAccountPeriodTime(orderParam);
+
         //老师待入账
         List<UserAccountRecordDto> userAccountRecordDtos = new ArrayList<>();
         for (CourseScheduleTeacherSalary salary : teacherSalaryList) {
             UserAccountRecordDto dto = new UserAccountRecordDto(orderParam.getMerchId(), PostStatusEnum.WAIT, salary.getActualSalary(),
-                    InOrOutEnum.IN, AccountBizTypeEnum.LIVE, salary.getCourseScheduleId(), orderParam.getGoodName(), orderParam.getOrderNo(), orderParam.getUserId());
+                    InOrOutEnum.IN, AccountBizTypeEnum.LIVE, salary.getCourseScheduleId(), orderParam.getGoodName(), orderParam.getOrderNo(), orderParam.getUserId(),accountPeriodTime);
             userAccountRecordDtos.add(dto);
         }
         userAccountService.accountRecord(userAccountRecordDtos);

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

@@ -117,6 +117,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     private UserAccountService userAccountService;
     @Autowired
     private UserAccountRecordService userAccountRecordService;
+    @Autowired
+    private UserOrderService userOrderService;
 
     @Override
     public CourseScheduleDao getDao() {
@@ -1143,11 +1145,14 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
 
     //写入老师账户
     private void addTeacherAccount(UserOrderDetailVo orderParam, List<CourseScheduleTeacherSalary> teacherSalaryList) {
+        //获取账期时间
+        Date accountPeriodTime = userOrderService.getAccountPeriodTime(orderParam);
+
         //老师待入账
         List<UserAccountRecordDto> userAccountRecordDtos = new ArrayList<>();
         for (CourseScheduleTeacherSalary salary : teacherSalaryList) {
             UserAccountRecordDto dto = new UserAccountRecordDto(orderParam.getMerchId(), PostStatusEnum.WAIT, salary.getActualSalary(),
-                    InOrOutEnum.IN, AccountBizTypeEnum.PRACTICE, salary.getCourseScheduleId(), orderParam.getGoodName(), orderParam.getOrderNo(), orderParam.getUserId());
+                    InOrOutEnum.IN, AccountBizTypeEnum.PRACTICE, salary.getCourseScheduleId(), orderParam.getGoodName(), orderParam.getOrderNo(), orderParam.getUserId(), accountPeriodTime);
             userAccountRecordDtos.add(dto);
         }
         userAccountService.accountRecord(userAccountRecordDtos);

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

@@ -102,6 +102,8 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     @Autowired
     private StudentStarService studentStarService;
+    @Autowired
+    private UserOrderService userOrderService;
 
     public MusicSheetDao getDao() {
         return musicSheetDao;
@@ -179,7 +181,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     }
 
     @Override
-    public MusicSheetDetailVo detail(Long id, SysUser sysUser,ClientEnum userType) {
+    public MusicSheetDetailVo detail(Long id, SysUser sysUser, ClientEnum userType) {
         MusicSheetDetailVo detail = baseMapper.detail(id);
         if (detail == null) {
             throw new BizException("未找到曲目信息");
@@ -193,13 +195,13 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         }
         if (ChargeTypeEnum.FREE.getCode().equals(detail.getChargeType().getCode())) {
             detail.setPlay(YesOrNoEnum.YES);
-        }  else if (ClientEnum.STUDENT.getCode().equals(userType.getCode())
+        } else if (ClientEnum.STUDENT.getCode().equals(userType.getCode())
                 || ClientEnum.TEACHER.getCode().equals(userType.getCode())) {
             // 2022 7 20  老师也能购买曲目
             if (ClientEnum.TEACHER.getCode().equals(userType.getCode()) && detail.getUserId().equals(sysUser.getId())) {
                 detail.setPlay(YesOrNoEnum.YES);
             } else {
-                setMusicSheetPlay(sysUser.getId(), detail,userType);
+                setMusicSheetPlay(sysUser.getId(), detail, userType);
             }
         } else {
             detail.setPlay(YesOrNoEnum.YES);
@@ -213,11 +215,12 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     /**
      * 设置学生曲目信息
-     *
+     * <p>
      * 2022 7 20  老师也能购买曲目
-     *  @param studentId 学生id
-     * @param detail 曲目详情
-     * @param userType 用户类型
+     *
+     * @param studentId 学生id
+     * @param detail    曲目详情
+     * @param userType  用户类型
      */
     private void setMusicSheetPlay(Long studentId, MusicSheetDetailVo detail, ClientEnum userType) {
         detail.setPlay(YesOrNoEnum.NO);
@@ -225,7 +228,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         if (ChargeTypeEnum.CHARGE.getCode().equals(detail.getChargeType().getCode())) {
             // 学生须判断是否能播放曲目
             MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService.checkPurchase(
-                    studentId, detail.getId(),userType);
+                    studentId, detail.getId(), userType);
             if (musicSheetPurchaseRecord != null) {
                 detail.setOrderStatus(musicSheetPurchaseRecord.getOrderStatus());
                 detail.setOrderNo(musicSheetPurchaseRecord.getOrderNo());
@@ -241,7 +244,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
                     detail.setPlay(YesOrNoEnum.YES);
                 }
             } else if (userType.equals(ClientEnum.TEACHER)) {
-                TeacherVo teacher= teacherService.detail(studentId);
+                TeacherVo teacher = teacherService.detail(studentId);
                 if (teacher != null && YesOrNoEnum.YES.getCode().equals(teacher.getIsVip().getCode())) {
                     detail.setPlay(YesOrNoEnum.YES);
                 }
@@ -477,7 +480,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         }
 
         // 检查已经购买
-        checkoutPay(orderReqInfo.getUserId(), musicSheetPayDto.getMusicSheetId(),musicSheetPayDto.getClientType());
+        checkoutPay(orderReqInfo.getUserId(), musicSheetPayDto.getMusicSheetId(), musicSheetPayDto.getClientType());
 
         orderCreateRes.setRes(true);
         if (!musicSheet.getSourceType().getCode().equals(SourceTypeEnum.PLATFORM.getCode())) {
@@ -494,7 +497,8 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     /**
      * 检查是否已购买当前曲目
-     *  @param userId       用户id
+     *
+     * @param userId       用户id
      * @param musicSheetId 曲目id
      * @param clientType
      */
@@ -534,9 +538,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
         // 消息通知
         try {
-            sendBuyMessage(userOrderDetailVo.getMerchId(), userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId());
+            sendBuyMessage(userOrderDetailVo.getMerchId(), userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId(), userOrderDetailVo.getOrderClient());
         } catch (Exception e) {
-            log.warn("学生购买曲目消息推送失败 {}", e.getMessage());
+            log.warn("购买曲目消息推送失败 {}", e.getMessage());
         }
     }
 
@@ -546,10 +550,11 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
      * @param teacherId    老师id
      * @param studentId    学生id
      * @param musicSheetId 曲目id
+     * @param orderClient
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean sendBuyMessage(Long teacherId, Long studentId, Long musicSheetId) {
+    public boolean sendBuyMessage(Long teacherId, Long studentId, Long musicSheetId, ClientEnum orderClient) {
         SysUser teacher = sysUserFeignService.queryUserById(teacherId);
         SysUser student = sysUserFeignService.queryUserById(studentId);
         if (StringUtil.isEmpty(teacher.getPhone())) {
@@ -574,7 +579,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
         sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
                 MessageTypeEnum.STUDENT_BUY_MUSIC_SHEET_SUCCESS, studentReceivers, null,
-                0, url, ClientEnum.STUDENT.getCode(), musicSheet.getMusicSheetName());
+                0, url, orderClient.getCode(), musicSheet.getMusicSheetName());
         // 推送学生
         Map<Long, String> studentSMS = new HashMap<>();
         studentSMS.put(studentId, student.getPhone());
@@ -595,7 +600,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
      */
     private void addMusicSheetPurchaseRecord(UserOrderDetailVo userOrderDetailVo, BigDecimal actualPrice, BigDecimal serviceFeeAmount) {
         MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
-                .checkPurchase(userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId(),userOrderDetailVo.getOrderClient());
+                .checkPurchase(userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId(), userOrderDetailVo.getOrderClient());
         if (musicSheetPurchaseRecord == null) {
             musicSheetPurchaseRecord = new MusicSheetPurchaseRecord();
         }
@@ -622,11 +627,14 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
      */
     private void addTeacherAccount(UserOrderDetailVo userOrderDetailVo, BigDecimal actualPrice, BigDecimal serviceFeeAmount,
                                    Long musicSheetId) {
+        //获取账期时间
+        Date accountPeriodTime = userOrderService.getAccountPeriodTime(userOrderDetailVo);
+
         BigDecimal transAmount = actualPrice.subtract(serviceFeeAmount).setScale(2, RoundingMode.HALF_UP);
         //插入老师账户变更记录-老师预收
         userAccountService.accountRecord(
                 new UserAccountRecordDto(userOrderDetailVo.getMerchId(), PostStatusEnum.WAIT, transAmount, InOrOutEnum.IN,
-                        AccountBizTypeEnum.MUSIC, musicSheetId, userOrderDetailVo.getGoodName(), userOrderDetailVo.getOrderNo(),userOrderDetailVo.getUserId()));
+                        AccountBizTypeEnum.MUSIC, musicSheetId, userOrderDetailVo.getGoodName(), userOrderDetailVo.getOrderNo(), userOrderDetailVo.getUserId(), accountPeriodTime));
     }
 
     @Override
@@ -634,7 +642,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     public void orderAfterSheet(UserOrderDetailVo userOrderDetailVo) {
         // 保存购买记录
         MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
-                .checkPurchase(userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId(),userOrderDetailVo.getOrderClient());
+                .checkPurchase(userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId(), userOrderDetailVo.getOrderClient());
         if (musicSheetPurchaseRecord == null) {
             musicSheetPurchaseRecord = new MusicSheetPurchaseRecord();
         }
@@ -652,7 +660,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     @Transactional(rollbackFor = Exception.class)
     public void buyMusicSheetCancel(UserOrderDetailVo userOrderDetailVo) {
         MusicSheetPurchaseRecord musicSheetPurchaseRecord = musicSheetPurchaseRecordService
-                .checkPurchase(userOrderDetailVo.getUserId(),userOrderDetailVo.getBizId(),userOrderDetailVo.getOrderClient());
+                .checkPurchase(userOrderDetailVo.getUserId(), userOrderDetailVo.getBizId(), userOrderDetailVo.getOrderClient());
 
         if (musicSheetPurchaseRecord == null) return;
         musicSheetPurchaseRecordService.removeById(musicSheetPurchaseRecord.getId());
@@ -852,15 +860,15 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     @Override
     public ShareProfitVo shareMusicSheetProfit(SysUser sysUser, Long musicSheetId) {
         ShareProfitVo result = new ShareProfitVo();
-        MusicSheetDetailVo musicSheet = detail(musicSheetId,null,null);
+        MusicSheetDetailVo musicSheet = detail(musicSheetId, null, null);
 
         result.setTeacherId(sysUser.getId());
         result.setType("MUSIC");
         result.setMusicSheet(musicSheet);
         result.setAvatar(sysUser.getAvatar());
         result.setName(sysUser.getUsername());
-        String teacherMusicShareProfitUrl= sysConfigService.findConfigValue(SysConfigConstant.TEACHER_MUSIC_SHEET_SHARE_PROFIT_URL);
-        result.setUrl(MessageFormatter.arrayFormat(teacherMusicShareProfitUrl,musicSheetId, sysUser.getId()));
+        String teacherMusicShareProfitUrl = sysConfigService.findConfigValue(SysConfigConstant.TEACHER_MUSIC_SHEET_SHARE_PROFIT_URL);
+        result.setUrl(MessageFormatter.arrayFormat(teacherMusicShareProfitUrl, musicSheetId, sysUser.getId()));
         return result;
     }
 

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

@@ -851,7 +851,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
      * @param orderDetailVo
      * @return
      */
-    private Date getAccountPeriodTime(UserOrderDetailVo orderDetailVo) {
+    @Override
+    public Date getAccountPeriodTime(UserOrderDetailVo orderDetailVo) {
         Calendar instance = Calendar.getInstance();
         GoodTypeEnum goodType = orderDetailVo.getGoodType();
 

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

@@ -91,7 +91,8 @@ public class VideoLessonGroupServiceImpl extends ServiceImpl<VideoLessonGroupDao
 
     public List<VideoLessonGroupVo> selectPage(VideoLessonGroupSearch query) {
         List<VideoLessonGroupVo> list = baseMapper.selectPage(null, query);
-        List<VideoLessonGroupVo> collect = list.stream().sorted(Comparator.comparing(VideoLessonGroupVo::getCountStudent, Comparator.reverseOrder())).limit(2).collect(Collectors.toList());
+        List<VideoLessonGroupVo> collect = list.stream().filter(videoLessonGroupVo -> !videoLessonGroupVo.getId().equals(query.getVideoLessonGroupId()))
+                                               .sorted(Comparator.comparing(VideoLessonGroupVo::getCountStudent, Comparator.reverseOrder())).limit(2).collect(Collectors.toList());
         return collect;
     }
 

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

@@ -12,10 +12,7 @@ import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonPurchaseRecordDao;
 import com.yonge.cooleshow.biz.dal.enums.*;
-import com.yonge.cooleshow.biz.dal.service.SysConfigService;
-import com.yonge.cooleshow.biz.dal.service.SysMessageService;
-import com.yonge.cooleshow.biz.dal.service.UserAccountService;
-import com.yonge.cooleshow.biz.dal.service.VideoLessonPurchaseRecordService;
+import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
@@ -61,6 +58,8 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
     private UserOrderDao userOrderDao;
     @Autowired
     private SysMessageService sysMessageService;
+    @Autowired
+    private UserOrderService userOrderService;
 
     public VideoLessonPurchaseRecordDao getDao() {
         return videoLessonPurchaseRecordDao;
@@ -157,9 +156,9 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
      * @param lessonGroup
      */
     private void addTeacherAccount(UserOrderDetailVo userOrderDetailVo, VideoLessonGroup lessonGroup) {
-        if(null == userOrderDetailVo.getMerchId()){
+        //获取账期时间
+        Date accountPeriodTime = userOrderService.getAccountPeriodTime(userOrderDetailVo);
 
-        }
         //查询视频课服务费
         BigDecimal liveServiceRate = new BigDecimal(sysConfigService.findConfigValue(SysConfigConstant.VIDEO_LESSON_SERVICE_FEE))
                 .divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
@@ -173,7 +172,7 @@ public class VideoLessonPurchaseRecordServiceImpl extends ServiceImpl<VideoLesso
         //插入老师账户变更记录-老师预收
         userAccountService.accountRecord(
                 new UserAccountRecordDto(userOrderDetailVo.getMerchId(), PostStatusEnum.WAIT, transAmount, InOrOutEnum.IN,
-                        AccountBizTypeEnum.VIDEO, lessonGroup.getId(), lessonGroup.getLessonName(), userOrderDetailVo.getOrderNo(),userOrderDetailVo.getUserId()));
+                        AccountBizTypeEnum.VIDEO, lessonGroup.getId(), lessonGroup.getLessonName(), userOrderDetailVo.getOrderNo(), userOrderDetailVo.getUserId(), accountPeriodTime));
     }
 
     /**

+ 2 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -86,7 +86,8 @@
         <if test="param.idAndName != null and param.idAndName != ''">
             and (t.id_ like concat('%',#{param.idAndName},'%') or
             t.music_sheet_name_ like concat('%',#{param.idAndName},'%') or
-            t.composer_ like concat ('%',#{param.idAndName},'%'))
+            t.composer_ like concat ('%',#{param.idAndName},'%') or
+            su.username_ like concat ('%',#{param.idAndName},'%') )
         </if>
         <if test="param.musicTagIds != null and param.musicTagIds != ''">
             and

+ 2 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherCourseGroupController.java

@@ -80,6 +80,8 @@ public class TeacherCourseGroupController extends BaseController {
                 auditVersion = appVersionInfoService.getAppAuditVersion(param.get("platform").toString(),param.get("version").toString());
             }
             param.put("auditVersion",auditVersion);
+            param.put("groupStatus","APPLY");
+
         }
 
 

+ 7 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/VideoLessonGroupController.java

@@ -4,6 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.yonge.cooleshow.biz.dal.dto.search.ShareProfitParam;
 import com.yonge.cooleshow.biz.dal.dto.search.VideoLessonGroupSearch;
 
+
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.biz.dal.vo.*;
+
 import com.yonge.cooleshow.biz.dal.service.AppVersionInfoService;
 
 import com.yonge.cooleshow.biz.dal.vo.*;
@@ -65,6 +69,9 @@ public class VideoLessonGroupController extends BaseController {
             // 检查app版本
             query.setAuditVersion(appVersionInfoService.getAppAuditVersion(query.getPlatform(),query.getVersion()));
         }
+        if (query.getMyself() != null && !query.getMyself()) {
+            query.setAuditStatus(AuthStatusEnum.PASS);
+        }
         IPage<VideoLessonGroupVo> pages = videoLessonGroupService.selectPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(pages));
     }

+ 21 - 3
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenMusicAlbumController.java

@@ -22,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 专辑表 web 控制层
@@ -80,14 +82,30 @@ public class OpenMusicAlbumController extends BaseController {
         musicAlbumSearch.setAlbumStatus(YesOrNoEnum.YES);
         musicAlbumSearch.setSortBy(1);
         musicAlbumSearch.setPage(1);
-        musicAlbumSearch.setRows(4);
+        musicAlbumSearch.setRows(5);
         IPage<MusicAlbumVo> hotMusicAlbum = musicAlbumService.selectStudentPage(PageUtil.getPage(musicAlbumSearch),musicAlbumSearch);
-        albumDetailVo.setHotMusicAlbum(hotMusicAlbum.getRecords());
+        List<MusicAlbumVo> musicAlbumVos = hotMusicAlbum.getRecords()
+                                                  .stream()
+                                                  .filter(musicAlbumVo -> !musicAlbumVo.getId()
+                                                                                       .equals(albumDetailVo.getId()))
+                                                  .collect(Collectors.toList());
+        if (musicAlbumVos.size() > 4) {
+            musicAlbumVos = musicAlbumVos.subList(0,4);
+        }
+        albumDetailVo.setHotMusicAlbum(musicAlbumVos);
 
         // 相关专辑
         musicAlbumSearch.setAlbumTagIds(albumDetailVo.getAlbumTag());
         IPage<MusicAlbumVo> relatedMusicAlbum = musicAlbumService.selectStudentPage(PageUtil.getPage(musicAlbumSearch),musicAlbumSearch);
-        albumDetailVo.setRelatedMusicAlbum(relatedMusicAlbum.getRecords());
+        List<MusicAlbumVo> musicAlbumVos1 = relatedMusicAlbum.getRecords()
+                                                      .stream()
+                                                      .filter(musicAlbumVo -> !musicAlbumVo.getId()
+                                                                                           .equals(albumDetailVo.getId()))
+                                                      .collect(Collectors.toList());
+        if (musicAlbumVos1.size() > 4) {
+            musicAlbumVos1 = musicAlbumVos1.subList(0,4);
+        }
+        albumDetailVo.setRelatedMusicAlbum(musicAlbumVos1);
         return succeed(albumDetailVo);
     }
 

+ 25 - 0
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/open/OpenSubjectController.java

@@ -1,19 +1,24 @@
 package com.yonge.cooleshow.website.controller.open;
 
 import com.yonge.cooleshow.biz.dal.entity.Subject;
+import com.yonge.cooleshow.biz.dal.queryInfo.SubjectQueryInfo;
 import com.yonge.cooleshow.biz.dal.service.SubjectService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 @RequestMapping("/open/subject")
 @Api(tags = "声部服务")
@@ -35,4 +40,24 @@ public class OpenSubjectController extends BaseController {
         return succeed(subjectSelect);
     }
 
+    @ApiOperation(value = "分页查询声部列表")
+    @GetMapping("/queryPage")
+    public HttpResponseResult<PageInfo<Subject>> queryPage(SubjectQueryInfo queryInfo) {
+        PageInfo<Subject> pageInfo = subjectService.queryPage(queryInfo);
+
+        if(pageInfo.getRows().size() == 0){
+            return succeed(pageInfo);
+        }
+
+        Map<Long, Subject> map = subjectService.findBySubjectByIdList(pageInfo.getRows().stream().map(t -> t.getParentSubjectId()).collect(
+                                                       Collectors.toList())).stream()
+                                               .collect(Collectors.toMap(Subject::getId, t -> t));
+
+        pageInfo.getRows().forEach(row -> {
+            if(row.getParentSubjectId() != null && row.getParentSubjectId() > 0) {
+                row.setParentSubjectName(map.get(row.getParentSubjectId()).getName());
+            }
+        });
+        return succeed(pageInfo);
+    }
 }