Browse Source

Merge remote-tracking branch 'origin/master'

liweifan 3 years ago
parent
commit
99e7b0435b
19 changed files with 289 additions and 55 deletions
  1. 2 2
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/OmsOrderController.java
  2. 1 1
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/dao/OmsOrderDao.java
  3. 58 0
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/dto/OrderVo.java
  4. 2 2
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/OmsOrderService.java
  5. 1 1
      cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderServiceImpl.java
  6. 24 11
      cooleshow-mall/mall-admin/src/main/resources/config/mybatis/OmsOrderDao.xml
  7. 5 5
      cooleshow-mall/mall-mbg/src/main/resources/config/mybatis/UserOrderPaymentMapper.xml
  8. 8 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java
  9. 8 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java
  10. 12 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseGroupServiceImpl.java
  11. 30 10
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  12. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/LiveRoomServiceImpl.java
  13. 5 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java
  14. 34 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseScheduleStudentVo.java
  15. 58 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherAuditMusicSheetVo.java
  16. 6 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml
  17. 12 0
      cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml
  18. 16 17
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserBindingTeacherMapper.xml
  19. 6 2
      cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/MusicSheetController.java

+ 2 - 2
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/controller/OmsOrderController.java

@@ -30,10 +30,10 @@ public class OmsOrderController {
     @ApiOperation("查询订单")
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     @ResponseBody
-    public CommonResult<CommonPage<OmsOrder>> list(OmsOrderQueryParam queryParam,
+    public CommonResult<CommonPage<OrderVo>> list(OmsOrderQueryParam queryParam,
                                                    @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
                                                    @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) {
-        List<OmsOrder> orderList = orderService.list(queryParam, pageSize, pageNum);
+        List<OrderVo> orderList = orderService.list(queryParam, pageSize, pageNum);
         return CommonResult.success(CommonPage.restPage(orderList));
     }
 

+ 1 - 1
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/dao/OmsOrderDao.java

@@ -17,7 +17,7 @@ public interface OmsOrderDao {
     /**
      * 条件查询订单
      */
-    List<OmsOrder> getList(@Param("queryParam") OmsOrderQueryParam queryParam);
+    List<OrderVo> getList(@Param("queryParam") OmsOrderQueryParam queryParam);
 
     /**
      * 批量发货

+ 58 - 0
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/dto/OrderVo.java

@@ -0,0 +1,58 @@
+package com.yonge.cooleshow.admin.dto;
+
+import com.yonge.cooleshow.mbg.model.OmsOrder;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-06-21
+ */
+public class OrderVo extends OmsOrder {
+
+    @ApiModelProperty("用户编号")
+    private String userId;
+
+    @ApiModelProperty("用户昵称")
+    private String username;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @ApiModelProperty("用户类型 STUDENT:学生  TEACHER:老师")
+    private String userType;
+
+
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getPhone() {
+        return phone;
+    }
+
+    public void setPhone(String phone) {
+        this.phone = phone;
+    }
+
+    public String getUserType() {
+        return userType;
+    }
+
+    public void setUserType(String userType) {
+        this.userType = userType;
+    }
+}

+ 2 - 2
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/OmsOrderService.java

@@ -3,7 +3,6 @@ package com.yonge.cooleshow.admin.service;
 import com.yonge.cooleshow.admin.dto.*;
 import com.yonge.cooleshow.admin.dto.search.OrderStatisticalSearch;
 import com.yonge.cooleshow.admin.dto.search.UserStatisticalSearch;
-import com.yonge.cooleshow.mbg.model.OmsOrder;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
@@ -16,8 +15,9 @@ import java.util.Map;
 public interface OmsOrderService {
     /**
      * 订单查询
+     * @return
      */
-    List<OmsOrder> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum);
+    List<OrderVo> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum);
 
     /**
      * 批量发货

+ 1 - 1
cooleshow-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderServiceImpl.java

@@ -54,7 +54,7 @@ public class OmsOrderServiceImpl implements OmsOrderService {
     private PmsProductService productService;
 
     @Override
-    public List<OmsOrder> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum) {
+    public List<OrderVo> list(OmsOrderQueryParam queryParam, Integer pageSize, Integer pageNum) {
         PageHelper.startPage(pageNum, pageSize);
         return orderDao.getList(queryParam);
     }

+ 24 - 11
cooleshow-mall/mall-admin/src/main/resources/config/mybatis/OmsOrderDao.xml

@@ -5,31 +5,44 @@
         <collection property="orderItemList" resultMap="com.yonge.cooleshow.mbg.mapper.OmsOrderItemMapper.BaseResultMap" columnPrefix="item_"/>
         <collection property="historyList" resultMap="com.yonge.cooleshow.mbg.mapper.OmsOrderOperateHistoryMapper.BaseResultMap" columnPrefix="history_"/>
     </resultMap>
-    <select id="getList" resultMap="com.yonge.cooleshow.mbg.mapper.OmsOrderMapper.BaseResultMap">
-        SELECT *
+
+    <resultMap id="orderResultMap" type="com.yonge.cooleshow.admin.dto.OrderVo" extends="com.yonge.cooleshow.mbg.mapper.OmsOrderMapper.BaseResultMap">
+        <result column="userId"  property="userId" />
+        <result column="username"  property="username" />
+        <result column="phone"  property="phone" />
+        <result column="userType"  property="userType" />
+    </resultMap>
+    <select id="getList" resultMap="orderResultMap">
+        SELECT o.*,
+                um.id as userId,
+                um.username as username,
+                um.phone as phone,
+                (select  uop.payment_client_ from user_order_payment uop where uop.order_no_ = o.order_sn order by  uop.id_ desc limit 1) as userType
+
         FROM
-        oms_order
+        oms_order o
+        left join ums_member um on um.id = member_id
         WHERE
-        delete_status = 0
+        o.delete_status = 0
         <if test="queryParam.orderSn!=null and queryParam.orderSn!=''">
-            AND order_sn = #{queryParam.orderSn}
+            AND o.order_sn = #{queryParam.orderSn}
         </if>
         <if test="queryParam.status!=null">
-            AND `status` = #{queryParam.status}
+            AND o.`status` = #{queryParam.status}
         </if>
         <if test="queryParam.sourceType!=null">
-            AND source_type = #{queryParam.sourceType}
+            AND o.source_type = #{queryParam.sourceType}
         </if>
         <if test="queryParam.orderType!=null">
-            AND order_type = #{queryParam.orderType}
+            AND o.order_type = #{queryParam.orderType}
         </if>
         <if test="queryParam.createTime!=null and queryParam.createTime!=''">
-            AND create_time LIKE concat(#{queryParam.createTime},"%")
+            AND o.create_time LIKE concat(#{queryParam.createTime},"%")
         </if>
         <if test="queryParam.receiverKeyword!=null and queryParam.receiverKeyword!=''">
             AND (
-            receiver_name LIKE concat("%",#{queryParam.receiverKeyword},"%")
-            OR receiver_phone LIKE concat("%",#{queryParam.receiverKeyword},"%")
+            o.receiver_name LIKE concat("%",#{queryParam.receiverKeyword},"%")
+            OR o.receiver_phone LIKE concat("%",#{queryParam.receiverKeyword},"%")
             )
         </if>
     </select>

+ 5 - 5
cooleshow-mall/mall-mbg/src/main/resources/config/mybatis/UserOrderPaymentMapper.xml

@@ -246,7 +246,7 @@
     <select id="selectByTranNo" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List" />
-      from user_order_payment where trans_no_ = #{orderNo} limit 1
+      from user_order_payment where trans_no_ = #{orderNo} order by id_ desc limit 1
     </select>
 
     <select id="selectByOrderNo" resultMap="BaseResultMap">
@@ -258,25 +258,25 @@
     <select id="selectByOrderNoAndStatusPaying" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List" />
-        from user_order_payment where order_no_ = #{orderSn} and status_ = 'pending'
+        from user_order_payment where order_no_ = #{orderSn} and status_ = 'pending' order by id_ desc  limit 1
     </select>
 
     <select id="selectByOrderNoAndStatus" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List" />
         from user_order_payment where order_no_ = #{orderSn}
-        and status_ = #{payStatus} and pay_channel_ = #{payChannel}
+        and status_ = #{payStatus} and pay_channel_ = #{payChannel} order by id_ desc  limit 1
     </select>
 
     <select id="selectByOrderNoAndStatusSucceeded" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List" />
-        from user_order_payment where order_no_ = #{orderSn} and status_ = 'succeeded'
+        from user_order_payment where order_no_ = #{orderSn} and status_ = 'succeeded' order by id_ desc  limit 1
     </select>
 
     <select id="selectByAdapayNo" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List" />
-        from user_order_payment where adapay_no_ = #{paymentNo} limit 1
+        from user_order_payment where adapay_no_ = #{paymentNo} order by id_ desc  limit 1
     </select>
 </mapper>

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/MusicSheetDao.java

@@ -128,4 +128,12 @@ public interface MusicSheetDao extends BaseMapper<MusicSheet> {
      * @return
      */
     List<HomeMusicSheetVo.MusicSheetSmall> selectPayMusicSheet();
+
+    /**
+     * 查询老师曲目审核数量
+     *
+     * @param userId 老师id
+     * @return
+     */
+    TeacherAuditMusicSheetVo selectTeacherCount(@Param("userId") Long userId);
 }

+ 8 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/MusicSheetService.java

@@ -243,4 +243,12 @@ public interface MusicSheetService extends IService<MusicSheet> {
      * @return
      */
     MusicSheetWebsiteDetailVo websiteDetail(Long musicSheetId, SysUser sysUser);
+
+    /**
+     * 查询老师曲目审核数量
+     *
+     * @param userId 老师id
+     * @return
+     */
+    TeacherAuditMusicSheetVo selectTeacherCount(Long userId);
 }

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

@@ -381,6 +381,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
     private List<CourseTimeEntity> autoPlanningLiveCourseTime(Long teacherId, int totalCourseNum, List<CourseTimeEntity> paramTimeList, boolean courseTypeFlag) {
         //是否跳过节假日
         boolean skipHoliday = false;
+        Long studentId = null;
         if (courseTypeFlag) {
             //查询老师陪练课设置
             TeacherFreeTime teacherTime = teacherFreeTimeService.getOne(Wrappers.<TeacherFreeTime>lambdaQuery()
@@ -389,6 +390,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
             );
             Optional.ofNullable(teacherTime).orElseThrow(() -> new BizException("未查询到老师陪练课设置!"));
             skipHoliday = teacherTime.getSkipHolidayFlag();
+            studentId = getSysUser().getId();
         }
 
         //获取当前课程
@@ -480,6 +482,16 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
                     continue;
                 }
 
+                //校验当前生成时间是否和未来的课程时间是否交集-学生
+                if (courseTypeFlag) {
+                    checkTime = courseScheduleService.checkStudentCourseTime(studentId, autoStartDate, autoEndDate);
+                    con.accept(checkTime);
+                    //如果和未来时间冲突则跳过
+                    if (flag.get()) {
+                        continue;
+                    }
+                }
+
                 //将自动生成时间收入集合
                 CourseTimeEntity autoTimeDto = new CourseTimeEntity();
                 autoTimeDto.setStartTime(autoStartDate);

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

@@ -14,6 +14,7 @@ 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.PracticeScheduleDto;
+import com.yonge.cooleshow.biz.dal.dto.UserAccountRecordDto;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
 import com.yonge.cooleshow.biz.dal.dto.search.HomeworkSearch;
 import com.yonge.cooleshow.biz.dal.dto.search.MyCourseSearch;
@@ -44,9 +45,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-import javax.script.ScriptException;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
@@ -108,6 +106,8 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     private ImGroupService imGroupService;
     @Autowired
     private ImUserFriendService imUserFriendService;
+    @Autowired
+    private UserAccountService userAccountService;
 
     @Override
     public CourseScheduleDao getDao() {
@@ -1535,11 +1535,31 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         List<CourseScheduleStudentVo> userList = paymentDao.selectUser();
         if (CollectionUtils.isNotEmpty(userList)) {
             List<CourseScheduleStudentVo> practiceList = userList.stream().filter(s -> s.getType().equals(CourseScheduleEnum.PRACTICE.getCode())).collect(Collectors.toList());
-            if (CollectionUtils.isNotEmpty(practiceList)) {//添加陪练课评论
+            if (CollectionUtils.isNotEmpty(practiceList)) {//陪练课
+                //创建课程评论
                 repliedDao.insertBatch(practiceList);
+
+                //老师课酬状态改为已完成
+                courseScheduleTeacherSalaryService.update(null, Wrappers.<CourseScheduleTeacherSalary>lambdaUpdate()
+                        .set(CourseScheduleTeacherSalary::getStatus, CourseScheduleEnum.COMPLETE.getCode())
+                        .set(CourseScheduleTeacherSalary::getSettlementTime, new Date())
+                        .in(CourseScheduleTeacherSalary::getCourseGroupId, practiceList.stream().map(CourseScheduleStudentVo::getCourseId).collect(Collectors.toList())));
+
+                //获取教师课酬写入到金额变更表
+                for (CourseScheduleStudentVo practice : practiceList) {
+                    UserAccountRecordDto userAccountRecord = new UserAccountRecordDto();
+                    userAccountRecord.setUserId(practice.getTeacherId());//老师id
+                    userAccountRecord.setInOrOut(InOrOutEnum.IN);
+                    userAccountRecord.setBizType(AccountBizTypeEnum.PRACTICE);
+                    userAccountRecord.setBizId(practice.getCourseId());//课程id
+                    userAccountRecord.setBizName(practice.getGroupName());//课程名称
+                    userAccountRecord.setTransAmount(practice.getActualSalary());//扣除手续费后所得金额
+                    userAccountRecord.setOrderNo(practice.getOrderNo());
+                    userAccountService.accountChange(userAccountRecord);
+                }
             }
 
-            //更新学生最近结课时间
+            //更新琴房课学生最近结课时间
             List<CourseScheduleStudentVo> pianoUserList = userList.stream().filter((CourseScheduleStudentVo s) -> s.getType().equals(CourseScheduleEnum.PIANO_ROOM_CLASS.getCode())).collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(pianoUserList)) {
                 pianoRoomTimeDao.updateEndTime(pianoUserList);
@@ -1666,11 +1686,11 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         List<CourseTimeEntity> timeList = arrangeCourseVo.getTimeList();//选课时间
         Integer consumeTime = arrangeCourseVo.getConsumeTime();
 
-        log.info("classNum:"+classNum);
-        log.info("singleClssTime:"+singleClssTime);
-        log.info("n:"+n);
-        log.info("消耗时长:"+consumTime);
-        log.info("传入时长:"+consumeTime);
+        log.info("classNum:" + classNum);
+        log.info("singleClssTime:" + singleClssTime);
+        log.info("n:" + n);
+        log.info("消耗时长:" + consumTime);
+        log.info("传入时长:" + consumeTime);
 
         Integer configValue = Integer.valueOf(sysConfigService.findConfigValue(SysConfigConstant.PIANO_ROOM_MAX_STUDENTS));
         if (studentIds.size() > configValue) {

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

@@ -328,7 +328,7 @@ public class LiveRoomServiceImpl extends ServiceImpl<LiveRoomDao, LiveRoom> impl
                 userAccountRecord.setBizType(AccountBizTypeEnum.LIVE);
                 userAccountRecord.setBizId(room.getCourseId());
                 userAccountRecord.setBizName(room.getRoomTitle());
-                userAccountRecord.setTransAmount(salary.getExpectSalary());//扣除手续费后所得金额
+                userAccountRecord.setTransAmount(salary.getActualSalary());//扣除手续费后所得金额
                 userAccountRecord.setOrderNo(payment.getOrderNo());
                 userAccountService.accountChange(userAccountRecord);
             }

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

@@ -784,6 +784,11 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         return musicSheetWebsiteDetailVo;
     }
 
+    @Override
+    public TeacherAuditMusicSheetVo selectTeacherCount(Long userId) {
+        return baseMapper.selectTeacherCount(userId);
+    }
+
     private SysUser getSysUser(Long userId) {
         return Optional.ofNullable(userId)
                        .map(sysUserFeignService::queryUserById)

+ 34 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseScheduleStudentVo.java

@@ -1,11 +1,10 @@
 package com.yonge.cooleshow.biz.dal.vo;
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -35,6 +34,39 @@ public class CourseScheduleStudentVo implements Serializable {
     @ApiModelProperty(value = "课程类型")
     private String type;
 
+    @ApiModelProperty(value = "订单号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "课程名称")
+    private String groupName;
+
+    @ApiModelProperty(value = "实际薪水")
+    private BigDecimal actualSalary;
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    public String getGroupName() {
+        return groupName;
+    }
+
+    public void setGroupName(String groupName) {
+        this.groupName = groupName;
+    }
+
+    public BigDecimal getActualSalary() {
+        return actualSalary;
+    }
+
+    public void setActualSalary(BigDecimal actualSalary) {
+        this.actualSalary = actualSalary;
+    }
+
     public Long getCourseGroupId() {
         return courseGroupId;
     }

+ 58 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherAuditMusicSheetVo.java

@@ -0,0 +1,58 @@
+package com.yonge.cooleshow.biz.dal.vo;
+
+import com.yonge.toolset.base.page.PageInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-06-21
+ */
+public class TeacherAuditMusicSheetVo {
+
+    @ApiModelProperty("审核通过数量")
+    private Integer pass;
+
+    @ApiModelProperty("审核拒绝数量")
+    private Integer unPass;
+
+    @ApiModelProperty("审核中数量")
+    private Integer doing;
+
+
+    @ApiModelProperty("分页数据")
+    private PageInfo<MusicSheetVo> list;
+
+    public Integer getPass() {
+        return pass;
+    }
+
+    public void setPass(Integer pass) {
+        this.pass = pass;
+    }
+
+    public Integer getUnPass() {
+        return unPass;
+    }
+
+    public void setUnPass(Integer unPass) {
+        this.unPass = unPass;
+    }
+
+    public Integer getDoing() {
+        return doing;
+    }
+
+    public void setDoing(Integer doing) {
+        this.doing = doing;
+    }
+
+    public PageInfo<MusicSheetVo> getList() {
+        return list;
+    }
+
+    public void setList(PageInfo<MusicSheetVo> list) {
+        this.list = list;
+    }
+}

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

@@ -155,9 +155,14 @@
             p.user_id_ AS studentId,
             c.end_time_ AS endTime,
             c.single_course_time_ AS singleCourseTime,
-            c.type_ AS type
+            c.type_ AS type,
+            p.order_no_ AS orderNo,
+            s.actual_salary_ AS actualSalary,
+            g.name_ AS groupName
         FROM course_schedule c
         LEFT JOIN course_schedule_student_payment p ON c.id_ = p.course_id_
+        LEFT JOIN course_schedule_teacher_salary s ON c.id_ = s.course_schedule_id_
+        LEFT JOIN course_group g ON c.course_group_id_ = g.id_
         WHERE c.lock_ = 0
         AND c.status_ IN ('ING','NOT_START')
         AND NOW() &gt;= c.end_time_

+ 12 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -514,4 +514,16 @@
         limit 5
 
     </select>
+
+    <select id="selectTeacherCount" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherAuditMusicSheetVo">
+        select
+            sum(if(t.audit_status_ = 'DOING',1,0)) as doing,
+            sum(if(t.audit_status_ = 'PASS'
+                       and t.state_ = 1,1,0)) as pass,
+            sum(if(t.audit_status_ = 'UNPASS',1,0)) as upPass
+        from
+            music_sheet t
+        where t.user_id_ = #{userId}
+
+    </select>
 </mapper>

+ 16 - 17
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserBindingTeacherMapper.xml

@@ -13,23 +13,22 @@
         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_
-        <where>
-            <if test="param.subjectId != null">
-                find_in_set(#{param.subjectId},s.subject_id_)
-            </if>
-            <if test="param.teacherId !=null">
-                AND b.teacher_id_ = #{param.teacherId}
-            </if>
-            <if test="param.userName !=null and param.userName !=''">
-                AND su.username_ LIKE CONCAT('%', #{param.userName}, '%')
-            </if>
-            <if test="param.studentList !=null and param.studentList.size>0">
-                AND su.id_ IN
-                <foreach collection="param.studentList" item="item" open="(" separator="," close=")">
-                    #{item.userId}
-                </foreach>
-            </if>
-        </where>
+        WHERE b.last_end_class_ IS NOT NULL
+        <if test="param.subjectId != null">
+           AND find_in_set(#{param.subjectId},s.subject_id_)
+        </if>
+        <if test="param.teacherId !=null">
+            AND b.teacher_id_ = #{param.teacherId}
+        </if>
+        <if test="param.userName !=null and param.userName !=''">
+            AND su.username_ LIKE CONCAT('%', #{param.userName}, '%')
+        </if>
+        <if test="param.studentList !=null and param.studentList.size>0">
+            AND su.id_ IN
+            <foreach collection="param.studentList" item="item" open="(" separator="," close=")">
+                #{item.userId}
+            </foreach>
+        </if>
     </select>
 
     <!-- 表字段 -->

+ 6 - 2
cooleshow-user/user-website/src/main/java/com/yonge/cooleshow/website/controller/MusicSheetController.java

@@ -11,6 +11,7 @@ import com.yonge.cooleshow.biz.dal.enums.ChargeTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.YesOrNoEnum;
 import com.yonge.cooleshow.biz.dal.service.MusicSheetService;
+import com.yonge.cooleshow.biz.dal.vo.TeacherAuditMusicSheetVo;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.MusicSheetVo;
 import com.yonge.cooleshow.common.controller.BaseController;
@@ -96,7 +97,7 @@ public class MusicSheetController extends BaseController {
 
     @ApiOperation(value = "老师-个人中心-曲目分页查询", httpMethod="POST", consumes="application/json", produces="application/json")
     @PostMapping(value="/teacher/list", consumes="application/json", produces="application/json")
-    public HttpResponseResult<PageInfo<MusicSheetVo>> list(@RequestBody MusicSheetSearch query) {
+    public HttpResponseResult<TeacherAuditMusicSheetVo> list(@RequestBody MusicSheetSearch query) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null  || sysUser.getId() == null) {
             return failed("用户信息获取失败");
@@ -108,7 +109,10 @@ public class MusicSheetController extends BaseController {
         }
 
         IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectPage(PageUtil.getPage(query), query);
-        return succeed(PageUtil.pageInfo(musicSheetVoIPage));
+
+        TeacherAuditMusicSheetVo teacherAuditMusicSheetVo = musicSheetService.selectTeacherCount(sysUser.getId());
+        teacherAuditMusicSheetVo.setList(PageUtil.pageInfo(musicSheetVoIPage));
+        return succeed(teacherAuditMusicSheetVo);
     }
 
     @ApiOperation(value = "老师新增曲目", httpMethod="POST", consumes="application/json", produces="application/json")