123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package service
- import (
- qu "qfw/util"
- "strings"
- . "util"
- mgoutil "qfw/mongodb"
- "github.com/go-xweb/xweb"
- "gopkg.in/mgo.v2/bson"
- )
- type Feedback struct {
- *xweb.Action
- feedbackList xweb.Mapper `xweb:"/service/feedback/list"` //反馈列表
- feedbackDetail xweb.Mapper `xweb:"/service/feedback/detail"` //反馈信息详情
- }
- //反馈列表
- func (f *Feedback) FeedbackList() {
- defer qu.Catch()
- if f.Method() == "POST" {
- start, _ := f.GetInteger("start")
- limit, _ := f.GetInteger("length")
- draw, _ := f.GetInteger("draw")
- searchStr := f.GetString("search[value]")
- search := strings.TrimSpace(searchStr)
- //qu.Debug(start, limit, draw, search)
- query := bson.M{}
- if search != "" {
- query["$or"] = []interface{}{
- bson.M{"s_customer": bson.M{"$regex": search}},
- bson.M{"s_tagname": bson.M{"$regex": search}},
- }
- }
- data, _ := Mgo.Find("feedback", query, `{"_id":-1}`, nil, false, start, limit)
- count := Mgo.Count("feedback", query)
- f.ServeJson(map[string]interface{}{
- "draw": draw,
- "data": data,
- "recordsFiltered": count,
- "recordsTotal": count,
- })
- } else {
- f.Render("private/feedback_list.html")
- }
- }
- //反馈信息详情
- func (f *Feedback) FeedbackDetail() {
- defer qu.Catch()
- if f.Method() == "POST" {
- start, _ := f.GetInteger("start")
- limit, _ := f.GetInteger("length")
- draw, _ := f.GetInteger("draw")
- searchStr := f.GetString("search[value]")
- search := strings.TrimSpace(searchStr)
- matchkey := f.GetString("matchkey")
- id := f.GetString("id")
- query := bson.M{
- "s_pid": id,
- }
- if matchkey != "-1" {
- query["s_matchkey"] = bson.M{
- "$regex": matchkey,
- }
- } else if search != "" {
- query["s_matchkey"] = bson.M{
- "$regex": search,
- }
- }
- data, _ := Mgo.Find("feedback_info", query, nil, nil, false, start, limit)
- count := Mgo.Count("feedback_info", query)
- f.ServeJson(map[string]interface{}{
- "draw": draw,
- "data": data,
- "recordsFiltered": count,
- "recordsTotal": count,
- })
- } else {
- id := f.GetString("_id")
- query := bson.M{
- "_id": mgoutil.StringTOBsonId(id),
- }
- data, _ := Mgo.FindOne("feedback", query)
- f.T["id"] = id
- f.T["data"] = data
- f.Render("private/feedback_detail.html", &f.T)
- }
- }
|