فهرست منبع

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

刘俊驰 1 سال پیش
والد
کامیت
768353effa

+ 10 - 3
cooleshow-app/src/main/java/com/yonge/cooleshow/admin/controller/StudentController.java

@@ -56,6 +56,7 @@ import javax.validation.Valid;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -125,8 +126,7 @@ public class StudentController extends BaseController {
             }
         }
         Long tenantAlbumPurchaseId = query.getTenantAlbumPurchaseId();
-        String tenantGroupId = query.getTenantGroupId();
-        if (tenantAlbumPurchaseId != null && StringUtils.isEmpty(tenantGroupId)) {
+        if (tenantAlbumPurchaseId != null) {
             // 查询关联这个专辑对应的小组学生
             TenantAlbumPurchase tenantAlbumPurchase = tenantAlbumPurchaseService.getById(tenantAlbumPurchaseId);
             Long tenantAlbumId = tenantAlbumPurchase.getTenantAlbumId();
@@ -139,7 +139,14 @@ public class StudentController extends BaseController {
                 // 没有小组
                 return succeed(PageUtil.getPageInfo(PageUtil.getPage(query), new ArrayList<>()));
             }
-            query.setTenantGroupId(String.join(",", tenantGroupIds));
+            String tenantGroupId = query.getTenantGroupId();
+            if (StringUtils.isNotEmpty(tenantGroupId)) {
+                if(!tenantGroupIds.contains(tenantGroupId)){
+                    return succeed(PageUtil.getPageInfo(PageUtil.getPage(query), new ArrayList<>()));
+                }
+            } else {
+                query.setTenantGroupId(String.join(",", tenantGroupIds));
+            }
         }
 
         IPage<StudentVo> pages = studentService.selectPage(PageUtil.getPage(query), query);

+ 23 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/student/controller/UserTenantAlbumRecordController.java

@@ -6,11 +6,16 @@ import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.microsvc.toolkit.common.response.template.R;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.entity.Student;
+import com.yonge.cooleshow.biz.dal.entity.TenantInfo;
 import com.yonge.cooleshow.biz.dal.entity.UserTenantAlbumRecord;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
+import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
 import com.yonge.cooleshow.biz.dal.service.UserTenantAlbumRecordService;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.UserTenantAlbumRecordWrapper;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
@@ -27,8 +32,10 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Optional;
 
 @Slf4j
 @Validated
@@ -42,6 +49,12 @@ public class UserTenantAlbumRecordController {
     @Resource
     private SysUserFeignService sysUserFeignService;
 
+    @Autowired
+    private TenantInfoService tenantInfoService;
+
+    @Autowired
+    private StudentService studentService;
+
     @ApiOperation(value = "详情", notes = "购买训练工具记录-根据详情ID查询单条, 传入id")
     @PreAuthorize("@auditsvc.hasPermissions('userTenantAlbumRecord/detail', {'BACKEND'})")
     //@GetMapping("/detail/{id}")
@@ -67,8 +80,18 @@ public class UserTenantAlbumRecordController {
     public R<List<UserTenantAlbumRecordWrapper.UserTenantAlbumRecord>> list(@RequestBody UserTenantAlbumRecordWrapper.UserTenantAlbumRecordQuery query) {
 
         SysUser sysUser = sysUserFeignService.queryUserInfo();
+        Student student = studentService.getById(sysUser.getId());
+        if (student == null || student.getTenantId() == null || student.getTenantId() == -1L) {
+            throw new BizException("请求非法");
+        }
+        Long tenantGroupId = student.getTenantGroupId();
+        if (tenantGroupId == null || tenantGroupId == -1L) {
+            return R.from(new ArrayList<>());
+        }
         query.setUserId(sysUser.getId());
         query.setEndTime(new Date());
+        query.setTenantId(student.getTenantId());
+        query.setTenantGroupId(student.getTenantGroupId());
         return R.from(userTenantAlbumRecordService.list(query));
     }
 

+ 10 - 3
cooleshow-app/src/main/java/com/yonge/cooleshow/tenant/controller/StudentController.java

@@ -57,6 +57,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -110,8 +111,7 @@ public class StudentController extends BaseController {
         query.setOrderBy("u.username_ asc");
 
         Long tenantAlbumPurchaseId = query.getTenantAlbumPurchaseId();
-        String tenantGroupId = query.getTenantGroupId();
-        if (tenantAlbumPurchaseId != null && StringUtils.isEmpty(tenantGroupId)) {
+        if (tenantAlbumPurchaseId != null) {
             // 查询关联这个专辑对应的小组学生
             TenantAlbumPurchase tenantAlbumPurchase = tenantAlbumPurchaseService.getById(tenantAlbumPurchaseId);
             Long tenantAlbumId = tenantAlbumPurchase.getTenantAlbumId();
@@ -124,7 +124,14 @@ public class StudentController extends BaseController {
                 // 没有小组
                 return succeed(PageUtil.getPageInfo(PageUtil.getPage(query), new ArrayList<>()));
             }
-            query.setTenantGroupId(String.join(",", tenantGroupIds));
+            String tenantGroupId = query.getTenantGroupId();
+            if (StringUtils.isNotEmpty(tenantGroupId)) {
+                if(!tenantGroupIds.contains(tenantGroupId)){
+                    return succeed(PageUtil.getPageInfo(PageUtil.getPage(query), new ArrayList<>()));
+                }
+            } else {
+                query.setTenantGroupId(String.join(",", tenantGroupIds));
+            }
         }
 
         IPage<StudentVo> pages = studentService.selectPage(PageUtil.getPage(query), query);

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

@@ -485,6 +485,8 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
                 album.setTenantAlbumStatus(0);
                 return album;
             }
+
+            //TODO
             TenantAlbumMusic tenantAlbumMusic = tenantAlbumMusicList.get(0);
             tenantAlbumId = tenantAlbumMusic.getTenantAlbumId();
         } else {
@@ -506,7 +508,7 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
             return album;
         }
         album.setTenantAlbumStatus(2);
-
+        //TODO
         TenantAlbum tenantAlbum = list.get(0);
         //机构专辑名称
         String name = tenantAlbum.getName();
@@ -607,6 +609,7 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
         if (CollectionUtils.isEmpty(list)){
             throw new BizException("机构专辑不存在");
         }
+        //TODO
         TenantAlbum tenantAlbum = list.get(0);
         //机构专辑名称
         String name = tenantAlbum.getName();

+ 31 - 8
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserTenantAlbumRecordServiceImpl.java

@@ -414,6 +414,11 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
                     .eq(TenantGroupAlbum::getDelFlag, false)
                     .eq(TenantGroupAlbum::getStatus, true)
                     .list();
+                if (CollectionUtils.isEmpty(list)) {
+                    album.setTenantAlbumStatus(0);
+                    album.setTenantAlbumFlag(YesOrNoEnum.NO);
+                    return album;
+                }
                 // 专辑ID集合
                 tenantAlbumIds = list.stream().map(TenantGroupAlbum::getTenantAlbumId).distinct().collect(Collectors.toList());
 
@@ -572,13 +577,14 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         if (CollectionUtils.isNotEmpty(ifedBuy)) {
             album.setIfBuy(true);
             album.setTenantAlbumStatus(2);
+            tenantAlbumIds = ifedBuy;
         } else {
             album.setIfBuy(false);
         }
 
 
         //查询对应专辑的详情
-        TenantAlbum tenantAlbum = albumList.get(0);
+//        TenantAlbum tenantAlbum = albumList.get(0);
         //机构专辑曲目数
 
         List<TenantAlbumMusic> list = tenantAlbumMusicMapper.getByAlbumAndEnable(tenantAlbumIds);
@@ -624,15 +630,15 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         album.setEnsembleCounts(ensembleSize);
         album.setMusicCounts(musicSize);
         album.setSubjectCounts(subjectSize);
-        album.setId(String.valueOf(tenantAlbum.getId()));
-        album.setName(tenantAlbum.getName());
-        album.setCoverImg(tenantAlbum.getCoverImg());
+//        album.setId(String.valueOf(tenantAlbum.getId()));
+//        album.setName(tenantAlbum.getName());
+//        album.setCoverImg(tenantAlbum.getCoverImg());
         album.setMusicNum(size);
-        album.setDescribe(tenantAlbum.getDescribe());
+//        album.setDescribe(tenantAlbum.getDescribe());
         album.setSubjectTypes(subjectTypes.stream().collect(Collectors.joining(",")));
-        album.setCostPrice(tenantAlbum.getCostPrice());
-        album.setPurchaseCycle(tenantAlbum.getPurchaseCycle());
-        album.setSalePrice(tenantAlbum.getSalePrice());
+//        album.setCostPrice(tenantAlbum.getCostPrice());
+//        album.setPurchaseCycle(tenantAlbum.getPurchaseCycle());
+//        album.setSalePrice(tenantAlbum.getSalePrice());
         return album;
     }
 
@@ -675,9 +681,26 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
 
     @Override
     public List<UserTenantAlbumRecordWrapper.UserTenantAlbumRecord> list(UserTenantAlbumRecordWrapper.UserTenantAlbumRecordQuery query) {
+
+        List<Long> tenantAlbumIdList = new ArrayList<>();
+        Long tenantGroupId = query.getTenantGroupId();
+        if (tenantGroupId != null) { // 学生只看当前就够的专辑列表
+            QueryWrapper<TenantGroupAlbum> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda()
+                    .eq(TenantGroupAlbum::getTenantGroupId, tenantGroupId);
+//                    .eq(TenantGroupAlbum::getDelFlag, false)
+//                    .eq(TenantGroupAlbum::getStatus, true);
+            List<TenantGroupAlbum> tenantGroupAlbums = tenantGroupAlbumMapper.selectList(queryWrapper);
+            if (CollectionUtils.isEmpty(tenantGroupAlbums)) {
+                return new ArrayList<>();
+            }
+            tenantAlbumIdList = tenantGroupAlbums.stream().map(TenantGroupAlbum::getTenantAlbumId).distinct().collect(Collectors.toList());
+        }
+
         List<UserTenantAlbumRecord> list = this.lambdaQuery()
                 .eq(UserTenantAlbumRecord::getUserId, query.getUserId())
                 .ge(query.getEndTime() != null, UserTenantAlbumRecord::getEndTime, query.getEndTime())
+                .in(CollectionUtils.isNotEmpty(tenantAlbumIdList), UserTenantAlbumRecord::getTenantAlbumId, tenantAlbumIdList)
                 .list();
         if (list.size() == 0) {
             return new ArrayList<>();

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/UserTenantAlbumRecordWrapper.java

@@ -57,6 +57,9 @@ public class UserTenantAlbumRecordWrapper {
         @ApiModelProperty("机构ID")
         private Long tenantId;
 
+        @ApiModelProperty("小组ID")
+        private Long tenantGroupId;
+
         
         public String getKeyword() {
             return Optional.ofNullable(keyword).filter(StringUtils::isNotBlank).orElse(null);