123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- package youngee_talent_service
- import (
- "log"
- "youngmini_server/app/dao"
- "youngmini_server/app/model"
- "youngmini_server/app/model/youngee_talent_model"
- "youngmini_server/app/utils"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/net/ghttp"
- )
- // 获取任务日志
- func GetTaskLog(r *ghttp.Request) *TalentHttpResult {
- taskId := r.GetQueryInt("task_id", -1)
- var taskLog []*model.YounggeeTaskLog
- err := g.Model(dao.YounggeeTaskLog.Table).Where("task_id = ?", taskId).Order("log_at").Scan(&taskLog)
- if err != nil {
- log.Println("GetTaskLog error:", err)
- return &TalentHttpResult{Code: -1, Msg: "Get task log failed"}
- }
- return &TalentHttpResult{Code: 0, Msg: "success", Data: taskLog}
- }
- // 获取消息通知
- func GetMessage(r *ghttp.Request) *TalentHttpResult {
- tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
- }
- var taskMessage []*model.YounggeeMessageInfo
- err = g.Model(dao.YounggeeMessageInfo.Table).Where("talent_id = ? and is_deleted = 0", tid).Order("created_at desc").Scan(&taskMessage)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- return &TalentHttpResult{Code: 0, Msg: "success", Data: taskMessage}
- }
- // 获取消息通知列表
- // GetMessageList 获取消息通知列表,按类型分类
- func GetMessageList(r *ghttp.Request) *TalentHttpResult {
- // 获取 Talent ID
- tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
- }
- // 定义不同类型的消息列表
- var MessList []youngee_talent_model.YounggeeMutilMessInfo
- err = g.Model("message_multi_info").Where("talent_id = ? and is_deleted = 0", tid).Order("created_at desc").Scan(&MessList)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- // 使用 map 来按 mess_type 分类
- messageMap := make(map[int][]youngee_talent_model.YounggeeMutilMessInfo)
- // 遍历消息列表,将消息按类型添加到 map 中
- for _, message := range MessList {
- messageMap[message.MessType] = append(messageMap[message.MessType], message)
- }
- // 返回按类型分类的消息列表
- return &TalentHttpResult{
- Code: 0,
- Msg: "success",
- Data: messageMap,
- }
- }
- // 获取消息通知详情页
- func GetMessageDetail(r *ghttp.Request) *TalentHttpResult {
- tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
- }
- var taskMessage []*model.YounggeeMessageInfo
- err = g.Model(dao.YounggeeMessageInfo.Table).Where("talent_id = ? and is_deleted = 0", tid).Order("created_at desc").Scan(&taskMessage)
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- return &TalentHttpResult{Code: 0, Msg: "success", Data: taskMessage}
- }
- // 设置消息已读
- func SetMessageRead(r *ghttp.Request) *TalentHttpResult {
- tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
- }
- _, err = g.Model(dao.YounggeeMessageInfo.Table).Where("talent_id = ?", tid).Update(g.Map{"is_readed": 1})
- if err != nil {
- log.Println("UpdateMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Update task message failed"}
- }
- return &TalentHttpResult{Code: 0, Msg: "success"}
- }
- // 删除消息
- func DeleteMessage(r *ghttp.Request) *TalentHttpResult {
- var deleteMessageReq *youngee_talent_model.DeleteMessageReq
- err := r.ParseForm(&deleteMessageReq)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "params error"}
- }
- _, err = g.Model(dao.YounggeeMessageInfo.Table).Where("id = ?", deleteMessageReq.MessageId).Update(g.Map{"is_deleted": 1})
- if err != nil {
- log.Println("UpdateMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Update task message failed"}
- }
- return &TalentHttpResult{Code: 0, Msg: "success"}
- }
- // 获取消息通知
- func HasUnReadMessage(r *ghttp.Request) *TalentHttpResult {
- tid, err := utils.SessionTalentInfo.GetTalentIdFromSession(r)
- if err != nil {
- return &TalentHttpResult{Code: -1, Msg: "Get talent info failed"}
- }
- UnReadMessageNum, err := g.Model(dao.YounggeeMessageInfo.Table).Where("talent_id = ? and is_readed = 0", tid).Count()
- if err != nil {
- log.Println("GetMessage error:", err)
- return &TalentHttpResult{Code: -2, Msg: "Get task message failed"}
- }
- return &TalentHttpResult{Code: 0, Msg: "success", Data: UnReadMessageNum}
- }
|