Bläddra i källkod

增加我的课程

wangfei 6 år sedan
förälder
incheckning
2c06b73afa
4 ändrade filer med 55 tillägg och 0 borttagningar
  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 Visa fil

@@ -213,3 +213,12 @@ func (c *CourseController) GetCourseByLocation() {
213 213
 	}
214 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 Visa fil

@@ -448,3 +448,35 @@ func (m *CourseDAO) SaveCourseOfCustomer(course *model.TaCustomerCourse, details
448 448
 
449 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 Visa fil

@@ -18,5 +18,8 @@ func getWechatRoutes() beego.LinkNamespace {
18 18
 		// 下单
19 19
 		beego.NSRouter("/order/goods", &goods.GoodsController{}, "post:PostOrder"),
20 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 Visa fil

@@ -498,3 +498,14 @@ func (s *CourseServ) GetCourseByLocation(orgid, locationid string) ([]course.Cou
498 498
 	}
499 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
+}