소스 검색

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

liujunchi 3 년 전
부모
커밋
e6ba2fe785

+ 15 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/TeacherFreeTimeDao.java

@@ -1,7 +1,10 @@
 package com.yonge.cooleshow.biz.dal.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+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.TeacherFreeTimeVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -37,5 +40,17 @@ public interface TeacherFreeTimeDao extends BaseMapper<TeacherFreeTime> {
     * @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(PracticeTimesSetting practiceTimesSetting);
+
+    //根据id查声部售价
+    List<TeacherSubjectPrice> getPrice(Long id);
 }
 

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/PracticeTimesSetting.java

@@ -15,6 +15,17 @@ public class PracticeTimesSetting {
     @ApiModelProperty(value = "单课时分钟数")
     private Integer courseMinutes;
 
+    @ApiModelProperty(value = "用户id")
+    private Long userId;
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
     public Integer getFreeMinutes() {
         return freeMinutes;
     }

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

@@ -0,0 +1,139 @@
+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 io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @Author: cy
+ * @Date: 2022/4/15
+ */
+@ApiModel(value = "teacher_subject_price-老师声部价格")
+public class TeacherSubjectPrice implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @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;
+
+    @TableField("free_minutes_")
+    @ApiModelProperty(value = "课间休息时长(分钟)")
+    private Integer freeMinutes;
+
+    @TableField("course_minutes_")
+    @ApiModelProperty(value = "单课时长(分钟)")
+    private Integer courseMinutes;
+
+    @TableField("subject_id_")
+    @ApiModelProperty(value = "声部id")
+    private Long subjectId;
+
+    @TableField("subject_name_")
+    @ApiModelProperty(value = "声部名称")
+    private String subjectName;
+
+    @TableField("subject_price_")
+    @ApiModelProperty(value = "声部价格")
+    private BigDecimal subjectPrice;
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @TableField("update_time_")
+    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+
+    public Long getTeacherFreeTimeId() {
+        return teacherFreeTimeId;
+    }
+
+    public void setTeacherFreeTimeId(Long teacherFreeTimeId) {
+        this.teacherFreeTimeId = teacherFreeTimeId;
+    }
+
+    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 Long getSubjectId() {
+        return subjectId;
+    }
+
+    public void setSubjectId(Long subjectId) {
+        this.subjectId = subjectId;
+    }
+
+    public String getSubjectName() {
+        return subjectName;
+    }
+
+    public void setSubjectName(String subjectName) {
+        this.subjectName = subjectName;
+    }
+
+    public BigDecimal getSubjectPrice() {
+        return subjectPrice;
+    }
+
+    public void setSubjectPrice(BigDecimal subjectPrice) {
+        this.subjectPrice = subjectPrice;
+    }
+
+    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;
+    }
+}
+

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

@@ -2,7 +2,9 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 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.vo.TeacherFreeTimeVo;
 
 /**
  * 老师可排课时间表(TeacherFreeTime)表服务接口
@@ -22,5 +24,7 @@ public interface TeacherFreeTimeService extends IService<TeacherFreeTime> {
     * @date 2022/3/25 10:18
     */
     void upSet(TeacherFreeTime teacherFreeTime);
+
+    TeacherFreeTimeVo getDetail(PracticeTimesSetting practiceTimesSetting);
 }
 

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

@@ -1,15 +1,20 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 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.TeacherFreeTimeVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Objects;
 
 /**
@@ -37,13 +42,28 @@ public class TeacherFreeTimeServiceImpl extends ServiceImpl<TeacherFreeTimeDao,
         //删除原有设置
         if(Objects.nonNull(oldTeacherFreeTime)){
             baseMapper.deleteById(oldTeacherFreeTime.getId());
+            baseMapper.deleteSubjectPrice(oldTeacherFreeTime.getId());
         }
         //将其他配置改为非默认
         baseMapper.updateDefaultFlag(false,teacherFreeTime.getTeacherId());
-        Date date = new Date();
-        teacherFreeTime.setCreateTime(date);
-        teacherFreeTime.setUpdateTime(date);
         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);
+        List<TeacherSubjectPrice> priceList=baseMapper.getPrice(getDetail.getId());
+        getDetail.setSubjectPrice(priceList);
+        return getDetail;
     }
 }
 

+ 193 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherFreeTimeVo.java

@@ -0,0 +1,193 @@
+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 java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: cy
+ * @Date: 2022/4/15
+ */
+@ApiModel(value = "TeacherFreeTimeVo")
+public class TeacherFreeTimeVo implements Serializable {
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @ApiModelProperty(value = "老师编号")
+    private Long teacherId;
+
+    @ApiModelProperty(value = "课间休息分钟数")
+    private Integer freeMinutes;
+
+    @ApiModelProperty(value = "单课时分钟数")
+    private Integer courseMinutes;
+
+    @ApiModelProperty(value = "是否跳过节假日1是0否")
+    private Boolean skipHolidayFlag;
+
+    @ApiModelProperty(value = "声部金额")
+    private List<TeacherSubjectPrice> subjectPrice;
+
+    @ApiModelProperty(value = "周一")
+    private String monday;
+
+    @ApiModelProperty(value = "周二")
+    private String tuesday;
+
+    @ApiModelProperty(value = "周三")
+    private String wednesday;
+
+    @ApiModelProperty(value = "周四")
+    private String thursday;
+
+    @ApiModelProperty(value = "周五")
+    private String friday;
+
+    @ApiModelProperty(value = "周六")
+    private String saturday;
+
+    @ApiModelProperty(value = "周日")
+    private String sunday;
+
+    @ApiModelProperty(value = "是否默认配置")
+    private Boolean defaultFlag = true;
+
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @ApiModelProperty(value = "修改时间")
+    private Date updateTime;
+
+    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;
+    }
+}
+

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

@@ -37,14 +37,31 @@
             #{entity.friday}, #{entity.saturday}, #{entity.sunday}, #{entity.defaultFlag},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_)VALUES
+        <foreach collection="list" item="item" index="index" separator=",">
+            (#{item.teacherFreeTimeId},#{item.teacherId},#{item.freeMinutes},#{item.courseMinutes},#{item.subjectId},#{item.subjectName},#{item.subjectPrice})
+        </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 teacher_id_=#{userId} AND free_minutes_=#{freeMinutes} AND course_minutes_=#{courseMinutes}
+    </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>
 </mapper>

+ 4 - 7
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherFreeTimeController.java

@@ -1,12 +1,11 @@
 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.Subject;
 import com.yonge.cooleshow.biz.dal.entity.TeacherFreeTime;
 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;
@@ -19,8 +18,6 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
-import java.util.List;
-import java.util.Map;
 
 /**
  * 老师可排课时间表(TeacherFreeTime)表控制层
@@ -54,13 +51,13 @@ public class TeacherFreeTimeController extends BaseController {
 
     @ApiOperation(value = "获取老师陪练课设置")
     @PostMapping("/getDetail")
-    public HttpResponseResult<TeacherFreeTime> detDetail(@Valid @RequestBody PracticeTimesSetting practiceTimesSetting){
+    public HttpResponseResult<TeacherFreeTimeVo> getDetail(@Valid @RequestBody PracticeTimesSetting practiceTimesSetting){
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null || null == user.getId()) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(teacherFreeTimeService.getDao().
-                findOne(user.getId(),practiceTimesSetting.getCourseMinutes(),practiceTimesSetting.getFreeMinutes()));
+        practiceTimesSetting.setUserId(user.getId());
+        return succeed(teacherFreeTimeService.getDetail(practiceTimesSetting));
     }
 }