Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/feature/0721-tenant' into feature/0721-tenant

zouxuan 1 rok pred
rodič
commit
a58a4d6e81
24 zmenil súbory, kde vykonal 185 pridanie a 20 odobranie
  1. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PaymentDivMember.java
  2. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PaymentDivMemberRecord.java
  3. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PaymentMerchantConfig.java
  4. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysGoodsPrice.java
  5. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAccountRecord.java
  6. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantActivationCode.java
  7. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAlbum.java
  8. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAlbumMusic.java
  9. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAlbumPurchase.java
  10. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAlbumRef.java
  11. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantApplyRecord.java
  12. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantEntryRecord.java
  13. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantInfo.java
  14. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantMember.java
  15. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantPersonStat.java
  16. 3 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantStaff.java
  17. 3 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantUnbindHistory.java
  18. 3 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantUnbindRecord.java
  19. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UnbindAuthUser.java
  20. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserTenantAlbumRecord.java
  21. 27 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  22. 21 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherHomeVo.java
  23. 77 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/StudentController.java
  24. 18 0
      cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PaymentDivMember.java

@@ -23,7 +23,8 @@ import java.util.Date;
 public class PaymentDivMember implements Serializable {
 
     @ApiModelProperty("主键") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PaymentDivMemberRecord.java

@@ -26,7 +26,8 @@ import java.math.BigDecimal;
 public class PaymentDivMemberRecord implements Serializable {
 
     @ApiModelProperty("主键") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/PaymentMerchantConfig.java

@@ -24,7 +24,8 @@ import java.util.Date;
 public class PaymentMerchantConfig implements Serializable {
 
     @ApiModelProperty("主键") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/SysGoodsPrice.java

@@ -24,7 +24,8 @@ import java.math.BigDecimal;
 public class SysGoodsPrice implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("商品类型") 

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAccountRecord.java

@@ -26,7 +26,7 @@ import java.math.BigDecimal;
 public class TenantAccountRecord implements Serializable {
 
     @ApiModelProperty("id") 
-	    @TableId(value = "id_")
+	    @TableId(value = "id_",type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构id") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantActivationCode.java

@@ -24,7 +24,8 @@ import java.util.Date;
 public class TenantActivationCode implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAlbum.java

@@ -24,7 +24,8 @@ import java.math.BigDecimal;
 public class TenantAlbum implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("专辑名称") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAlbumMusic.java

@@ -24,7 +24,8 @@ import java.util.Date;
 public class TenantAlbumMusic implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAlbumPurchase.java

@@ -24,7 +24,8 @@ import java.math.BigDecimal;
 public class TenantAlbumPurchase implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantAlbumRef.java

@@ -23,7 +23,8 @@ import java.util.Date;
 public class TenantAlbumRef implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantApplyRecord.java

@@ -24,7 +24,8 @@ import java.util.Date;
 public class TenantApplyRecord implements Serializable {
 
     @ApiModelProperty("主键ID") 
-    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
 
     @ApiModelProperty("机构ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantEntryRecord.java

@@ -23,7 +23,8 @@ import java.util.Date;
 public class TenantEntryRecord implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构入驻申请记录") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantInfo.java

@@ -24,7 +24,8 @@ import java.util.Date;
 public class TenantInfo  implements Serializable  {
 
     @ApiModelProperty("主键ID")
-    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
 
     @ApiModelProperty("名称")

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantMember.java

@@ -34,7 +34,8 @@ import java.math.BigDecimal;
 @TableName("tenant_member")
 public class TenantMember implements Serializable {
 
-    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
 
     @ApiModelProperty("支付类型 ADAPAY,YEEPAY")

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantPersonStat.java

@@ -22,7 +22,8 @@ import java.util.Date;
 @TableName("tenant_person_stat")
 public class TenantPersonStat implements Serializable {
 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构编号") 

+ 3 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantStaff.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -22,7 +23,8 @@ import java.util.Date;
 public class TenantStaff implements Serializable {
 
     @ApiModelProperty("主键ID") 
-	    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
 	    private Long id;
 
     @ApiModelProperty("机构ID") 

+ 3 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantUnbindHistory.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -22,7 +23,8 @@ import java.util.Date;
 public class TenantUnbindHistory implements Serializable {
 
     @ApiModelProperty("主键ID")
-    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
 
     @ApiModelProperty("机构ID")

+ 3 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TenantUnbindRecord.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -22,7 +23,8 @@ import java.util.Date;
 public class TenantUnbindRecord implements Serializable {
 
     @ApiModelProperty("主键ID")
-    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
 
     @ApiModelProperty("机构ID")

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UnbindAuthUser.java

@@ -23,7 +23,8 @@ import java.util.Date;
 public class UnbindAuthUser implements Serializable {
 
     @ApiModelProperty("主键") 
-    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
 
     @ApiModelProperty("员工ID") 

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserTenantAlbumRecord.java

@@ -25,7 +25,8 @@ import java.util.Date;
 public class UserTenantAlbumRecord implements Serializable {
 
     @ApiModelProperty("记录id") 
-    @TableId(value = "id_")
+
+    @TableId(value = "id_", type = IdType.AUTO)
     private Long id;
 
     @ApiModelProperty("用户id") 

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

@@ -12,6 +12,8 @@ import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Lists;
 import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.ImGroupType;
+import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumMapper;
+import com.yonge.cooleshow.biz.dal.mapper.TenantAlbumRefMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantUnbindHistoryMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantUnbindRecordMapper;
 import com.yonge.cooleshow.biz.dal.queryInfo.TeacherQueryInfo;
@@ -131,6 +133,12 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     @Autowired
     private TenantUnbindHistoryMapper tenantUnbindHistoryMapper;
 
+    @Autowired
+    private TenantAlbumMapper tenantAlbumMapper;
+
+    @Autowired
+    private TenantAlbumRefMapper tenantAlbumRefMapper;
+
 
     @Override
     public TeacherVo detail(Long userId) {
@@ -270,6 +278,25 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         teacherHomeVo.setMusicAlbumNum(null == total.getMusicAlbumNum() ? 0 : total.getMusicAlbumNum());
         teacherHomeVo.setMusicSheetNum(null == total.getMusicSheetNum() ? 0 : total.getMusicSheetNum());
 
+        // 老师所属机构信息
+        teacherHomeVo.setTenantAlbumStatus(0);
+        TenantInfo tenantInfo = tenantInfoService.detail(teacher.getTenantId());
+        if (tenantInfo != null) {
+            teacherHomeVo.setTenantName(tenantInfo.getName());
+            List<Long> tenantAlbumIds = tenantAlbumRefMapper.selectList(Wrappers.<TenantAlbumRef>lambdaQuery()
+                            .eq(TenantAlbumRef::getTenantId, tenantInfo.getId())).stream()
+                    .map(TenantAlbumRef::getTenantAlbumId).collect(Collectors.toList());
+            if (!tenantAlbumIds.isEmpty()) {
+                List<TenantAlbum> tenantAlbums = tenantAlbumMapper.selectList(Wrappers.<TenantAlbum>lambdaQuery()
+                        .in(TenantAlbum::getId, tenantAlbumIds)
+                        .eq(TenantAlbum::getDelFlag, false).eq(TenantAlbum::getStatus, true));
+                if (!tenantAlbums.isEmpty()) {
+                    teacherHomeVo.setTenantAlbumStatus(2);
+                    teacherHomeVo.setTenantAlbumFlag(YesOrNoEnum.YES);
+                }
+            }
+        }
+
         // 老师学生人数统计
         List<Long> teacherIds = Lists.newArrayList(userId);
         Map<Long, Integer> studentNumsMap = getBaseMapper().selectTeacherStudentNumberStatInfo(teacherIds).stream()

+ 21 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherHomeVo.java

@@ -84,6 +84,11 @@ public class TeacherHomeVo extends Teacher implements Serializable {
     @ApiModelProperty(value = "默认查询声部名称 ")
     private String defaultSubjectName;
 
+    @ApiModelProperty(value = "学练工具是否有效 0否 1是")
+    private YesOrNoEnum tenantAlbumFlag;
+
+    @ApiModelProperty(value = "0:没有专辑 1:有,但是未解锁,2:有,且已解锁")
+    private Integer tenantAlbumStatus;
     @ApiModelProperty(value = "IM用户ID")
     private String imUserId;
 
@@ -339,4 +344,20 @@ public class TeacherHomeVo extends Teacher implements Serializable {
     public void setImUserId(String imUserId) {
         this.imUserId = imUserId;
     }
+
+    public YesOrNoEnum getTenantAlbumFlag() {
+        return tenantAlbumFlag;
+    }
+
+    public void setTenantAlbumFlag(YesOrNoEnum tenantAlbumFlag) {
+        this.tenantAlbumFlag = tenantAlbumFlag;
+    }
+
+    public Integer getTenantAlbumStatus() {
+        return tenantAlbumStatus;
+    }
+
+    public void setTenantAlbumStatus(Integer tenantAlbumStatus) {
+        this.tenantAlbumStatus = tenantAlbumStatus;
+    }
 }

+ 77 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/StudentController.java

@@ -1,17 +1,36 @@
 package com.yonge.cooleshow.teacher.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.biz.dal.dto.search.StudentSearch;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.cooleshow.common.enums.UserStatusEnum;
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
+import com.yonge.toolset.base.exception.BizException;
+import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.toolset.base.util.StringUtil;
+import com.yonge.toolset.mybatis.support.PageUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
 @RestController
 @RequestMapping("/student")
 @Api(value = "学生表", tags = "学生表")
@@ -19,6 +38,9 @@ public class StudentController extends BaseController {
     @Autowired
     private StudentService studentService;
 
+    @Resource
+    private SysUserFeignService sysUserFeignService;
+
 
     @ApiOperation(value = "查询指定学员信息-融云token")
     @GetMapping("/queryUserById")
@@ -41,4 +63,59 @@ public class StudentController extends BaseController {
         return succeed(studentService.detail(userId));
     }
 
+    /**
+     * 查询老师所属机构下所有的学生
+     *
+     * @param query 参数
+     * @return 学生列表
+     */
+    @PostMapping("/page")
+    @ApiOperation(value = "查询分页", notes = "传入StudentSearch")
+    public HttpResponseResult<PageInfo<StudentVo>> page(@RequestBody StudentSearch query) {
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (sysUser == null || null == sysUser.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+        Long tenantId = sysUser.getTenantId();
+        if (tenantId == null || tenantId.equals(-1L)) {
+            IPage<StudentVo> page = PageUtil.getPage(query);
+            page.setRecords(new ArrayList<>());
+            return succeed(PageUtil.pageInfo(page));
+        }
+
+        query.setTenantId(tenantId);
+        if (StringUtils.isNotBlank(query.getUserStatus())) {
+            switch (query.getUserStatus()) {
+                case "LOCKED":
+                    query.setDelFlag(YesOrNoEnum.NO);
+                    query.setLockFlag(UserLockFlag.LOCKED);
+                    break;
+                case "CLOSED":
+                    query.setDelFlag(YesOrNoEnum.YES);
+                    break;
+
+                default:
+                    query.setDelFlag(YesOrNoEnum.NO);
+                    query.setLockFlag(UserLockFlag.NORMAL);
+                    break;
+            }
+        }
+
+        IPage<StudentVo> pages = studentService.selectPage(PageUtil.getPage(query), query);
+        List<StudentVo> rows = pages.getRecords();
+
+        for (StudentVo vo : rows) {
+            if (vo.getDelFlag() == YesOrNoEnum.YES) {
+                vo.setUserStatus(UserStatusEnum.CLOSED);
+            } else {
+                if (vo.getLockFlag() == UserLockFlag.LOCKED) {
+                    vo.setUserStatus(UserStatusEnum.LOCKED);
+                } else {
+                    vo.setUserStatus(UserStatusEnum.NORMAL);
+                }
+            }
+        }
+        return succeed(PageUtil.pageInfo(pages));
+    }
+
 }

+ 18 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java

@@ -281,4 +281,22 @@ public class TeacherController extends BaseController {
         return succeed();
 
     }
+
+    @GetMapping("/unbindTenantDetail")
+    @ApiOperation(value = "解绑机构申请记录")
+    public HttpResponseResult<TenantUnbindRecord> unbindTenantDetail() {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || null == user.getId()) {
+            return failed(HttpStatus.FORBIDDEN, "请登录");
+        }
+
+        TenantUnbindRecord one = tenantUnbindRecordService.lambdaQuery()
+                .eq(TenantUnbindRecord::getUserId, user.getId())
+                .eq(TenantUnbindRecord::getTenantId, user.getTenantId())
+                .eq(TenantUnbindRecord::getStatus, ETenantUnBindAuditStatus.DOING)
+                .orderByDesc(TenantUnbindRecord::getId)
+                .last("limit 1").one();
+        return succeed(one);
+
+    }
 }