Bladeren bron

曲目关注

liujc 1 jaar geleden
bovenliggende
commit
56ac39d8ac

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

@@ -42,6 +42,16 @@ public class MusicAlbumDetailSearch extends MusicSheetSearch {
 
     private List<String> paymentTypes;
 
+    @ApiModelProperty(value = "登录学生id",hidden = true)
+    private Long studentId;
+
+    public Long getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Long studentId) {
+        this.studentId = studentId;
+    }
 
     public Integer getRelatedNum() {
         return relatedNum;

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

@@ -161,6 +161,10 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
             }*/
         }
 
+        if (sysUser != null) {
+            query.setStudentId(sysUser.getId());
+        }
+        query.setClientType(client);
         IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectAlbumDetailPage(page,query);
 
         List<MusicSheetVo> records = musicSheetVoIPage.getRecords();

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

@@ -17,12 +17,70 @@ import com.yonge.cooleshow.biz.dal.dto.ReasonDto;
 import com.yonge.cooleshow.biz.dal.dto.UserAccountRecordDto;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
 import com.yonge.cooleshow.biz.dal.dto.req.TeacherMusicSheetAuditReq;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicAlbumDetailSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.MusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetOrderSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetAuditSearch;
+import com.yonge.cooleshow.biz.dal.dto.search.TeacherMusicSheetSearch;
+import com.yonge.cooleshow.biz.dal.entity.AlbumMusicRelate;
+import com.yonge.cooleshow.biz.dal.entity.CourseCourseware;
+import com.yonge.cooleshow.biz.dal.entity.MusicAlbum;
+import com.yonge.cooleshow.biz.dal.entity.MusicFavorite;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheet;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetAuthRecord;
+import com.yonge.cooleshow.biz.dal.entity.MusicSheetPurchaseRecord;
+import com.yonge.cooleshow.biz.dal.entity.MusicTag;
+import com.yonge.cooleshow.biz.dal.entity.PlatformCashAccountRecord;
+import com.yonge.cooleshow.biz.dal.entity.StudentStar;
+import com.yonge.cooleshow.biz.dal.entity.Subject;
+import com.yonge.cooleshow.biz.dal.entity.Teacher;
+import com.yonge.cooleshow.biz.dal.entity.TeacherTotal;
+import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
+import com.yonge.cooleshow.biz.dal.entity.UserOrderDetail;
+import com.yonge.cooleshow.biz.dal.enums.AccountBizTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.AudioTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.enums.GoodTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.InOrOutEnum;
+import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
+import com.yonge.cooleshow.biz.dal.enums.OrderTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.dto.search.*;
 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.mapper.UserTenantAlbumRecordMapper;
-import com.yonge.cooleshow.biz.dal.service.*;
+import com.yonge.cooleshow.biz.dal.service.ActivityPlanService;
+import com.yonge.cooleshow.biz.dal.service.AlbumFavoriteService;
+import com.yonge.cooleshow.biz.dal.service.AlbumMusicRelateService;
+import com.yonge.cooleshow.biz.dal.service.CourseCoursewareService;
+import com.yonge.cooleshow.biz.dal.service.MusicAlbumService;
+import com.yonge.cooleshow.biz.dal.service.MusicFavoriteService;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetAccompanimentService;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetAuthRecordService;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetPracticeRecordService;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetPurchaseRecordService;
+import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.service.MusicTagService;
+import com.yonge.cooleshow.biz.dal.service.PlatformCashAccountRecordService;
+import com.yonge.cooleshow.biz.dal.service.RedisCacheService;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
+import com.yonge.cooleshow.biz.dal.service.StudentStarService;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
+import com.yonge.cooleshow.biz.dal.service.SysConfigService;
+import com.yonge.cooleshow.biz.dal.service.SysMessageService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.service.TeacherTotalService;
+import com.yonge.cooleshow.biz.dal.service.TenantAlbumMusicService;
+import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
+import com.yonge.cooleshow.biz.dal.service.UserAccountService;
+import com.yonge.cooleshow.biz.dal.service.UserOrderService;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
@@ -51,7 +109,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.MessageFormat;
@@ -81,7 +138,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     private static final Logger log = LoggerFactory.getLogger(MusicSheetServiceImpl.class);
 
-    @Resource
+    @Autowired
     private MusicSheetDao musicSheetDao;
 
     @Autowired
@@ -114,7 +171,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     @Autowired
     private AlbumMusicRelateService albumMusicRelateService;
 
-    @Resource
+    @Autowired
     private SysUserFeignService sysUserFeignService;
 
     @Autowired
@@ -151,7 +208,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     private MusicSheetService musicSheetService;
 
     @Autowired
-    private  AlbumFavoriteService albumFavoriteService;
+    private AlbumFavoriteService albumFavoriteService;
 
     @Autowired
     private TenantInfoService tenantInfoService;
@@ -306,7 +363,31 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     @Override
     public IPage<MusicSheetVo> selectAlbumDetailPage(IPage<MusicSheetVo> page, MusicAlbumDetailSearch query) {
-        return page.setRecords(baseMapper.selectAlbumDetailPage(page, query));
+        IPage<MusicSheetVo> musicSheetVoIPage = page.setRecords(baseMapper.selectAlbumDetailPage(page, query));
+
+        List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
+        if (CollectionUtils.isEmpty(records)) {
+            return musicSheetVoIPage;
+        }
+        // 是否关注
+        if (query.getStudentId() != null) {
+            List<Long> musicIdList = records.stream().map(MusicSheetVo::getId).collect(Collectors.toList());
+            List<MusicFavorite> musicFavoriteList = musicFavoriteService.lambdaQuery()
+                    .eq(MusicFavorite::getUserId, query.getStudentId())
+                    .eq(MusicFavorite::getClientType, query.getClientType())
+                    .in(MusicFavorite::getMusicSheetId, musicIdList)
+                    .list();
+            if (CollectionUtils.isNotEmpty(musicFavoriteList)) {
+                Set<Long> set = musicFavoriteList.stream()
+                        .map(MusicFavorite::getMusicSheetId)
+                        .collect(Collectors.toSet());
+                for (MusicSheetVo record : records) {
+                    record.setFavorite(set.contains(record.getId())?YesOrNoEnum.YES:YesOrNoEnum.NO);
+                }
+            }
+        }
+
+        return musicSheetVoIPage;
     }
 
     @Override

+ 4 - 3
cooleshow-user/user-biz/src/main/resources/config/mybatis/PlatformCashAccountRecordMapper.xml

@@ -157,9 +157,10 @@
 
 	<select id="queryCanAccountByBizType"
 			resultType="com.yonge.cooleshow.biz.dal.entity.PlatformCashAccountRecord">
-		select * from platform_cash_account_record
-		where post_status_ = 'WAIT' and account_period_time_ &lt; now()
-		and biz_type_ IN
+		select t.* from platform_cash_account_record t
+        left join tenant_account_record tar on tar.platform_cash_account_record_id_ = t.id_
+		where t.post_status_ = 'WAIT' and t.account_period_time_ &lt; now() and tar.id_ is null
+		and t.biz_type_ IN
 		<foreach collection="bizTypes" item="item" open="(" separator="," close=")">
 			#{item}
 		</foreach>