package com.jiajiao.web.service.Impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.jiajiao.web.dao.*;
import com.jiajiao.web.enums.UserReqConst;
import com.jiajiao.web.form.CommentForm;
import com.jiajiao.web.form.GetStudentResumeOrderForm;
import com.jiajiao.web.form.StudentResumeForm;
import com.jiajiao.web.pojo.*;
import com.jiajiao.web.service.IStudentService;
import com.jiajiao.web.utils.ParentNeedUtil;
import com.jiajiao.web.vo.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service
@Transactional
public class StudentServiceImpl implements IStudentService {
@Autowired
StudentResumeMapper resumeMapper;
@Autowired
StudentAcademyMapper academyMapper;
@Autowired
SubjectMapper subjectMapper;
@Autowired
TimeMapper timeMapper;
@Autowired
StudentSentMapper studentSentMapper;
@Autowired
ParentSentMapper parentSentMapper;
@Autowired
ParentNeedMapper parentNeedMapper;
@Autowired
MessagesServiceImpl messagesService;
@Override
public ResponseVo getStudentAcademy() {
List<StudentAcademy> academyList = academyMapper.selectAll();
return ResponseVo.success("学院返回成功", academyList);
}
@Override
public ResponseVo getStudentResumeByUId(Integer uId) {
List<StudentResume> resumeList = resumeMapper.selectByUId(uId);
List<StudentResumeVo> studentResumeVoList = buildStudentResumeVoList(resumeList);
return ResponseVo.success("个人的简历获取成功", studentResumeVoList);
}
@Override
public ResponseVo addStudentResume(StudentResumeVo studentResumeVo, Integer uId) {
List<StudentResume> studentResumeList = resumeMapper.selectByUId(uId);
if (studentResumeList.size() >= 3) {
return ResponseVo.error("请勿添加过多简历");
}
//插入Resume表
StudentResume studentResume = studentResumeVo.getStudentResume();
studentResume.setuId(uId);
resumeMapper.insertSelective(studentResume);
Integer outId = studentResume.getId();
//插入subject 表
insertNewSubject(outId, studentResumeVo);
//插入Time表
insertNewTime(outId, studentResumeVo);
return ResponseVo.success("插入成功");
}
@Override
public ResponseVo updateStudentResume(StudentResumeVo studentResumeVo) {
//更新StudentResume
StudentResume studentResume = studentResumeVo.getStudentResume();
resumeMapper.updateByPrimaryKeySelective(studentResume);
Integer outId = studentResume.getId();
//更新对应的Time 表
timeMapper.deleteByOutKey(outId, UserReqConst.TIME_STUDENT_TYPE);
insertNewTime(outId, studentResumeVo);
//更更新对应的Subject 表
subjectMapper.deleteByOutKey(outId, UserReqConst.SUBJECT_STUDENT_TYPE);
insertNewSubject(outId, studentResumeVo);
return ResponseVo.success("简历更新成功");
}
public boolean checkIdAndUId(Integer id, Integer uId) {
//校验uId 与 id 是否一致
StudentResume checkResume = resumeMapper.selectByPrimaryKey(id);
// if (checkResume == null || !checkResume.getuId().equals(uId)) {
// return false;
// }
return true;
}
@Override
public ResponseVo getStudentsResumes(GetStudentResumeOrderForm getStudentResumeOrderVo) {
//格式化时间
if(getStudentResumeOrderVo.getFreeTimeString()!=null){
List<Integer> freeTime=new ArrayList<>();
for(String time:getStudentResumeOrderVo.getFreeTimeString()){
freeTime.add(timeStringToInteger(time));
}
getStudentResumeOrderVo.setFreeTime(freeTime);
}
// System.out.println(getStudentResumeOrderVo);
//分页控制
PageHelper.startPage(getStudentResumeOrderVo.getPageNum(), getStudentResumeOrderVo.getPageSize());
//获取StudentResumeList
List<StudentResume> studentResumeList = resumeMapper.selectAllByOrder(getStudentResumeOrderVo);
//构建VoList
List<StudentResumeVo> studentResumeVoList = buildStudentResumeVoList(studentResumeList);
PageInfo<StudentResumeVo> pageInfo = new PageInfo<>(studentResumeVoList);
Integer count = resumeMapper.selectAllByOrderCount(getStudentResumeOrderVo);
return ResponseVo.success(""+count, pageInfo);
}
@Override
public ResponseVo deleteStudentResume(Integer id) {
//todo 通知 接收到需求 已关闭
//删除 简历对应的发送和接收
studentSentMapper.deleteByStudentResumeId(id);
parentSentMapper.deleteByStudentResumeId(id);
//删除 对应的time 和 课程
subjectMapper.deleteByOutKey(id, UserReqConst.SUBJECT_STUDENT_TYPE);
timeMapper.deleteByOutKey(id, UserReqConst.TIME_STUDENT_TYPE);
//删除 resume
resumeMapper.deleteByPrimaryKey(id);
return ResponseVo.success("删除成功");
}
@Override
public ResponseVo sendStudentResume(StudentSendParentVO studentSendParentVO) {
//校验简历是否发送超过5次
List<StudentSent> parentReceiveCount = studentSentMapper.selectByParentNeedId(studentSendParentVO.getpNeedId());
List<StudentSent> studentSentCount = studentSentMapper.selectByStudentResumeId(studentSendParentVO.getsResumeId());
if (studentSentCount.size() >= 5) {
return ResponseVo.error("你的发送已满,请先删除非必要的发送");
}
if (parentReceiveCount.size() >= 5) {
return ResponseVo.error("该家长已收到的简历已满");
}
//发送前判断是否发送过
for (StudentSent studentSent : studentSentCount) {
if (studentSent.getpNeedId().equals(studentSendParentVO.getpNeedId())) {
return ResponseVo.error("已发送过,请勿重复发送!");
}
}
//发送简历
StudentSent studentSent = new StudentSent();
studentSent.setsResumeId(studentSendParentVO.getsResumeId());
studentSent.setpNeedId(studentSendParentVO.getpNeedId());
studentSentMapper.insertSelective(studentSent);
//发送通知
if (!messagesService.sendMessageToParent(studentSendParentVO.getpNeedId()))
return ResponseVo.error("请选择正确的发送目标");
return ResponseVo.success("简历发送成功");
}
public ResponseVo deleteSendStudentResume(StudentSendParentVO studentSendParentVO) {
int deleteCount = studentSentMapper.deleteBySRIdAndPNId(studentSendParentVO.getsResumeId(), studentSendParentVO.getpNeedId());
if (deleteCount == 0) {
return ResponseVo.error("不可匹配的删除");
}
return ResponseVo.success("删除发送成功");
}
@Override
public ResponseVo getStudentReceive(Integer id) {
//获取pNeedIdList
List<ParentSent> parentSentList = parentSentMapper.selectByStudentResumeId(id);
List<Integer> pNeedIdList = new ArrayList<Integer>();
for (ParentSent parentSent : parentSentList) {
pNeedIdList.add(parentSent.getpNeedId());
}
if (pNeedIdList.size() == 0)
return ResponseVo.success("暂无家长投递");
//获取pNeedList的NeeList
List<ParentNeed> parentNeedList = parentNeedMapper.selectByIdList(pNeedIdList);
//根据NeedList 构建VoList
List<ParentNeedVo> parentNeedVoList = ParentNeedUtil.buildParentNeedVoList(parentNeedList, timeMapper, subjectMapper);
return ResponseVo.success("接受的简历查询成功", parentNeedVoList);
}
@Ov
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot + docker毕业设计--家教系统.zip
共125个文件
java:104个
xml:17个
yml:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 13 浏览量
2024-03-29
15:28:59
上传
评论
收藏 104KB ZIP 举报
温馨提示
基于springboot + docker毕业设计--家教系统
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot + docker毕业设计--家教系统.zip (125个子文件)
Dockerfile 154B
.gitignore 395B
testAxios.html 595B
StudentServiceImpl.java 14KB
ParentServiceImpl.java 14KB
RecommendServiceImpl.java 12KB
VolunteerServiceImpl.java 8KB
RedisServiceImpl.java 8KB
ParentController.java 6KB
StudentController.java 6KB
UserServiceImpl.java 6KB
StudentResume.java 6KB
ParentNeed.java 5KB
VolunteerController.java 5KB
StudentHelpServiceImpl.java 4KB
AdminServiceImpl.java 3KB
StudentHelpController.java 3KB
MessagesServiceImpl.java 3KB
GetStudentResumeOrderForm.java 3KB
UserController.java 3KB
GetParentNeedOrderForm.java 3KB
User.java 2KB
SmsTemplate.java 2KB
StudentHelp.java 2KB
MessagesController.java 2KB
VolunteerCollection.java 2KB
RecommendController.java 2KB
SendSmsImpl.java 2KB
ResponseVo.java 2KB
StudentResumeForm.java 2KB
CommentController.java 2KB
StudentResumeUtil.java 2KB
AdminController.java 2KB
StoreToRedisImplTest.java 2KB
ParentNeedUtil.java 2KB
UserServiceImplTest.java 1KB
CommentServiceImpl.java 1KB
UserMessages.java 1KB
StudentSend.java 1KB
ParentNeedForm.java 1KB
VolunteerThings.java 1KB
StudentResumeVo.java 1KB
ExecptionHandler.java 1KB
ParentNeedVo.java 1KB
CookieUtils.java 1KB
Comment.java 1KB
IStudentService.java 1KB
StudentSent.java 1KB
ParentSent.java 1KB
UserSumVo.java 1KB
IParentService.java 1KB
IVolunteerService.java 994B
LoginInterceptor.java 981B
ParentNeedMapper.java 968B
StudentResumeMapper.java 964B
Time.java 950B
Subject.java 925B
IRedisService.java 915B
ParentServiceImplTest.java 887B
StudentSentMapper.java 870B
ParentSentMapper.java 860B
LoginForm.java 820B
VolunteerThingsMapper.java 810B
VolunteerCollectionMapper.java 806B
StudentSendParentVO.java 777B
ParentSendStudentVo.java 777B
SubjectMapper.java 753B
CorsConfig.java 724B
TimeMapper.java 722B
ThingsMapper.java 717B
IStudentHelpService.java 689B
RegisterForm.java 689B
SmsController.java 654B
IUserService.java 653B
IMessagesServiceTest.java 621B
SmsConfigue.java 618B
CommentMapper.java 594B
StudentSendMapper.java 592B
StudentHelpMapper.java 591B
IMessagesService.java 590B
RecommendNeedByNeedThread.java 580B
InterceptorConfig.java 572B
VolunteerCollectionVo.java 566B
VolunteerThingsForm.java 562B
StudentAcademyMapper.java 535B
UserMessagesMapper.java 533B
SmsTemplateFactory.java 520B
Things.java 520B
WebApplication.java 498B
ExceptionEnum.java 490B
StudentHelpVo.java 470B
UserReqConst.java 469B
UserRoleEnum.java 458B
HttpStatusEnum.java 441B
UserMapper.java 439B
StudentAcademy.java 413B
CommentForm.java 413B
MessageStatusEnum.java 397B
IRecommendService.java 360B
WebApplicationTests.java 352B
共 125 条
- 1
- 2
资源评论
不走小道
- 粉丝: 3239
- 资源: 5112
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功