|
@@ -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();
|
|
|
|
|
|
//每课实际价格
|