Commit ae087f74 authored by szh's avatar szh

update

parent 19a341c1
...@@ -11,6 +11,7 @@ import ( ...@@ -11,6 +11,7 @@ import (
"github.com/33cn/chain33/common/address" "github.com/33cn/chain33/common/address"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"go.uber.org/zap" "go.uber.org/zap"
"gorm.io/gorm"
) )
type CourseSignupApi struct { type CourseSignupApi struct {
...@@ -186,18 +187,22 @@ func (courseSignupApi *CourseSignupApi) SignCourse(c *gin.Context) { ...@@ -186,18 +187,22 @@ func (courseSignupApi *CourseSignupApi) SignCourse(c *gin.Context) {
if err := utils.Verify(courseSignup,utils.AddressVerify);err != nil { if err := utils.Verify(courseSignup,utils.AddressVerify);err != nil {
global.GVA_LOG.Error("创建失败!", zap.Error(err)) global.GVA_LOG.Error("创建失败!", zap.Error(err))
response.FailWithMessage(err.Error(), c) response.FailWithMessage(err.Error(), c)
return
} }
if !address.IsEthAddress(courseSignup.Addr) { if !address.IsEthAddress(courseSignup.Addr) {
global.GVA_LOG.Error("地址格式错误!", zap.Error(err),zap.String("addr",courseSignup.Addr)) global.GVA_LOG.Error("地址格式错误!", zap.Error(err),zap.String("addr",courseSignup.Addr))
response.FailWithMessage(err.Error(), c) response.FailWithMessage(err.Error(), c)
return
} }
user,err := courseUsersService.GetCourseUsersByAddr(courseSignup.Addr) user,err := courseUsersService.GetCourseUsersByAddr(courseSignup.Addr)
if err != nil { if err != nil {
global.GVA_LOG.Error("查询失败!", zap.Error(err)) global.GVA_LOG.Error("查询失败!", zap.Error(err))
response.FailWithMessage(err.Error(), c) response.FailWithMessage(err.Error(), c)
return
} }
if user.Invitor == "" { if user.Invitor == "" {
response.FailWithMessage("无推荐人", c) response.FailWithMessage("无推荐人", c)
return
} }
user.Name = courseSignup.Name user.Name = courseSignup.Name
user.Age = courseSignup.Age user.Age = courseSignup.Age
...@@ -206,14 +211,34 @@ func (courseSignupApi *CourseSignupApi) SignCourse(c *gin.Context) { ...@@ -206,14 +211,34 @@ func (courseSignupApi *CourseSignupApi) SignCourse(c *gin.Context) {
user.Photo = courseSignup.Photo user.Photo = courseSignup.Photo
user.Position = courseSignup.Position user.Position = courseSignup.Position
*courseSignup.Uid = int(user.ID)
// 检查是否已报名
cs,err := courseSignupService.GetCourseSignupByUidAndCid(uint(*courseSignup.Cid),user.ID)
if err != nil && err != gorm.ErrRecordNotFound {
global.GVA_LOG.Error("服务异常!", zap.Error(err))
response.FailWithMessage("服务异常", c)
return
}
if err == nil && !*cs.IsPass{
response.FailWithMessage("已报名,等待审核", c)
return
} else if err == nil && *cs.IsPass {
response.FailWithMessage("已报名", c)
return
}
if err := courseSignupService.CreateCourseSignup(courseSignup); err != nil { if err := courseSignupService.CreateCourseSignup(courseSignup); err != nil {
global.GVA_LOG.Error("报名失败!", zap.Error(err)) global.GVA_LOG.Error("报名失败!", zap.Error(err))
response.FailWithMessage("报名失败", c) response.FailWithMessage("报名失败", c)
return
} else { } else {
err = courseUsersService.UpdateCourseUsers(user) err = courseUsersService.UpdateCourseUsers(user)
if err != nil { if err != nil {
global.GVA_LOG.Error("更新用户信息失败!", zap.Error(err)) global.GVA_LOG.Error("更新用户信息失败!", zap.Error(err))
response.FailWithMessage("更新用户信息失败", c) response.FailWithMessage("更新用户信息失败", c)
return
} }
response.OkWithMessage("报名成功", c) response.OkWithMessage("报名成功", c)
} }
......
...@@ -16,6 +16,7 @@ type CourseList struct { ...@@ -16,6 +16,7 @@ type CourseList struct {
Address string `json:"address" form:"address" gorm:"-"` Address string `json:"address" form:"address" gorm:"-"`
IsSign bool `json:"isSign" form:"isSign" gorm:"-"` IsSign bool `json:"isSign" form:"isSign" gorm:"-"`
IsPass bool `json:"isPass" form:"isPass" gorm:"-" `
} }
......
...@@ -5,6 +5,7 @@ import ( ...@@ -5,6 +5,7 @@ import (
"courseSign/server/model/common/request" "courseSign/server/model/common/request"
"courseSign/server/model/course" "courseSign/server/model/course"
courseReq "courseSign/server/model/course/request" courseReq "courseSign/server/model/course/request"
"gorm.io/gorm"
) )
type CourseListService struct { type CourseListService struct {
...@@ -76,12 +77,15 @@ func (courseListService *CourseListService)GetCourseListInfoList(info courseReq. ...@@ -76,12 +77,15 @@ func (courseListService *CourseListService)GetCourseListInfoList(info courseReq.
return return
} }
for _, v := range courseLists { for _, v := range courseLists {
var count int64 var cs course.CourseList
err = global.GVA_DB.Model(&course.CourseSignup{}).Where("uid = ? and cid = ?",cu.ID,v.ID).Count(&count).Error err = global.GVA_DB.Model(&course.CourseSignup{}).Where("uid = ? and cid = ?",cu.ID,v.ID).First(&cs).Error
if err != nil { if err != nil && err != gorm.ErrRecordNotFound{
return return
} }
if count > 0 { if err == nil && cs.IsPass {
v.IsSign = true
v.IsPass = true
} else if err == nil && !cs.IsPass {
v.IsSign = true v.IsSign = true
} }
} }
......
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