1 Star 0 Fork 0

叶明志 / golang练习

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
textItemDao.go 2.08 KB
一键复制 编辑 原始数据 按行查看 历史
package dao
import (
"GolangLearnPractice1/goMessage/model"
"encoding/json"
"fmt"
)
//GetTextItems 从数据库中拿到指定页面的数据
func GetTextItems(pageNo, pageSize int64) (textItems []*model.TextItem, totalRecord int64, totalPageNo int64, err error) {
query := fmt.Sprintf("db.collection(\"guestbook\").orderBy('createTime','desc').skip(%d).limit(%d).get()", (pageNo-1)*pageSize, pageSize)
data, err := getTcb().DatabaseQuery(getConfig().TcbEnv, query)
if err != nil {
return nil, 0, 0, err
}
for _, v := range data.Data {
textItem := &model.TextItem{}
err := json.Unmarshal([]byte(v), textItem)
if err != nil {
return nil, 0, 0, err
}
textItems = append(textItems, textItem)
}
//从数据库中查到留言项的总记录和总页数
sqlStr := "db.collection(\"guestbook\").get()"
countRes, err := getTcb().DatabaseCount(getConfig().TcbEnv, sqlStr)
if err != nil {
return nil, 0, 0, err
}
totalRecord = countRes.Count
if totalRecord%pageSize == 0 {
totalPageNo = totalRecord / pageSize
} else {
totalPageNo = totalRecord/pageSize + 1
}
return textItems, totalRecord, totalPageNo, nil
}
//AddTextItem 向数据库中添加留言项
func AddTextItem(textItem *model.TextItem) error {
query := `db.collection(\"%s\").add({
data: [{
username: \"%s\",
content: \"%s\",
fileName: \"%s\",
fileID: \"%s\",
createTime: \"%s\",
}]
})`
query = fmt.Sprintf(query, "guestbook", textItem.Username, textItem.Content, textItem.FileName, textItem.FileID, textItem.CreateTime)
_, err := getTcb().DatabaseAdd(getConfig().TcbEnv, query)
if err != nil {
fmt.Println(err)
return err
}
return nil
}
//FilterRes 过滤后的文本
type FilterRes struct {
Text string `json:"text"`
}
//FilterText 对用户发送的内容进行过滤
func FilterText(text string) (string, error) {
res, err := getTcb().InvokeCloudFunction(getConfig().TcbEnv, "filterText", fmt.Sprintf(`{"text":"%s"}`, text))
//返回的是json
filterRes := &FilterRes{}
err = json.Unmarshal([]byte(res.RespData), filterRes)
if err != nil {
return "", err
}
return filterRes.Text, nil
}
Go
1
https://gitee.com/yemingzhi/GolangLearnPractice1.git
git@gitee.com:yemingzhi/GolangLearnPractice1.git
yemingzhi
GolangLearnPractice1
golang练习
2bf136849dce

搜索帮助