浏览代码

增加系统配置接口

kobe6258 4 月之前
父节点
当前提交
77c69954e7
共有 5 个文件被更改,包括 171 次插入78 次删除
  1. 81 77
      controllers/user.go
  2. 2 1
      models/meta_info.go
  3. 4 0
      models/request/user.go
  4. 57 0
      models/user_message.go
  5. 27 0
      routers/commentsRouter.go

+ 81 - 77
controllers/user.go

@@ -1,7 +1,9 @@
 package controllers
 
 import (
+	"encoding/json"
 	"eta/eta_mini_crm_ht/models"
+	"eta/eta_mini_crm_ht/models/request"
 	"eta/eta_mini_crm_ht/models/response"
 	"eta/eta_mini_crm_ht/services"
 	"eta/eta_mini_crm_ht/utils"
@@ -599,80 +601,82 @@ func (this *UserController) ExportOfficialUsers() {
 	br.Msg = "获取成功"
 }
 
-//
-//// UnReadMessageList  获取未读消息
-//// @Summary 获取未读消息
-//// @Description 获取未读消息
-//// @Success 200 {object} controllers.BaseResponse
-//// @router /message [get]
-//func (u *UserController) UnReadMessageList() {
-//		messages, err := models.GetUnReadMessageList(u.SysUser.SysUserId)
-//		if err != nil {
-//			u.FailedResult("获取我的未读消息失败", result)
-//			return
-//		}
-//		u.SuccessResult("获取我的未读消息成功", messages, result)
-//		return
-//	})
-//}
-//
-//type ReadMessageReq struct {
-//	AnalystId int `json:"analystId"`
-//	MessageId int `json:"MessageId"`
-//}
-//
-//// ReadMessage  获取未读消息
-//// @Summary 获取未读消息
-//// @Description 获取未读消息
-//// @Success 200 {object} controllers.BaseResponse
-//// @router /readMessage [post]
-//func (u *UserController) ReadMessage() {
-//	controllers.Wrap(&u.BaseController, func() (result *controllers.WrapData, err error) {
-//		result = u.InitWrapData("获取我的未读消息失败")
-//		readMessageReq := new(ReadMessageReq)
-//		u.GetPostParams(readMessageReq)
-//		if readMessageReq.MessageId <= 0 {
-//			logger.Error("消息Id非法")
-//			err = exception.New(exception.IllegalMessageId)
-//			u.FailedResult("已读消息失败", result)
-//			return
-//		}
-//		userInfo := u.Data["user"].(user.User)
-//		if user.ReadMessage(userInfo.Id, readMessageReq.MessageId) {
-//			u.SuccessResult("已读消息成功", nil, result)
-//			return
-//		} else {
-//			err = exception.New(exception.ReadMessageFailed)
-//			u.FailedResult("已读消息失败", result)
-//			return
-//		}
-//	})
-//}
-//
-//// ReadMessages  获取未读消息
-//// @Summary 获取未读消息
-//// @Description 获取未读消息
-//// @Success 200 {object} controllers.BaseResponse
-//// @router /readMessages [post]
-//func (u *UserController) ReadMessages() {
-//	controllers.Wrap(&u.BaseController, func() (result *controllers.WrapData, err error) {
-//		result = u.InitWrapData("获取我的未读消息失败")
-//		readMessageReq := new(ReadMessageReq)
-//		u.GetPostParams(readMessageReq)
-//		if readMessageReq.AnalystId <= 0 {
-//			logger.Error("研究员Id非法")
-//			err = exception.New(exception.IllegalAnalystId)
-//			u.FailedResult("已读消息失败", result)
-//			return
-//		}
-//		userInfo := u.Data["user"].(user.User)
-//		if user.ReadMessages(userInfo.Id, readMessageReq.AnalystId) {
-//			u.SuccessResult("已读消息成功", nil, result)
-//			return
-//		} else {
-//			err = exception.New(exception.ReadMessageFailed)
-//			u.FailedResult("已读消息失败", result)
-//			return
-//		}
-//	})
-//}
+// UnReadMessageList  获取未读消息
+// @Summary 获取未读消息
+// @Description 获取未读消息
+// @Success 200 {object} controllers.BaseResponse
+// @router /message [get]
+func (u *UserController) UnReadMessageList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		u.Data["json"] = br
+		u.ServeJSON()
+	}()
+	messages, err := models.GetUnReadMessageList(u.SysUser.SysUserId)
+	if err != nil {
+		br.Msg = "查询退款通知失败"
+		br.Msg = "查询退款通知失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Data = messages
+	br.Msg = "获取成功"
+}
+
+// ReadMessage  获取未读消息
+// @Summary 获取未读消息
+// @Description 获取未读消息
+// @Success 200 {object} controllers.BaseResponse
+// @router /readMessage [post]
+func (u *UserController) ReadMessage() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		u.Data["json"] = br
+		u.ServeJSON()
+	}()
+	var req request.ReadMessageReq
+	if err := json.Unmarshal(u.Ctx.Input.RequestBody, &req); err != nil {
+		br.Msg = "参数解析失败"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.MessageId <= 0 {
+		br.Msg = "消息Id非法"
+		br.Msg = "已读退款通知失败,消息Id非法"
+		return
+	}
+	if models.ReadMessage(u.SysUser.SysUserId, req.MessageId) {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "已读成功"
+		return
+	} else {
+		br.Msg = "已读退款通知失败"
+		br.ErrMsg = "已读退款通知失败"
+		return
+	}
+}
+
+// ReadMessages  获取未读消息
+// @Summary 获取未读消息
+// @Description 获取未读消息
+// @Success 200 {object} controllers.BaseResponse
+// @router /readMessages [post]
+func (u *UserController) ReadMessages() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		u.Data["json"] = br
+		u.ServeJSON()
+	}()
+	if models.ReadMessages(u.SysUser.SysUserId) {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "已读成功"
+		return
+	} else {
+		br.Msg = "批量已读退款通知失败"
+		br.ErrMsg = "批量已读退款通知失败"
+		return
+	}
+}

+ 2 - 1
models/meta_info.go

@@ -11,6 +11,7 @@ type MetaType string
 
 const (
 	UserNoticeType    MetaType   = "USER_NOTICE"
+	SysUserNoticeType MetaType   = "SYS_USER_NOTICE"
 	InitStatusType    StatusType = "INIT"
 	PendingStatusType StatusType = "PENDING"
 	FinishStatusType  StatusType = "FINISH"
@@ -29,7 +30,7 @@ type MetaInfo struct {
 	From        string     `description:"from"`
 	To          string     `description:"column:to"`
 	SourceType  SourceType `description:"source_type"`
-	MetaType    MetaType   `gorm:"column:meta_type;type:enum('USER_NOTICE','SYSTEM_NOTICE')"`
+	MetaType    MetaType   `gorm:"column:meta_type;type:enum('USER_NOTICE','SYS_USER_NOTICE')"`
 	Status      StatusType `gorm:"column:status;type:enum('INIT','PENDING','FINISH','FAILED')"`
 	CreatedTime time.Time
 	UpdatedTime time.Time

+ 4 - 0
models/request/user.go

@@ -25,6 +25,10 @@ type UserEidtReq struct {
 	ChartPermission []int  `description:"所选品种"`
 	IsEnabled       bool   `description:"是否禁用"`
 }
+type ReadMessageReq struct {
+	MessageId int `json:"MessageId"`
+	SysUserId int `json:"SysUserId"`
+}
 
 type UserCheckReq struct {
 	AreaCode string `description:"区号"`

+ 57 - 0
models/user_message.go

@@ -0,0 +1,57 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type UserType string
+type MessageType string
+
+const (
+	UnReadStatus     StatusType = "UNREAD"
+	ReadStatus       StatusType = "READ"
+	MyMessageColumns            = "id,source_id,type,message"
+	Admin            UserType   = "admin"
+)
+
+// UserMessage 表示 user_message 表的模型
+type UserMessage struct {
+	Id          int        `gorm:"primaryKey;autoIncrement;column:id"`
+	AnalystId   int        `gorm:"column:analyst_id"`
+	UserId      int        `gorm:"column:user_id"`
+	UserType    UserType   `gorm:"column:user_type;type:enum('user','admin')"`
+	SourceId    int        `gorm:"column:source_id"`
+	Message     string     `gorm:"column:message"`
+	Type        SourceType `gorm:"column:type;type:enum('REPORT','VIDEO','AUDIO')"`
+	Status      StatusType `gorm:"column:status;type:enum('UNREAD','READ')"`
+	CreatedTime time.Time  `gorm:"column:created_time;type:timestamps;comment:创建时间"`
+	UpdatedTime time.Time  `gorm:"column:updated_time"`
+}
+
+func GetUnReadMessageList(userId int) (messages []UserMessage, err error) {
+	o := orm.NewOrm()
+	sql := `select id,source_id,type,message from user_messages where user_id=? and status=? order by created_time desc `
+	_, err = o.Raw(sql, userId, UnReadStatus).QueryRows(&messages)
+	return
+}
+
+func ReadMessage(userId int, messageId int) bool {
+	o := orm.NewOrm()
+	sql := `update user_messages set status=? where id=? and user_id =? and user_type=?`
+	err := o.Raw(sql, ReadStatus, messageId, userId, Admin)
+	if err != nil {
+		return false
+	}
+	return true
+}
+
+func ReadMessages(userId int) bool {
+	o := orm.NewOrm()
+	sql := `update user_messages set status=? where  user_id =? and user_type=?`
+	err := o.Raw(sql, ReadStatus, userId, Admin)
+	if err != nil {
+		return false
+	}
+	return true
+}

+ 27 - 0
routers/commentsRouter.go

@@ -684,6 +684,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"] = append(beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"],
+        beego.ControllerComments{
+            Method: "UnReadMessageList",
+            Router: `/message`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"] = append(beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"],
         beego.ControllerComments{
             Method: "ExportOfficialUsers",
@@ -702,6 +711,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"] = append(beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"],
+        beego.ControllerComments{
+            Method: "ReadMessage",
+            Router: `/readMessage`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"] = append(beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"],
+        beego.ControllerComments{
+            Method: "ReadMessages",
+            Router: `/readMessages`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"] = append(beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:UserController"],
         beego.ControllerComments{
             Method: "ReadRecordList",