|
- package svc
-
- import (
- "applet/app/db"
- "applet/app/e"
- "applet/app/md"
- "applet/app/utils"
- "code.fnuoos.com/EggPlanet/egg_models.git/src/implement"
- "code.fnuoos.com/EggPlanet/egg_models.git/src/model"
- "encoding/json"
- "github.com/gin-gonic/gin"
- "time"
- )
-
- func UserFeedbackCate(c *gin.Context) {
- NewUserFeedbackCateDb := implement.NewUserFeedbackCateDb(db.Db)
- cate, _ := NewUserFeedbackCateDb.FindUserFeedbackCate("1", "100")
- data := make([]map[string]string, 0)
- if cate != nil {
- for _, v := range *cate {
- tmp := map[string]string{
- "id": utils.IntToStr(v.Id),
- "name": v.Name,
- }
- data = append(data, tmp)
- }
- }
- e.OutSuc(c, data, nil)
- return
- }
- func UserFeedbackList(c *gin.Context) {
- eg := db.Db
- var req md.UserFeedbackListReq
- err := c.ShouldBindJSON(&req)
- if err != nil {
- err = HandleValidateErr(err)
- err1 := err.(e.E)
- e.OutErr(c, err1.Code, err1.Error())
- return
- }
- user := GetUser(c)
- NewUserFeedbackDb := implement.NewUserFeedbackDb(eg)
- article, _ := NewUserFeedbackDb.FindUserFeedback(req.Page, req.Limit, utils.Int64ToStr(user.Id))
- data := make([]md.UserFeedbackListResp, 0)
- if article != nil {
- for _, v := range *article {
- img := make([]string, 0)
- json.Unmarshal([]byte(v.Img), &img)
- tmp := md.UserFeedbackListResp{
- Id: utils.IntToStr(v.Id),
- Type: v.Type,
- Title: v.Title,
- Img: img,
- Content: v.Content,
- State: "0",
- CreateAt: v.CreateAt.Format("2006-01-02"),
- }
- count, _ := eg.Where("uid=? and lid=?", 0, v.Id).Count(&model.UserFeedbackRecord{})
- if count > 0 {
- tmp.State = "1"
- }
- data = append(data, tmp)
- }
- }
- e.OutSuc(c, data, nil)
- return
- }
- func UserFeedbackRecord(c *gin.Context) {
- eg := db.Db
- var req md.UserFeedbackRecordReq
- err := c.ShouldBindJSON(&req)
- if err != nil {
- err = HandleValidateErr(err)
- err1 := err.(e.E)
- e.OutErr(c, err1.Code, err1.Error())
- return
- }
- user := GetUser(c)
- NewUserFeedbackRecordDb := implement.NewUserFeedbackRecordDb(eg)
- article, _ := NewUserFeedbackRecordDb.FindUserFeedback(req.Page, "1000", req.Id)
- data := make([]md.UserFeedbackRecordResp, 0)
- if article != nil {
- for _, v := range *article {
- tmp := md.UserFeedbackRecordResp{
- Content: v.Content,
- CreateAt: v.CreateAt.Format("2006-01-02"),
- Type: "official",
- }
- if v.Uid > 0 {
- tmp.Type = "user"
- tmp.Nickname = user.Nickname
- tmp.HeadImg = GetOssUrl(user.Avatar)
- } else {
- tmp.Nickname = GetSysCfgStr("app_name")
- tmp.HeadImg = GetOssUrl(GetSysCfgStr("app_logo"))
- }
- data = append(data, tmp)
- }
- }
- e.OutSuc(c, data, nil)
- return
- }
- func UserFeedbackSave(c *gin.Context) {
- eg := db.Db
- var req md.UserFeedbackSaveReq
- err := c.ShouldBindJSON(&req)
- if err != nil {
- err = HandleValidateErr(err)
- err1 := err.(e.E)
- e.OutErr(c, err1.Code, err1.Error())
- return
- }
- user := GetUser(c)
- data := model.UserFeedback{
- Uid: int(user.Id),
- Type: req.Type,
- Title: req.Title,
- Extra: utils.SerializeStr(c.Request.Header),
- Content: req.Content,
- Img: utils.SerializeStr(req.Img),
- Idea: req.Idea,
- Phone: req.Phone,
- Cid: utils.StrToInt(req.Cid),
- Ip: utils.GetIP(c.Request),
- CreateAt: time.Now(),
- }
- eg.Insert(&data)
- e.OutSuc(c, "success", nil)
- return
- }
- func UserFeedbackSay(c *gin.Context) {
- eg := db.Db
- var req md.UserFeedbackSayReq
- err := c.ShouldBindJSON(&req)
- if err != nil {
- err = HandleValidateErr(err)
- err1 := err.(e.E)
- e.OutErr(c, err1.Code, err1.Error())
- return
- }
- user := GetUser(c)
- data := model.UserFeedbackRecord{
- Uid: int(user.Id),
- Lid: utils.StrToInt(req.Id),
- Content: req.Content,
- CreateAt: time.Now(),
- }
- eg.Insert(&data)
- e.OutSuc(c, "success", nil)
- return
- }
|