作者 tangxvhui

保存模型

import "core/comment.api"
import "core/message.api"
\ No newline at end of file
import "core/message.api"
import "core/article_tag.api"
\ No newline at end of file
... ...
syntax = "v1"
info(
title: "文章内容处理"
desc: "编辑处理文章内容"
author: "author"
email: "email"
version: "v1"
)
// 坐标地点描述
type Location {
Longitude float64 `json:"longitude"` //经度
Latitude float64 `json:"latitude"` //纬度
Descript string `json:"descript"` //地点描述
}
// 人员的简单展示信息
type Author {
Id int64 `json:"id"` // 人员id
Name string `json:"name"` // 人员的名字
Avatar string `json:"avatar"` // 人员头像URL
Group string `json:"group"` // 人员的分组
Position string `json:"position"` // 职位
}
// 创建发布文章
type (
ArticleCreateRequest {
Title string `json:"title"` //标题
Section []string `json:"section"` //文章的文本内容
AuthorId int `json:"authorId"` //发布人id
Images []string `json:"images"` //图片
WhoRead []int `json:"whoRead"` //谁可查看
WhoReview []int `json:"whoReview"` //谁可评论
Location Location `json:"location"` //定位坐标
}
ArticleCreateResponse {
Id int64 `json:"id"`
}
)
// 查看文章的详情
type (
ArticleGetRequest {
Id int64 `json:"id"` //id
}
ArticleGetResponse {
Title string `json:"title"` //标题
AuthorId int `json:"authorId"` //发布人id
Author Author `json:"author"` //发布人
CreatedAt int64 `json:"createdAt"` //文章的发布时间
Section []string `json:"section"` //文章的文本内容
Images []string `json:"images"` //图片
WhoRead []int `json:"whoRead"` //谁可查看
WhoReview []int `json:"whoReview"` //谁可评论
Location Location `json:"location"` //定位坐标
CountLove int `json:"countLove"` // 点赞数量
CountComment int `json:"countComment"` // 评论数量
Show int `json:"showState"` // 评论的展示状态(0显示、1不显示)
}
)
// 小程序接口
@server(
prefix: v1/mini
group: article
jwt: MiniAuth
)
service Core {
@doc "小程序创建发布内容"
@handler CreateArticle
post /article (ArticleCreateRequest) returns (ArticleCreateResponse)
@doc "小程序获取文章内容详情"
@handler GetArticle
get /article/:id (ArticleGetRequest) returns (ArticleGetResponse)
}
\ No newline at end of file
... ...
syntax = "v1"
info(
title: "后台编辑标签"
desc: "编辑处理标签信息"
author: "author"
email: "email"
version: "v1"
)
// 创建标签
type (
TagCreateRequest {
CompanyId int64 `json:"companyId"`
Image string `json:"image"`
Name string `json:"name"` // 标签名称
Group string `json:"group"` // 标签分类
Remark string `json:"remark"` // 备注
}
TagCreateResponse {
Id int64 `json:"id"`
}
)
// 编辑标签
type (
TagEditRequest {
Id int64 `json:"id"`
CompanyId int64 `json:"companyId"`
Image string `json:"image"`
Name string `json:"name"` // 标签名称
Group string `json:"group"` // 标签分类
Remark string `json:"remark"` // 备注
}
TagEditResponse {
Id int64 `json:"id"`
}
)
// 获取标签详情
type (
TagGetRequest {
Id int64 `json:"id"`
}
TagGetResponse {
Id int64 `json:"id"`
Image string `json:"image"`
Name string `json:"name"` // 标签名称
Group string `json:"group"` // 标签分类
Remark string `json:"remark"` // 备注
}
)
//标签列表
type (
TagListRequest {
Page int `json:"page"`
Size int `json:"size"`
}
TagListResponse {
Total int `json:"total"`
List []TagItem `json:"list"`
}
TagItem {
Id int64 `json:"id"`
Image string `json:"image"`
Name string `json:"name"` // 标签名称
Group string `json:"group"` // 标签分类
Remark string `json:"remark"` // 备注
CreatedAt int64 `json:"createdAt"`
}
)
//删除标签
type (
TagDeleteRequest {
Id int64 `json:"id"`
}
TagDeleteResponse {
Id int64 `json:"id"`
}
)
@server(
prefix: v1/mini
group: tags
jwt: MiniAuth
)
service Core {
@doc "后台创建文章标签"
@handler CreateTag
post /article_tag (TagCreateRequest) returns (TagCreateResponse)
@doc "后台编辑文章标签"
@handler EditTag
put /article_tag (TagEditRequest) returns (TagEditResponse)
@doc "后台获取文章标签"
@handler GetTag
get /article_tag/:id (TagGetRequest) returns (TagGetResponse)
@doc "后台删除文章标签"
@handler DeleteTag
delete /article_tag (TagDeleteRequest) returns (TagDeleteResponse)
}
\ No newline at end of file
... ...
... ... @@ -36,6 +36,7 @@ type ServiceContext struct {
func NewServiceContext(c config.Config) *ServiceContext {
db := database.OpenGormPGDB(c.DB.DataSource, c.Log.Mode)
mlCache := cache.NewMultiLevelCache([]string{c.Redis.Host}, c.Redis.Pass)
redis, _ := redis.NewRedis(redis.RedisConf{Host: c.Redis.Host, Pass: c.Redis.Pass, Type: "node"})
... ...
... ... @@ -27,7 +27,6 @@ type Article struct {
TargetUser int // 分发方式 0 分发给所有人 1 分发给指定的人
CountLove int // 点赞数量
CountComment int // 评论数量
Tags []int `gorm:"type:jsonb;serializer:json"` // 标签
Show int // 评论的展示状态(0显示、1不显示)
}
... ...
... ... @@ -158,7 +158,6 @@ func (repository *ArticleRepository) ModelToDomainModel(from *models.Article) (*
TargetUser: domain.ArticleTarget(from.TargetUser),
CountLove: from.CountLove,
CountComment: from.CountComment,
Tags: from.Tags,
Show: domain.ArticleShow(from.Show),
}
return to, nil
... ... @@ -182,7 +181,6 @@ func (repository *ArticleRepository) DomainModelToModel(from *domain.Article) (*
TargetUser: int(from.TargetUser),
CountLove: from.CountLove,
CountComment: from.CountComment,
Tags: from.Tags,
Show: int(from.Show),
}
// err := copier.Copy(to, from)
... ...
... ... @@ -24,7 +24,6 @@ type Article struct {
TargetUser ArticleTarget `json:"targetUser"` // 分发方式 0 分发给所有人 1 分发给指定的人
CountLove int `json:"countLove"` // 点赞数量
CountComment int `json:"countComment"` // 评论数量
Tags []int `json:"tags"` // 标签
Show ArticleShow `json:"showState"` // 评论的展示状态(0显示、1不显示)
// ...more
}
... ...