更新
This commit is contained in:
parent
678b3eb207
commit
d4eefc8da9
@ -1,9 +1,11 @@
|
||||
package cn.iocoder.yudao.module.base.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCoachCourse;
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCourse;
|
||||
import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct;
|
||||
import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCourseMapper;
|
||||
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCoachCourseService;
|
||||
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseDeductService;
|
||||
@ -11,8 +13,10 @@ import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseService;
|
||||
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO;
|
||||
import cn.iocoder.yudao.module.base.vo.DlDriveSchoolCourseVO;
|
||||
import cn.iocoder.yudao.module.jx.utils.StringUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -20,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -90,8 +95,17 @@ public class DlDriveSchoolCourseServiceImpl extends ServiceImpl<DlDriveSchoolCou
|
||||
DlDriveSchoolCourse course = BeanUtils.toBean(courseVO, DlDriveSchoolCourse.class);
|
||||
saveOrUpdate(course);
|
||||
coachCourseService.saveCoachCourse(course.getId(), courseVO.getName(), courseVO.getType(), courseVO.getCoachList());
|
||||
// 删除提成配置
|
||||
driveSchoolCourseDeductService.remove(Wrappers.<DriveSchoolCourseDeduct>lambdaQuery()
|
||||
.eq(DriveSchoolCourseDeduct::getCourseId, course.getId()));
|
||||
//设置提成信息课程id
|
||||
courseVO.getDeductList().forEach(deduct -> {
|
||||
deduct.setCourseId(course.getId());
|
||||
deduct.setId(null);
|
||||
});
|
||||
|
||||
// 保存提成信息
|
||||
driveSchoolCourseDeductService.defaultAdd(course.getId());
|
||||
driveSchoolCourseDeductService.saveBatch(courseVO.getDeductList());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -126,24 +140,39 @@ public class DlDriveSchoolCourseServiceImpl extends ServiceImpl<DlDriveSchoolCou
|
||||
Map<String, List<String>> groupedCoachMap = coachList.stream()
|
||||
.collect(Collectors.groupingBy(
|
||||
DlDriveSchoolCoachVO::getCoachName,
|
||||
Collectors.mapping(coach -> "科目" + coach.getSubject() , Collectors.toList())
|
||||
Collectors.mapping(coach -> "科目" + coach.getSubject(), Collectors.toList())
|
||||
));
|
||||
// 将 groupedCoachMap 转换为字符串格式
|
||||
String resultString = groupedCoachMap.entrySet().stream()
|
||||
.map(entry -> entry.getKey() + "[" + String.join(" ", entry.getValue()) + "]")
|
||||
.collect(Collectors.joining(", "));
|
||||
result.setCoachListText(resultString);
|
||||
// 查询提成配置
|
||||
List<DriveSchoolCourseDeduct> deducts = driveSchoolCourseDeductService.list(Wrappers.<DriveSchoolCourseDeduct>lambdaQuery()
|
||||
.eq(DriveSchoolCourseDeduct::getCourseId, id));
|
||||
if (CollUtil.isEmpty(deducts)) {
|
||||
// 科目一到科目四都为0
|
||||
for (int i = 1; i <= 4; i++) {
|
||||
DriveSchoolCourseDeduct deduct = new DriveSchoolCourseDeduct();
|
||||
deduct.setCourseId(id);
|
||||
deduct.setCourseSubject(i + "");
|
||||
deduct.setDeduct(new BigDecimal("0"));
|
||||
deducts.add(deduct);
|
||||
}
|
||||
}
|
||||
result.setDeductList(deducts);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 数据类型转换
|
||||
* @author PQZ
|
||||
* @date 14:25 2025/2/8
|
||||
*
|
||||
* @param coachList TODO
|
||||
* @return java.util.List<cn.iocoder.yudao.module.base.vo.DlDriveSchoolCoachVO>
|
||||
**/
|
||||
* @author PQZ
|
||||
* @date 14:25 2025/2/8
|
||||
**/
|
||||
private List<DlDriveSchoolCoachVO> transCoachList(List<DlDriveSchoolCoachCourse> coachList) {
|
||||
List<DlDriveSchoolCoachVO> transList = new ArrayList<>();
|
||||
if (!coachList.isEmpty()) {
|
||||
|
@ -1,6 +1,7 @@
|
||||
package cn.iocoder.yudao.module.base.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolCourse;
|
||||
import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct;
|
||||
import cn.iocoder.yudao.module.jx.core.page.TenantBaDO;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
@ -16,4 +17,5 @@ import java.util.List;
|
||||
public class DlDriveSchoolCourseVO extends DlDriveSchoolCourse {
|
||||
private List<DlDriveSchoolCoachVO> coachList;
|
||||
private String coachListText;
|
||||
private List<DriveSchoolCourseDeduct> deductList;
|
||||
}
|
||||
|
@ -7,6 +7,8 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.base.constant.SchoolBaseConstants;
|
||||
import cn.iocoder.yudao.module.base.entity.DriveSchoolCourseDeduct;
|
||||
import cn.iocoder.yudao.module.base.service.DlDriveSchoolCourseDeductService;
|
||||
import cn.iocoder.yudao.module.base.service.DlDriveSchoolStudentService;
|
||||
import cn.iocoder.yudao.module.base.service.SchoolNotifyMessageSendService;
|
||||
import cn.iocoder.yudao.module.course.entity.Process;
|
||||
@ -52,8 +54,8 @@ import static cn.iocoder.yudao.module.base.utils.DriveSchoolBaseUtil.getSubjectS
|
||||
public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> implements ProcessService {
|
||||
@Autowired
|
||||
private ProcessMapper processMapper;
|
||||
@Resource
|
||||
private IDriveSchoolDeductService deductService;
|
||||
// @Resource
|
||||
// private IDriveSchoolDeductService deductService;
|
||||
@Resource
|
||||
private AdminUserApi userApi;
|
||||
@Resource
|
||||
@ -70,6 +72,9 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
||||
@Autowired
|
||||
private SchoolNotifyMessageSendService schoolNotifyMessageSendService;
|
||||
|
||||
@Autowired
|
||||
private DlDriveSchoolCourseDeductService deductService;
|
||||
|
||||
|
||||
/**
|
||||
* 教练查自己带教的课程和科目
|
||||
@ -262,7 +267,10 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
||||
if (process.getFinancePass()) {
|
||||
//根据科目查询规则
|
||||
if (null != process.getSubject()) {
|
||||
DriveSchoolDeduct deduct = deductService.queryBySubject(process.getSubject().toString());
|
||||
// 根据课程id查询配置
|
||||
DriveSchoolCourseDeduct deduct = deductService.getOne(Wrappers.<DriveSchoolCourseDeduct>lambdaQuery()
|
||||
.eq(DriveSchoolCourseDeduct::getCourseId, process.getCourseId())
|
||||
.eq(DriveSchoolCourseDeduct::getCourseSubject, process.getSubject()));
|
||||
//如果存在提成规则则生成提成记录
|
||||
if (null != deduct) {
|
||||
SchoolCommission schoolCommission = new SchoolCommission();
|
||||
@ -379,7 +387,7 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
||||
AdminUserRespDTO user = userApi.getUser(userId);
|
||||
String userName = user.getNickname();
|
||||
String userPhone = user.getMobile();
|
||||
String messageToCoach = String.format(SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TEMPLATE_ASSIGN_COACH_TO_COACH,userName,userPhone);
|
||||
String messageToCoach = String.format(SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TEMPLATE_ASSIGN_COACH_TO_COACH, userName, userPhone);
|
||||
schoolNotifyMessageSendService.sendMessage(request.getProcessList().get(0).getCoachId(), messageToCoach, SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TYPE_ADMIN, null);
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user