|
@@ -1,5 +1,6 @@
|
|
package com.yonge.cooleshow.student.controller;
|
|
package com.yonge.cooleshow.student.controller;
|
|
|
|
|
|
|
|
+import com.beust.jcommander.internal.Lists;
|
|
import com.microsvc.toolkit.common.response.template.R;
|
|
import com.microsvc.toolkit.common.response.template.R;
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
@@ -7,9 +8,11 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
import com.yonge.cooleshow.biz.dal.service.TenantGroupAlbumService;
|
|
import com.yonge.cooleshow.biz.dal.service.TenantGroupAlbumService;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.TenantGroupAlbumWrapper;
|
|
import com.yonge.cooleshow.biz.dal.wrapper.TenantGroupAlbumWrapper;
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
|
+import com.yonge.toolset.base.exception.BizException;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.apache.commons.collections.CollectionUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -18,7 +21,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.Collection;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collector;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
@Validated
|
|
@Validated
|
|
@@ -35,26 +42,64 @@ public class TenantGroupAlbumController {
|
|
|
|
|
|
@ApiOperation(value = "学生可购买机构专辑信息")
|
|
@ApiOperation(value = "学生可购买机构专辑信息")
|
|
@GetMapping("/buyAlbumInfo")
|
|
@GetMapping("/buyAlbumInfo")
|
|
- public HttpResponseResult<List<TenantGroupAlbumWrapper.BuyTenantAlbum>> buyAlbumInfo(@RequestParam(required = false) Long tenantGroupAlbumId) {
|
|
|
|
|
|
+ public HttpResponseResult<List<TenantGroupAlbumWrapper.BuyTenantAlbum>> buyAlbumInfo(@RequestParam(required = false) Long tenantGroupAlbumId
|
|
|
|
+ ,@RequestParam(required = false) Long tenantAlbumId) {
|
|
|
|
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
if (user == null || null == user.getId()) {
|
|
if (user == null || null == user.getId()) {
|
|
return HttpResponseResult.failed(HttpStatus.FORBIDDEN, "请登录");
|
|
return HttpResponseResult.failed(HttpStatus.FORBIDDEN, "请登录");
|
|
}
|
|
}
|
|
|
|
+ TenantGroupAlbumWrapper.BuyTenantAlbumQuery query = new TenantGroupAlbumWrapper.BuyTenantAlbumQuery();
|
|
|
|
+ query.setTenantGroupAlbumId(tenantGroupAlbumId);
|
|
|
|
+ query.setUserId(user.getId());
|
|
|
|
+ query.setClientType(ClientEnum.STUDENT);
|
|
|
|
+ if (tenantAlbumId != null) {
|
|
|
|
+ query.setTenantAlbumIds(Lists.newArrayList(tenantAlbumId));
|
|
|
|
+ }
|
|
|
|
|
|
- return HttpResponseResult.succeed(tenantGroupAlbumService.buyAlbumInfo(tenantGroupAlbumId,user.getId(), ClientEnum.STUDENT));
|
|
|
|
|
|
+ return HttpResponseResult.succeed(tenantGroupAlbumService.buyAlbumInfo(query));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+ @ApiOperation(value = "学生小组专辑信息")
|
|
|
|
+ @GetMapping("/albumList")
|
|
|
|
+ public HttpResponseResult<Collection<TenantGroupAlbumWrapper.BuyTenantAlbum>> albumList() {
|
|
|
|
+
|
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
|
+ if (user == null || null == user.getId()) {
|
|
|
|
+ return HttpResponseResult.failed(HttpStatus.FORBIDDEN, "请登录");
|
|
|
|
+ }
|
|
|
|
+ TenantGroupAlbumWrapper.BuyTenantAlbumQuery query = new TenantGroupAlbumWrapper.BuyTenantAlbumQuery();
|
|
|
|
+ query.setUserId(user.getId());
|
|
|
|
+ query.setClientType(ClientEnum.STUDENT);
|
|
|
|
+ List<TenantGroupAlbumWrapper.BuyTenantAlbum> buyTenantAlbums = tenantGroupAlbumService.buyAlbumInfo(query);
|
|
|
|
+ // 同ID去重
|
|
|
|
+ if (CollectionUtils.isEmpty(buyTenantAlbums)) {
|
|
|
|
+ return HttpResponseResult.succeed(new ArrayList<>());
|
|
|
|
+ }
|
|
|
|
+ Collection<TenantGroupAlbumWrapper.BuyTenantAlbum> result = buyTenantAlbums.stream().collect(Collectors
|
|
|
|
+ .toMap(TenantGroupAlbumWrapper.BuyTenantAlbum::getId, o -> o, (o1, o2) -> o1)).values();
|
|
|
|
+
|
|
|
|
+ return HttpResponseResult.succeed(result);
|
|
|
|
+ }
|
|
|
|
+
|
|
@ApiOperation(value = "学生可购买机构专辑信息")
|
|
@ApiOperation(value = "学生可购买机构专辑信息")
|
|
@GetMapping("/buyAlbumInfoDetail")
|
|
@GetMapping("/buyAlbumInfoDetail")
|
|
- public HttpResponseResult<TenantGroupAlbumWrapper.BuyTenantAlbum> buyAlbumInfoDetail(@RequestParam Long tenantGroupAlbumId) {
|
|
|
|
|
|
+ public HttpResponseResult<TenantGroupAlbumWrapper.BuyTenantAlbum> buyAlbumInfoDetail(@RequestParam Long tenantAlbumId) {
|
|
|
|
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
SysUser user = sysUserFeignService.queryUserInfo();
|
|
if (user == null || null == user.getId()) {
|
|
if (user == null || null == user.getId()) {
|
|
return HttpResponseResult.failed(HttpStatus.FORBIDDEN, "请登录");
|
|
return HttpResponseResult.failed(HttpStatus.FORBIDDEN, "请登录");
|
|
}
|
|
}
|
|
|
|
|
|
- return HttpResponseResult.succeed(tenantGroupAlbumService.buyAlbumInfoDetail(tenantGroupAlbumId,user.getId(), ClientEnum.STUDENT));
|
|
|
|
|
|
+ TenantGroupAlbumWrapper.BuyTenantAlbumQuery query = new TenantGroupAlbumWrapper.BuyTenantAlbumQuery();
|
|
|
|
+ query.setTenantAlbumIds(Lists.newArrayList(tenantAlbumId));
|
|
|
|
+ query.setUserId(user.getId());
|
|
|
|
+ query.setClientType(ClientEnum.STUDENT);
|
|
|
|
+ List<TenantGroupAlbumWrapper.BuyTenantAlbum> boughtAlbumInfo = tenantGroupAlbumService.buyAlbumInfo(query);
|
|
|
|
+ if (CollectionUtils.isNotEmpty(boughtAlbumInfo)) {
|
|
|
|
+ return HttpResponseResult.succeed(boughtAlbumInfo.get(0));
|
|
|
|
+ }
|
|
|
|
+ throw new BizException("未找到专辑信息");
|
|
}
|
|
}
|
|
}
|
|
}
|