123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package controller
- import (
- "github.com/gin-gonic/gin"
- "strconv"
- "strings"
- "trading-go/model"
- "trading-go/response"
- "trading-go/util"
- )
- // Upload
- // @Tags 图片模块
- // @Summary 上传图片
- // @Accept multipart/form-data
- // @Produce application/json
- // @Param pic formData file true "图片"
- // @Success 200 {object} response.Response
- // @Router /pic/upload [post]
- func Upload(c *gin.Context) {
- var pic model.Pic
- file, err := c.FormFile("pic")
- if err != nil {
- msg := err.Error()
- response.Fail(c.Writer, msg, 500)
- return
- }
- suffixs := strings.Split(file.Filename, ".")
- suffix := suffixs[len(suffixs)-1]
- err = util.CheckImg(suffix)
- if err != nil {
- msg := err.Error()
- response.Fail(c.Writer, msg, 400)
- return
- }
- path := util.MakePath(file.Filename)
- if err != nil {
- msg := err.Error()
- response.Fail(c.Writer, msg, 500)
- return
- }
- err = c.SaveUploadedFile(file, "."+path)
- if err != nil {
- msg := err.Error()
- response.Fail(c.Writer, msg, 500)
- return
- }
- url := "http://" + c.Request.Host + path
- pic.Url = url
- response.Success(c.Writer, "success", pic)
- }
- // GetAllPic
- // @Tags 图片模块
- // @Summary 获取所有图片
- // @Produce application/json
- // @Success 200 {object} response.Response
- // @Router /pic [get]
- func GetAllPic(c *gin.Context) {
- var pic model.Pic
- pics, err := pic.GetAll()
- if err != nil {
- msg := err.Error()
- response.Fail(c.Writer, msg, 500)
- return
- }
- response.Success(c.Writer, "success", pics)
- }
- // DPic
- // @Tags 图片模块
- // @Summary 删除图片
- // @Produce application/json
- // @Param id path uint true "图片id"
- // @Success 200 {object} response.Response
- // @Router /pic/delete/{id} [delete]
- func DPic(c *gin.Context) {
- var pic model.Pic
- ids := c.Param("id")
- id, err := strconv.Atoi(ids)
- if err != nil {
- response.Fail(c.Writer, err.Error(), 500)
- return
- }
- pic.Id = uint(id)
- err = pic.Delete()
- if err != nil {
- msg := err.Error()
- response.Fail(c.Writer, msg, 500)
- return
- }
- response.Success(c.Writer, "success", nil)
- }
- // GetPicPaged
- // @Tags 图片模块
- // @Summary 分页获取图片
- // @Produce application/json
- // @Param page path int true "页数"
- // @Param pageSize path int true "一页的大小"
- // @Success 200 {object} response.Response
- // @Router /pic/{page}/{pageSize} [get]
- func GetPicPaged(c *gin.Context) {
- var pic model.Pic
- p := c.Param("page")
- pS := c.Param("pageSize")
- page, err := strconv.Atoi(p)
- pageSize, err := strconv.Atoi(pS)
- if err != nil {
- response.Fail(c.Writer, err.Error(), 500)
- return
- }
- rsp, err := pic.GetPaged(page, pageSize)
- if err != nil {
- msg := err.Error()
- response.Fail(c.Writer, msg, 500)
- return
- }
- cnt, err := pic.GetCnt()
- if err != nil {
- msg := err.Error()
- response.Fail(c.Writer, msg, 500)
- return
- }
- if cnt > page*pageSize {
- rsp.HNext = true
- }
- response.Success(c.Writer, "success", rsp)
- }
|