Jelajahi Sumber

Merge branch 'master' of http://git.dayaedu.com/yonge/cooleshow

liujunchi 3 tahun lalu
induk
melakukan
3f2d9d84a6

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

@@ -31,6 +31,9 @@ public class PianoRoomSettings implements Serializable {
     @ApiModelProperty("状态 0-停用 1-使用 ")
     @TableField(value = "status_")
     private Integer status;
+    @ApiModelProperty("封面url")
+    @TableField(value = "cover_url_")
+    private String coverUrl;
     @ApiModelProperty("创建人 ")
 	@TableField(value = "create_by_")
     private Long createBy;
@@ -52,7 +55,15 @@ public class PianoRoomSettings implements Serializable {
     @TableLogic
     private Integer delFlag;
 
-	public Long getId() {
+    public String getCoverUrl() {
+        return coverUrl;
+    }
+
+    public void setCoverUrl(String coverUrl) {
+        this.coverUrl = coverUrl;
+    }
+
+    public Long getId() {
         return id;
     }
 

+ 0 - 6
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/Subject.java

@@ -135,10 +135,4 @@ public class Subject implements Serializable {
 	public void setDesc(String desc) {
 		this.desc = desc;
 	}
-
-	@Override
-	public String toString() {
-		return ToStringBuilder.reflectionToString(this);
-	}
-
 }

+ 13 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -37,6 +37,7 @@ import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.obj.ObjectUtil;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.redisson.api.RLock;
 import org.redisson.api.RMap;
 import org.redisson.api.RedissonClient;
 import org.slf4j.Logger;
@@ -1020,9 +1021,18 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     public HttpResponseResult<OrderCreateRes> buyPracticeCourse(OrderReq.OrderReqInfo orderReqInfo) {
         ObjectMapper objectMapper = new ObjectMapper();
         PracticeScheduleDto scheduleDto = objectMapper.convertValue(orderReqInfo.getBizContent(), PracticeScheduleDto.class);
-        return DistributedLock.of(redissonClient)
-                .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey("teacherId:" + scheduleDto.getTeacherId())
-                        , () -> this.buyPracticeCourseTran(orderReqInfo), 60L, TimeUnit.SECONDS);
+
+        RLock lock = redissonClient.getLock("teacherId:" + scheduleDto.getTeacherId());
+        try {
+            if (lock.tryLock(10,60, TimeUnit.SECONDS)) {
+                return buyPracticeCourseTran(orderReqInfo);
+            }
+        } catch (InterruptedException e) {
+            throw new BizException("创建陪练课失败:{}", e.getMessage());
+        } finally {
+            lock.unlock();
+        }
+        return HttpResponseResult.failed();
     }
 
     /**

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

@@ -15,6 +15,7 @@ import com.yonge.cooleshow.common.enums.CacheNameEnum;
 import com.yonge.cooleshow.biz.dal.service.StudentTotalService;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.enums.UserLockFlag;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.string.ValueUtil;
 import org.apache.commons.beanutils.BeanUtils;
@@ -137,6 +138,9 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         if (null == detail) {
             return HttpResponseResult.failed("未找老师信息");
         }
+        if (UserLockFlag.LOCKED.equals(detail.getLockFlag())) {
+            return HttpResponseResult.failed("老师被锁定");
+        }
         if (null == old || (null != isUpdate && isUpdate)) {
             //更新
             //删除用户绑定

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

@@ -175,7 +175,8 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
 
     @Override
     public List<Subject> querySubject(Long userId) {
-        return baseMapper.querySubject(userId);
+        List<Subject> subjects = baseMapper.querySubject(userId);
+        return subjects;
     }
 
     private HttpResponseResult<Boolean> doCreate(TeacherSubmitReq teacherSubmitReq) throws BizException {

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

@@ -12,7 +12,8 @@
 	        <result column="create_time_" property="createTime" />
 	        <result column="update_by_" property="updateBy" />
 	        <result column="update_time_" property="updateTime" />
-		</resultMap>  
+	        <result column="cover_url_" property="coverUrl" />
+		</resultMap>
     
     <!-- 表字段 -->
     <sql id="baseColumns">
@@ -26,6 +27,7 @@
         , t.create_time_ as createTime
         , t.update_by_ as updateBy
         , t.update_time_ as updateTime
+        , t.cover_url_ as coverUrl
         </sql>
 
     <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.PianoRoomSettingsVo">

+ 2 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -130,8 +130,8 @@
     </select>
 
     <select id="querySubject" resultMap="com.yonge.cooleshow.biz.dal.dao.SubjectDao.Subject">
-        SELECT s.* FROM teacher t
-        LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,t.subject_id_)
+        SELECT s.* FROM `subject` s
+        LEFT JOIN teacher t ON FIND_IN_SET(s.id_,t.subject_id_)
         WHERE t.user_id_ = #{userId}
     </select>
 

+ 9 - 8
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserBindingTeacherMapper.xml

@@ -3,14 +3,14 @@
 <mapper namespace="com.yonge.cooleshow.biz.dal.dao.UserBindingTeacherDao">
     <select id="selectStudent" resultType="com.yonge.cooleshow.biz.dal.vo.CourseStudentVo">
         SELECT
-        su.id_ AS userId,
-        su.username_ AS userName,
-        su.real_name_ AS realName,
-        su.avatar_ AS avatar,
-        su.phone_ AS phone,
-        (SELECT group_concat(name_) FROM `subject` WHERE find_in_set(id_,s.subject_id_)) AS subjectName,
---         IFNULL(TIMESTAMPDIFF(DAY,b.last_end_class_,NOW()),TIMESTAMPDIFF(DAY,b.created_time_,NOW())) AS lastEndClass
-        TIMESTAMPDIFF(DAY,b.last_end_class_,NOW()) AS lastEndClass
+            su.id_ AS userId,
+            su.username_ AS userName,
+            su.real_name_ AS realName,
+            su.avatar_ AS avatar,
+            su.phone_ AS phone,
+            (SELECT group_concat(name_) FROM `subject` WHERE find_in_set(id_,s.subject_id_)) AS subjectName,
+    --         IFNULL(TIMESTAMPDIFF(DAY,b.last_end_class_,NOW()),TIMESTAMPDIFF(DAY,b.created_time_,NOW())) AS lastEndClass
+            TIMESTAMPDIFF(DAY,b.last_end_class_,NOW()) AS lastEndClass
         FROM user_binding_teacher b
         LEFT JOIN sys_user su ON b.student_id_=su.id_
         LEFT JOIN student s ON b.student_id_=s.user_id_
@@ -68,6 +68,7 @@
             (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
             u.real_name_ as realName,
             u.id_card_no_ as idCardNo,
+            u.lock_flag_ as lockFlag,
             (
                 SELECT GROUP_CONCAT(name_) FROM subject WHERE FIND_IN_SET(id_,t.subject_id_)
             ) as subjectName