weifanli 3 роки тому
батько
коміт
1370446c23
14 змінених файлів з 115 додано та 16 видалено
  1. 12 0
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/controller/BaseController.java
  2. 3 0
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/HttpResponseResult.java
  3. 5 6
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserWithdrawalController.java
  4. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/LiveRoomDao.java
  5. 26 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/BizHttpStatus.java
  6. 3 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/LiveRoomService.java
  7. 5 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java
  8. 11 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java
  9. 6 6
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherStyleVideoVo.java
  10. 21 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherVo.java
  11. 6 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/LiveRoomMapper.xml
  12. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherStyleVideoMapper.xml
  13. 14 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/TeacherController.java
  14. 1 1
      cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/VipCardController.java

+ 12 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/controller/BaseController.java

@@ -62,6 +62,9 @@ public class BaseController {
 	public static <T> HttpResponseResult<T> failed(HttpStatus statusCode, String msg) {
 		return getResponseData(false, statusCode, null, msg);
 	}
+	public static <T> HttpResponseResult<T> failed(int code, String msg) {
+		return getResponseData(false, code, null, msg);
+	}
 
 	public static <T> HttpResponseResult<T> status(boolean flag) {
 			return flag ? succeed() : failed("操作失败");
@@ -80,6 +83,15 @@ public class BaseController {
 		return obj;
 	}
 
+	private static <T> HttpResponseResult<T> getResponseData(boolean status, int code, T data, String message) {
+		HttpResponseResult<T> obj = new HttpResponseResult<T>();
+		obj.setStatus(status);
+		obj.setCode(code);
+		obj.setData(data);
+		obj.setMsg(message);
+		return obj;
+	}
+
 	/**
 	 * 处理一般异常
 	 *

+ 3 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/entity/HttpResponseResult.java

@@ -126,6 +126,9 @@ public class HttpResponseResult<T> {
 	public static <T> HttpResponseResult<T> failed(HttpStatus statusCode, T data, String msg) {
 		return getResponseData(false, statusCode, data, msg);
 	}
+	public static <T> HttpResponseResult<T> failed(int code, T data, String msg) {
+		return new HttpResponseResult<>(false, code, data, msg);
+	}
 
 	private static <T> HttpResponseResult<T> getResponseData(boolean status, HttpStatus statusCode, T data, String message) {
 		HttpResponseResult<T> obj = new HttpResponseResult<T>();

+ 5 - 6
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/UserWithdrawalController.java

@@ -7,6 +7,7 @@ import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.excel.UserWithdrawalExport;
 import com.yonge.cooleshow.biz.dal.enums.AuditStatusEnum;
 import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
+import com.yonge.cooleshow.biz.dal.enums.BizHttpStatus;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -68,7 +69,7 @@ public class UserWithdrawalController extends BaseController {
         List<UserWithdrawalVo> withdrawalVoList = userWithdrawalService.selectList(query);
         List<UserWithdrawalExport> list = new ArrayList<>();
         withdrawalVoList.forEach(o -> {
-            if(AuthStatusEnum.PASS.equals(o.getStatus())){
+            if (AuthStatusEnum.PASS.equals(o.getStatus())) {
                 return;
             }
             UserWithdrawalExport export = new UserWithdrawalExport();
@@ -106,12 +107,10 @@ public class UserWithdrawalController extends BaseController {
         }
         try {
             ExcelDataReader<UserWithdrawalExport> reader = ExcelUtils.getReader(UserWithdrawalExport.class, file);
-            userWithdrawalService.importExcel(reader.getDataList(),user.getId());
+            userWithdrawalService.importExcel(reader.getDataList(), user.getId());
             return HttpResponseResult.succeed();
-        }catch (ExcelException e){
-            return HttpResponseResult.failed(HttpStatus.INTERNAL_SERVER_ERROR,e.getErrMsgList(),"导入文件异常");
+        } catch (ExcelException e) {
+            return HttpResponseResult.failed(BizHttpStatus.EXPORT.getCode(), e.getErrMsgList(), BizHttpStatus.EXPORT.getMsg());
         }
     }
-
-
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/LiveRoomDao.java

@@ -17,5 +17,6 @@ public interface LiveRoomDao extends BaseMapper<LiveRoom> {
 
     int insertBatch(@Param("entities") List<LiveRoom> entities);
 
+    LiveRoom getliveingRoomBySpeakerId(@Param("speakerId") Long speakerId);
 }
 

+ 26 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/BizHttpStatus.java

@@ -0,0 +1,26 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+/**
+ * @Author: liweifan
+ * @Data: 2022/4/22 18:06
+ */
+public enum BizHttpStatus {
+    EXPORT(450, "导出异常"),
+    ;
+
+    private final int code;
+    private final String msg;
+
+    private BizHttpStatus(int code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+}

+ 3 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/LiveRoomService.java

@@ -86,5 +86,8 @@ public interface LiveRoomService extends IService<LiveRoom> {
      */
     Map<String, Object> test(String roomUid);
 
+
+    LiveRoom getliveingRoomBySpeakerId(Long speakerId);
+
 }
 

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

@@ -625,5 +625,10 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
         result.put("实时观看数", look);
         return result;
     }
+
+    @Override
+    public LiveRoom getliveingRoomBySpeakerId(Long speakerId) {
+        return baseMapper.getliveingRoomBySpeakerId(speakerId);
+    }
 }
 

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

@@ -53,6 +53,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     private RedissonClient redissonClient;
     @Autowired
     private SysConfigService sysConfigService;
+    @Autowired
+    private LiveRoomService liveRoomService;
 
     @Override
     public TeacherVo detail(Long userId) {
@@ -281,7 +283,15 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 
     @Override
     public HttpResponseResult<TeacherVo> queryTeacherStyle(Long id) {
-        return HttpResponseResult.succeed(detail(id));
+        TeacherVo detail = detail(id);
+        LiveRoom liveRoom = liveRoomService.getliveingRoomBySpeakerId(id);
+        if(null == liveRoom){
+            detail.setRoomUid(liveRoom.getRoomUid());
+            detail.setLiveing(YesOrNoEnum.YES);
+        }else{
+            detail.setLiveing(YesOrNoEnum.NO);
+        }
+        return HttpResponseResult.succeed(detail);
     }
 
     @Override

+ 6 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherStyleVideoVo.java

@@ -11,19 +11,19 @@ import io.swagger.annotations.ApiModelProperty;
  */
 @ApiModel(value = "TeacherStyleVideoVo", description = "老师风采信息")
 public class TeacherStyleVideoVo extends TeacherStyleVideo {
-    @ApiModelProperty(value = "是否直播 0否 1是")
-    private YesOrNoEnum liveFlag;
+    @ApiModelProperty(value = "老师是否直播 0否 1是")
+    private YesOrNoEnum liveing;
     @ApiModelProperty("头像地址")
     private String avatar;
     @ApiModelProperty("老师昵称")
     private String username;
 
-    public YesOrNoEnum getLiveFlag() {
-        return liveFlag;
+    public YesOrNoEnum getLiveing() {
+        return liveing;
     }
 
-    public void setLiveFlag(YesOrNoEnum liveFlag) {
-        this.liveFlag = liveFlag;
+    public void setLiveing(YesOrNoEnum liveing) {
+        this.liveing = liveing;
     }
 
     public String getAvatar() {

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

@@ -52,6 +52,11 @@ public class TeacherVo extends Teacher {
     @ApiModelProperty(value = "老师风采视频")
     private List<TeacherStyleVideo> styleVideo;
 
+    @ApiModelProperty(value = "老师是否在直播中 0否 1是")
+    private YesOrNoEnum liveing;
+    @ApiModelProperty(value = "直播间房号")
+    private String roomUid;
+
     public String getAvatar() {
         return avatar;
     }
@@ -163,4 +168,20 @@ public class TeacherVo extends Teacher {
     public void setTeacherType(String teacherType) {
         this.teacherType = teacherType;
     }
+
+    public YesOrNoEnum getLiveing() {
+        return liveing;
+    }
+
+    public void setLiveing(YesOrNoEnum liveing) {
+        this.liveing = liveing;
+    }
+
+    public String getRoomUid() {
+        return roomUid;
+    }
+
+    public void setRoomUid(String roomUid) {
+        this.roomUid = roomUid;
+    }
 }

+ 6 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/LiveRoomMapper.xml

@@ -40,4 +40,10 @@
         </foreach>
     </insert>
 
+    <select id="getliveingRoomBySpeakerId" resultType="com.yonge.cooleshow.biz.dal.entity.LiveRoom">
+        select * from live_room
+        where speaker_id_ = #{speakerId} and live_state_ = 1 and room_state_ = 0
+        order by live_start_time_ desc limit 1
+    </select>
+
 </mapper>

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherStyleVideoMapper.xml

@@ -44,7 +44,7 @@
 	<select id="stylePage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherStyleVideoVo">
 		SELECT
 			<include refid="baseColumns"/>,
-			ta.live_flag_ as liveFlag,
+			ta.live_flag_ as liveing,
 			u.avatar_ as avatar,
 			u.username_ as username
 		FROM teacher_style_video t

+ 14 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/TeacherController.java

@@ -5,10 +5,12 @@ 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.dto.search.TeacherStyleSearch;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
 import com.yonge.cooleshow.biz.dal.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherStyleVideoVo;
+import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.page.PageInfo;
@@ -26,8 +28,10 @@ public class TeacherController extends BaseController {
     private TeacherStyleVideoService styleVideoService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private TeacherService teacherService;
 
-    @ApiOperation(value = "老师风采")
+    @ApiOperation(value = "老师风采-分页")
     @PostMapping("/stylePage")
     public HttpResponseResult<PageInfo<TeacherStyleVideoVo>> stylePage(@RequestBody TeacherStyleSearch query) {
         SysUser user = sysUserFeignService.queryUserInfo();
@@ -39,4 +43,13 @@ public class TeacherController extends BaseController {
         return succeed(PageUtil.pageInfo(pages));
     }
 
+    @ApiOperation(value = "个人风采-详情")
+    @GetMapping("/queryTeacherStyle")
+    public HttpResponseResult<TeacherVo> queryTeacherStyle(@RequestParam("userId") Long userId) {
+        if(null == userId){
+            return failed("缺少userId");
+        }
+        return teacherService.queryTeacherStyle(userId);
+    }
+
 }

+ 1 - 1
cooleshow-user/user-student/src/main/java/com/yonge/cooleshow/student/controller/VipCardController.java

@@ -33,7 +33,7 @@ public class VipCardController extends BaseController {
 	}
 
     @PostMapping("/vipPermissions")
-    @ApiOperation(value = "查询列表")
+    @ApiOperation(value = "查询vip权限")
     public HttpResponseResult<List<SysConfig>> vipPermissions() {
         Map<String,Object> params = new HashMap<>();
         params.put("group", "VIP_PERMISSION");