Explorar o código

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

刘俊驰 hai 7 meses
pai
achega
61ad64f131
Modificáronse 20 ficheiros con 219 adicións e 566 borrados
  1. 13 31
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherFreeTimeController.java
  2. 56 0
      cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherSubjectPriceController.java
  3. 13 27
      cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/TeacherFreeTimeController.java
  4. 1 40
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherFreeTimeDao.java
  5. 9 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherSubjectPriceDao.java
  6. 4 34
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/PracticeTimesSetting.java
  7. 0 25
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherFreeTime.java
  8. 0 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherSubjectPrice.java
  9. 7 75
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherTotal.java
  10. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/CourseScheduleEnum.java
  11. 0 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherFreeTimeService.java
  12. 11 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherSubjectPriceService.java
  13. 0 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java
  14. 42 49
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  15. 5 42
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherFreeTimeServiceImpl.java
  16. 22 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherSubjectPriceServiceImpl.java
  17. 2 148
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherFreeTimeVo.java
  18. 19 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TeacherSubjectPriceWrapper.java
  19. 10 88
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherFreeTimeMapper.xml
  20. 4 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherSubjectPriceMapper.xml

+ 13 - 31
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherFreeTimeController.java

@@ -1,22 +1,15 @@
 package com.yonge.cooleshow.teacher.controller;
 
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
-import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dto.PracticeTimesSetting;
 import com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.TeacherFreeTimeService;
-import com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-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 org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.validation.Valid;
 
 /**
@@ -29,35 +22,24 @@ import javax.validation.Valid;
 @RestController
 @RequestMapping("${app-config.url.teacher:}/teacherFreeTime")
 public class TeacherFreeTimeController extends BaseController {
-    /**
-     * 服务对象
-     */
-    @Autowired
+    @Resource
     private TeacherFreeTimeService teacherFreeTimeService;
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
+    @Resource
+    private SysUserService sysUserService;
 
-    @ApiOperation(value = "新增、修改老师陪练课设置")
+    @ApiOperation(value = "新增、修改老师排课时间")
     @PostMapping("/upSet")
     public HttpResponseResult upSet(@Valid @RequestBody TeacherFreeTime teacherFreeTime){
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        teacherFreeTime.setTeacherId(user.getId());
+        teacherFreeTime.setTeacherId(sysUserService.getUserId());
         teacherFreeTimeService.upSet(teacherFreeTime);
         return succeed();
     }
 
-    @ApiOperation(value = "获取老师陪练课设置")
-    @PostMapping("/getDetail")
-    public HttpResponseResult<TeacherFreeTimeVo> getDetail(@RequestBody PracticeTimesSetting practiceTimesSetting){
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        practiceTimesSetting.setUserId(user.getId());
-        return succeed(teacherFreeTimeService.getDetail(practiceTimesSetting));
+    @ApiOperation(value = "获取老师排课时间")
+    @GetMapping("/get")
+    public HttpResponseResult<TeacherFreeTime> get(){
+        TeacherFreeTime freeTime = teacherFreeTimeService.lambdaQuery().eq(TeacherFreeTime::getTeacherId, sysUserService.getUserId()).one();
+        return succeed(freeTime);
     }
 }
 

+ 56 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherSubjectPriceController.java

@@ -0,0 +1,56 @@
+package com.yonge.cooleshow.teacher.controller;
+
+import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
+import com.yonge.cooleshow.biz.dal.service.TeacherSubjectPriceService;
+import com.yonge.cooleshow.biz.dal.wrapper.TeacherSubjectPriceWrapper;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+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.List;
+
+
+@Api(tags = "老师课程价格配置")
+@RestController
+@RequestMapping("${app-config.url.teacher:}/teacherSubjectPrice")
+public class TeacherSubjectPriceController extends BaseController {
+    @Resource
+    private TeacherSubjectPriceService teacherSubjectPriceService;
+    @Resource
+    private SysUserService sysUserService;
+
+    @ApiOperation(value = "新增、修改老师课程价格配置")
+    @PostMapping("/saveOrUpdate")
+    public HttpResponseResult<Long> saveOrUpdate(@RequestBody TeacherSubjectPrice teacherSubjectPrice){
+        teacherSubjectPrice.setTeacherId(sysUserService.getUserId());
+        teacherSubjectPriceService.saveOrUpdate(teacherSubjectPrice);
+        return succeed(teacherSubjectPrice.getId());
+    }
+
+    @ApiOperation(value = "删除老师课程价格配置")
+    @PostMapping("/delete")
+    public HttpResponseResult delete(Long id){
+        teacherSubjectPriceService.removeById(id);
+        return succeed();
+    }
+
+    @ApiOperation(value = "获取老师课程价格配置")
+    @PostMapping("/list")
+    public HttpResponseResult<List<TeacherSubjectPrice>> list(@RequestBody TeacherSubjectPriceWrapper.PriceSearch query){
+        List<TeacherSubjectPrice> list = teacherSubjectPriceService.lambdaQuery()
+                .eq(TeacherSubjectPrice::getTeacherId, sysUserService.getUserId())
+                .eq(query.getSubjectId() != null, TeacherSubjectPrice::getSubjectId, query.getSubjectId())
+                .eq(StringUtils.isNotEmpty(query.getCourseType()), TeacherSubjectPrice::getCourseType, query.getCourseType())
+                .list();
+        return succeed(list);
+    }
+}
+

+ 13 - 27
cooleshow-app/src/main/java/com/yonge/cooleshow/website/controller/TeacherFreeTimeController.java

@@ -1,22 +1,15 @@
 package com.yonge.cooleshow.website.controller;
 
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
-import com.yonge.cooleshow.auth.api.entity.SysUser;
-import com.yonge.cooleshow.biz.dal.dto.PracticeTimesSetting;
 import com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.TeacherFreeTimeService;
-import com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-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 org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import javax.validation.Valid;
 
 /**
@@ -32,32 +25,25 @@ public class TeacherFreeTimeController extends BaseController {
     /**
      * 服务对象
      */
-    @Autowired
+    @Resource
     private TeacherFreeTimeService teacherFreeTimeService;
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
+    @Resource
+    private SysUserService sysUserService;
 
     @ApiOperation(value = "新增、修改老师陪练课设置")
     @PostMapping("/upSet")
     public HttpResponseResult upSet(@Valid @RequestBody TeacherFreeTime teacherFreeTime){
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        teacherFreeTime.setTeacherId(user.getId());
+        teacherFreeTime.setTeacherId(sysUserService.getUserId());
         teacherFreeTimeService.upSet(teacherFreeTime);
         return succeed();
     }
 
-    @ApiOperation(value = "获取老师陪练课设置")
-    @PostMapping("/getDetail")
-    public HttpResponseResult<TeacherFreeTimeVo> getDetail(@RequestBody PracticeTimesSetting practiceTimesSetting){
-        SysUser user = sysUserFeignService.queryUserInfo();
-        if (user == null || null == user.getId()) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        practiceTimesSetting.setUserId(user.getId());
-        return succeed(teacherFreeTimeService.getDetail(practiceTimesSetting));
+    @ApiOperation(value = "获取老师排课时间")
+    @GetMapping("/get")
+    public HttpResponseResult<TeacherFreeTime> get(){
+        TeacherFreeTime freeTime = teacherFreeTimeService.lambdaQuery()
+                .eq(TeacherFreeTime::getTeacherId, sysUserService.getUserId()).one();
+        return succeed(freeTime);
     }
 }
 

+ 1 - 40
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherFreeTimeDao.java

@@ -2,9 +2,7 @@ package com.yonge.cooleshow.biz.dal.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.yonge.cooleshow.biz.dal.dto.PracticeTimesSetting;
 import com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime;
-import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
 import com.yonge.cooleshow.biz.dal.vo.PracticeTeacherVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo;
 import com.yonge.cooleshow.biz.dal.wrapper.TeacherFreeTimeWrapper;
@@ -22,45 +20,8 @@ public interface TeacherFreeTimeDao extends BaseMapper<TeacherFreeTime> {
 
     int insertBatch(@Param("entities") List<TeacherFreeTime> entities);
 
-    /**
-     * @param teacherId
-     * @param courseMinutes
-     * @param freeMinutes
-     * @return com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime
-     * @description: 获取老师陪练课设置
-     * @author zx
-     * @date 2022/3/25 10:25
-     */
-    TeacherFreeTime findOne(@Param("teacherId") Long teacherId,
-                            @Param("courseMinutes") Integer courseMinutes,
-                            @Param("freeMinutes") Integer freeMinutes);
-
-    /**
-     * @param defaultFlag
-     * @return void
-     * @description: 修改默认配置
-     * @author zx
-     * @date 2022/3/29 10:02
-     */
-    void updateDefaultFlag(@Param("defaultFlag") boolean defaultFlag, @Param("teacherId") Long teacherId);
-
-    //根据id删除关联表数据
-    void deleteSubjectPrice(Long id);
-
-    //新增声部价格
-    void insertPrice(List<TeacherSubjectPrice> list);
-
     //查询老师配置
-    TeacherFreeTimeVo getDetail(@Param("param") PracticeTimesSetting practiceTimesSetting);
-
-    //根据id查声部售价
-    List<TeacherSubjectPrice> getPrice(Long id);
-
-    //查询老师声部默认售价
-    TeacherSubjectPrice selectSubjectPrice(@Param("teacherId") Long teacherId, @Param("subjectId") Long subjectId);
-
-    //查询老师所有声部配置
-    List<TeacherSubjectPrice> selectPriceByTeacherId(Long teacherId);
+    TeacherFreeTimeVo getDetail(@Param("userId") Integer userId);
 
     //查询过审老师配置默认
     List<TeacherFreeTime> getTeacherFreeTime();

+ 9 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherSubjectPriceDao.java

@@ -0,0 +1,9 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
+
+public interface TeacherSubjectPriceDao extends BaseMapper<TeacherSubjectPrice> {
+
+}
+

+ 4 - 34
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/PracticeTimesSetting.java

@@ -1,10 +1,12 @@
 package com.yonge.cooleshow.biz.dal.dto;
 
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import javax.validation.constraints.NotNull;
 
 //陪练课可选单课时时长配置
+@Data
 public class PracticeTimesSetting {
 
     @NotNull(message = "课间休息分钟数不可为空")
@@ -18,38 +20,6 @@ public class PracticeTimesSetting {
     @ApiModelProperty(value = "用户id")
     private Long userId;
 
-    @ApiModelProperty(value = "默认配置(1:是 0:否)")
-    private Integer defaultFlag;
-
-    public Integer getDefaultFlag() {
-        return defaultFlag;
-    }
-
-    public void setDefaultFlag(Integer defaultFlag) {
-        this.defaultFlag = defaultFlag;
-    }
-
-    public Long getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
-
-    public Integer getFreeMinutes() {
-        return freeMinutes;
-    }
-
-    public void setFreeMinutes(Integer freeMinutes) {
-        this.freeMinutes = freeMinutes;
-    }
-
-    public Integer getCourseMinutes() {
-        return courseMinutes;
-    }
-
-    public void setCourseMinutes(Integer courseMinutes) {
-        this.courseMinutes = courseMinutes;
-    }
+    @ApiModelProperty(value = "课程类型")
+    private String courseType = "PRACTICE";
 }

+ 0 - 25
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherFreeTime.java

@@ -8,8 +8,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.util.Date;
 
@@ -30,25 +28,10 @@ public class TeacherFreeTime implements Serializable {
     @ApiModelProperty(value = "老师编号;")
     private Long teacherId;
 
-    @NotNull(message = "课间休息分钟数不可为空")
-    @TableField("free_minutes_")
-    @ApiModelProperty(value = "课间休息分钟数")
-    private Integer freeMinutes;
-
-    @NotNull(message = "单课时分钟数不可为空")
-    @TableField("course_minutes_")
-    @ApiModelProperty(value = "单课时分钟数")
-    private Integer courseMinutes;
-
     @TableField("skip_holiday_flag_")
     @ApiModelProperty(value = "是否跳过节假日1是0否")
     private Boolean skipHolidayFlag = false;
 
-    @NotBlank(message = "声部单课时金额不可为空")
-    @TableField("subject_price_")
-    @ApiModelProperty(value = "声部单课时金额:[{'subjectId':1,'subjectPrice':100.88,'subjectName':'西洋管乐'},{'subjectId':2,'subjectPrice':200.88,'subjectName':'长笛'}]")
-    private String subjectPrice;
-
     @TableField("monday_")
     @ApiModelProperty(value = "周一;数据结构[{'startTime':'08:00:00'','endTime':'08:30:00'}];")
     private String monday;
@@ -77,10 +60,6 @@ public class TeacherFreeTime implements Serializable {
     @ApiModelProperty(value = "周日;")
     private String sunday;
 
-    @TableField("default_flag_")
-    @ApiModelProperty(value = "是否默认配置")
-    private Boolean defaultFlag = true;
-
     @TableField("recent_free_time_")
     @ApiModelProperty(value = "最近30天空闲标记")
     private Boolean recentFreeTime;
@@ -93,9 +72,5 @@ public class TeacherFreeTime implements Serializable {
     @ApiModelProperty(value = "修改时间;")
     private Date updateTime;
 
-    @TableField("enable_flag_")
-    @ApiModelProperty(value = "是否开启陪练课(1是 0否)")
-    private Boolean enableFlag = true;
-
 }
 

+ 0 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherSubjectPrice.java

@@ -22,10 +22,6 @@ public class TeacherSubjectPrice implements Serializable {
     @ApiModelProperty(value = "主键")
     private Long id;
 
-    @TableId("teacher_free_time_id")
-    @ApiModelProperty(value = "排课时间表id")
-    private Long teacherFreeTimeId;
-
     @TableField("teacher_id_")
     @ApiModelProperty(value = "老师id")
     private Long teacherId;

+ 7 - 75
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/TeacherTotal.java

@@ -3,20 +3,21 @@ package com.yonge.cooleshow.biz.dal.entity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.util.Date;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.springframework.format.annotation.DateTimeFormat;
-
 /**
  * 教师统计总表
  */
 @TableName("teacher_total")
 @ApiModel(value = "TeacherTotal对象", description = "教师统计总表")
+@Data
 public class TeacherTotal implements Serializable {
     private static final long serialVersionUID = 1L;
     @ApiModelProperty("对应user表用户编号 ")
@@ -49,76 +50,7 @@ public class TeacherTotal implements Serializable {
     @TableField(value = "music_sheet_num_")
     private Integer musicSheetNum = 0;
 
-
-    public Long getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
-
-    public Double getStarGrade() {
-        return starGrade;
-    }
-
-    public void setStarGrade(Double starGrade) {
-        this.starGrade = starGrade;
-    }
-
-    public Integer getFansNum() {
-        return fansNum;
-    }
-
-    public void setFansNum(Integer fansNum) {
-        this.fansNum = fansNum;
-    }
-
-    public Integer getExpTime() {
-        return expTime;
-    }
-
-    public void setExpTime(Integer expTime) {
-        this.expTime = expTime;
-    }
-
-    public Integer getUnExpTime() {
-        return unExpTime;
-    }
-
-    public void setUnExpTime(Integer unExpTime) {
-        this.unExpTime = unExpTime;
-    }
-
-    public Boolean getLiveFlag() {
-        return liveFlag;
-    }
-
-    public void setLiveFlag(Boolean liveFlag) {
-        this.liveFlag = liveFlag;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
-
-    public Integer getMusicAlbumNum() {
-        return musicAlbumNum;
-    }
-
-    public void setMusicAlbumNum(Integer musicAlbumNum) {
-        this.musicAlbumNum = musicAlbumNum;
-    }
-
-    public Integer getMusicSheetNum() {
-        return musicSheetNum;
-    }
-
-    public void setMusicSheetNum(Integer musicSheetNum) {
-        this.musicSheetNum = musicSheetNum;
-    }
+    @TableField("practice_flag_")
+    @ApiModelProperty(value = "是否开启陪练课(1是 0否)")
+    private Boolean practiceFlag = false;
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/CourseScheduleEnum.java

@@ -16,6 +16,7 @@ public enum CourseScheduleEnum implements BaseEnum<String, CourseScheduleEnum> {
     PRACTICE("陪练课"),
     LIVE("直播课"),
     PIANO_ROOM_CLASS("琴房课"),
+    VIP("VIP课"),
     //课程状态
     NOT_START("未开始"),
     ING("进行中"),

+ 0 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherFreeTimeService.java

@@ -29,8 +29,6 @@ public interface TeacherFreeTimeService extends IService<TeacherFreeTime> {
     */
     void upSet(TeacherFreeTime teacherFreeTime);
 
-    TeacherFreeTimeVo getDetail(PracticeTimesSetting practiceTimesSetting);
-
     IPage<PracticeTeacherVo> queryTeacherList(IPage<PracticeTeacherVo> page,TeacherFreeTimeWrapper.TeacherSearch query);
 }
 

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/TeacherSubjectPriceService.java

@@ -0,0 +1,11 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.TeacherSubjectPriceDao;
+import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
+
+public interface TeacherSubjectPriceService extends IService<TeacherSubjectPrice> {
+
+    TeacherSubjectPriceDao getDao();
+}
+

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

@@ -538,7 +538,6 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
         if (courseTypeFlag) {
             //查询老师陪练课设置
             TeacherFreeTime teacherTime = teacherFreeTimeService.getOne(Wrappers.<TeacherFreeTime>lambdaQuery()
-                    .eq(TeacherFreeTime::getDefaultFlag, true)
                     .eq(TeacherFreeTime::getTeacherId, teacherId)
             );
             Optional.ofNullable(teacherTime).orElseThrow(() -> new BizException("未查询到老师陪练课设置!"));

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

@@ -10,11 +10,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.collect.Lists;
-import com.google.common.collect.Sets;
-import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.*;
-import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
 import com.yonge.cooleshow.biz.dal.dto.PracticeScheduleDto;
 import com.yonge.cooleshow.biz.dal.dto.UserAccountRecordDto;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
@@ -25,25 +22,24 @@ import com.yonge.cooleshow.biz.dal.entity.*;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.enums.im.EImUserFriendSourceForm;
 import com.yonge.cooleshow.biz.dal.service.*;
-import com.yonge.cooleshow.biz.dal.wrapper.course.CourseScheduleWrapper;
-import com.yonge.cooleshow.biz.dal.wrapper.liveroom.LiveRoomWrapper;
-import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
-import com.yonge.cooleshow.common.enums.PostStatusEnum;
-import com.yonge.cooleshow.common.enums.YesOrNoEnum;
-import com.yonge.toolset.payment.util.DistributedLock;
-import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.support.WrapperUtil;
 import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
+import com.yonge.cooleshow.biz.dal.wrapper.UserPaymentOrderWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.course.CourseScheduleWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.liveroom.LiveRoomWrapper;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
+import com.yonge.cooleshow.common.enums.PostStatusEnum;
+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.mybatis.support.PageUtil;
+import com.yonge.toolset.payment.util.DistributedLock;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 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;
@@ -90,7 +86,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     @Autowired
     private RedissonClient redissonClient;
     @Autowired
-    private SysUserFeignService sysUserFeignService;
+    private SysUserService sysUserService;
     @Autowired
     private HolidaysFestivalsService holidaysFestivalsService;
     @Autowired
@@ -110,6 +106,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     @Autowired
     private TeacherFreeTimeDao teacherFreeTimeDao;
     @Autowired
+    private TeacherSubjectPriceService teacherSubjectPriceService;
+    @Autowired
+    private TeacherTotalService teacherTotalService;
+    @Autowired
     private SysMessageService sysMessageService;
     @Autowired
     private HolidaysFestivalsDao holidaysFestivalsDao;
@@ -179,7 +179,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         //查询该月的所有课程
         param.put("startDate", firstDay.toString());
         param.put("endDate", lastDay.toString());
-        param.put("teacherId", getSysUser().getId());
+        param.put("teacherId", sysUserService.getUserId());
         param.put("type", CourseScheduleEnum.LIVE.getCode());
         param.put("groupState", String.join(",", CourseGroupEnum.ING.getCode(), CourseGroupEnum.COMPLETE.getCode()));
         log.info("queryTeacherLiveCourse:{}", param);
@@ -501,7 +501,6 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         LocalDate lastDay = firstDay.with(TemporalAdjusters.lastDayOfMonth());
         //查询老师陪练课设置
         TeacherFreeTime teacherTime = teacherFreeTimeService.getOne(Wrappers.<TeacherFreeTime>lambdaQuery()
-                .eq(TeacherFreeTime::getDefaultFlag, true)
                 .eq(TeacherFreeTime::getTeacherId, teacherId)
         );
         Optional.ofNullable(teacherTime).orElseThrow(() -> new BizException("未查询到老师陪练课设置!"));
@@ -684,19 +683,6 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         return nowCourse;
     }
 
-    /**
-     * 获取当前登录人信息
-     */
-    private SysUser getSysUser() {
-        return Optional.ofNullable(sysUserFeignService.queryUserInfo())
-                .orElseThrow(() -> new BizException("用户不存在"));
-    }
-
-    private SysUser getSysUser(Long userId) {
-        return Optional.ofNullable(userId)
-                .map(sysUserFeignService::queryUserById)
-                .orElseThrow(() -> new BizException("用户不存在"));
-    }
 
     /**
      * 老师端-首页-我的课程-陪练课
@@ -993,7 +979,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         timeList.forEach(o -> {
             boolean checkDataTime = this.checkStudentCourseTime(studentId, startTimeFun.apply(o), endTimeFun.apply(o));
             if (checkDataTime) {
-                SysUser sysUser = sysUserFeignService.queryUserById(studentId);
+                SysUser sysUser = sysUserService.getByUserId(studentId);
                 throw new BizException("学生:" + sysUser.getUsername() + ",预计安排在" + DateUtil.dateToString(startTimeFun.apply(o), "yyyy年MM月dd号 HH点mm分") + "的课程时间存在冲突!");
             }
         });
@@ -1010,7 +996,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         Long studentId = orderReqInfo.getUserId();
 
         //校验学生信息
-        getSysUser(studentId);
+        sysUserService.findUserById(studentId);
 
         ObjectMapper objectMapper = new ObjectMapper();
         PracticeScheduleDto scheduleDto = objectMapper.convertValue(orderReqInfo.getBizContent(), PracticeScheduleDto.class);
@@ -1057,7 +1043,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         Long groupId = scheduleDto.getGroupId();
 
         //根据老师id获取默认配置声部原价
-        TeacherSubjectPrice teacherSubjectPrice = teacherFreeTimeDao.selectSubjectPrice(scheduleDto.getTeacherId(), scheduleDto.getSubjectId());
+        TeacherSubjectPrice teacherSubjectPrice = teacherSubjectPriceService.lambdaQuery()
+                .eq(TeacherSubjectPrice::getTeacherId, scheduleDto.getTeacherId())
+                .eq(TeacherSubjectPrice::getSubjectId, scheduleDto.getSubjectId())
+                .eq(TeacherSubjectPrice::getCourseType, CourseScheduleEnum.PRACTICE.getCode()).one();
         BigDecimal subjectPrice = teacherSubjectPrice.getSubjectPrice();
 
         //每课实际价格
@@ -1349,8 +1338,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         //  陪练课调整模板
         try {
             //  发送消息
-            SysUser teacher = sysUserFeignService.queryUserById(teacherId);
-            SysUser student = sysUserFeignService.queryUserById(studentId);
+            SysUser teacher = sysUserService.getByUserId(teacherId);
+            SysUser student = sysUserService.getByUserId(studentId);
 
             CourseSchedule courseSchedule = this.getById(courseScheduleId);
             CourseGroup courseGroup = courseGroupService.getById(courseSchedule.getCourseGroupId());
@@ -1424,11 +1413,12 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
      * @Date: 2022/4/26
      */
     public List<TeacherSubjectPrice> teacherSubjectPrice(Long teacherId) {
-        TeacherFreeTime teacherFreeTime = teacherFreeTimeDao.selectOne(Wrappers.<TeacherFreeTime>lambdaQuery()
-                .eq(TeacherFreeTime::getTeacherId, teacherId)
-                .eq(TeacherFreeTime::getEnableFlag, 1)
-                .eq(TeacherFreeTime::getDefaultFlag, 1));
-
+        TeacherTotal teacherTotal = teacherTotalService.lambdaQuery().eq(TeacherTotal::getUserId, teacherId)
+                .eq(TeacherTotal::getPracticeFlag, true).one();
+        if (teacherTotal == null) {
+            throw new BizException("老师未开启陪练课");
+        }
+        TeacherFreeTime teacherFreeTime = teacherFreeTimeService.lambdaQuery().eq(TeacherFreeTime::getTeacherId, teacherId).one();
         if (teacherFreeTime == null) {
             log.info("未查到陪练课配置,老师id:{}", teacherId);
             return new ArrayList<>();
@@ -1443,9 +1433,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                 (teacherFreeTime.getSunday() == null || teacherFreeTime.getSunday().equals("[]"))) {
             return new ArrayList<>();
         }
-
-        List<TeacherSubjectPrice> list = teacherFreeTimeDao.selectPriceByTeacherId(teacherId);
-        return list;
+        return teacherSubjectPriceService.lambdaQuery()
+                .eq(TeacherSubjectPrice::getTeacherId, teacherId)
+                .eq(TeacherSubjectPrice::getCourseType, "PRACTICE").list();
     }
 
     @Override
@@ -1495,8 +1485,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     @Override
     public void practiceSend(Long teacherId, Long studentId, String courseNum, String orderNo) {
         //查询老师&学生信息
-        SysUser teacher = sysUserFeignService.queryUserById(teacherId);
-        SysUser student = sysUserFeignService.queryUserById(studentId);
+        SysUser teacher = sysUserService.getByUserId(teacherId);
+        SysUser student = sysUserService.getByUserId(studentId);
 
         //消息接收者(Key:用户编号 value:消息接收对象)
         Map<Long, String> teacherReceivers = new HashMap<>();
@@ -2191,8 +2181,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     public void pianoSend(Long teacherId, Long studentId) {
         try {
             //查询老师&学生信息
-            SysUser teacher = sysUserFeignService.queryUserById(teacherId);
-            SysUser student = sysUserFeignService.queryUserById(studentId);
+            SysUser teacher = sysUserService.getByUserId(teacherId);
+            SysUser student = sysUserService.getByUserId(studentId);
 
             //消息接收者(Key:用户编号 value:消息接收对象)
             Map<Long, String> studentReceivers = new HashMap<>();
@@ -2359,9 +2349,9 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
                 .set(CourseSchedule::getEndTime, endTime));
 
         if (CollectionUtils.isNotEmpty(studentPayments)) {
-            SysUser teacher = sysUserFeignService.queryUserById(teacherId);
+            SysUser teacher = sysUserService.getByUserId(teacherId);
 
-            CourseSchedule schedule = this.getById(courseId);
+//            CourseSchedule schedule = this.getById(courseId);
             CourseGroup courseGroup = courseGroupService.getById(courseSchedule.getCourseGroupId());
 
             String courseName = courseGroup.getName() + "-第" + courseSchedule.getClassNum() + "课";
@@ -2381,7 +2371,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         //  琴房课调整模板
         try {
             //  发送消息
-            SysUser student = sysUserFeignService.queryUserById(studentId);
+            SysUser student = sysUserService.getByUserId(studentId);
 
             Map<Long, String> receivers = new HashMap<>();
             receivers.put(studentId, student.getPhone());
@@ -2535,7 +2525,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         Long studentId = orderGoodsInfo.getUserId();
 
         //校验学生信息
-        getSysUser(studentId);
+        sysUserService.findUserById(studentId);
 
         ObjectMapper objectMapper = new ObjectMapper();
         PracticeScheduleDto scheduleDto = objectMapper.convertValue(orderGoodsInfo.getBizContent(), PracticeScheduleDto.class);
@@ -2580,7 +2570,10 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         Long groupId = scheduleDto.getGroupId();
 
         //根据老师id获取默认配置声部原价
-        TeacherSubjectPrice teacherSubjectPrice = teacherFreeTimeDao.selectSubjectPrice(scheduleDto.getTeacherId(), scheduleDto.getSubjectId());
+        TeacherSubjectPrice teacherSubjectPrice = teacherSubjectPriceService.lambdaQuery()
+                .eq(TeacherSubjectPrice::getTeacherId, scheduleDto.getTeacherId())
+                .eq(TeacherSubjectPrice::getSubjectId, scheduleDto.getSubjectId())
+                .eq(TeacherSubjectPrice::getCourseType, CourseScheduleEnum.PRACTICE.getCode()).one();
         BigDecimal subjectPrice = teacherSubjectPrice.getSubjectPrice();
 
         //每课实际价格

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

@@ -1,34 +1,26 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import com.alibaba.excel.util.CollectionUtils;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.dao.TeacherFreeTimeDao;
-import com.yonge.cooleshow.biz.dal.dto.PracticeTimesSetting;
 import com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime;
-import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
 import com.yonge.cooleshow.biz.dal.service.TeacherFreeTimeService;
 import com.yonge.cooleshow.biz.dal.vo.PracticeTeacherVo;
-import com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo;
 import com.yonge.cooleshow.biz.dal.vo.WeekVo;
 import com.yonge.cooleshow.biz.dal.wrapper.TeacherFreeTimeWrapper;
-import com.yonge.toolset.base.exception.BizException;
-import com.yonge.toolset.base.page.PageInfo;
-import com.yonge.toolset.payment.core.entity.SysConfigPayment;
 import com.yonge.toolset.utils.date.DateUtil;
-import jodd.util.StringUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * 老师可排课时间表(TeacherFreeTime)表服务实现类
@@ -40,6 +32,7 @@ public class TeacherFreeTimeServiceImpl extends ServiceImpl<TeacherFreeTimeDao,
 
     private final static Logger log = LoggerFactory.getLogger(TeacherFreeTimeServiceImpl.class);
 
+
     @Override
     public TeacherFreeTimeDao getDao() {
         return this.baseMapper;
@@ -50,42 +43,12 @@ public class TeacherFreeTimeServiceImpl extends ServiceImpl<TeacherFreeTimeDao,
     public void upSet(TeacherFreeTime teacherFreeTime) {
         Long teacherId = teacherFreeTime.getTeacherId();
         TeacherFreeTime oldTeacherFreeTime = baseMapper.selectOne(Wrappers.<TeacherFreeTime>lambdaQuery().eq(TeacherFreeTime::getTeacherId, teacherId));
-
-//        TeacherFreeTime oldTeacherFreeTime = baseMapper.findOne(teacherFreeTime.getTeacherId(),
-//                teacherFreeTime.getCourseMinutes(),
-//                teacherFreeTime.getFreeMinutes());
-
         //删除原有设置
         if(Objects.nonNull(oldTeacherFreeTime)){
             baseMapper.deleteById(oldTeacherFreeTime.getId());
-            baseMapper.deleteSubjectPrice(oldTeacherFreeTime.getId());
         }
-        //将其他配置改为非默认
-//        List<TeacherFreeTime> checkGapLock = baseMapper.selectList(Wrappers.<TeacherFreeTime>lambdaQuery().eq(TeacherFreeTime::getTeacherId, teacherFreeTime.getTeacherId()));
-//        if (!CollectionUtils.isEmpty(checkGapLock)){
-//            baseMapper.updateDefaultFlag(false,teacherFreeTime.getTeacherId());
-//        }
+        teacherFreeTime.setRecentFreeTime(oldTeacherFreeTime.getRecentFreeTime());
         baseMapper.insert(teacherFreeTime);
-
-        List<TeacherSubjectPrice> priceList= JSONArray.parseArray(teacherFreeTime.getSubjectPrice(), TeacherSubjectPrice.class);
-        for (TeacherSubjectPrice price : priceList) {
-            price.setTeacherFreeTimeId(teacherFreeTime.getId());
-            price.setTeacherId(teacherFreeTime.getTeacherId());
-            price.setFreeMinutes(teacherFreeTime.getFreeMinutes());
-            price.setCourseMinutes(teacherFreeTime.getCourseMinutes());
-        }
-        baseMapper.insertPrice(priceList);
-    }
-
-    @Override
-    public TeacherFreeTimeVo getDetail(PracticeTimesSetting practiceTimesSetting) {
-        TeacherFreeTimeVo getDetail=baseMapper.getDetail(practiceTimesSetting);
-        if (getDetail==null){
-            return getDetail;
-        }
-        List<TeacherSubjectPrice> priceList=baseMapper.getPrice(getDetail.getId());
-        getDetail.setSubjectPrice(priceList);
-        return getDetail;
     }
 
     @Override

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

@@ -0,0 +1,22 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dao.TeacherSubjectPriceDao;
+import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
+import com.yonge.cooleshow.biz.dal.service.TeacherSubjectPriceService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+@Service("TeacherSubjectPriceService")
+public class TeacherSubjectPriceServiceImpl extends ServiceImpl<TeacherSubjectPriceDao, TeacherSubjectPrice> implements TeacherSubjectPriceService {
+
+    private final static Logger log = LoggerFactory.getLogger(TeacherSubjectPriceServiceImpl.class);
+
+    @Override
+    public TeacherSubjectPriceDao getDao() {
+        return this.baseMapper;
+    }
+
+}
+

+ 2 - 148
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherFreeTimeVo.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.vo;
 import com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -13,6 +14,7 @@ import java.util.List;
  * @Date: 2022/4/15
  */
 @ApiModel(value = "TeacherFreeTimeVo")
+@Data
 public class TeacherFreeTimeVo implements Serializable {
     @ApiModelProperty(value = "主键")
     private Long id;
@@ -20,12 +22,6 @@ public class TeacherFreeTimeVo implements Serializable {
     @ApiModelProperty(value = "老师编号")
     private Long teacherId;
 
-    @ApiModelProperty(value = "课间休息分钟数")
-    private Integer freeMinutes;
-
-    @ApiModelProperty(value = "单课时分钟数")
-    private Integer courseMinutes;
-
     @ApiModelProperty(value = "是否跳过节假日1是0否")
     private Boolean skipHolidayFlag;
 
@@ -53,152 +49,10 @@ public class TeacherFreeTimeVo implements Serializable {
     @ApiModelProperty(value = "周日")
     private String sunday;
 
-    @ApiModelProperty(value = "是否默认配置")
-    private Boolean defaultFlag = true;
-
     @ApiModelProperty(value = "创建时间")
     private Date createTime;
 
     @ApiModelProperty(value = "修改时间")
     private Date updateTime;
-
-    @ApiModelProperty(value = "是否开启陪练课(1是 0否)")
-    private Boolean enableFlag = true;
-
-    public Boolean getEnableFlag() {
-        return enableFlag;
-    }
-
-    public void setEnableFlag(Boolean enableFlag) {
-        this.enableFlag = enableFlag;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Long getTeacherId() {
-        return teacherId;
-    }
-
-    public void setTeacherId(Long teacherId) {
-        this.teacherId = teacherId;
-    }
-
-    public Integer getFreeMinutes() {
-        return freeMinutes;
-    }
-
-    public void setFreeMinutes(Integer freeMinutes) {
-        this.freeMinutes = freeMinutes;
-    }
-
-    public Integer getCourseMinutes() {
-        return courseMinutes;
-    }
-
-    public void setCourseMinutes(Integer courseMinutes) {
-        this.courseMinutes = courseMinutes;
-    }
-
-    public Boolean getSkipHolidayFlag() {
-        return skipHolidayFlag;
-    }
-
-    public void setSkipHolidayFlag(Boolean skipHolidayFlag) {
-        this.skipHolidayFlag = skipHolidayFlag;
-    }
-
-    public List<TeacherSubjectPrice> getSubjectPrice() {
-        return subjectPrice;
-    }
-
-    public void setSubjectPrice(List<TeacherSubjectPrice> subjectPrice) {
-        this.subjectPrice = subjectPrice;
-    }
-
-    public String getMonday() {
-        return monday;
-    }
-
-    public void setMonday(String monday) {
-        this.monday = monday;
-    }
-
-    public String getTuesday() {
-        return tuesday;
-    }
-
-    public void setTuesday(String tuesday) {
-        this.tuesday = tuesday;
-    }
-
-    public String getWednesday() {
-        return wednesday;
-    }
-
-    public void setWednesday(String wednesday) {
-        this.wednesday = wednesday;
-    }
-
-    public String getThursday() {
-        return thursday;
-    }
-
-    public void setThursday(String thursday) {
-        this.thursday = thursday;
-    }
-
-    public String getFriday() {
-        return friday;
-    }
-
-    public void setFriday(String friday) {
-        this.friday = friday;
-    }
-
-    public String getSaturday() {
-        return saturday;
-    }
-
-    public void setSaturday(String saturday) {
-        this.saturday = saturday;
-    }
-
-    public String getSunday() {
-        return sunday;
-    }
-
-    public void setSunday(String sunday) {
-        this.sunday = sunday;
-    }
-
-    public Boolean getDefaultFlag() {
-        return defaultFlag;
-    }
-
-    public void setDefaultFlag(Boolean defaultFlag) {
-        this.defaultFlag = defaultFlag;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Date getUpdateTime() {
-        return updateTime;
-    }
-
-    public void setUpdateTime(Date updateTime) {
-        this.updateTime = updateTime;
-    }
 }
 

+ 19 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/TeacherSubjectPriceWrapper.java

@@ -0,0 +1,19 @@
+package com.yonge.cooleshow.biz.dal.wrapper;
+
+import com.yonge.toolset.base.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+public class TeacherSubjectPriceWrapper {
+
+    @Data
+    public static class PriceSearch extends QueryInfo {
+
+        @ApiModelProperty(value = "声部编号")
+        private Integer subjectId;
+
+        @ApiModelProperty(value = "课程类型")
+        private String courseType;
+    }
+
+}

+ 10 - 88
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherFreeTimeMapper.xml

@@ -4,10 +4,7 @@
     <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime">
         <id column="id_" jdbcType="INTEGER" property="id"/>
         <result column="teacher_id_" jdbcType="INTEGER" property="teacherId"/>
-        <result column="free_minutes_" jdbcType="INTEGER" property="freeMinutes"/>
-        <result column="course_minutes_" jdbcType="INTEGER" property="courseMinutes"/>
         <result column="skip_holiday_flag_" property="skipHolidayFlag"/>
-        <result column="subject_price_" jdbcType="VARCHAR" property="subjectPrice"/>
         <result column="monday_" jdbcType="VARCHAR" property="monday"/>
         <result column="tuesday_" jdbcType="VARCHAR" property="tuesday"/>
         <result column="wednesday_" jdbcType="VARCHAR" property="wednesday"/>
@@ -15,109 +12,34 @@
         <result column="friday_" jdbcType="VARCHAR" property="friday"/>
         <result column="saturday_" jdbcType="VARCHAR" property="saturday"/>
         <result column="sunday_" jdbcType="VARCHAR" property="sunday"/>
-        <result column="default_flag_" property="defaultFlag"/>
         <result column="recent_free_time_" property="recentFreeTime"/>
         <result column="create_time_" jdbcType="TIMESTAMP" property="createTime"/>
         <result column="update_time_" jdbcType="TIMESTAMP" property="updateTime"/>
     </resultMap>
 
     <sql id="Base_Column_List">
-        id_
-        , teacher_id_, free_minutes_, course_minutes_, skip_holiday_flag_, subject_price_,
-    monday_, tuesday_, wednesday_, thursday_, friday_, saturday_, sunday_,default_flag_,recent_free_time_,create_time_, update_time_
+        id_, teacher_id_, skip_holiday_flag_,
+    monday_, tuesday_, wednesday_, thursday_, friday_, saturday_, sunday_,recent_free_time_,create_time_, update_time_
     </sql>
 
     <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
             parameterType="com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime">
-        insert into teacher_free_time(teacher_id_, free_minutes_, course_minutes_, skip_holiday_flag_, subject_price_,
-        monday_, tuesday_, wednesday_, thursday_, friday_, saturday_, sunday_,default_flag_,recent_free_time_, create_time_, update_time_)
+        insert into teacher_free_time(teacher_id_, skip_holiday_flag_,
+        monday_, tuesday_, wednesday_, thursday_, friday_, saturday_, sunday_,recent_free_time_, create_time_, update_time_)
         values
         <foreach collection="entities" item="entity" separator=",">
-            (#{entity.teacherId}, #{entity.freeMinutes}, #{entity.courseMinutes}, #{entity.skipHolidayFlag},
-            #{entity.subjectPrice}, #{entity.monday}, #{entity.tuesday}, #{entity.wednesday}, #{entity.thursday},
-            #{entity.friday}, #{entity.saturday}, #{entity.sunday}, #{entity.defaultFlag},#{entity.recentFreeTime},NOW(),NOW())
+            (#{entity.teacherId},#{entity.skipHolidayFlag},
+            #{entity.monday}, #{entity.tuesday}, #{entity.wednesday}, #{entity.thursday},
+            #{entity.friday}, #{entity.saturday}, #{entity.sunday},#{entity.recentFreeTime},NOW(),NOW())
         </foreach>
     </insert>
-    <insert id="insertPrice" parameterType="java.util.List">
-        INSERT INTO teacher_subject_price
-            (teacher_free_time_id,teacher_id_,free_minutes_,course_minutes_,subject_id_,subject_name_,subject_price_,course_type_)VALUES
-        <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.teacherFreeTimeId},#{item.teacherId},#{item.freeMinutes},#{item.courseMinutes},#{item.subjectId},#{item.subjectName},#{item.subjectPrice},#{item.courseType})
-        </foreach>
-    </insert>
-    <update id="updateDefaultFlag">
-        UPDATE teacher_free_time SET default_flag_ = #{defaultFlag} WHERE teacher_id_ = #{teacherId}
-    </update>
-    <delete id="deleteSubjectPrice" parameterType="java.lang.Long">
-        DELETE FROM teacher_subject_price WHERE teacher_free_time_id = #{id}
-    </delete>
-    <select id="findOne" resultMap="BaseResultMap">
-        SELECT <include refid="Base_Column_List"/>
-        FROM teacher_free_time WHERE teacher_id_ = #{teacherId}
-        AND free_minutes_ = #{freeMinutes}
-        AND course_minutes_ = #{courseMinutes} LIMIT 1
-    </select>
     <select id="getDetail" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherFreeTimeVo"
             parameterType="com.yonge.cooleshow.biz.dal.dto.PracticeTimesSetting">
-        SELECT * FROM teacher_free_time
-        <where>
-            <if test="param.userId != null">
-                AND teacher_id_ = #{param.userId}
-            </if>
-            <if test="param.freeMinutes != null">
-                AND free_minutes_ = #{param.freeMinutes}
-            </if>
-            <if test="param.courseMinutes != null">
-                AND course_minutes_ = #{param.courseMinutes}
-            </if>
-            <if test="param.courseMinutes != null">
-                AND course_minutes_ = #{param.courseMinutes}
-            </if>
-            <if test="param.defaultFlag != null">
-                AND default_flag_ = #{param.defaultFlag}
-            </if>
-        </where>
-    </select>
-    <select id="getPrice" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice"
-            parameterType="java.lang.Long">
-        SELECT * FROM teacher_subject_price WHERE teacher_free_time_id = #{id}
-    </select>
-    <select id="selectSubjectPrice" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice">
-        SELECT
-            p.id_ AS id,
-            p.teacher_free_time_id AS teacherFreeTimeId,
-            p.teacher_id_ AS teacherId,
-            p.free_minutes_ AS freeMinutes,
-            p.course_minutes_ AS courseMinutes,
-            p.subject_id_ AS subjectId,
-            p.subject_name_ AS subjectName,
-            p.subject_price_ AS subjectPrice,
-            p.course_type_ AS courseType
-        FROM teacher_free_time f
-        LEFT JOIN teacher_subject_price p ON f.id_=p.teacher_free_time_id
-        WHERE f.teacher_id_=#{teacherId} AND f.default_flag_=1 AND p.subject_id_=#{subjectId}
-    </select>
-    <select id="selectPriceByTeacherId" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherSubjectPrice"
-            parameterType="java.lang.Long">
-        SELECT
-            p.id_ AS id,
-            p.teacher_free_time_id AS teacherFreeTimeId,
-            p.teacher_id_ AS teacherId,
-            p.free_minutes_ AS freeMinutes,
-            p.course_minutes_ AS courseMinutes,
-            p.subject_id_ AS subjectId,
-            p.subject_name_ AS subjectName,
-            p.subject_price_ AS subjectPrice,
-            p.course_type_ AS courseType
-        FROM teacher_free_time f
-        LEFT JOIN teacher_subject_price p ON f.id_=p.teacher_free_time_id
-        WHERE f.teacher_id_=#{teacherId}
-        AND f.default_flag_=1
-        AND f.enable_flag_=1
+        SELECT * FROM teacher_free_time where teacher_id_ = #{userId}
     </select>
     <select id="getTeacherFreeTime" resultType="com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime">
-        SELECT * FROM teacher_free_time WHERE default_flag_=1
-        AND teacher_id_ IN(SELECT user_id_ FROM teacher_auth_entry_record WHERE teacher_auth_status_='PASS' GROUP BY user_id_)
+        SELECT * FROM teacher_free_time
+        WHERE teacher_id_ IN(SELECT user_id_ FROM teacher_auth_entry_record WHERE teacher_auth_status_='PASS' GROUP BY user_id_)
     </select>
     <select id="queryTeacherList" resultType="com.yonge.cooleshow.biz.dal.vo.PracticeTeacherVo">
         select

+ 4 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/TeacherSubjectPriceMapper.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yonge.cooleshow.biz.dal.dao.TeacherSubjectPriceDao">
+</mapper>