Investigation.go 2.14 KB
package Api

import (
	"encoding/json"
	"github.com/aarongao/tools"
	"github.com/gin-gonic/gin"
	"gopkg.in/mgo.v2/bson"
	"letu/DB"
	"math"
	"strconv"
)

// @Title 增加调查
// @Description 问券调查 - 增加调查
// @Accept  json
// @Produce  json
// @Param   UserId     1111111    string     true        "UserId"
// @Param   Mobile     18616619599    string     true        "联系电话"
// @Param   type     1    string     true        "类型"
// @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"result":"ok"}"
// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
// @Router /Investigation/Save? [post]
func SaveInvestigation(c *gin.Context) {
	c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
	c.Header("Access-Control-Allow-Credentials", "true")

	var Data map[string]interface{}
	json.Unmarshal([]byte(c.PostForm("Data")), &Data)

	DB.CInvestigation.Insert(DB.SInvestigation{
		c.PostForm("UserId"),
		c.PostForm("Mobile"),
		Data,
	})

	c.JSON(200, tools.ResponseSeccess{
		0,
		"ok",
	})

}

// @Title 查询所有问券调查
// @Description 问券调查 - 查询所有问券调查
// @Accept  json
// @Produce  json
// @Param   Page     1    int     true        "当前第几页"
// @Success 200 {object} tools.ResponseSeccess "{"errcode":0,"total":1,"currpage":1,"totalpages":1,"prepage":20,"result":}"
// @Failure 500 {object} tools.ResponseError "{"errcode":1,"errmsg":"错误原因"}"
// @Router /Investigation/List? [get]
func AllInvestigation(c *gin.Context) {
	c.Header("Access-Control-Allow-Origin", c.Request.Header.Get("Origin"))
	c.Header("Access-Control-Allow-Credentials", "true")


	total,_ := DB.CComplaint.Find(bson.M{}).Count()
	limit,_ := strconv.Atoi(c.Query("Limit"))
	if limit == 0 {
		limit = 50
	}
	currPage, _ := strconv.Atoi(c.Query("Page"))
	if currPage == 0 {
		currPage = 1
	}
	skip := (currPage - 1) * limit

	var aInvestigation []DB.SInvestigation
	DB.CInvestigation.Find(bson.M{}).Limit(limit).Skip(int(skip)).Sort("-_id").All(&aInvestigation)

	c.JSON(200, tools.Page{
		0,
		total,
		currPage,
		int(math.Ceil(float64(total) / float64(limit))),
		limit,
		aInvestigation,
	})

}