Commit 27ab940e by 梅存智

检查报名人数是否满了

parent 9182c7c1
......@@ -34,4 +34,5 @@ public interface EnrollRecordMapper extends BaseMapper<EnrollRecord> {
GetEnrollVO getEnrollByProjectId(@Param("projectId")Long projectId);
Integer selectEnrollCountByProjectId(@Param("projectId")Long projectId);
}
......@@ -10,10 +10,12 @@ import com.yizhi.application.orm.id.IdGenerator;
import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.core.application.context.RequestContext;
import com.yizhi.core.application.event.EventWrapper;
import com.yizhi.core.application.exception.BizException;
import com.yizhi.core.application.publish.CloudEventPublisher;
import com.yizhi.core.application.task.AbstractTaskHandler;
import com.yizhi.core.application.task.TaskExecutor;
import com.yizhi.enroll.application.enums.EvenType;
import com.yizhi.application.mapper.EnrollMapper;
import com.yizhi.application.mapper.EnrollRecordMapper;
import com.yizhi.application.service.EnrollRecordService;
import com.yizhi.application.service.EnrollService;
......@@ -24,6 +26,7 @@ import com.yizhi.enroll.application.vo.TrainningEnrollVO;
import com.yizhi.training.application.feign.TrainingProjectClient;
import com.yizhi.training.application.vo.domain.TrainingProjectVo;
import com.yizhi.util.application.constant.QueueConstant;
import com.yizhi.util.application.constant.ReturnCode;
import com.yizhi.util.application.event.TrainingProjectEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -64,6 +67,9 @@ public class EnrollRecordServiceImpl extends ServiceImpl<EnrollRecordMapper, Enr
@Autowired
private TrainingProjectClient trainingProjectClient;
@Autowired
EnrollMapper enrollMapper;
@Override
public List<EnrollerVo> exportRegisteredList(Map<String, Object> map) {
return enrollRecordMapper.exportRegisteredList(map);
......@@ -97,6 +103,15 @@ public class EnrollRecordServiceImpl extends ServiceImpl<EnrollRecordMapper, Enr
}
}
//检查报名人数是否满了
Enroll enrollConfig = enrollService.selectByProjectId(trainingProjectId);
if(enrollConfig.getPersonLimitNum() > 0){
Integer count = enrollRecordMapper.selectEnrollCountByProjectId(trainingProjectId);
if(count != null && count >= enrollConfig.getPersonLimitNum()){
return null;
}
}
EnrollRecord enrollRecord = new EnrollRecord();
enrollRecord.setId(idGenerator.generate());
enrollRecord.setTrainingProjectId(trainingProjectId);
......@@ -106,7 +121,7 @@ public class EnrollRecordServiceImpl extends ServiceImpl<EnrollRecordMapper, Enr
//通过项目ID获取项目下学员是否需要审核 ,0:不需要审核,1:待审核
Integer auditStatus = enrollService.queryNeedAuditByTrainingProjectId(trainingProjectId);
enrollRecord.setAuditStatus(auditStatus);
Enroll enrollConfig = enrollService.selectByProjectId(trainingProjectId);
if (enrollConfig != null && enrollConfig.getEnablePay() != null && enrollConfig.getEnablePay() == 1) {
enrollRecord.setExpenditure(enrollConfig.getActualPrice());
}
......
......@@ -127,4 +127,11 @@
a.audit_status=#{auditStatus} where a.id=#{id}
</update>
<select id="selectEnrollCountByProjectId" resultType="java.lang.Integer">
SELECT COUNT(DISTINCT p.account_id)
FROM training_project a
LEFT JOIN tp_student_enroll_passed p ON a.id=p.training_project_id
WHERE a.id=#{projectId} AND a.enable_enroll=1 AND a.deleted=0
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment