zouxuan 3 年之前
父节点
当前提交
59d1660a39

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -16,5 +16,15 @@ public interface CourseScheduleStudentPaymentDao extends BaseMapper<CourseSchedu
 
     int insertBatch(@Param("entities") List<CourseScheduleStudentPayment> entities);
 
+    /**
+     * @description: 获取学员列表
+     * @param courseGroupId
+     * @param courseGroupType
+     * @return java.util.List<java.lang.Integer>
+     * @author zx
+     * @date 2022/3/23 16:18
+     */
+    List<Integer> queryStudentIds(@Param("courseGroupId") Long courseGroupId,
+                                  @Param("courseGroupType") String courseGroupType);
 }
 

+ 30 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -0,0 +1,30 @@
+package com.yonge.cooleshow.biz.dal.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yonge.cooleshow.biz.dal.entity.CourseScheduleTeacherSalary;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 老师课酬表(CourseScheduleTeacherSalary)表数据库访问层
+ *
+ * @author zx
+ * @since 2022-03-23 16:01:11
+ */
+public interface CourseScheduleTeacherSalaryDao extends BaseMapper<CourseScheduleTeacherSalary> {
+
+    int insertBatch(@Param("entities") List<CourseScheduleTeacherSalary> entities);
+
+    /**
+     * @description: 获取课程组关联的老师列表
+     * @param courseGroupId
+     * @param courseGroupType
+     * @return java.util.List<java.lang.Integer>
+     * @author zx
+     * @date 2022/3/23 16:12
+     */
+    List<Integer> queryTeacherIds(@Param("courseGroupId") Long courseGroupId,
+                                  @Param("courseGroupType") String courseGroupType);
+}
+

+ 169 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/CourseScheduleTeacherSalary.java

@@ -0,0 +1,169 @@
+package com.yonge.cooleshow.biz.dal.entity;
+
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+import java.io.Serializable;
+
+/**
+ * 老师课酬表(CourseScheduleTeacherSalary)表实体类
+ *
+ * @author zx
+ * @since 2022-03-23 16:01:11
+ */
+@ApiModel(value = "course_schedule_teacher_salary-老师课酬表")
+public class CourseScheduleTeacherSalary implements Serializable {
+    @TableId(value = "id_", type = IdType.AUTO)
+    @ApiModelProperty(value = "主键;")
+    private Long id;
+
+    @TableField("teacher_id_")
+    @ApiModelProperty(value = "老师编号;")
+    private Long teacherId;
+
+    @TableField("course_schedule_id_")
+    @ApiModelProperty(value = "课程编号")
+    private Long courseScheduleId;
+
+    @TableField("course_group_type_")
+    @ApiModelProperty(value = "课程组类型PRACTICE、LIVE")
+    private String courseGroupType;
+
+    @TableField("course_group_id_")
+    @ApiModelProperty(value = "课程组编号")
+    private String courseGroupId;
+
+    @TableField("expect_salary_")
+    @ApiModelProperty(value = "预计薪水")
+    private BigDecimal expectSalary;
+
+    @TableField("actual_salary_")
+    @ApiModelProperty(value = "实际薪水")
+    private BigDecimal actualSalary;
+
+    @TableField("reduce_salary_")
+    @ApiModelProperty(value = "扣除薪水")
+    private BigDecimal reduceSalary;
+
+    @TableField("reduce_salary_remark_")
+    @ApiModelProperty(value = "扣除薪水原因")
+    private String reduceSalaryRemark;
+
+    @TableField("settlement_time_")
+    @ApiModelProperty(value = "结算时间")
+    private Date settlementTime;
+
+    @TableField("create_time_")
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    @TableField("update_time_")
+    @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 Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
+    public String getCourseGroupType() {
+        return courseGroupType;
+    }
+
+    public void setCourseGroupType(String courseGroupType) {
+        this.courseGroupType = courseGroupType;
+    }
+
+    public String getCourseGroupId() {
+        return courseGroupId;
+    }
+
+    public void setCourseGroupId(String courseGroupId) {
+        this.courseGroupId = courseGroupId;
+    }
+
+    public BigDecimal getExpectSalary() {
+        return expectSalary;
+    }
+
+    public void setExpectSalary(BigDecimal expectSalary) {
+        this.expectSalary = expectSalary;
+    }
+
+    public BigDecimal getActualSalary() {
+        return actualSalary;
+    }
+
+    public void setActualSalary(BigDecimal actualSalary) {
+        this.actualSalary = actualSalary;
+    }
+
+    public BigDecimal getReduceSalary() {
+        return reduceSalary;
+    }
+
+    public void setReduceSalary(BigDecimal reduceSalary) {
+        this.reduceSalary = reduceSalary;
+    }
+
+    public String getReduceSalaryRemark() {
+        return reduceSalaryRemark;
+    }
+
+    public void setReduceSalaryRemark(String reduceSalaryRemark) {
+        this.reduceSalaryRemark = reduceSalaryRemark;
+    }
+
+    public Date getSettlementTime() {
+        return settlementTime;
+    }
+
+    public void setSettlementTime(Date settlementTime) {
+        this.settlementTime = settlementTime;
+    }
+
+    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;
+    }
+
+}
+

+ 20 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseScheduleTeacherSalaryService.java

@@ -0,0 +1,20 @@
+package com.yonge.cooleshow.biz.dal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.yonge.cooleshow.biz.dal.entity.CourseScheduleTeacherSalary;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 老师课酬表(CourseScheduleTeacherSalary)表服务接口
+ *
+ * @author zx
+ * @since 2022-03-23 16:01:11
+ */
+public interface CourseScheduleTeacherSalaryService extends IService<CourseScheduleTeacherSalary> {
+
+    CourseScheduleTeacherSalaryDao getDao();
+}
+

+ 3 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImGroupService.java

@@ -28,11 +28,12 @@ public interface ImGroupService extends IService<ImGroup> {
 
     /**
     * @description: 成课后自动创建群聊,建议放在最后执行
-     * @param imGroup
+     * @param courseGroupId 课程组编号
+     * @param courseGroupType 课程组类型
     * @author zx
     * @date 2022/3/22 11:17
     */
-    void autoCreate(Long courseGroupId) throws Exception;
+    void autoCreate(Long courseGroupId,String courseGroupType) throws Exception;
 
     /**
     * @description: 关闭群聊、解散

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

@@ -0,0 +1,31 @@
+package com.yonge.cooleshow.biz.dal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.biz.dal.dao.CourseScheduleTeacherSalaryDao;
+import com.yonge.cooleshow.biz.dal.entity.CourseScheduleTeacherSalary;
+import com.yonge.cooleshow.biz.dal.service.CourseScheduleTeacherSalaryService;
+import org.springframework.stereotype.Service;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+/**
+ * 老师课酬表(CourseScheduleTeacherSalary)表服务实现类
+ *
+ * @author zx
+ * @since 2022-03-23 16:01:11
+ */
+@Service("courseScheduleTeacherSalaryService")
+public class CourseScheduleTeacherSalaryServiceImpl extends ServiceImpl<CourseScheduleTeacherSalaryDao, CourseScheduleTeacherSalary> implements CourseScheduleTeacherSalaryService {
+
+    private final static Logger log = LoggerFactory.getLogger(CourseScheduleTeacherSalaryServiceImpl.class);
+
+    @Override
+    public CourseScheduleTeacherSalaryDao getDao() {
+        return this.baseMapper;
+    }
+
+}
+

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

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.config.RongCloudConfig;
+import com.yonge.cooleshow.biz.dal.dao.CourseScheduleStudentPaymentDao;
+import com.yonge.cooleshow.biz.dal.dao.CourseScheduleTeacherSalaryDao;
 import com.yonge.cooleshow.biz.dal.dao.ImGroupDao;
 import com.yonge.cooleshow.biz.dal.dto.ImGroupDto;
 import com.yonge.cooleshow.biz.dal.entity.ImGroup;
@@ -43,6 +45,10 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
     private ImGroupMemberService imGroupMemberService;
     @Resource
     private SysUserFeignService sysUserFeignService;
+    @Resource
+    private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
+    @Resource
+    private CourseScheduleTeacherSalaryDao courseScheduleTeacherSalaryDao;
 
     @Override
     public ImGroupDao getDao() {
@@ -75,8 +81,11 @@ public class ImGroupServiceImpl extends ServiceImpl<ImGroupDao, ImGroup> impleme
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void autoCreate(Long courseGroupId) throws Exception {
-        //获取群成员列表
+    public void autoCreate(Long courseGroupId,String courseGroupType) throws Exception {
+        //获取老师列表
+        List<Integer> teacherIds = courseScheduleTeacherSalaryDao.queryTeacherIds(courseGroupId, courseGroupType);
+        //获取学员列表
+        List<Integer> studentIds = courseScheduleStudentPaymentDao.queryStudentIds(courseGroupId, courseGroupType);
 
     }
 

+ 11 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -29,5 +29,16 @@
             #{entity.expectPrice}, #{entity.actualPrice}, #{entity.createdTime}, #{entity.updatedTime})
         </foreach>
     </insert>
+    <select id="queryStudentIds" resultType="java.lang.Integer">
+        SELECT DISTINCT user_id_ FROM course_schedule_student_payment
+        <where>
+            <if test="courseGroupId != null">
+                AND course_group_id_ = #{courseGroupId}
+            </if>
+            <if test="courseGroupType != null and courseGroupType != ''">
+                AND course_group_type_ = #{courseGroupType}
+            </if>
+        </where>
+    </select>
 
 </mapper>

+ 49 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -0,0 +1,49 @@
+<?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.CourseScheduleTeacherSalaryDao">
+    <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.CourseScheduleTeacherSalary">
+        <id column="id_" jdbcType="INTEGER" property="id"/>
+        <result column="teacher_id_" jdbcType="INTEGER" property="teacherId"/>
+        <result column="course_schedule_id_" jdbcType="INTEGER" property="courseScheduleId"/>
+        <result column="course_group_type_" jdbcType="VARCHAR" property="courseGroupType"/>
+        <result column="course_group_id_" jdbcType="VARCHAR" property="courseGroupId"/>
+        <result column="expect_salary_" jdbcType="VARCHAR" property="expectSalary"/>
+        <result column="actual_salary_" jdbcType="VARCHAR" property="actualSalary"/>
+        <result column="reduce_salary_" jdbcType="VARCHAR" property="reduceSalary"/>
+        <result column="reduce_salary_remark_" jdbcType="VARCHAR" property="reduceSalaryRemark"/>
+        <result column="settlement_time_" jdbcType="TIMESTAMP" property="settlementTime"/>
+        <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_, course_schedule_id_, course_group_type_, course_group_id_, expect_salary_,
+    actual_salary_, reduce_salary_, reduce_salary_remark_, settlement_time_, create_time_, update_time_
+    </sql>
+
+    <insert id="insertBatch" keyColumn="id_" keyProperty="id" useGeneratedKeys="true"
+            parameterType="com.yonge.cooleshow.biz.dal.entity.CourseScheduleTeacherSalary">
+        INSERT INTO course_schedule_teacher_salary(teacher_id_, course_schedule_id_, course_group_type_,
+        course_group_id_, expect_salary_, actual_salary_, reduce_salary_, reduce_salary_remark_, settlement_time_,
+        create_time_, update_time_)
+        VALUES
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.teacherId}, #{entity.courseScheduleId}, #{entity.courseGroupType}, #{entity.courseGroupId},
+            #{entity.expectSalary}, #{entity.actualSalary}, #{entity.reduceSalary}, #{entity.reduceSalaryRemark},
+            #{entity.settlementTime}, NOW(), NOW())
+        </foreach>
+    </insert>
+    <select id="queryTeacherIds" resultType="java.lang.Integer">
+        SELECT DISTINCT teacher_id_ FROM course_schedule_teacher_salary
+        <where>
+            <if test="courseGroupId != null">
+                AND course_group_id_ = #{courseGroupId}
+            </if>
+            <if test="courseGroupType != null and courseGroupType != ''">
+                AND course_group_type_ = #{courseGroupType}
+            </if>
+        </where>
+    </select>
+
+</mapper>

+ 29 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/CourseScheduleTeacherSalaryController.java

@@ -0,0 +1,29 @@
+package com.yonge.cooleshow.teacher.controller;
+
+
+import com.yonge.cooleshow.biz.dal.service.CourseScheduleTeacherSalaryService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 老师课酬表(CourseScheduleTeacherSalary)表控制层
+ *
+ * @author zx
+ * @since 2022-03-23 16:01:11
+ */
+@Api(tags = "老师课酬表")
+@RestController
+@RequestMapping("/courseScheduleTeacherSalary")
+public class CourseScheduleTeacherSalaryController extends BaseController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private CourseScheduleTeacherSalaryService courseScheduleTeacherSalaryService;
+
+}
+