Selaa lähdekoodia

Merge branch 'feature/0721-tenant' of http://git.dayaedu.com/yonge/cooleshow into feature/0721-tenant

liujc 1 vuosi sitten
vanhempi
commit
92b3290cd4

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

@@ -1,17 +1,22 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.biz.dal.dao.StudentDao;
 import com.yonge.cooleshow.biz.dal.dto.search.StudentMusicSheetSearch;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.SubjectTypeEnum;
+import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumPurchaseMapper;
 import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
+import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.mybatis.support.PageUtil;
@@ -62,6 +67,15 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
     @Autowired
     private UserTenantAlbumRecordMapper userTenantAlbumRecordMapper;
 
+    @Autowired
+    private StudentDao studentDao;
+
+    @Autowired
+    private TenantAlbumPurchaseMapper tenantAlbumPurchaseMapper;
+
+    @Autowired
+    private UserTenantAlbumRecordService userTenantAlbumRecordService;
+
 	/**
      * 查询详情
      * @param id 详情ID
@@ -72,7 +86,11 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
         
         return baseMapper.selectById(id);
     }
-    
+
+    public StudentVo detailStudent(Long userId) {
+        return studentDao.detail(userId);
+    }
+
     /**
      * 分页查询
      * @param page IPage<UserTenantAlbumRecord>
@@ -221,6 +239,8 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
     @Override
     public TenantAlbumWrapper.TenantAlbum detailAlbum(String albumId) {
 
+        TenantAlbumWrapper.TenantAlbum album = new TenantAlbumWrapper.TenantAlbum();
+
         //如果没传专辑id  则查询对应机构的专辑详情
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
@@ -249,7 +269,37 @@ public class UserTenantAlbumRecordServiceImpl extends ServiceImpl<UserTenantAlbu
             tenantAlbumId = Long.parseLong(albumId);
         }
 
-        TenantAlbumWrapper.TenantAlbum album = new TenantAlbumWrapper.TenantAlbum();
+        StudentVo detail = detailStudent(sysUser.getId());
+        // 判断是否是机构学生 机构学生 检测机构专辑购买记录
+        TenantInfo tenantInfo = tenantInfoService.detail(detail.getTenantId());
+        if (tenantInfo != null) {
+            album.setTenantName(tenantInfo.getName());
+            QueryWrapper<TenantAlbumPurchase> queryWrapper = new QueryWrapper<>();
+            queryWrapper.lambda().eq(TenantAlbumPurchase::getTenantId, detail.getTenantId());
+            Integer count = tenantAlbumPurchaseMapper.selectCount(queryWrapper);
+            if (count > 0) {
+                album.setTenantAlbumStatus(1);
+            }
+            UserTenantAlbumRecord record =
+                    userTenantAlbumRecordService.getNewestByTenantIdAndUserId(tenantInfo.getId(), detail.getUserId(),
+                            ClientEnum.STUDENT);
+            if (record == null || record.getEndTime().getTime() < System.currentTimeMillis()) {
+                album.setTenantAlbumFlag(YesOrNoEnum.NO);
+            } else {
+                album.setTenantAlbumStatus(2);
+                album.setTenantAlbumFlag(YesOrNoEnum.YES);
+                album.setTenantAlbumStartTime(record.getStartTime());
+                album.setTenantAlbumEndTime(record.getEndTime());
+            }
+
+        }
+
+
+
+
+
+
+
 
         //查询是否已经购买专辑
         Long buyTenantAlbumId = userTenantAlbumRecordMapper.ifBuy(tenantAlbumId,sysUser.getId());

+ 23 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TenantAlbumWrapper.java

@@ -2,8 +2,10 @@ package com.yonge.cooleshow.biz.dal.wrapper;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.yonge.cooleshow.biz.dal.enums.SubjectTypeEnum;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -18,6 +20,7 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotNull;
 
@@ -139,6 +142,26 @@ public class TenantAlbumWrapper {
         @ApiModelProperty("曲目相关信息")
         private List<MusicSheetData> musicSheetData = new ArrayList<>();
 
+
+        @ApiModelProperty("机构专辑有效期开始时间 ")
+        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+        private Date tenantAlbumStartTime;
+        /**
+         * 有效期结束时间
+         */
+        @ApiModelProperty("机构专辑有效期结束时间 ")
+        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+        private Date tenantAlbumEndTime;
+
+
+        @ApiModelProperty(value = "学练工具是否有效 0否 1是")
+        private YesOrNoEnum tenantAlbumFlag;
+
+        @ApiModelProperty(value = "0:没有专辑 1:有,但是未解锁,2:有,且已解锁")
+        private Integer tenantAlbumStatus;
+
         public String jsonString() {
             return JSON.toJSONString(this);
         }