|
@@ -18,7 +18,6 @@ import com.yonge.cooleshow.biz.dal.dto.search.*;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.*;
|
|
|
import com.yonge.cooleshow.biz.dal.service.*;
|
|
|
-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;
|
|
@@ -27,6 +26,7 @@ import com.yonge.cooleshow.common.constant.SysConfigConstant;
|
|
|
import com.yonge.cooleshow.common.entity.HttpResponseResult;
|
|
|
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.thirdparty.message.MessageSenderPluginContext;
|
|
|
import com.yonge.toolset.utils.date.DateUtil;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
@@ -719,8 +719,10 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
BigDecimal liveServiceRate = new BigDecimal(liveServiceRateStr).divide(new BigDecimal("100"), 2, RoundingMode.HALF_UP);
|
|
|
//总课酬 1 - (1 * 手续费率)
|
|
|
BigDecimal totalRatePrice = expectPrice.subtract(expectPrice.multiply(liveServiceRate)).setScale(2, RoundingMode.HALF_UP);
|
|
|
- //获取每节课的课酬 key 课堂数 value 课酬
|
|
|
- Map<Integer, BigDecimal> singerCourseSalary = WrapperUtil.getAveragePrice(courseGroup.getCourseNum(), totalRatePrice);
|
|
|
+ //获取每节课的实际课酬 key 课堂数 value 课酬
|
|
|
+ Map<Integer, BigDecimal> singerActualCourseSalary = WrapperUtil.getAveragePrice(courseGroup.getCourseNum(), totalRatePrice);
|
|
|
+ //获取每节课的预计原课酬 key 课堂数 value 课酬
|
|
|
+ Map<Integer, BigDecimal> singerExpectCourseSalary = WrapperUtil.getAveragePrice(courseGroup.getCourseNum(), expectPrice);
|
|
|
//写入课酬表计算-根据课程组总金额计算分配到每节课的金额
|
|
|
Date now = new Date();
|
|
|
List<CourseScheduleTeacherSalary> teacherSalaryList = new ArrayList<>();
|
|
@@ -732,10 +734,18 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
teacherSalary.setCourseGroupType(course.getType());
|
|
|
teacherSalary.setCourseGroupId(course.getCourseGroupId());
|
|
|
teacherSalary.setClassNum(course.getClassNum());
|
|
|
- teacherSalary.setExpectSalary(singerCourseSalary.get(course.getClassNum()));
|
|
|
- teacherSalary.setReduceSalary(BigDecimal.ZERO);
|
|
|
teacherSalary.setCreateTime(now);
|
|
|
teacherSalary.setStatus(TeacherSalaryEnum.NOT_START.getCode());
|
|
|
+ //预计课酬
|
|
|
+ BigDecimal ex = singerExpectCourseSalary.get(course.getClassNum());
|
|
|
+ //实际课酬
|
|
|
+ BigDecimal ac = singerActualCourseSalary.get(course.getClassNum());
|
|
|
+ teacherSalary.setExpectSalary(ex);
|
|
|
+ teacherSalary.setActualSalary(ac);
|
|
|
+ //预计课酬-实际课酬 = 扣除费用
|
|
|
+ teacherSalary.setReduceSalary(ex.subtract(ac));
|
|
|
+ //备注是为直播课手续费
|
|
|
+ teacherSalary.setReduceSalaryRemark(SysConfigConstant.LIVE_SERVICE_RATE);
|
|
|
teacherSalaryList.add(teacherSalary);
|
|
|
});
|
|
|
courseScheduleTeacherSalaryService.getDao().insertBatch(teacherSalaryList);
|
|
@@ -750,7 +760,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
imGroupService.autoCreate(courseGroup.getId(), CourseScheduleEnum.LIVE.getCode());
|
|
|
} else {//存在->加入当前学员
|
|
|
String imGroupId = imGroup.getId();
|
|
|
- Set<Long> userIds = new HashSet<>(Arrays.asList(studentPayment.getUserId()));
|
|
|
+ Set<Long> userIds = new HashSet<>(Collections.singletonList(studentPayment.getUserId()));
|
|
|
imGroupMemberService.initGroupMembers(imGroupId, userIds, ImGroupMemberRoleType.STUDENT);
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
@@ -1106,7 +1116,7 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
public IPage<CourseGroupPianoDetailVo> selectPianoGroupDetail(IPage<CourseGroupPianoDetailVo> page, CourseGroupDetailSearch search) {
|
|
|
if (search.getStudentSign() != null) {
|
|
|
List<StudentSignVo> list = studentSign(null, CourseScheduleEnum.PIANO_ROOM_CLASS.getCode());
|
|
|
- List<Long> collect=new ArrayList<>();
|
|
|
+ List<Long> collect = new ArrayList<>();
|
|
|
if (search.getStudentSign() == 0) {//异常学生
|
|
|
collect = list.stream().filter(s -> (s.getStudentOutSign() + s.getStudentInSign()) != 2).map(StudentSignVo::getCourseId).collect(Collectors.toList());
|
|
|
}
|
|
@@ -1145,26 +1155,26 @@ public class CourseGroupServiceImpl extends ServiceImpl<CourseGroupDao, CourseGr
|
|
|
|
|
|
@Override
|
|
|
public IPage<CourseGroupPianoDetailVo> selectPianoGroupStudentDetail(IPage<CourseGroupPianoDetailVo> page, CourseGroupDetailSearch search) {
|
|
|
- return baseMapper.selectPianoGroupStudentDetail(page,search);
|
|
|
+ return baseMapper.selectPianoGroupStudentDetail(page, search);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public IPage<CourseGroupPianoVo> selectPianoGroupTeacher(IPage<CourseGroupPianoVo> page, CourseGroupSearch search) {
|
|
|
- return baseMapper.selectPianoGroupTeacher(page,search);
|
|
|
+ return baseMapper.selectPianoGroupTeacher(page, search);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public IPage<CourseGroupPianoDetailVo> selectPianoGroupTeacherDetail(IPage<CourseGroupPianoDetailVo> page, CourseGroupDetailSearch search) {
|
|
|
if (search.getStudentSign() != null) {
|
|
|
List<StudentSignVo> list = studentSign(null, CourseScheduleEnum.PIANO_ROOM_CLASS.getCode());
|
|
|
- List<Long> collect=new ArrayList<>();
|
|
|
+ List<Long> collect = new ArrayList<>();
|
|
|
if (search.getStudentSign() == 0) {//异常学生
|
|
|
collect = list.stream().filter(s -> (s.getStudentOutSign() + s.getStudentInSign()) != 2).map(StudentSignVo::getCourseId).collect(Collectors.toList());
|
|
|
}
|
|
|
if (search.getStudentSign() == 1) {//正常学生
|
|
|
collect = list.stream().filter(s -> (s.getStudentOutSign() + s.getStudentInSign()) == 2).map(StudentSignVo::getCourseId).collect(Collectors.toList());
|
|
|
}
|
|
|
- collect.add(Long.valueOf(-1));
|
|
|
+ collect.add((long) -1);
|
|
|
search.setCourseIds(collect);
|
|
|
}
|
|
|
|