付智勇

修改预约

1 var Sequelize = require('sequelize'); 1 var Sequelize = require('sequelize');
2 //数据配置 2 //数据配置
3 var sequelize = new Sequelize('xin3m_saas', 'test_read', "test_read7", { 3 var sequelize = new Sequelize('xin3m_saas', 'test_read', "test_read7", {
  4 + // var sequelize = new Sequelize('xuedianyun', 'root', "", {
  5 + //host:'localhost',
4 host:'rds9vo3ja79e62m0433jo.mysql.rds.aliyuncs.com', 6 host:'rds9vo3ja79e62m0433jo.mysql.rds.aliyuncs.com',
5 dialect: 'mysql', 7 dialect: 'mysql',
6 pool: { 8 pool: {
7 - max: 5, 9 + max: 10,
8 min: 0, 10 min: 0,
9 - idle: 30000 11 + idle: 1000
10 } 12 }
11 }) 13 })
12 14
@@ -48,6 +48,7 @@ studentMeetingController.prototype.getStudentMeetingCount = async(ctx, next) =>{ @@ -48,6 +48,7 @@ studentMeetingController.prototype.getStudentMeetingCount = async(ctx, next) =>{
48 48
49 49
50 studentMeetingController.prototype.queryStudentMeeting = async(ctx, next)=>{ 50 studentMeetingController.prototype.queryStudentMeeting = async(ctx, next)=>{
  51 + try {
51 let teacherName = ctx.params.teacherName; 52 let teacherName = ctx.params.teacherName;
52 if(!teacherName){ 53 if(!teacherName){
53 return status.paramError('teacherName'); 54 return status.paramError('teacherName');
@@ -56,6 +57,47 @@ studentMeetingController.prototype.queryStudentMeeting = async(ctx, next)=>{ @@ -56,6 +57,47 @@ studentMeetingController.prototype.queryStudentMeeting = async(ctx, next)=>{
56 let pageno = ctx.header.pageno ? Number(ctx.header.pageno):ctx.header.pageno; 57 let pageno = ctx.header.pageno ? Number(ctx.header.pageno):ctx.header.pageno;
57 let sn = await studentMeetingService.queryStudentMeeting(teacherName,page,pageno); 58 let sn = await studentMeetingService.queryStudentMeeting(teacherName,page,pageno);
58 return sn 59 return sn
  60 + } catch (error) {
  61 + throw error
  62 + }
  63 +}
  64 +
  65 +studentMeetingController.prototype.getStudentMeetingBySite = async(ctx, next)=>{
  66 + try {
  67 + let siteId = ctx.params.siteId;
  68 + if(!siteId){
  69 + return status.paramError('siteId');
  70 + }
  71 + let page = ctx.header.page ? Number(ctx.header.page):ctx.header.page;
  72 + let pageno = ctx.header.pageno ? Number(ctx.header.pageno):ctx.header.pageno;
  73 + let sn = await studentMeetingService.getStudentMeetingBySite(siteId,page,pageno);
  74 + return sn
  75 + } catch (error) {
  76 + throw error
  77 + }
  78 +}
  79 +
  80 +studentMeetingController.prototype.updateStudentMeetingBySite = async(ctx, next)=>{
  81 + try {
  82 + let Id = ctx.params.id;
  83 + var body = ctx.request.body;
  84 + let smdata = await studentMeetingService.updateStudentMeetingBySite(Id,body)
  85 + return smdata;
  86 + } catch (error) {
  87 + throw error;
  88 + }
  89 +}
  90 +
  91 +studentMeetingController.prototype.getStudentMeetingByStudentId = async(ctx, next)=>{
  92 + try {
  93 + let Id = ctx.params.id;
  94 + let page = ctx.header.page ? Number(ctx.header.page):ctx.header.page;
  95 + let pageno = ctx.header.pageno ? Number(ctx.header.pageno):ctx.header.pageno;
  96 + let student = await studentMeetingService.updateStudentMeetingBySite(Id,page,pageno);
  97 + return student;
  98 + } catch (error) {
  99 + throw error;
  100 + }
59 } 101 }
60 102
61 module.exports = new studentMeetingController(); 103 module.exports = new studentMeetingController();
@@ -29,6 +29,10 @@ router.get('/getStudentMeetingCount/:meetingId',async (ctx, next) => { @@ -29,6 +29,10 @@ router.get('/getStudentMeetingCount/:meetingId',async (ctx, next) => {
29 status.catchError(ctx,400,e.message); 29 status.catchError(ctx,400,e.message);
30 } 30 }
31 }) 31 })
  32 +
  33 +/**
  34 + * 删除预约
  35 + */
32 router.get('/delStudentMeeting/:studentMeetingId',async (ctx, next) => { 36 router.get('/delStudentMeeting/:studentMeetingId',async (ctx, next) => {
33 try{ 37 try{
34 var data = await studentMeetingController.delStudentMeeting(ctx, next); 38 var data = await studentMeetingController.delStudentMeeting(ctx, next);
@@ -39,6 +43,9 @@ router.get('/delStudentMeeting/:studentMeetingId',async (ctx, next) => { @@ -39,6 +43,9 @@ router.get('/delStudentMeeting/:studentMeetingId',async (ctx, next) => {
39 } 43 }
40 }) 44 })
41 45
  46 +/**
  47 + * 根据查询老师的预约
  48 + */
42 router.get('/queryStudentMeeting/:teacherName',async (ctx, next) => { 49 router.get('/queryStudentMeeting/:teacherName',async (ctx, next) => {
43 try{ 50 try{
44 var data = await studentMeetingController.queryStudentMeeting(ctx, next); 51 var data = await studentMeetingController.queryStudentMeeting(ctx, next);
@@ -49,5 +56,43 @@ router.get('/queryStudentMeeting/:teacherName',async (ctx, next) => { @@ -49,5 +56,43 @@ router.get('/queryStudentMeeting/:teacherName',async (ctx, next) => {
49 } 56 }
50 }) 57 })
51 58
  59 +/**
  60 + * 查询站点的预约课程
  61 + */
  62 +router.get('/getStudentMeetingBySite/:siteId',async (ctx, next) => {
  63 + try{
  64 + var data = await studentMeetingController.getStudentMeetingBySite(ctx, next);
  65 + status.successTemp(ctx,200,data);
  66 + }catch(e){
  67 + console.log(e)
  68 + status.catchError(ctx,400,e.message);
  69 + }
  70 +})
  71 +/**
  72 + * 查询学生预约课程
  73 + */
  74 +router.get('/getStudentMeetingByStudentId/:id',async (ctx, next) => {
  75 + try{
  76 + var data = await studentMeetingController.getStudentMeetingByStudentId(ctx, next);
  77 + status.successTemp(ctx,200,data);
  78 + }catch(e){
  79 + console.log(e)
  80 + status.catchError(ctx,400,e.message);
  81 + }
  82 +})
  83 +
  84 +/**
  85 + * 修改预约信息根据预约id
  86 + */
  87 +router.put('/updateStudentMeetingBySite/:id',async (ctx, next) => {
  88 + try{
  89 + var data = await studentMeetingController.updateStudentMeetingBySite(ctx, next);
  90 + status.successTemp(ctx,200,data);
  91 + }catch(e){
  92 + console.log(e)
  93 + status.catchError(ctx,400,e.message);
  94 + }
  95 +})
  96 +
52 97
53 module.exports = router; 98 module.exports = router;
1 -var sutudentMeeting = require('../model/studentMeetingModel'); 1 +var studentMeeting = require('../model/studentMeetingModel');
2 var userModel = require('../model/userModel'); 2 var userModel = require('../model/userModel');
3 var status = require('../util/resTemplate'); 3 var status = require('../util/resTemplate');
4 var saitMd5 = require('../util/saltMD5'); 4 var saitMd5 = require('../util/saltMD5');
@@ -8,11 +8,11 @@ var meetingModel = require('../model/meetingModel'); @@ -8,11 +8,11 @@ var meetingModel = require('../model/meetingModel');
8 var co = require('co'); 8 var co = require('co');
9 9
10 10
11 -function sutudentMeetingService(){ 11 +function studentMeetingService(){
12 12
13 } 13 }
14 14
15 -sutudentMeetingService.prototype.addStudentMeeting = async(body)=>{ 15 +studentMeetingService.prototype.addStudentMeeting = async(body)=>{
16 try { 16 try {
17 var t = await sequelize.transaction({ autocommit: true }) 17 var t = await sequelize.transaction({ autocommit: true })
18 let user = await userModel.findOne({where:{id:body.studentId}}); 18 let user = await userModel.findOne({where:{id:body.studentId}});
@@ -20,7 +20,7 @@ sutudentMeetingService.prototype.addStudentMeeting = async(body)=>{ @@ -20,7 +20,7 @@ sutudentMeetingService.prototype.addStudentMeeting = async(body)=>{
20 t.rollback(); 20 t.rollback();
21 return {code:300,msg:'用户不存在'} 21 return {code:300,msg:'用户不存在'}
22 } 22 }
23 - let oldSutudentMeeting = await sutudentMeeting.findOne({where:{studentId:body.studentId,meetingId:body.meetingId}}); 23 + let oldSutudentMeeting = await studentMeeting.findOne({where:{studentId:body.studentId,meetingId:body.meetingId}});
24 if(oldSutudentMeeting){ 24 if(oldSutudentMeeting){
25 t.rollback(); 25 t.rollback();
26 return {code:300,msg:'您已预约这堂课'} 26 return {code:300,msg:'您已预约这堂课'}
@@ -30,7 +30,7 @@ sutudentMeetingService.prototype.addStudentMeeting = async(body)=>{ @@ -30,7 +30,7 @@ sutudentMeetingService.prototype.addStudentMeeting = async(body)=>{
30 t.rollback(); 30 t.rollback();
31 return {code:300,msg:'课堂不存在'} 31 return {code:300,msg:'课堂不存在'}
32 } 32 }
33 - let sm = await sutudentMeeting.create(body,{transaction: t}); 33 + let sm = await studentMeeting.create(body,{transaction: t});
34 // let MeetingBack = await meetingModel.update( 34 // let MeetingBack = await meetingModel.update(
35 // {reservationNumber:Meeting.reservationNumber+1}, 35 // {reservationNumber:Meeting.reservationNumber+1},
36 // {where:{id:body.meetingId}}, 36 // {where:{id:body.meetingId}},
@@ -43,9 +43,9 @@ sutudentMeetingService.prototype.addStudentMeeting = async(body)=>{ @@ -43,9 +43,9 @@ sutudentMeetingService.prototype.addStudentMeeting = async(body)=>{
43 } 43 }
44 } 44 }
45 45
46 -sutudentMeetingService.prototype.getStudentMeetingCount = async(meetingId) =>{ 46 +studentMeetingService.prototype.getStudentMeetingCount = async(meetingId) =>{
47 try { 47 try {
48 - let sm = await sutudentMeeting.count({where:{meetingId:meetingId}}) 48 + let sm = await studentMeeting.count({where:{meetingId:meetingId}})
49 return sm; 49 return sm;
50 } catch (error) { 50 } catch (error) {
51 console.log(error) 51 console.log(error)
@@ -54,7 +54,7 @@ sutudentMeetingService.prototype.getStudentMeetingCount = async(meetingId) =>{ @@ -54,7 +54,7 @@ sutudentMeetingService.prototype.getStudentMeetingCount = async(meetingId) =>{
54 } 54 }
55 55
56 56
57 -sutudentMeetingService.prototype.queryStudentMeeting = async(teacherName,page=1,pageno=8)=>{ 57 +studentMeetingService.prototype.queryStudentMeeting = async(teacherName,page=1,pageno=8)=>{
58 try { 58 try {
59 let querySql = `SELECT 59 let querySql = `SELECT
60 3u.*, 3meet.meeting_name, 60 3u.*, 3meet.meeting_name,
@@ -74,4 +74,41 @@ sutudentMeetingService.prototype.queryStudentMeeting = async(teacherName,page=1, @@ -74,4 +74,41 @@ sutudentMeetingService.prototype.queryStudentMeeting = async(teacherName,page=1,
74 } 74 }
75 } 75 }
76 76
77 -module.exports = new sutudentMeetingService();  
  77 +studentMeetingService.prototype.getStudentMeetingBySite = async(siteId,page=1,pageno=8)=>{
  78 + try {
  79 + let StudentMeetingBySite = await studentMeeting.findAll({where:{siteId:siteId}});
  80 + return StudentMeetingBySite;
  81 + } catch (error) {
  82 + throw error;
  83 + }
  84 +}
  85 +
  86 +studentMeetingService.prototype.updateStudentMeetingBySite = async(id,data) =>{
  87 + try {
  88 + let studentMeeting = await studentMeeting.update(data,{where:{id:id}});
  89 + return studentMeeting;
  90 + } catch (error) {
  91 + throw error;
  92 + }
  93 +}
  94 +
  95 +studentMeetingService.prototype.updateStudentMeetingBySite = async(id,page=1,pageno=8) =>{
  96 + let querySql = `SELECT
  97 + 3u.*, 3meet.meeting_name,
  98 + 3meet.create_user teacherName,
  99 + 3sm. STATUS studentMeetingStatus,
  100 + 3u2.user_name checkUserName,
  101 + 3sm.check_time check_time
  102 + FROM
  103 + 3m_student_meeting 3sm
  104 + LEFT JOIN 3m_user 3u ON 3u.id = 3sm.student_id
  105 + LEFT JOIN 3m_user 3u2 ON 3u2.id = 3sm.check_user_id
  106 + LEFT JOIN 3m_meeting 3meet ON 3meet.id = 3sm.meeting_id
  107 + WHERE
  108 + 3sm.student_id = '` +id+"'";;
  109 +querySql += ' ORDER BY 3sm.create_time DESC LIMIT '+(page-1)*pageno+' , ' +pageno
  110 +let sm = await sequelize.query(querySql);
  111 +return sm[0];
  112 +}
  113 +
  114 +module.exports = new studentMeetingService();