0619
This commit is contained in:
parent
f20e476027
commit
79fcb13cc7
@ -150,4 +150,14 @@ public interface SchoolBaseConstants {
|
|||||||
*/
|
*/
|
||||||
public static final String SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_PAY_TO_MEMBER = "学员 %s 订单已支付!";
|
public static final String SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_PAY_TO_MEMBER = "学员 %s 订单已支付!";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核不通过
|
||||||
|
*/
|
||||||
|
public static final String SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_AUDIT_NOT_PASS = "驾校学员 %s ,身份证号:%s,科目 %s 的提成审核未通过,原因:%s 。请查看!";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 待审核
|
||||||
|
*/
|
||||||
|
public static final String SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_AUDIT_WAIT = "驾校学员 %s ,身份证号:%s,科目 %s 的考试已通过,提成待审核,请查看!";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -142,15 +142,15 @@ public class ProcessController {
|
|||||||
/**
|
/**
|
||||||
* 财务审核
|
* 财务审核
|
||||||
*
|
*
|
||||||
* @param process {@link Process}
|
* @param processVO {@link Process}
|
||||||
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.Boolean>
|
* @return cn.iocoder.yudao.framework.common.pojo.CommonResult<java.lang.Boolean>
|
||||||
* @author PQZ
|
* @author PQZ
|
||||||
* @date 15:23 2025/2/18
|
* @date 15:23 2025/2/18
|
||||||
**/
|
**/
|
||||||
@PostMapping("/check")
|
@PostMapping("/check")
|
||||||
@Operation(summary = "财务审核")
|
@Operation(summary = "财务审核")
|
||||||
public CommonResult<Boolean> saveSchoolCoach(@Valid @RequestBody Process process) {
|
public CommonResult<Boolean> saveSchoolCoach(@Valid @RequestBody ProcessVO processVO) {
|
||||||
processService.checkProcess(process);
|
processService.checkProcess(processVO);
|
||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -48,6 +48,10 @@ public class SchoolCommission extends TenantBaseDO {
|
|||||||
* 学生姓名
|
* 学生姓名
|
||||||
*/
|
*/
|
||||||
private String studentName;
|
private String studentName;
|
||||||
|
/**
|
||||||
|
* 学院身份证号
|
||||||
|
*/
|
||||||
|
private String studentIdCard;
|
||||||
/**
|
/**
|
||||||
* 提成金额
|
* 提成金额
|
||||||
*/
|
*/
|
||||||
@ -76,5 +80,9 @@ public class SchoolCommission extends TenantBaseDO {
|
|||||||
* 支付时间
|
* 支付时间
|
||||||
*/
|
*/
|
||||||
private Date payTime;
|
private Date payTime;
|
||||||
|
/**
|
||||||
|
* 审核备注
|
||||||
|
*/
|
||||||
|
private String checkRemark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -99,11 +99,11 @@ public interface ProcessService extends IService<Process> {
|
|||||||
/**
|
/**
|
||||||
* 财务审核
|
* 财务审核
|
||||||
*
|
*
|
||||||
* @param process {@link Process}
|
* @param processVO {@link Process}
|
||||||
* @author PQZ
|
* @author PQZ
|
||||||
* @date 15:24 2025/2/18
|
* @date 15:24 2025/2/18
|
||||||
**/
|
**/
|
||||||
void checkProcess(Process process);
|
void checkProcess(ProcessVO processVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存学员课程进度
|
* 保存学员课程进度
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
|
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
||||||
import cn.iocoder.yudao.module.base.constant.SchoolBaseConstants;
|
import cn.iocoder.yudao.module.base.constant.SchoolBaseConstants;
|
||||||
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent;
|
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent;
|
||||||
import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCourseMapper;
|
import cn.iocoder.yudao.module.base.mapper.DlDriveSchoolCourseMapper;
|
||||||
@ -33,8 +34,10 @@ import cn.iocoder.yudao.module.exam.mapper.ExamBatchItemMapper;
|
|||||||
import cn.iocoder.yudao.module.exam.vo.ExamBatchItemNewVO;
|
import cn.iocoder.yudao.module.exam.vo.ExamBatchItemNewVO;
|
||||||
import cn.iocoder.yudao.module.jx.domain.DriveSchoolDeduct;
|
import cn.iocoder.yudao.module.jx.domain.DriveSchoolDeduct;
|
||||||
import cn.iocoder.yudao.module.jx.service.IDriveSchoolDeductService;
|
import cn.iocoder.yudao.module.jx.service.IDriveSchoolDeductService;
|
||||||
|
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
|
||||||
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
||||||
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
||||||
|
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
@ -97,6 +100,9 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
|||||||
@Resource
|
@Resource
|
||||||
private SchoolCourseSchemeService schemeService;
|
private SchoolCourseSchemeService schemeService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RoleApi roleApi;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 教练查自己带教的课程和科目
|
* 教练查自己带教的课程和科目
|
||||||
@ -343,7 +349,7 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
|||||||
}*/
|
}*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void checkProcess(Process process) {
|
public void checkProcess(ProcessVO process) {
|
||||||
// 查询原始数据和当前用户信息
|
// 查询原始数据和当前用户信息
|
||||||
Process oldProcess = getById(process.getId());
|
Process oldProcess = getById(process.getId());
|
||||||
Long userId = SecurityFrameworkUtils.getLoginUserId();
|
Long userId = SecurityFrameworkUtils.getLoginUserId();
|
||||||
@ -355,6 +361,20 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!process.getFinancePass()){
|
||||||
|
// 审核不通过需要发送站内信通知(姓名、科目、原因、时间、审核人)
|
||||||
|
Long tenantId = TenantContextHolder.getTenantId();
|
||||||
|
List<UserDTO> officeStaffList = roleApi.selectUserListByRoleCode(tenantId, "school_staff");
|
||||||
|
|
||||||
|
if (officeStaffList != null && !officeStaffList.isEmpty()) {
|
||||||
|
String officeMessage = String.format(SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_AUDIT_NOT_PASS, process.getUserName(), process.getStudentIdCard(), process.getSubject(), process.getFinanceRemark());
|
||||||
|
|
||||||
|
for (UserDTO staff : officeStaffList) {
|
||||||
|
schoolNotifyMessageSendService.sendMessage(staff.getId(), officeMessage, SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TYPE_ADMIN, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 查询提成规则
|
// 查询提成规则
|
||||||
DriveSchoolCourseDeduct deduct = deductService.getOne(
|
DriveSchoolCourseDeduct deduct = deductService.getOne(
|
||||||
Wrappers.<DriveSchoolCourseDeduct>lambdaQuery()
|
Wrappers.<DriveSchoolCourseDeduct>lambdaQuery()
|
||||||
@ -375,6 +395,7 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
|||||||
schoolCommission.setSubject(String.valueOf(oldProcess.getSubject()));
|
schoolCommission.setSubject(String.valueOf(oldProcess.getSubject()));
|
||||||
schoolCommission.setCheckId(sysUser.getId());
|
schoolCommission.setCheckId(sysUser.getId());
|
||||||
schoolCommission.setCheckName(sysUser.getNickname());
|
schoolCommission.setCheckName(sysUser.getNickname());
|
||||||
|
schoolCommission.setCheckRemark(process.getFinanceRemark());
|
||||||
|
|
||||||
// 检查是否已存在记录
|
// 检查是否已存在记录
|
||||||
SchoolCommission existing = schoolCommissionService.getOne(
|
SchoolCommission existing = schoolCommissionService.getOne(
|
||||||
@ -397,6 +418,7 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
|||||||
schoolCommission.setId(existing.getId());
|
schoolCommission.setId(existing.getId());
|
||||||
schoolCommission.setDeleted(!process.getFinancePass());
|
schoolCommission.setDeleted(!process.getFinancePass());
|
||||||
schoolCommissionService.removeById(existing.getId());
|
schoolCommissionService.removeById(existing.getId());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (process.getFinancePass()) {
|
} else if (process.getFinancePass()) {
|
||||||
@ -788,15 +810,27 @@ public class ProcessServiceImpl extends ServiceImpl<ProcessMapper, Process> impl
|
|||||||
List<SchoolCourseOrderVO> courseByInfo = schoolCourseOrderService.getCourseByInfo(userId, courseId);
|
List<SchoolCourseOrderVO> courseByInfo = schoolCourseOrderService.getCourseByInfo(userId, courseId);
|
||||||
BigDecimal studentPay = BigDecimal.ZERO;
|
BigDecimal studentPay = BigDecimal.ZERO;
|
||||||
BigDecimal studentRemainingPay = BigDecimal.ZERO;
|
BigDecimal studentRemainingPay = BigDecimal.ZERO;
|
||||||
|
String studentIdCard = null;
|
||||||
if (!courseByInfo.isEmpty()) {
|
if (!courseByInfo.isEmpty()) {
|
||||||
studentPay = courseByInfo.get(0).getReserveMoney() != null ?
|
studentPay = courseByInfo.get(0).getReserveMoney() != null ?
|
||||||
courseByInfo.get(0).getReserveMoney() : BigDecimal.ZERO;
|
courseByInfo.get(0).getReserveMoney() : BigDecimal.ZERO;
|
||||||
studentRemainingPay = courseByInfo.get(0).getRestMoney() != null ?
|
studentRemainingPay = courseByInfo.get(0).getRestMoney() != null ?
|
||||||
courseByInfo.get(0).getRestMoney() : BigDecimal.ZERO;
|
courseByInfo.get(0).getRestMoney() : BigDecimal.ZERO;
|
||||||
|
studentIdCard = courseByInfo.get(0).getUserNo() != null ?
|
||||||
|
courseByInfo.get(0).getUserNo() : null;
|
||||||
}
|
}
|
||||||
processVO.setCoachCommission(deduct);
|
processVO.setCoachCommission(deduct);
|
||||||
processVO.setStudentPay(studentPay);
|
processVO.setStudentPay(studentPay);
|
||||||
processVO.setStudentRemainingPay(studentRemainingPay);
|
processVO.setStudentRemainingPay(studentRemainingPay);
|
||||||
|
processVO.setStudentIdCard(studentIdCard);
|
||||||
|
List<Process> list = this.lambdaQuery()
|
||||||
|
.eq(Process::getCoachId, processVO.getCoachId())
|
||||||
|
.eq(Process::getCourseId, processVO.getCourseId())
|
||||||
|
.eq(Process::getUserId, processVO.getUserId())
|
||||||
|
.eq(Process::getDeleted, false)
|
||||||
|
.orderByAsc(Process::getSubject)
|
||||||
|
.list();
|
||||||
|
processVO.setProcessList(list);
|
||||||
return processVO;
|
return processVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -232,13 +232,81 @@ public class SchoolCourseOrderServiceImpl extends ServiceImpl<SchoolCourseOrderM
|
|||||||
throw new RuntimeException("订单不存在");
|
throw new RuntimeException("订单不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
//判断新订单课程与旧订单课程是否一致
|
// 检查是否需要更新进度记录
|
||||||
if (!oldOrder.getCourseId().equals(createReqVO.getCourseId())) {
|
boolean isCourseChanged = !oldOrder.getCourseId().equals(createReqVO.getCourseId());
|
||||||
// 删除学习记录表中的课程记录
|
boolean isCoachChanged = !oldOrder.getCoachUserId().equals(createReqVO.getCoachUserId());
|
||||||
processService.remove(Wrappers.lambdaQuery(Process.class)
|
if (isCourseChanged || isCoachChanged) {
|
||||||
|
// 查询所有进度记录
|
||||||
|
List<Process> processList = processService.lambdaQuery()
|
||||||
.eq(Process::getUserId, oldOrder.getUserId())
|
.eq(Process::getUserId, oldOrder.getUserId())
|
||||||
.eq(Process::getCourseId, oldOrder.getCourseId()));
|
.eq(Process::getCourseId, oldOrder.getCourseId())
|
||||||
|
.list();
|
||||||
|
|
||||||
|
if (!processList.isEmpty()) {
|
||||||
|
for (Process process : processList) {
|
||||||
|
// 如果课程变化,更新课程信息
|
||||||
|
if (isCourseChanged) {
|
||||||
|
process.setCourseId(createReqVO.getCourseId());
|
||||||
|
process.setCourseName(createReqVO.getCourseName());
|
||||||
|
}
|
||||||
|
// 如果教练变化,更新教练信息
|
||||||
|
if (isCoachChanged) {
|
||||||
|
if (createReqVO.getCoachUserId() != null) {
|
||||||
|
process.setCoachId(Long.valueOf(createReqVO.getCoachUserId()));
|
||||||
|
}
|
||||||
|
process.setCoachName(createReqVO.getCoachUserName());
|
||||||
|
}
|
||||||
|
processService.updateById(process);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
/*//判断新订单课程与旧订单课程是否一致
|
||||||
|
if (!oldOrder.getCourseId().equals(createReqVO.getCourseId())) {
|
||||||
|
// 查询所有进度
|
||||||
|
List<Process> processList = processService.lambdaQuery()
|
||||||
|
.eq(Process::getUserId, oldOrder.getUserId())
|
||||||
|
.eq(Process::getCourseId, oldOrder.getCourseId())
|
||||||
|
.list();
|
||||||
|
|
||||||
|
if (!processList.isEmpty()) {
|
||||||
|
for (Process process : processList) {
|
||||||
|
// 更新课程ID
|
||||||
|
process.setCourseId(createReqVO.getCourseId());
|
||||||
|
// 更新课程名称
|
||||||
|
process.setCourseName(createReqVO.getCourseName());
|
||||||
|
// 更新教练ID
|
||||||
|
process.setCoachId(Long.valueOf(createReqVO.getCoachUserId()));
|
||||||
|
// 更新教练名称
|
||||||
|
process.setCoachName(createReqVO.getCoachUserName());
|
||||||
|
processService.updateById(process);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 如果课程一直,判断教练是否一致
|
||||||
|
if (!oldOrder.getCoachUserId().equals(createReqVO.getCoachUserId())) {
|
||||||
|
// 查询所有进度
|
||||||
|
List<Process> processList = processService.lambdaQuery()
|
||||||
|
.eq(Process::getUserId, oldOrder.getUserId())
|
||||||
|
.eq(Process::getCourseId, oldOrder.getCourseId())
|
||||||
|
.list();
|
||||||
|
|
||||||
|
if (!processList.isEmpty()) {
|
||||||
|
for (Process process : processList) {
|
||||||
|
// 更新教练ID
|
||||||
|
process.setCoachId(Long.valueOf(createReqVO.getCoachUserId()));
|
||||||
|
// 更新教练名称
|
||||||
|
process.setCoachName(createReqVO.getCoachUserName());
|
||||||
|
processService.updateById(process);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
//判断新订单课程与旧订单课程是否一致
|
||||||
|
// if (!oldOrder.getCourseId().equals(createReqVO.getCourseId())) {
|
||||||
|
// // 删除学习记录表中的课程记录
|
||||||
|
// processService.remove(Wrappers.lambdaQuery(Process.class)
|
||||||
|
// .eq(Process::getUserId, oldOrder.getUserId())
|
||||||
|
// .eq(Process::getCourseId, oldOrder.getCourseId()));
|
||||||
|
// }
|
||||||
|
|
||||||
SchoolCourseOrder schoolCourseOrder = BeanUtil.copyProperties(oldOrder, SchoolCourseOrder.class);
|
SchoolCourseOrder schoolCourseOrder = BeanUtil.copyProperties(oldOrder, SchoolCourseOrder.class);
|
||||||
schoolCourseOrder.setOldOrderId(oldOrder.getId());
|
schoolCourseOrder.setOldOrderId(oldOrder.getId());
|
||||||
@ -254,7 +322,7 @@ public class SchoolCourseOrderServiceImpl extends ServiceImpl<SchoolCourseOrderM
|
|||||||
schoolCourseOrder.setCreateTime(null);
|
schoolCourseOrder.setCreateTime(null);
|
||||||
schoolCourseOrder.setUpdateTime(null);
|
schoolCourseOrder.setUpdateTime(null);
|
||||||
schoolCourseOrder.setDeleted(SchoolBaseConstants.COMMON_NO);
|
schoolCourseOrder.setDeleted(SchoolBaseConstants.COMMON_NO);
|
||||||
schoolCourseOrder.setIfAssignmentCoach(SchoolBaseConstants.SCHOOL_COURSE_ORDER_IS_NOT_ASSIGN_COACH);
|
schoolCourseOrder.setIfAssignmentCoach(SchoolBaseConstants.SCHOOL_COURSE_ORDER_IS_ASSIGN_COACH);
|
||||||
schoolCourseOrder.setIfEnd(SchoolBaseConstants.COMMON_NO);
|
schoolCourseOrder.setIfEnd(SchoolBaseConstants.COMMON_NO);
|
||||||
schoolCourseOrder.setEndReason(null);
|
schoolCourseOrder.setEndReason(null);
|
||||||
schoolCourseOrder.setEndTime(null);
|
schoolCourseOrder.setEndTime(null);
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import lombok.Data;
|
|||||||
import org.apache.poi.hpsf.Decimal;
|
import org.apache.poi.hpsf.Decimal;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 驾校-学员课程进度 DO
|
* 驾校-学员课程进度 DO
|
||||||
@ -33,4 +34,9 @@ public class ProcessVO extends Process {
|
|||||||
private String name;
|
private String name;
|
||||||
/** 学员头像 */
|
/** 学员头像 */
|
||||||
private String avatar;
|
private String avatar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 学习进度
|
||||||
|
*/
|
||||||
|
private List<Process> processList;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,10 @@ import cn.hutool.core.date.DateUtil;
|
|||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
||||||
|
import cn.iocoder.yudao.module.base.constant.SchoolBaseConstants;
|
||||||
|
import cn.iocoder.yudao.module.base.entity.DlDriveSchoolStudent;
|
||||||
import cn.iocoder.yudao.module.base.service.DlDriveSchoolStudentService;
|
import cn.iocoder.yudao.module.base.service.DlDriveSchoolStudentService;
|
||||||
|
import cn.iocoder.yudao.module.base.service.SchoolNotifyMessageSendService;
|
||||||
import cn.iocoder.yudao.module.course.entity.Process;
|
import cn.iocoder.yudao.module.course.entity.Process;
|
||||||
import cn.iocoder.yudao.module.course.entity.SchoolCourseOrder;
|
import cn.iocoder.yudao.module.course.entity.SchoolCourseOrder;
|
||||||
import cn.iocoder.yudao.module.course.service.ProcessService;
|
import cn.iocoder.yudao.module.course.service.ProcessService;
|
||||||
@ -19,12 +22,17 @@ import cn.iocoder.yudao.module.exam.vo.ExamBatchItemNewVO;
|
|||||||
import cn.iocoder.yudao.module.jx.domain.StudentScoreInput;
|
import cn.iocoder.yudao.module.jx.domain.StudentScoreInput;
|
||||||
import cn.iocoder.yudao.module.jx.mapper.StudentScoreInputMapper;
|
import cn.iocoder.yudao.module.jx.mapper.StudentScoreInputMapper;
|
||||||
import cn.iocoder.yudao.module.jx.service.StudentScoreInputService;
|
import cn.iocoder.yudao.module.jx.service.StudentScoreInputService;
|
||||||
|
import cn.iocoder.yudao.module.system.api.permission.RoleApi;
|
||||||
|
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -50,6 +58,12 @@ public class StudentScoreInputServiceImpl implements StudentScoreInputService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SchoolCourseOrderService schoolCourseOrderService;
|
private SchoolCourseOrderService schoolCourseOrderService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RoleApi roleApi;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SchoolNotifyMessageSendService schoolNotifyMessageSendService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 录入学员成绩
|
* 录入学员成绩
|
||||||
*/
|
*/
|
||||||
@ -69,6 +83,28 @@ public class StudentScoreInputServiceImpl implements StudentScoreInputService {
|
|||||||
|
|
||||||
// 如果是科2和科3 需要创建批次信息
|
// 如果是科2和科3 需要创建批次信息
|
||||||
if(studentScoreInput.getSubject() == 2 || studentScoreInput.getSubject() == 3){
|
if(studentScoreInput.getSubject() == 2 || studentScoreInput.getSubject() == 3){
|
||||||
|
|
||||||
|
if("1".equals(studentScoreInput.getExamStatus())){
|
||||||
|
// 向会计和出纳发送信息
|
||||||
|
Long tenantId = TenantContextHolder.getTenantId();
|
||||||
|
List<UserDTO> kjStaffList = roleApi.selectUserListByRoleCode(tenantId, "kj");
|
||||||
|
List<UserDTO> cnStaffList = roleApi.selectUserListByRoleCode(tenantId, "cn");
|
||||||
|
List<UserDTO> allStaffList = new ArrayList<>();
|
||||||
|
allStaffList.addAll(kjStaffList);
|
||||||
|
allStaffList.addAll(cnStaffList);
|
||||||
|
DlDriveSchoolStudent studentByUserId = dlDriveSchoolStudentService.getStudentByUserId(studentScoreInput.getUserId());
|
||||||
|
String studentIdCard = null;
|
||||||
|
if(studentByUserId != null){
|
||||||
|
studentIdCard = studentByUserId.getIdCard();
|
||||||
|
}
|
||||||
|
if (allStaffList != null && !allStaffList.isEmpty()) {
|
||||||
|
String officeMessage = String.format(SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TEMPLATE_MEMBER_AUDIT_WAIT, studentScoreInput.getUserName(), studentIdCard, studentScoreInput.getSubject());
|
||||||
|
for (UserDTO staff : allStaffList) {
|
||||||
|
schoolNotifyMessageSendService.sendMessage(staff.getId(), officeMessage, SchoolBaseConstants.SCHOOL_NOTIFY_MESSAGE_TYPE_ADMIN, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
// 生成批次信息
|
// 生成批次信息
|
||||||
ExamBatch examBatch = new ExamBatch();
|
ExamBatch examBatch = new ExamBatch();
|
||||||
String timestamp = DateUtil.format(DateUtil.date(), "yyyyMMddHHmmss");
|
String timestamp = DateUtil.format(DateUtil.date(), "yyyyMMddHHmmss");
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user