package controller import ( "background/db" "background/model" "fmt" "log" "strconv" "github.com/gin-gonic/gin" ) type PlanController struct { } func (this *PlanController) GetPlan(c *gin.Context) { } func (this *PlanController) GetPlanDates(c *gin.Context) { type Req struct { Date string `json:"date"` } var req Req resp := RespBase{ Msg: "ERROR", Status: 23, } defer c.JSON(200, &resp) e := c.BindJSON(&req) if nil != e { log.Print(e.Error()) return } plan := []model.Plan{} e = db.GetOrm().Model(&plan).Where("date = ?", req.Date).Find(&plan).Error if nil != e { log.Print(e.Error()) } resp.Status = 0 resp.Msg = "OK" resp.Data = plan return } func (this *PlanController) AddPlan(c *gin.Context) { var req model.Plan resp := RespBase{Msg: "r", Status: 0, Data: nil} defer c.JSON(200, &resp) e := c.BindJSON(&req) if nil != e { log.Print(e.Error()) return } e = db.GetOrm().Create(&req).Error if nil != e { log.Print(e.Error()) return } resp.Msg = "OK" resp.Status = 0 } func (this *PlanController) DelPlan(c *gin.Context) { resp := RespBase{Msg: "r", Status: 0, Data: nil} defer c.JSON(200, &resp) var e error iid := 0 id := c.Query("id") if "" != id { iid, e = strconv.Atoi(id) if nil != e { log.Print(e.Error()) return } } else { return } plan := model.Plan{} plan.ID = uint32(iid) e = db.GetOrm().Delete(&plan).Error if nil != e { log.Print(e.Error()) return } resp.Msg = "OK" resp.Status = 0 } type ReqDate struct { Date string `gorm:"date" json:"date"` } func (m *ReqDate) TableName() string { return "plan" } func (this *PlanController) PlanDay(c *gin.Context) { var req ReqDate resp := RespBase{ Msg: "ERROR", Status: 23, } defer c.JSON(200, &resp) e := c.BindJSON(&req) if nil != e { log.Print(e.Error()) return } ret := make([]ReqDate, 1) sql := fmt.Sprintf(`SELECT distinct plan.date FROM plan where DATE_FORMAT(plan.date,'%%Y-%%m')=DATE_FORMAT('%s','%%Y-%%m')`, req.Date) log.Print(sql) e = db.GetOrm().Raw(sql).Find(&ret).Error if nil != e { log.Print(e.Error()) return } resp.Data = ret resp.Msg = "OK" resp.Status = 0 }