浏览代码

增加我的课程

wangfei 6 年前
父节点
当前提交
2c06b73afa
共有 4 个文件被更改,包括 55 次插入0 次删除
  1. 9
    0
      controllers/course/course.go
  2. 32
    0
      models/course/course.go
  3. 3
    0
      routers/wechat.go
  4. 11
    0
      service/course/course.go

+ 9
- 0
controllers/course/course.go 查看文件

213
 	}
213
 	}
214
 	c.ResponseJSON(courses)
214
 	c.ResponseJSON(courses)
215
 }
215
 }
216
+
217
+// GetCustomerCourse 获取用户课程信息
218
+func (c *CourseController) GetCustomerCourse() {
219
+	courses, err := c.serv.GetCustomerCourse()
220
+	if err != nil {
221
+		c.ResponseError(err)
222
+	}
223
+	c.ResponseJSON(courses)
224
+}

+ 32
- 0
models/course/course.go 查看文件

448
 
448
 
449
 	return nil
449
 	return nil
450
 }
450
 }
451
+
452
+// CustomerCourse 客户课程信息
453
+type CustomerCourse struct {
454
+	model.TaCustomerCourse `xorm:"extends"`
455
+	Details                []model.TaCustomerCourseDetail
456
+}
457
+
458
+// GetCustomerCourse 获取我的课程信息
459
+func (m *CourseDAO) GetCustomerCourse(custID string) ([]CustomerCourse, error) {
460
+	var courses []CustomerCourse
461
+	sql := `select * from ta_customer_course where status>` + strconv.Itoa(models.STATUS_DEL) + ` and customer_id='` + custID + `'`
462
+
463
+	err := m.db.Sql(sql).Find(&courses)
464
+	if err != nil {
465
+		return nil, err
466
+	}
467
+	for inx, course := range courses {
468
+		details, err := m.GetCustomerCourseDetail(course.CustomerCourseId)
469
+		if err != nil {
470
+			return nil, err
471
+		}
472
+		courses[inx].Details = details
473
+	}
474
+	return courses, nil
475
+}
476
+
477
+// GetCustomerCourseDetail 获取我的课程明细
478
+func (m *CourseDAO) GetCustomerCourseDetail(customerCourseID string) ([]model.TaCustomerCourseDetail, error) {
479
+	var details []model.TaCustomerCourseDetail
480
+	err := m.db.Where("customer_course_id=?", customerCourseID).And(`status>` + strconv.Itoa(models.STATUS_DEL)).Find(&details)
481
+	return details, err
482
+}

+ 3
- 0
routers/wechat.go 查看文件

18
 		// 下单
18
 		// 下单
19
 		beego.NSRouter("/order/goods", &goods.GoodsController{}, "post:PostOrder"),
19
 		beego.NSRouter("/order/goods", &goods.GoodsController{}, "post:PostOrder"),
20
 		beego.NSRouter("/order/course", &course.CourseController{}, "post:PostOrder"),
20
 		beego.NSRouter("/order/course", &course.CourseController{}, "post:PostOrder"),
21
+
22
+		// 课程
23
+		beego.NSRouter("/course/user", &course.CourseController{}, "get:PostOrder"),
21
 	)
24
 	)
22
 }
25
 }

+ 11
- 0
service/course/course.go 查看文件

498
 	}
498
 	}
499
 	return list, err
499
 	return list, err
500
 }
500
 }
501
+
502
+// GetCustomerCourse 获取用户的课程信息
503
+func (s *CourseServ) GetCustomerCourse() ([]course.CustomerCourse, error) {
504
+	cust := s.ctx.Get("customer").(model.TaCustomer)
505
+	courses, err := s.dao.GetCustomerCourse(cust.CustomerId)
506
+	if err != nil {
507
+		utils.LogError("获取课程信息失败: " + err.Error())
508
+		return nil, errors.New("获取课程信息失败")
509
+	}
510
+	return courses, nil
511
+}