sqlx: make app work well but except create post/comment/reply and some other create act in postgres driver because it not support LasterInsertId

r/paopao-ce-plus
Michael Li 1 year ago
parent 882010f5d8
commit 3d640f0958
No known key found for this signature in database

@ -7,7 +7,7 @@ require (
github.com/afocus/captcha v0.0.0-20191010092841-4bd1f21c8868
github.com/alimy/cfg v0.4.0
github.com/alimy/mir/v4 v4.0.0
github.com/alimy/yesql v1.8.4
github.com/alimy/yesql v1.8.5
github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible
github.com/allegro/bigcache/v3 v3.1.0
github.com/bitbus/sqlx v1.6.0

@ -127,8 +127,8 @@ github.com/alimy/cfg v0.4.0 h1:SslKPndmxRViT1ePWLmNsEq7okYP0GVeuowQlRWZPkw=
github.com/alimy/cfg v0.4.0/go.mod h1:rOxbasTH2srl6StAjNF5Vyi8bfrdkl3fLGmOYtSw81c=
github.com/alimy/mir/v4 v4.0.0 h1:MzGfmoLjjvR69jbZEmpKJO3tUuqB0RGRv1UWPbtukBg=
github.com/alimy/mir/v4 v4.0.0/go.mod h1:d58dBvw2KImcVbAUANrciEV/of0arMNsI9c/5UNCMMc=
github.com/alimy/yesql v1.8.4 h1:Nj4u681SS6uEQTOqXUXBSFnXI67akStnYtv6eYXjPlM=
github.com/alimy/yesql v1.8.4/go.mod h1:ROvO5FnBWhyAMI+sSSGzoXi2q/cCs0cW3WuelHCkLlk=
github.com/alimy/yesql v1.8.5 h1:LD6veEOm+SKNQjWNc1SrfXgVE8ohq6HxJe6iComF3C8=
github.com/alimy/yesql v1.8.5/go.mod h1:ROvO5FnBWhyAMI+sSSGzoXi2q/cCs0cW3WuelHCkLlk=
github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible h1:6JF1bjhT0WN2srEmijfOFtVWwV91KZ6dJY1/JbdtGrI=
github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8=
github.com/allegro/bigcache/v3 v3.1.0 h1:H2Vp8VOvxcrB91o86fUSVJFqeuz8kpyyB02eH3bSzwk=
@ -448,6 +448,7 @@ github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoD
github.com/form3tech-oss/jwt-go v3.2.5+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
@ -472,6 +473,7 @@ github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
@ -513,6 +515,7 @@ github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh
github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
@ -1071,6 +1074,7 @@ github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pierrec/lz4/v4 v4.1.8/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
github.com/pkg/browser v0.0.0-20210706143420-7d21f8c997e2/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
@ -1086,6 +1090,7 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
@ -1545,6 +1550,7 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180224232135-f6cff0780e54/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -2090,6 +2096,7 @@ modernc.org/ccgo/v3 v3.9.2/go.mod h1:gnJpy6NIVqkETT+L5zPsQFj7L2kkhfPMzOghRNv/CFo
modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ=
modernc.org/db v1.0.0/go.mod h1:kYD/cO29L/29RM0hXYl4i3+Q5VojL31kTUVpVJDw0s8=
modernc.org/file v1.0.0/go.mod h1:uqEokAEn1u6e+J45e54dsEA/pw4o7zLrA2GwyntZzjw=
modernc.org/fileutil v1.0.0/go.mod h1:JHsWpkrk/CnVV1H/eGlFf85BEpfkrp56ro8nojIq9Q8=
@ -2123,12 +2130,14 @@ modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
modernc.org/tcl v1.5.2/go.mod h1:pmJYOLgpiys3oI4AeAafkcUfE+TKKilminxNyU/+Zlo=
modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY=
modernc.org/tcl v1.15.2/go.mod h1:3+k/ZaEbKrC8ePv8zJWPtBSW0V7Gg9g8rkmhI1Kfs3c=
modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg=
modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
modernc.org/z v1.0.1-0.20210308123920-1f282aa71362/go.mod h1:8/SRk5C/HgiQWCgXdfpb+1RvhORdkz5sw72d3jjtyqA=
modernc.org/z v1.0.1/go.mod h1:8/SRk5C/HgiQWCgXdfpb+1RvhORdkz5sw72d3jjtyqA=
modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY=
modernc.org/z v1.7.3/go.mod h1:Ipv4tsdxZRbQyLq9Q1M6gdbkxYzdlrciF2Hi/lS7nWE=
modernc.org/zappy v1.0.0/go.mod h1:hHe+oGahLVII/aTTyWK/b53VDHMAGCBYYeZ9sn83HC4=
nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=

@ -58,7 +58,7 @@ func newSqlDB() (driver string, db *sql.DB, err error) {
if cfg.If("MySQL") {
driver = "mysql"
db, err = sql.Open(driver, MysqlSetting.Dsn())
} else if cfg.If("PostgreSQL") || cfg.If("Postgres") {
} else if cfg.Any("PostgreSQL", "PgSQL", "Postgres") {
driver = "pgx"
db, err = sql.Open(driver, PostgresSetting.Dsn())
} else if cfg.If("Sqlite3") {

@ -1,34 +1,39 @@
// Code generated by Yesql. DO NOT EDIT.
// versions:
// - Yesql v1.8.4
// - Yesql v1.8.5
package ac
import (
"context"
"fmt"
"github.com/alimy/yesql"
"github.com/bitbus/sqlx"
)
var (
_ = fmt.Errorf("error for placeholder")
)
const (
_ShipIndexA_UserInfo = `SELECT * FROM @user WHERE username=?`
_SimpleIndexA_UserInfo = `SELECT * FROM @user WHERE username=?`
_TopicA_DecrTagsById = `UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`
_TopicA_ExistTopicUser = `SELECT 1 FROM @topic_user WHERE user_id=? AND topic_id=? AND is_del=0`
_TopicA_FollowTags = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id "u.id", 1 as is_following, c.is_top, u.nickname "u.nickname", u.username "u.username", u.status "u.status", u.avatar "u.avatar", u.is_admin "u.is_admin" FROM @topic_user c JOIN @user u ON c.user_id = u.id JOIN @tag t ON c.topic_id = t.id WHERE c.is_del = 0 AND t.quote_num > 0 AND AND c.user_id=? ORDER BY t.quote_num DESC LIMIT ? OFFSET ?`
_TopicA_FollowTags = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id "u.id", 1 as is_following, c.is_top, u.nickname "u.nickname", u.username "u.username", u.status "u.status", u.avatar "u.avatar", u.is_admin "u.is_admin" FROM @topic_user c JOIN @user u ON c.user_id = u.id JOIN @tag t ON c.topic_id = t.id WHERE c.is_del = 0 AND t.quote_num > 0 AND c.user_id=? ORDER BY t.quote_num DESC LIMIT ? OFFSET ?`
_TopicA_FollowTopic = `INSERT INTO @topic_user(user_id, topic_id, created_on) VALUES (?, ?, ?)`
_TopicA_HotTags = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id "u.id", u.nickname "u.nickname", u.username "u.username", u.status "u.status", u.avatar "u.avatar", u.is_admin "u.is_admin" FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.quote_num DESC LIMIT ? OFFSET ?`
_TopicA_IncrTagsById = `UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`
_TopicA_InsertTag = `INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`
_TopicA_NewestTags = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id "u.id", u.nickname "u.nickname", u.username "u.username", u.status "u.status", u.avatar "u.avatar", u.is_admin "u.is_admin" FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.id DESC LIMIT ? OFFSET ?`
_TopicA_StickTopic = `UPDATE @topic_user SET is_top=1-is_top; modified_on=? WHERE user_id=? AND topic_id=? AND is_del=0`
_TopicA_StickTopic = `UPDATE @topic_user SET is_top=1-is_top, modified_on=? WHERE user_id=? AND topic_id=? AND is_del=0`
_TopicA_TagsByIdA = `SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`
_TopicA_TagsByIdB = `SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`
_TopicA_TagsByKeywordA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6`
_TopicA_TagsByKeywordB = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6`
_TopicA_TagsForIncr = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`
_TopicA_TopicInfos = `SELECT topic_id, is_top FROM @topic_user WHERE is_del=0 AND user_id=? AND topic_id IN ?`
_TopicA_TopicInfos = `SELECT topic_id, is_top FROM @topic_user WHERE is_del=0 AND user_id=? AND topic_id IN (?)`
_TopicA_TopicIsTop = `SELECT is_top FROM @topic_user WHERE user_id=? AND topic_id=? AND is_del=0`
_TopicA_UnfollowTopic = `UPDATE @topic_user SET is_del=1, deleted_on=? WHERE user_id=? AND topic_id=? AND is_del=0`
_TweetA_AttachmentByTweetId = `SELECT * FROM @user WHERE username=?`
@ -154,37 +159,37 @@ func BuildTopicA(p PreparexBuilder, ctx ...context.Context) (obj *TopicA, err er
TopicInfos: p.QueryHook(_TopicA_TopicInfos),
}
if obj.ExistTopicUser, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_ExistTopicUser))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_ExistTopicUser error: %w", err)
}
if obj.FollowTags, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_FollowTags))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_FollowTags error: %w", err)
}
if obj.FollowTopic, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_FollowTopic))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_FollowTopic error: %w", err)
}
if obj.HotTags, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_HotTags))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_HotTags error: %w", err)
}
if obj.InsertTag, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_InsertTag))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_InsertTag error: %w", err)
}
if obj.NewestTags, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_NewestTags))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_NewestTags error: %w", err)
}
if obj.StickTopic, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_StickTopic))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_StickTopic error: %w", err)
}
if obj.TagsByKeywordA, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_TagsByKeywordA))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_TagsByKeywordA error: %w", err)
}
if obj.TagsByKeywordB, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_TagsByKeywordB))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_TagsByKeywordB error: %w", err)
}
if obj.TopicIsTop, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_TopicIsTop))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_TopicIsTop error: %w", err)
}
if obj.UnfollowTopic, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TopicA_UnfollowTopic))); err != nil {
return
return nil, fmt.Errorf("prepare _TopicA_UnfollowTopic error: %w", err)
}
return
}

@ -1,16 +1,21 @@
// Code generated by Yesql. DO NOT EDIT.
// versions:
// - Yesql v1.8.4
// - Yesql v1.8.5
package cc
import (
"context"
"fmt"
"github.com/alimy/yesql"
"github.com/bitbus/sqlx"
)
var (
_ = fmt.Errorf("error for placeholder")
)
const (
_AuthorizationManage_BeFriendIds = `SELECT user_id FROM @contact WHERE friend_id=? AND status=2 AND is_del=0`
_AuthorizationManage_IsFriend = `SELECT status FROM @contact WHERE user_id=? AND friend_id=? AND is_del=0`
@ -19,9 +24,10 @@ const (
_Comment_GetCommentContentsByIds = `SELECT * FROM @comment_content WHERE comment_id IN (?)`
_Comment_GetCommentCount = `SELECT count(*) FROM @comment WHERE post_id=:post_id AND is_del=0`
_Comment_GetCommentReplyById = `SELECT * FROM @comment_reply WHERE id=? AND is_del=0`
_Comment_GetCommentThumbs = `SELECT * FROM @tweet_comment_thumbs WHERE user_id=? AND tweet_id=?`
_Comment_GetComments = `SELECT * FROM @comment WHERE post_id=? AND is_del=0 ORDER BY %order% LIMIT ? OFFSET ?`
_Comment_GetCommentThumbs = `SELECT user_id, tweet_id, comment_id, reply_id, comment_type, is_thumbs_up, is_thumbs_down FROM @tweet_comment_thumbs WHERE user_id=? AND tweet_id=?`
_Comment_GetCommmentRepliesByIds = `SELECT * FROM @comment_reply WHERE comment_id IN (?) ORDER BY id ASC`
_Comment_GetDefaultComments = `SELECT * FROM @comment WHERE post_id=? AND is_del=0 ORDER BY id ASC LIMIT ? OFFSET ?`
_Comment_GetNewestComments = `SELECT * FROM @comment WHERE post_id=? AND is_del=0 ORDER BY id DESC LIMIT ? OFFSET ?`
_Comment_GetUsersByIds = `SELECT id, nickname, username, status, avatar, is_admin FROM @user WHERE id IN (?)`
_CommentManage_CreateComment = `INSERT INTO @comment (post_id, user_id, ip, ip_loc, created_on) VALUES (?, ?, ?, ?, ?)`
_CommentManage_CreateCommentContent = `INSERT INTO @comment_content (comment_id, user_id, content, type, sort, created_on) VALUES (?, ?, ?, ?, ?, ?)`
@ -45,7 +51,7 @@ const (
_ContactManager_GetContacts = `SELECT id, user_id, friend_id, group_id, remark, status, is_top, is_black, notice_enable, is_del FROM @contact WHERE (user_id=? AND friend_id=?) OR (user_id=? AND friend_id=?)`
_ContactManager_GetUserFriend = `SELECT id, user_id, friend_id, group_id, remark, status, is_top, is_black, notice_enable, is_del FROM @contact WHERE user_id=? AND friend_id=? AND is_del=0`
_ContactManager_IsFriend = `SELECT true FROM @contact WHERE user_id=? AND friend_id=? AND is_del=0 AND status=2`
_ContactManager_ListFriend = `SELECT c.friend_id user_id, u.username username, u.nickname nickname, u.avatar avatar, u.phone phone FROM @contact c JOIN @user u ON c.friend_id=u.id WHERE user_id=? AND status=2 AND is_del=0 ORDER BY u.nickname ASC LIMIT ? OFFSET ?`
_ContactManager_ListFriend = `SELECT c.friend_id user_id, u.username username, u.nickname nickname, u.avatar avatar, u.phone phone FROM @contact c JOIN @user u ON c.friend_id=u.id WHERE c.user_id=? AND c.status=2 AND c.is_del=0 ORDER BY u.nickname ASC LIMIT ? OFFSET ?`
_ContactManager_RejectFriendMsgsUpdate = `UPDATE @message SET reply_id=?, modified_on=? WHERE sender_user_id = ? AND receiver_user_id = ? AND type = ? AND reply_id = ?`
_ContactManager_TotalFriendsById = `SELECT count(*) FROM @contact WHERE user_id=? AND status=2 AND is_del=0`
_FollowingManager_CountFollowings = `SELECT count(*) FROM @following WHERE follow_id=? AND is_del=0`
@ -53,25 +59,25 @@ const (
_FollowingManager_CreateFollowing = `INSERT INTO @following (user_id, follow_id, created_on) VALUES (?, ?, ?)`
_FollowingManager_DeleteFollowing = `UPDATE @following SET is_del=0, deleted_on=? WHERE user_id=? AND follow_id=? AND is_del=0`
_FollowingManager_ExistFollowing = `SELECT 1 FROM @following WHERE user_id=? AND follow_id=? AND is_del=0`
_FollowingManager_ListFollowings = `SELECT u.user_id user_id, u.username username, u.nickname nickname, u.avatar avatar, u.created_on created_on FROM @following f JOIN @user u ON f.user_id=u.id WHERE f.follow_id=? AND f.is_del=0 ORDER BY u.nickname ASC LIMIT ? OFFSET ?`
_FollowingManager_ListFollows = `SELECT u.user_id user_id, u.username username, u.nickname nickname, u.avatar avatar, u.created_on created_on FROM @following f JOIN @user u ON f.follow_id=u.id WHERE f.user_id=? AND f.is_del=0 ORDER BY u.nickname ASC LIMIT ? OFFSET ?`
_FollowingManager_ListFollowings = `SELECT u.id user_id, u.username username, u.nickname nickname, u.avatar avatar, u.created_on created_on FROM @following f JOIN @user u ON f.user_id=u.id WHERE f.follow_id=? AND f.is_del=0 ORDER BY u.nickname ASC LIMIT ? OFFSET ?`
_FollowingManager_ListFollows = `SELECT u.id user_id, u.username username, u.nickname nickname, u.avatar avatar, u.created_on created_on FROM @following f JOIN @user u ON f.follow_id=u.id WHERE f.user_id=? AND f.is_del=0 ORDER BY u.nickname ASC LIMIT ? OFFSET ?`
_Message_CreateMessage = `INSERT INTO @message (sender_user_id, receiver_user_id, type, brief, content, post_id, comment_id, reply_id, created_on) VALUES (:sender_user_id, :receiver_user_id, :type, :brief, :content, :post_id, :comment_id, :reply_id, :created_on)`
_Message_GetMessageById = `SELECT * FROM @message WHERE id=? AND is_del=0`
_Message_GetMessageCount = `SELECT count(*) FROM @message WHERE receiver_user_id=:recerver_user_id AND is_del=0`
_Message_GetMessages = `SELECT * FROM @message WHERE receiver_user_id=:recerver_user_id AND is_del=0 ORDER BY id DESC LIMIT :limit OFFSET :offset`
_Message_GetMessageCount = `SELECT count(*) FROM @message WHERE receiver_user_id=:receiver_user_id AND is_del=0`
_Message_GetMessages = `SELECT * FROM @message WHERE receiver_user_id=:receiver_user_id AND is_del=0 ORDER BY id DESC LIMIT :limit OFFSET :offset`
_Message_GetUnreadCount = `SELECT count(*) FROM @message WHERE receiver_user_id=? AND is_read=0 AND is_del=0`
_Message_ReadMessage = `UPDATE @message SET is_read=1, modified_on=? WHERE id=?`
_Security_CreatePhoneCaptcha = `INSERT INTO @captcha (phone, captcha, expired_on, created_on) VALUES (:phone, :captcha, :expired_on, :created_on)`
_Security_GetLatestPhoneCaptcha = `SELECT * FROM @captcha WHERE phone=? AND is_del=0`
_Security_UsePhoneCaptcha = `UPDATE @captcha SET use_times=use_times+1, modified_on=? WHERE id=? AND is_del=0`
_ShipIndex_IndexByAdmin = `SELECT * FROM @p_post WHERE is_del=0 ORDER BY is_top DESC, latest_replied_on DESC LIMIT ? OFFSET ?`
_ShipIndex_IndexByGuest = `SELECT * FROM @p_post WHERE visibility=0 AND is_del=0 ORDER BY is_top DESC, latest_replied_on DESC LIMIT ? OFFSET ?`
_ShipIndex_IndexBySelf = `SELECT * FROM @p_post WHERE is_del=0 AND (visibility=0 OR (visibility=1 AND user_id=?) OR (visibility=2 AND user_id IN ?)) ORDER BY is_top DESC, latest_replied_on DESC LIMIT ? OFFSET ?`
_ShipIndex_IndexCountByAdmin = `SELECT count(*) FROM @p_post WHERE is_del=0`
_ShipIndex_IndexCountByGuest = `SELECT count(*) FROM @p_post WHERE visibility=0 AND is_del=0`
_ShipIndex_IndexCountBySelf = `SELECT count(*) FROM @p_post WHERE is_del=0 AND (visibility=0 OR (visibility=1 AND user_id=?) OR (visibility=2 AND user_id IN ?))`
_SimpleIndex_Index = `SELECT * FROM @p_post WHERE visibility=0 ORDER BY is_top DESC, latest_replied_on DESC LIMIT ? OFFSET ?`
_SimpleIndex_IndexCount = `SELECT count(*) FROM @p_post WHERE visibility=0`
_ShipIndex_IndexByAdmin = `SELECT * FROM @post WHERE is_del=0 ORDER BY is_top DESC, latest_replied_on DESC LIMIT ? OFFSET ?`
_ShipIndex_IndexByGuest = `SELECT * FROM @post WHERE visibility=0 AND is_del=0 ORDER BY is_top DESC, latest_replied_on DESC LIMIT ? OFFSET ?`
_ShipIndex_IndexBySelf = `SELECT * FROM @post WHERE is_del=0 AND (visibility=0 OR (visibility=1 AND user_id=?) OR (visibility=2 AND user_id IN ?)) ORDER BY is_top DESC, latest_replied_on DESC LIMIT ? OFFSET ?`
_ShipIndex_IndexCountByAdmin = `SELECT count(*) FROM @post WHERE is_del=0`
_ShipIndex_IndexCountByGuest = `SELECT count(*) FROM @post WHERE visibility=0 AND is_del=0`
_ShipIndex_IndexCountBySelf = `SELECT count(*) FROM @post WHERE is_del=0 AND (visibility=0 OR (visibility=1 AND user_id=?) OR (visibility=2 AND user_id IN ?))`
_SimpleIndex_Index = `SELECT * FROM @post WHERE visibility=0 ORDER BY is_top DESC, latest_replied_on DESC LIMIT ? OFFSET ?`
_SimpleIndex_IndexCount = `SELECT count(*) FROM @post WHERE visibility=0`
_Tweet_GetAnyPostCount = `SELECT count(*) FROM @post WHERE visibility IN (?)`
_Tweet_GetAnyPosts = `SELECT * FROM @post WHERE visibility IN (?) AND is_del=0 LIMIT ? OFFSET ?`
_Tweet_GetPostAttachmentBill = `SELECT * FROM @post_attachment_bill WHERE post_id=? AND user_id=? AND is_del=0`
@ -85,11 +91,11 @@ const (
_Tweet_GetUserPostStar = `SELECT s.*, P.ID "post.id", P.user_id "post.user_id", P.comment_count "post.comment_count", P.collection_count "post.collection_count", P.upvote_count "post.upvote_count", P.share_count "post.share_count", P.visibility "post.visibility", P.is_top "post.is_top", P.is_essence "post.is_essence", P.is_lock "post.is_lock", P.latest_replied_on "post.latest_replied_on", P.tags "post.tags", P.attachment_price "post.attachment_price", P.ip "post.ip", P.ip_loc "post.ip_loc", P.is_del "post.is_del", P.created_on "post.created_on", P.modified_on "post.modified_on", P.deleted_on "post.deleted_on" FROM @post_star s JOIN @post P ON s.post_id = P.ID WHERE s.post_id = ? AND s.user_id = ? AND s.is_del = 0 AND ( visibility <> 1 OR ( visibility = 1 AND P.user_id = ? ) ) ORDER BY P.ID DESC`
_Tweet_GetUserPostStarCount = `SELECT count(*) FROM @post_star s JOIN @post P ON s.post_id = P.ID WHERE s.user_id = ? AND s.is_del = 0 AND ( visibility <> 1 OR ( visibility = 1 AND P.user_id = ? ) )`
_Tweet_GetUserPostStars = `SELECT s.*, P.ID "post.id", P.user_id "post.user_id", P.comment_count "post.comment_count", P.collection_count "post.collection_count", P.upvote_count "post.upvote_count", P.share_count "post.share_count", P.visibility "post.visibility", P.is_top "post.is_top", P.is_essence "post.is_essence", P.is_lock "post.is_lock", P.latest_replied_on "post.latest_replied_on", P.tags "post.tags", P.attachment_price "post.attachment_price", P.ip "post.ip", P.ip_loc "post.ip_loc", P.is_del "post.is_del", P.created_on "post.created_on", P.modified_on "post.modified_on", P.deleted_on "post.deleted_on" FROM @post_star s JOIN @post P ON s.post_id = P.ID WHERE s.user_id = ? AND s.is_del = 0 AND ( visibility <> 1 OR ( visibility = 1 AND P.user_id = ? ) ) ORDER BY s.ID DESC, P.ID DESC LIMIT ? OFFSET ?`
_Tweet_GetUserPosts = `SELECT * FROM @post WHERE user_id=? AND visibility IN (?) ORDER BY latest_replies_on DESC LIMIT ? OFFSET ?`
_Tweet_GetUserPosts = `SELECT * FROM @post WHERE user_id=? AND visibility IN (?) ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_TweetHelp_GetPostContentByIds = `SELECT id, post_id, content, type, sort FROM @post_content WHERE post_id IN (?) AND is_del=0`
_TweetHelp_GetUsersByIds = `SELECT id, username, nickname, status, avatar, is_admin FROM @user WHERE id IN (?) AND is_del=0`
_TweetManage_AddAttachment = `INSERT INTO @attachment (user_id, file_size, img_width, img_height, type, content, created_on) VALUES (?, ?, ?, ?, ?, ?, ?)`
_TweetManage_AddPost = `INSERT INTO @post (user_id, tags, ip, ip_loc, attachment_price, visibility, latest_replies_on, created_on) VALUES (:user_id, :tags, :ip, :ip_loc, :attachment_price, :visibility, :latest_replies_on, :created_on)`
_TweetManage_AddPost = `INSERT INTO @post (user_id, tags, ip, ip_loc, attachment_price, visibility, latest_replied_on, created_on) VALUES (:user_id, :tags, :ip, :ip_loc, :attachment_price, :visibility, :latest_replied_on, :created_on)`
_TweetManage_AddPostCollection = `INSERT INTO @post_collection (post_id, user_id, created_on) VALUES (?, ?, ?)`
_TweetManage_AddPostContent = `INSERT INTO @post_content (post_id, user_id, content, type, sort, created_on) VALUES (:post_id, :user_id, :content, :type, :sort, :created_on)`
_TweetManage_AddPostStar = `INSERT INTO @post_star (post_id, user_id, created_on) VALUES (?, ?, ?)`
@ -103,31 +109,31 @@ const (
_TweetManage_DelReplyByCommentIds = `UPDATE @comment_reply SET deleted_on=?, is_del=1 WHERE comment_id IN (?) AND is_del=0`
_TweetManage_HighlightPost = `UPDATE @post SET is_essence=1-is_essence WHERE id=? AND is_del=0`
_TweetManage_LockPost = `UPDATE @post SET is_lock=1-is_lock, modified_on=? WHERE id=? AND is_del=0`
_TweetManage_MediaContentByPostId = `SELECT content FROM post_content WHERE post_id=? AND is_del=0 AND type IN (3, 4, 5, 7, 8)`
_TweetManage_MediaContentByPostId = `SELECT content FROM @post_content WHERE post_id=? AND is_del=0 AND type IN (3, 4, 5, 7, 8)`
_TweetManage_PostHighlightStatus = `SELECT user_id, is_essence FROM @post WHERE id=? AND is_del=0`
_TweetManage_StickPost = `UPDATE @post SET is_top=1-is_top, modified_on=? WHERE id=? AND is_del=0`
_TweetManage_UpdatePost = `UPDATE @post SET comment_count=:comment_count, upvote_count=:upvote_count, collection_count=:collection_count, latest_replies_on=:latest_replies_on, modified_on=:modified_on WHERE id=:id AND is_del=0`
_TweetManage_UpdatePost = `UPDATE @post SET comment_count=:comment_count, upvote_count=:upvote_count, collection_count=:collection_count, latest_replied_on=:latest_replied_on, modified_on=:modified_on WHERE id=:id AND is_del=0`
_TweetManage_VisiblePost = `UPDATE @post SET visibility=?, is_top=?, modified_on=? WHERE id=? AND is_del=0`
_Tweet_UserCommentTweetsByFriend = `SELECT * FROM @post_by_comment WHERE is_del=0 AND comment_user_id=? AND (visibility=0 OR visibility=2) ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserCommentTweetsByGuest = `SELECT * FROM @post_by_comment WHERE is_del=0 AND comment_user_id=? AND visibility=0 ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserCommentTweetsBySelf = `SELECT * FROM @post_by_comment WHERE is_del=0 AND comment_user_id=? ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserCommentTweetsByFriend = `SELECT id, user_id, comment_count, collection_count, upvote_count, share_count, visibility, is_top, is_essence, is_lock, latest_replied_on, tags, attachment_price, ip, ip_loc, created_on, modified_on, deleted_on, is_del FROM @post_by_comment WHERE is_del=0 AND comment_user_id=? AND (visibility=0 OR visibility=2) ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserCommentTweetsByGuest = `SELECT id, user_id, comment_count, collection_count, upvote_count, share_count, visibility, is_top, is_essence, is_lock, latest_replied_on, tags, attachment_price, ip, ip_loc, created_on, modified_on, deleted_on, is_del FROM @post_by_comment WHERE is_del=0 AND comment_user_id=? AND visibility=0 ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserCommentTweetsBySelf = `SELECT id, user_id, comment_count, collection_count, upvote_count, share_count, visibility, is_top, is_essence, is_lock, latest_replied_on, tags, attachment_price, ip, ip_loc, created_on, modified_on, deleted_on, is_del FROM @post_by_comment WHERE is_del=0 AND comment_user_id=? ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserCommentTweetsCountByFriend = `SELECT count(*) FROM @post_by_comment WHERE is_del=0 AND comment_user_id=? AND (visibility=0 OR visibility=2)`
_Tweet_UserCommentTweetsCountByGuest = `SELECT count(*) FROM @post_by_comment WHERE is_del=0 AND comment_user_id=? AND visibility=0`
_Tweet_UserCommentTweetsCountBySelf = `SELECT count(*) FROM @post_by_comment WHERE is_del=0 AND comment_user_id=?`
_Tweet_UserMediaTweetsByFriend = `SELECT * FROM @post_by_media WHERE is_del=0 AND user_id=? AND (visibility=0 OR visibility=2) ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserMediaTweetsByGuest = `SELECT * FROM @post_by_media WHERE is_del=0 AND user_id=? AND visibility=0 ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserMediaTweetsBySelf = `SELECT * FROM @post_by_media WHERE is_del=0 AND user_id=? ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserMediaTweetsByFriend = `SELECT id, user_id, comment_count, collection_count, upvote_count, share_count, visibility, is_top, is_essence, is_lock, latest_replied_on, tags, attachment_price, ip, ip_loc, created_on, modified_on, deleted_on, is_del FROM @post_by_media WHERE is_del=0 AND user_id=? AND (visibility=0 OR visibility=2) ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserMediaTweetsByGuest = `SELECT id, user_id, comment_count, collection_count, upvote_count, share_count, visibility, is_top, is_essence, is_lock, latest_replied_on, tags, attachment_price, ip, ip_loc, created_on, modified_on, deleted_on, is_del FROM @post_by_media WHERE is_del=0 AND user_id=? AND visibility=0 ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserMediaTweetsBySelf = `SELECT id, user_id, comment_count, collection_count, upvote_count, share_count, visibility, is_top, is_essence, is_lock, latest_replied_on, tags, attachment_price, ip, ip_loc, created_on, modified_on, deleted_on, is_del FROM @post_by_media WHERE is_del=0 AND user_id=? ORDER BY latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserMediaTweetsCountByFriend = `SELECT count(*) FROM @post_by_media WHERE is_del=0 AND user_id=? AND (visibility=0 OR visibility=2)`
_Tweet_UserMediaTweetsCountByGuest = `SELECT count(*) FROM @post_by_media WHERE is_del=0 AND user_id=? AND visibility=0`
_Tweet_UserMediaTweetsCountBySelf = `SELECT count(*) FROM @post_by_media WHERE is_del=0 AND user_id=?`
_Tweet_UserStarTweetsByAdmin = `SELECT star.*, post.ID "post.id", post.created_on "post.created_on", post.modified_on "post.modified_on", post.deleted_on "post.deleted_on", post.is_del "post.is_del", post.user_id "post.user_id", post.comment_count "post.comment_count", post.collection_count "post.collection_count", post.share_count "post.share_count", post.upvote_count "post.upvote_count", post.visibility "post.visibility", post.is_top "post.is_top", post.is_essence "post.is_essence", post.is_lock "post.is_lock", post.latest_replied_on "post.latest_replied_on", post.tags "post.tags", post.attachment_price "post.attachment_price", post.ip "post.ip", post.ip_loc "post.ip_loc" FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? ORDER BY post.latest_replied_on DESC; LIMIT ? OFFSET ?`
_Tweet_UserStarTweetsByAdmin = `SELECT star.*, post.ID "post.id", post.created_on "post.created_on", post.modified_on "post.modified_on", post.deleted_on "post.deleted_on", post.is_del "post.is_del", post.user_id "post.user_id", post.comment_count "post.comment_count", post.collection_count "post.collection_count", post.share_count "post.share_count", post.upvote_count "post.upvote_count", post.visibility "post.visibility", post.is_top "post.is_top", post.is_essence "post.is_essence", post.is_lock "post.is_lock", post.latest_replied_on "post.latest_replied_on", post.tags "post.tags", post.attachment_price "post.attachment_price", post.ip "post.ip", post.ip_loc "post.ip_loc" FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? ORDER BY post.latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserStarTweetsByFriend = `SELECT star.*, post.ID "post.id", post.created_on "post.created_on", post.modified_on "post.modified_on", post.deleted_on "post.deleted_on", post.is_del "post.is_del", post.user_id "post.user_id", post.comment_count "post.comment_count", post.collection_count "post.collection_count", post.share_count "post.share_count", post.upvote_count "post.upvote_count", post.visibility "post.visibility", post.is_top "post.is_top", post.is_essence "post.is_essence", post.is_lock "post.is_lock", post.latest_replied_on "post.latest_replied_on", post.tags "post.tags", post.attachment_price "post.attachment_price", post.ip "post.ip", post.ip_loc "post.ip_loc" FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? AND (post.visibility=0 OR post.visibility=2) ORDER BY post.latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserStarTweetsByGuest = `SELECT star.*, post.ID "post.id", post.created_on "post.created_on", post.modified_on "post.modified_on", post.deleted_on "post.deleted_on", post.is_del "post.is_del", post.user_id "post.user_id", post.comment_count "post.comment_count", post.collection_count "post.collection_count", post.share_count "post.share_count", post.upvote_count "post.upvote_count", post.visibility "post.visibility", post.is_top "post.is_top", post.is_essence "post.is_essence", post.is_lock "post.is_lock", post.latest_replied_on "post.latest_replied_on", post.tags "post.tags", post.attachment_price "post.attachment_price", post.ip "post.ip", post.ip_loc "post.ip_loc" FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del = 0 AND star.user_id =? AND post.visibility = 0 ORDER BY post.latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserStarTweetsBySelf = `SELECT star.*, post.ID "post.id", post.created_on "post.created_on", post.modified_on "post.modified_on", post.deleted_on "post.deleted_on", post.is_del "post.is_del", post.user_id "post.user_id", post.comment_count "post.comment_count", post.collection_count "post.collection_count", post.share_count "post.share_count", post.upvote_count "post.upvote_count", post.visibility "post.visibility", post.is_top "post.is_top", post.is_essence "post.is_essence", post.is_lock "post.is_lock", post.latest_replied_on "post.latest_replied_on", post.tags "post.tags", post.attachment_price "post.attachment_price", post.ip "post.ip", post.ip_loc "post.ip_loc" FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? AND (post.visibility<>0 (post.visibility=0 AND post.user_id=?)) ORDER BY post.latest_replied_on DESC; LIMIT ? OFFSET ?`
_Tweet_UserStarTweetsBySelf = `SELECT star.*, post.ID "post.id", post.created_on "post.created_on", post.modified_on "post.modified_on", post.deleted_on "post.deleted_on", post.is_del "post.is_del", post.user_id "post.user_id", post.comment_count "post.comment_count", post.collection_count "post.collection_count", post.share_count "post.share_count", post.upvote_count "post.upvote_count", post.visibility "post.visibility", post.is_top "post.is_top", post.is_essence "post.is_essence", post.is_lock "post.is_lock", post.latest_replied_on "post.latest_replied_on", post.tags "post.tags", post.attachment_price "post.attachment_price", post.ip "post.ip", post.ip_loc "post.ip_loc" FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? AND (post.visibility<>0 OR (post.visibility=0 AND post.user_id=?)) ORDER BY post.latest_replied_on DESC LIMIT ? OFFSET ?`
_Tweet_UserStarTweetsCountByAdmin = `SELECT count(*) FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=?`
_Tweet_UserStarTweetsCountByFriend = `SELECT count(*) FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? AND (post.visibility=0 OR post.visibility=2)`
_Tweet_UserStarTweetsCountByGuest = `SELECT count(*) FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? AND post.visibility=0`
_Tweet_UserStarTweetsCountBySelf = `SELECT count(*) FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? AND (post.visibility<>0 (post.visibility=0 AND post.user_id=?))`
_Tweet_UserStarTweetsCountBySelf = `SELECT count(*) FROM @post_star star JOIN @post post ON star.post_id = post.ID WHERE star.is_del=0 AND star.user_id=? AND (post.visibility<>0 OR (post.visibility=0 AND post.user_id=?))`
_UserManage_CreateUser = `INSERT INTO @user (username, nickname, password, salt, avatar, status, created_on) VALUES (:username, :nickname, :password, :salt, :avatar, :status, :created_on)`
_UserManage_GetAnyUsers = `SELECT * FROM @user WHERE is_del=0 ORDER BY id ASC limit 6`
_UserManage_GetUserById = `SELECT * FROM @user WHERE id=? AND is_del=0`
@ -180,12 +186,13 @@ type AuthorizationManage struct {
type Comment struct {
yesql.Namespace `yesql:"comment"`
GetCommentContentsByIds string `yesql:"get_comment_contents_by_ids"`
GetComments string `yesql:"get_comments"`
GetCommmentRepliesByIds string `yesql:"get_commment_replies_by_ids"`
GetUsersByIds string `yesql:"get_users_by_ids"`
GetCommentById *sqlx.Stmt `yesql:"get_comment_by_id"`
GetCommentReplyById *sqlx.Stmt `yesql:"get_comment_reply_by_id"`
GetCommentThumbs *sqlx.Stmt `yesql:"get_comment_thumbs"`
GetDefaultComments *sqlx.Stmt `yesql:"get_default_comments"`
GetNewestComments *sqlx.Stmt `yesql:"get_newest_comments"`
GetCommentCount *sqlx.NamedStmt `yesql:"get_comment_count"`
}
@ -371,13 +378,13 @@ func BuildAuthorizationManage(p PreparexBuilder, ctx ...context.Context) (obj *A
}
obj = &AuthorizationManage{}
if obj.BeFriendIds, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AuthorizationManage_BeFriendIds))); err != nil {
return
return nil, fmt.Errorf("prepare _AuthorizationManage_BeFriendIds error: %w", err)
}
if obj.IsFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AuthorizationManage_IsFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _AuthorizationManage_IsFriend error: %w", err)
}
if obj.MyFriendSet, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_AuthorizationManage_MyFriendSet))); err != nil {
return
return nil, fmt.Errorf("prepare _AuthorizationManage_MyFriendSet error: %w", err)
}
return
}
@ -391,21 +398,26 @@ func BuildComment(p PreparexBuilder, ctx ...context.Context) (obj *Comment, err
}
obj = &Comment{
GetCommentContentsByIds: p.QueryHook(_Comment_GetCommentContentsByIds),
GetComments: p.QueryHook(_Comment_GetComments),
GetCommmentRepliesByIds: p.QueryHook(_Comment_GetCommmentRepliesByIds),
GetUsersByIds: p.QueryHook(_Comment_GetUsersByIds),
}
if obj.GetCommentById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Comment_GetCommentById))); err != nil {
return
return nil, fmt.Errorf("prepare _Comment_GetCommentById error: %w", err)
}
if obj.GetCommentReplyById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Comment_GetCommentReplyById))); err != nil {
return
return nil, fmt.Errorf("prepare _Comment_GetCommentReplyById error: %w", err)
}
if obj.GetCommentThumbs, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Comment_GetCommentThumbs))); err != nil {
return
return nil, fmt.Errorf("prepare _Comment_GetCommentThumbs error: %w", err)
}
if obj.GetDefaultComments, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Comment_GetDefaultComments))); err != nil {
return nil, fmt.Errorf("prepare _Comment_GetDefaultComments error: %w", err)
}
if obj.GetNewestComments, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Comment_GetNewestComments))); err != nil {
return nil, fmt.Errorf("prepare _Comment_GetNewestComments error: %w", err)
}
if obj.GetCommentCount, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_Comment_GetCommentCount))); err != nil {
return
return nil, fmt.Errorf("prepare _Comment_GetCommentCount error: %w", err)
}
return
}
@ -419,43 +431,43 @@ func BuildCommentManage(p PreparexBuilder, ctx ...context.Context) (obj *Comment
}
obj = &CommentManage{}
if obj.CreateComment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_CreateComment))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_CreateComment error: %w", err)
}
if obj.CreateCommentContent, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_CreateCommentContent))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_CreateCommentContent error: %w", err)
}
if obj.CreateCommentReply, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_CreateCommentReply))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_CreateCommentReply error: %w", err)
}
if obj.DeleteComment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_DeleteComment))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_DeleteComment error: %w", err)
}
if obj.DeleteCommentReply, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_DeleteCommentReply))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_DeleteCommentReply error: %w", err)
}
if obj.DeleteCommentThumbs, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_DeleteCommentThumbs))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_DeleteCommentThumbs error: %w", err)
}
if obj.DeleteReplyThumbs, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_DeleteReplyThumbs))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_DeleteReplyThumbs error: %w", err)
}
if obj.GetCommentReplyThumb, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_GetCommentReplyThumb))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_GetCommentReplyThumb error: %w", err)
}
if obj.GetTweetCommentThumb, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_GetTweetCommentThumb))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_GetTweetCommentThumb error: %w", err)
}
if obj.UpdateCommentThumbsCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_UpdateCommentThumbsCount))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_UpdateCommentThumbsCount error: %w", err)
}
if obj.UpdateReplyThumbsCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_CommentManage_UpdateReplyThumbsCount))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_UpdateReplyThumbsCount error: %w", err)
}
if obj.CreateThumbsUpdownComment, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_CommentManage_CreateThumbsUpdownComment))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_CreateThumbsUpdownComment error: %w", err)
}
if obj.UpdateThumbsUpdownComment, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_CommentManage_UpdateThumbsUpdownComment))); err != nil {
return
return nil, fmt.Errorf("prepare _CommentManage_UpdateThumbsUpdownComment error: %w", err)
}
return
}
@ -469,40 +481,40 @@ func BuildContactManager(p PreparexBuilder, ctx ...context.Context) (obj *Contac
}
obj = &ContactManager{}
if obj.AddFriendMsgsUpdate, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_AddFriendMsgsUpdate))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_AddFriendMsgsUpdate error: %w", err)
}
if obj.CreateContact, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_CreateContact))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_CreateContact error: %w", err)
}
if obj.DelFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_DelFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_DelFriend error: %w", err)
}
if obj.FreshContactStatus, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_FreshContactStatus))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_FreshContactStatus error: %w", err)
}
if obj.GetContact, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_GetContact))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_GetContact error: %w", err)
}
if obj.GetContacts, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_GetContacts))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_GetContacts error: %w", err)
}
if obj.GetUserFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_GetUserFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_GetUserFriend error: %w", err)
}
if obj.IsFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_IsFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_IsFriend error: %w", err)
}
if obj.ListFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_ListFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_ListFriend error: %w", err)
}
if obj.RejectFriendMsgsUpdate, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_RejectFriendMsgsUpdate))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_RejectFriendMsgsUpdate error: %w", err)
}
if obj.TotalFriendsById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ContactManager_TotalFriendsById))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_TotalFriendsById error: %w", err)
}
if obj.CreateMessage, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_ContactManager_CreateMessage))); err != nil {
return
return nil, fmt.Errorf("prepare _ContactManager_CreateMessage error: %w", err)
}
return
}
@ -516,25 +528,25 @@ func BuildFollowingManager(p PreparexBuilder, ctx ...context.Context) (obj *Foll
}
obj = &FollowingManager{}
if obj.CountFollowings, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FollowingManager_CountFollowings))); err != nil {
return
return nil, fmt.Errorf("prepare _FollowingManager_CountFollowings error: %w", err)
}
if obj.CountFollows, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FollowingManager_CountFollows))); err != nil {
return
return nil, fmt.Errorf("prepare _FollowingManager_CountFollows error: %w", err)
}
if obj.CreateFollowing, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FollowingManager_CreateFollowing))); err != nil {
return
return nil, fmt.Errorf("prepare _FollowingManager_CreateFollowing error: %w", err)
}
if obj.DeleteFollowing, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FollowingManager_DeleteFollowing))); err != nil {
return
return nil, fmt.Errorf("prepare _FollowingManager_DeleteFollowing error: %w", err)
}
if obj.ExistFollowing, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FollowingManager_ExistFollowing))); err != nil {
return
return nil, fmt.Errorf("prepare _FollowingManager_ExistFollowing error: %w", err)
}
if obj.ListFollowings, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FollowingManager_ListFollowings))); err != nil {
return
return nil, fmt.Errorf("prepare _FollowingManager_ListFollowings error: %w", err)
}
if obj.ListFollows, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_FollowingManager_ListFollows))); err != nil {
return
return nil, fmt.Errorf("prepare _FollowingManager_ListFollows error: %w", err)
}
return
}
@ -548,22 +560,22 @@ func BuildMessage(p PreparexBuilder, ctx ...context.Context) (obj *Message, err
}
obj = &Message{}
if obj.GetMessageById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Message_GetMessageById))); err != nil {
return
return nil, fmt.Errorf("prepare _Message_GetMessageById error: %w", err)
}
if obj.GetUnreadCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Message_GetUnreadCount))); err != nil {
return
return nil, fmt.Errorf("prepare _Message_GetUnreadCount error: %w", err)
}
if obj.ReadMessage, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Message_ReadMessage))); err != nil {
return
return nil, fmt.Errorf("prepare _Message_ReadMessage error: %w", err)
}
if obj.CreateMessage, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_Message_CreateMessage))); err != nil {
return
return nil, fmt.Errorf("prepare _Message_CreateMessage error: %w", err)
}
if obj.GetMessageCount, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_Message_GetMessageCount))); err != nil {
return
return nil, fmt.Errorf("prepare _Message_GetMessageCount error: %w", err)
}
if obj.GetMessages, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_Message_GetMessages))); err != nil {
return
return nil, fmt.Errorf("prepare _Message_GetMessages error: %w", err)
}
return
}
@ -577,13 +589,13 @@ func BuildSecurity(p PreparexBuilder, ctx ...context.Context) (obj *Security, er
}
obj = &Security{}
if obj.GetLatestPhoneCaptcha, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Security_GetLatestPhoneCaptcha))); err != nil {
return
return nil, fmt.Errorf("prepare _Security_GetLatestPhoneCaptcha error: %w", err)
}
if obj.UsePhoneCaptcha, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Security_UsePhoneCaptcha))); err != nil {
return
return nil, fmt.Errorf("prepare _Security_UsePhoneCaptcha error: %w", err)
}
if obj.CreatePhoneCaptcha, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_Security_CreatePhoneCaptcha))); err != nil {
return
return nil, fmt.Errorf("prepare _Security_CreatePhoneCaptcha error: %w", err)
}
return
}
@ -600,16 +612,16 @@ func BuildShipIndex(p PreparexBuilder, ctx ...context.Context) (obj *ShipIndex,
IndexCountBySelf: p.QueryHook(_ShipIndex_IndexCountBySelf),
}
if obj.IndexByAdmin, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ShipIndex_IndexByAdmin))); err != nil {
return
return nil, fmt.Errorf("prepare _ShipIndex_IndexByAdmin error: %w", err)
}
if obj.IndexByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ShipIndex_IndexByGuest))); err != nil {
return
return nil, fmt.Errorf("prepare _ShipIndex_IndexByGuest error: %w", err)
}
if obj.IndexCountByAdmin, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ShipIndex_IndexCountByAdmin))); err != nil {
return
return nil, fmt.Errorf("prepare _ShipIndex_IndexCountByAdmin error: %w", err)
}
if obj.IndexCountByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_ShipIndex_IndexCountByGuest))); err != nil {
return
return nil, fmt.Errorf("prepare _ShipIndex_IndexCountByGuest error: %w", err)
}
return
}
@ -623,10 +635,10 @@ func BuildSimpleIndex(p PreparexBuilder, ctx ...context.Context) (obj *SimpleInd
}
obj = &SimpleIndex{}
if obj.Index, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_SimpleIndex_Index))); err != nil {
return
return nil, fmt.Errorf("prepare _SimpleIndex_Index error: %w", err)
}
if obj.IndexCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_SimpleIndex_IndexCount))); err != nil {
return
return nil, fmt.Errorf("prepare _SimpleIndex_IndexCount error: %w", err)
}
return
}
@ -646,91 +658,91 @@ func BuildTweet(p PreparexBuilder, ctx ...context.Context) (obj *Tweet, err erro
GetUserPosts: p.QueryHook(_Tweet_GetUserPosts),
}
if obj.GetPostAttachmentBill, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetPostAttachmentBill))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetPostAttachmentBill error: %w", err)
}
if obj.GetPostById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetPostById))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetPostById error: %w", err)
}
if obj.GetPostContentById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetPostContentById))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetPostContentById error: %w", err)
}
if obj.GetUserPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetUserPostCollection))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetUserPostCollection error: %w", err)
}
if obj.GetUserPostCollectionCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetUserPostCollectionCount))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetUserPostCollectionCount error: %w", err)
}
if obj.GetUserPostCollections, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetUserPostCollections))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetUserPostCollections error: %w", err)
}
if obj.GetUserPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetUserPostStar))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetUserPostStar error: %w", err)
}
if obj.GetUserPostStarCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetUserPostStarCount))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetUserPostStarCount error: %w", err)
}
if obj.GetUserPostStars, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_GetUserPostStars))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_GetUserPostStars error: %w", err)
}
if obj.UserCommentTweetsByFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserCommentTweetsByFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserCommentTweetsByFriend error: %w", err)
}
if obj.UserCommentTweetsByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserCommentTweetsByGuest))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserCommentTweetsByGuest error: %w", err)
}
if obj.UserCommentTweetsBySelf, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserCommentTweetsBySelf))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserCommentTweetsBySelf error: %w", err)
}
if obj.UserCommentTweetsCountByFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserCommentTweetsCountByFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserCommentTweetsCountByFriend error: %w", err)
}
if obj.UserCommentTweetsCountByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserCommentTweetsCountByGuest))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserCommentTweetsCountByGuest error: %w", err)
}
if obj.UserCommentTweetsCountBySelf, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserCommentTweetsCountBySelf))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserCommentTweetsCountBySelf error: %w", err)
}
if obj.UserMediaTweetsByFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserMediaTweetsByFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserMediaTweetsByFriend error: %w", err)
}
if obj.UserMediaTweetsByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserMediaTweetsByGuest))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserMediaTweetsByGuest error: %w", err)
}
if obj.UserMediaTweetsBySelf, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserMediaTweetsBySelf))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserMediaTweetsBySelf error: %w", err)
}
if obj.UserMediaTweetsCountByFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserMediaTweetsCountByFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserMediaTweetsCountByFriend error: %w", err)
}
if obj.UserMediaTweetsCountByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserMediaTweetsCountByGuest))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserMediaTweetsCountByGuest error: %w", err)
}
if obj.UserMediaTweetsCountBySelf, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserMediaTweetsCountBySelf))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserMediaTweetsCountBySelf error: %w", err)
}
if obj.UserStarTweetsByAdmin, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserStarTweetsByAdmin))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserStarTweetsByAdmin error: %w", err)
}
if obj.UserStarTweetsByFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserStarTweetsByFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserStarTweetsByFriend error: %w", err)
}
if obj.UserStarTweetsByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserStarTweetsByGuest))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserStarTweetsByGuest error: %w", err)
}
if obj.UserStarTweetsBySelf, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserStarTweetsBySelf))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserStarTweetsBySelf error: %w", err)
}
if obj.UserStarTweetsCountByAdmin, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserStarTweetsCountByAdmin))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserStarTweetsCountByAdmin error: %w", err)
}
if obj.UserStarTweetsCountByFriend, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserStarTweetsCountByFriend))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserStarTweetsCountByFriend error: %w", err)
}
if obj.UserStarTweetsCountByGuest, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserStarTweetsCountByGuest))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserStarTweetsCountByGuest error: %w", err)
}
if obj.UserStarTweetsCountBySelf, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Tweet_UserStarTweetsCountBySelf))); err != nil {
return
return nil, fmt.Errorf("prepare _Tweet_UserStarTweetsCountBySelf error: %w", err)
}
return
}
@ -756,55 +768,55 @@ func BuildTweetManage(p PreparexBuilder, ctx ...context.Context) (obj *TweetMana
DelReplyByCommentIds: p.QueryHook(_TweetManage_DelReplyByCommentIds),
}
if obj.AddAttachment, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_AddAttachment))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_AddAttachment error: %w", err)
}
if obj.AddPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_AddPostCollection))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_AddPostCollection error: %w", err)
}
if obj.AddPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_AddPostStar))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_AddPostStar error: %w", err)
}
if obj.CommentIdsByPostId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_CommentIdsByPostId))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_CommentIdsByPostId error: %w", err)
}
if obj.DelCommentByPostId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_DelCommentByPostId))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_DelCommentByPostId error: %w", err)
}
if obj.DelPostById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_DelPostById))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_DelPostById error: %w", err)
}
if obj.DelPostCollection, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_DelPostCollection))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_DelPostCollection error: %w", err)
}
if obj.DelPostStar, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_DelPostStar))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_DelPostStar error: %w", err)
}
if obj.HighlightPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_HighlightPost))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_HighlightPost error: %w", err)
}
if obj.LockPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_LockPost))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_LockPost error: %w", err)
}
if obj.MediaContentByPostId, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_MediaContentByPostId))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_MediaContentByPostId error: %w", err)
}
if obj.PostHighlightStatus, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_PostHighlightStatus))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_PostHighlightStatus error: %w", err)
}
if obj.StickPost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_StickPost))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_StickPost error: %w", err)
}
if obj.VisiblePost, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TweetManage_VisiblePost))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_VisiblePost error: %w", err)
}
if obj.AddPost, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_TweetManage_AddPost))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_AddPost error: %w", err)
}
if obj.AddPostContent, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_TweetManage_AddPostContent))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_AddPostContent error: %w", err)
}
if obj.UpdatePost, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_TweetManage_UpdatePost))); err != nil {
return
return nil, fmt.Errorf("prepare _TweetManage_UpdatePost error: %w", err)
}
return
}
@ -820,25 +832,25 @@ func BuildUserManage(p PreparexBuilder, ctx ...context.Context) (obj *UserManage
GetUsersByIds: p.QueryHook(_UserManage_GetUsersByIds),
}
if obj.GetAnyUsers, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserManage_GetAnyUsers))); err != nil {
return
return nil, fmt.Errorf("prepare _UserManage_GetAnyUsers error: %w", err)
}
if obj.GetUserById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserManage_GetUserById))); err != nil {
return
return nil, fmt.Errorf("prepare _UserManage_GetUserById error: %w", err)
}
if obj.GetUserByPhone, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserManage_GetUserByPhone))); err != nil {
return
return nil, fmt.Errorf("prepare _UserManage_GetUserByPhone error: %w", err)
}
if obj.GetUserByUsername, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserManage_GetUserByUsername))); err != nil {
return
return nil, fmt.Errorf("prepare _UserManage_GetUserByUsername error: %w", err)
}
if obj.GetUsersByKeyword, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserManage_GetUsersByKeyword))); err != nil {
return
return nil, fmt.Errorf("prepare _UserManage_GetUsersByKeyword error: %w", err)
}
if obj.CreateUser, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_UserManage_CreateUser))); err != nil {
return
return nil, fmt.Errorf("prepare _UserManage_CreateUser error: %w", err)
}
if obj.UpdateUser, err = p.PrepareNamedContext(c, p.Rebind(p.QueryHook(_UserManage_UpdateUser))); err != nil {
return
return nil, fmt.Errorf("prepare _UserManage_UpdateUser error: %w", err)
}
return
}
@ -852,40 +864,40 @@ func BuildWallet(p PreparexBuilder, ctx ...context.Context) (obj *Wallet, err er
}
obj = &Wallet{}
if obj.AddUserBalance, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_AddUserBalance))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_AddUserBalance error: %w", err)
}
if obj.CreateRecharge, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_CreateRecharge))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_CreateRecharge error: %w", err)
}
if obj.CreateWalletStatement, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_CreateWalletStatement))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_CreateWalletStatement error: %w", err)
}
if obj.GetRechargeById, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_GetRechargeById))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_GetRechargeById error: %w", err)
}
if obj.GetUserBalance, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_GetUserBalance))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_GetUserBalance error: %w", err)
}
if obj.GetUserByUid, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_GetUserByUid))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_GetUserByUid error: %w", err)
}
if obj.GetUserWalletBillCount, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_GetUserWalletBillCount))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_GetUserWalletBillCount error: %w", err)
}
if obj.GetUserWalletBills, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_GetUserWalletBills))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_GetUserWalletBills error: %w", err)
}
if obj.MarkSuccessRecharge, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_MarkSuccessRecharge))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_MarkSuccessRecharge error: %w", err)
}
if obj.MinusUserBalance, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_MinusUserBalance))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_MinusUserBalance error: %w", err)
}
if obj.NewPostAttachmentBill, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_NewPostAttachmentBill))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_NewPostAttachmentBill error: %w", err)
}
if obj.NewPostBill, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_Wallet_NewPostBill))); err != nil {
return
return nil, fmt.Errorf("prepare _Wallet_NewPostBill error: %w", err)
}
return
}

@ -1,16 +1,25 @@
// Code generated by Yesql. DO NOT EDIT.
// versions:
// - Yesql v1.8.4
// - Yesql v1.8.5
package yesql
import (
"context"
"fmt"
"github.com/bitbus/sqlx"
)
var (
_ = fmt.Errorf("error for placeholder")
)
const (
_IncrTagsById = `UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`
_InsertTag = `INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`
_TagsByIdB = `SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`
_TagsForIncr = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`
_TagsFromNames = `SELECT * FROM @tag WHERE tag IN (?) AND is_del=0`
_UpdateTagQuote = `UPDATE @tag SET quote_num=?, modified_on=? WHERE id=? AND is_del=0`
)
@ -36,7 +45,11 @@ type PreparexBuilder interface {
}
type Yesql struct {
IncrTagsById string `yesql:"incr_tags_by_id"`
TagsByIdB string `yesql:"tags_by_id_b"`
TagsForIncr string `yesql:"tags_for_incr"`
TagsFromNames string `yesql:"tags_from_names"`
InsertTag *sqlx.Stmt `yesql:"insert_tag"`
UpdateTagQuote *sqlx.Stmt `yesql:"update_tag_quote"`
}
@ -48,10 +61,16 @@ func BuildYesql(p PreparexBuilder, ctx ...context.Context) (obj *Yesql, err erro
c = context.Background()
}
obj = &Yesql{
IncrTagsById: p.QueryHook(_IncrTagsById),
TagsByIdB: p.QueryHook(_TagsByIdB),
TagsForIncr: p.QueryHook(_TagsForIncr),
TagsFromNames: p.QueryHook(_TagsFromNames),
}
if obj.InsertTag, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_InsertTag))); err != nil {
return nil, fmt.Errorf("prepare _InsertTag error: %w", err)
}
if obj.UpdateTagQuote, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UpdateTagQuote))); err != nil {
return
return nil, fmt.Errorf("prepare _UpdateTagQuote error: %w", err)
}
return
}

@ -5,7 +5,6 @@
package sakila
import (
"strings"
"time"
"github.com/bitbus/sqlx"
@ -35,27 +34,35 @@ type commentManageSrv struct {
func (s *commentSrv) GetComments(r *ms.ConditionsT, offset, limit int) (res []*ms.Comment, err error) {
order := (*r)["ORDER"].(string)
postId := (*r)["post_id"]
stmt := strings.Replace(s.q.GetComments, "%order%", order, 1)
err = s.db.Select(&res, stmt, postId, limit, offset)
if order == "id ASC" {
err = s.q.GetDefaultComments.Select(&res, postId, limit, offset)
} else {
err = s.q.GetNewestComments.Select(&res, postId, limit, offset)
}
return
}
func (s *commentSrv) GetCommentByID(id int64) (res *ms.Comment, err error) {
res = &ms.Comment{}
err = s.q.GetCommentById.Get(res, id)
return
}
func (s *commentSrv) GetCommentReplyByID(id int64) (res *ms.CommentReply, err error) {
res = &ms.CommentReply{}
err = s.q.GetCommentReplyById.Get(res, id)
return
}
func (s *commentSrv) GetCommentCount(r *ms.ConditionsT) (res int64, err error) {
err = s.q.GetCommentCount.Get(&res, r)
err = s.q.GetCommentCount.Get(&res, *r)
return
}
func (s *commentSrv) GetCommentContentsByIDs(ids []int64) (res []*ms.CommentContent, err error) {
if len(ids) == 0 {
return nil, nil
}
err = s.db.InSelect(&res, s.q.GetCommentContentsByIds, ids)
return res, err
}
@ -81,6 +88,9 @@ func (s *commentSrv) GetCommentThumbsMap(userId int64, tweetId int64) (cs.Commen
}
func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*ms.CommentReplyFormated, error) {
if len(ids) == 0 {
return nil, nil
}
replies := []*ms.CommentReply{}
err := s.db.InSelect(&replies, s.q.GetCommmentRepliesByIds, ids)
if err != nil {
@ -91,8 +101,10 @@ func (s *commentSrv) GetCommentRepliesByID(ids []int64) ([]*ms.CommentReplyForma
userIds = append(userIds, reply.UserID, reply.AtUserID)
}
users := []*ms.UserFormated{}
if err = s.db.InSelect(&users, s.q.GetUsersByIds, userIds); err != nil {
return nil, err
if len(userIds) > 0 {
if err = s.db.InSelect(&users, s.q.GetUsersByIds, userIds); err != nil {
return nil, err
}
}
repliesFormated := []*ms.CommentReplyFormated{}
for _, reply := range replies {

@ -160,6 +160,7 @@ func (s *contactManageSrv) IsFriend(userId int64, friendId int64) (res bool) {
}
func (s *contactManageSrv) fetchOrNewContact(tx *sqlx.Tx, userId int64, friendId int64, status int8) (res *cs.Contact, err error) {
res = &cs.Contact{}
if err = tx.Stmtx(s.q.GetContact).Get(res, userId, friendId); err == nil {
return
}

@ -18,11 +18,11 @@ var (
)
type followItem struct {
UserId int64
Username string
Nickname string
Avatar string
CreateOn int64
UserId int64
Username string
Nickname string
Avatar string
CreatedOn int64
}
type followingManageSrv struct {
@ -56,7 +56,7 @@ func (s *followingManageSrv) ListFollows(userId int64, limit, offset int) (res *
Username: f.Username,
Nickname: f.Nickname,
Avatar: f.Avatar,
CreatedOn: f.CreateOn,
CreatedOn: f.CreatedOn,
})
}
return
@ -74,15 +74,15 @@ func (s *followingManageSrv) ListFollowings(userId int64, limit, offset int) (re
Username: f.Username,
Nickname: f.Nickname,
Avatar: f.Avatar,
CreatedOn: f.CreateOn,
CreatedOn: f.CreatedOn,
})
}
return
}
func (s *followingManageSrv) GetFollowCount(userId int64) (follows int64, followings int64, err error) {
if err = s.q.CountFollows.Get(&follows); err == nil {
err = s.q.CountFollowings.Get(&followings)
if err = s.q.CountFollows.Get(&follows, userId); err == nil {
err = s.q.CountFollowings.Get(&followings, userId)
}
return
}

@ -12,6 +12,7 @@ import (
"github.com/rocboss/paopao-ce/internal/core/ms"
"github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr"
"github.com/rocboss/paopao-ce/internal/dao/sakila/auto/cc"
"github.com/sirupsen/logrus"
)
var (
@ -39,7 +40,7 @@ func (s *messageSrv) CreateMessage(r *ms.Message) (*ms.Message, error) {
}
func (s *messageSrv) GetUnreadCount(userID int64) (res int64, err error) {
err = s.q.GetUnreadCount.Get(&res)
err = s.q.GetUnreadCount.Get(&res, userID)
return
}
@ -56,7 +57,7 @@ func (s *messageSrv) ReadMessage(r *ms.Message) (err error) {
func (s *messageSrv) GetMessages(r *ms.ConditionsT, offset, limit int) ([]*ms.MessageFormated, error) {
var messages []*ms.Message
(*r)["limit"], (*r)["offset"] = limit, offset
if err := s.q.GetMessages.Select(&messages, r); err != nil {
if err := s.q.GetMessages.Select(&messages, *r); err != nil {
return nil, err
}
mfs := make([]*dbr.MessageFormated, 0, len(messages))
@ -68,7 +69,9 @@ func (s *messageSrv) GetMessages(r *ms.ConditionsT, offset, limit int) ([]*ms.Me
}
func (s *messageSrv) GetMessageCount(r *ms.ConditionsT) (res int64, err error) {
err = s.q.GetMessageCount.Get(&res, r)
if err = s.q.GetMessageCount.Get(&res, *r); err != nil {
logrus.Errorf("get message count error: %s", err)
}
return
}

@ -29,6 +29,7 @@ type securitySrv struct {
// GetLatestPhoneCaptcha 获取最新短信验证码
func (s *securitySrv) GetLatestPhoneCaptcha(phone string) (res *ms.Captcha, err error) {
res = &ms.Captcha{}
err = s.q.GetLatestPhoneCaptcha.Get(res, phone)
return
}

@ -7,20 +7,14 @@ package sakila
import (
"github.com/bitbus/sqlx"
"github.com/rocboss/paopao-ce/internal/core"
"github.com/rocboss/paopao-ce/internal/core/cs"
"github.com/rocboss/paopao-ce/internal/core/ms"
"github.com/rocboss/paopao-ce/internal/dao/sakila/auto/ac"
"github.com/rocboss/paopao-ce/internal/dao/sakila/auto/cc"
"github.com/rocboss/paopao-ce/pkg/debug"
"github.com/sirupsen/logrus"
)
var (
_ core.IndexPostsService = (*shipIndexSrv)(nil)
_ core.IndexPostsService = (*simpleIndexPostsSrv)(nil)
_ core.IndexPostsServantA = (*shipIndexSrvA)(nil)
_ core.IndexPostsServantA = (*simpleIndexPostsSrvA)(nil)
)
type shipIndexSrv struct {
@ -36,19 +30,6 @@ type simpleIndexPostsSrv struct {
q *cc.SimpleIndex
}
type shipIndexSrvA struct {
*sqlxSrv
ams core.AuthorizationManageService
ths core.TweetHelpServantA
q *ac.ShipIndexA
}
type simpleIndexPostsSrvA struct {
*sqlxSrv
ths core.TweetHelpServantA
q *ac.SimpleIndexA
}
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *shipIndexSrv) IndexPosts(user *ms.User, offset int, limit int) (res *ms.IndexTweetList, err error) {
var posts []*ms.Post
@ -60,7 +41,7 @@ func (s *shipIndexSrv) IndexPosts(user *ms.User, offset int, limit int) (res *ms
}
case user != nil && user.IsAdmin:
if err = s.q.IndexByAdmin.Select(&posts, limit, offset); err == nil {
err = s.q.IndexByAdmin.Get(&res.Total)
err = s.q.IndexCountByAdmin.Get(&res.Total)
}
default:
friendIds, _ := s.ams.BeFriendIds(user.ID)
@ -99,18 +80,6 @@ func (s *simpleIndexPostsSrv) IndexPosts(_user *ms.User, offset int, limit int)
return
}
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *shipIndexSrvA) IndexPosts(user *ms.User, limit int, offset int) (*cs.TweetBox, error) {
// TODO
return nil, debug.ErrNotImplemented
}
// IndexPosts simpleCacheIndex 专属获取广场推文列表函数
func (s *simpleIndexPostsSrvA) IndexPosts(_user *ms.User, limit int, offset int) (*cs.TweetBox, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func newShipIndexService(db *sqlx.DB, ams core.AuthorizationManageService, ths core.TweetHelpService) core.IndexPostsService {
return &shipIndexSrv{
ams: ams,
@ -127,22 +96,3 @@ func newSimpleIndexPostsService(db *sqlx.DB, ths core.TweetHelpService) core.Ind
q: ccBuild(db, cc.BuildSimpleIndex),
}
}
//lint:ignore U1000 newShipIndexServantA
func newShipIndexServantA(db *sqlx.DB, ams core.AuthorizationManageService, ths core.TweetHelpServantA) core.IndexPostsServantA {
return &shipIndexSrvA{
ams: ams,
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: acBuildFn(db, ac.BuildShipIndexA),
}
}
//lint:ignore U1000 newSimpleIndexPostsServantA
func newSimpleIndexPostsServantA(db *sqlx.DB, ths core.TweetHelpServantA) core.IndexPostsServantA {
return &simpleIndexPostsSrvA{
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: acBuildFn(db, ac.BuildSimpleIndexA),
}
}

@ -0,0 +1,63 @@
// Copyright 2023 ROC. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
package sakila
import (
"github.com/bitbus/sqlx"
"github.com/rocboss/paopao-ce/internal/core"
"github.com/rocboss/paopao-ce/internal/core/cs"
"github.com/rocboss/paopao-ce/internal/core/ms"
"github.com/rocboss/paopao-ce/internal/dao/sakila/auto/ac"
"github.com/rocboss/paopao-ce/pkg/debug"
)
var (
_ core.IndexPostsServantA = (*shipIndexSrvA)(nil)
_ core.IndexPostsServantA = (*simpleIndexPostsSrvA)(nil)
)
type shipIndexSrvA struct {
*sqlxSrv
ams core.AuthorizationManageService
ths core.TweetHelpServantA
q *ac.ShipIndexA
}
type simpleIndexPostsSrvA struct {
*sqlxSrv
ths core.TweetHelpServantA
q *ac.SimpleIndexA
}
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *shipIndexSrvA) IndexPosts(user *ms.User, limit int, offset int) (*cs.TweetBox, error) {
// TODO
return nil, debug.ErrNotImplemented
}
// IndexPosts simpleCacheIndex 专属获取广场推文列表函数
func (s *simpleIndexPostsSrvA) IndexPosts(_user *ms.User, limit int, offset int) (*cs.TweetBox, error) {
// TODO
return nil, debug.ErrNotImplemented
}
//lint:ignore U1000 newShipIndexServantA
func newShipIndexServantA(db *sqlx.DB, ams core.AuthorizationManageService, ths core.TweetHelpServantA) core.IndexPostsServantA {
return &shipIndexSrvA{
ams: ams,
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: acBuildFn(db, ac.BuildShipIndexA),
}
}
//lint:ignore U1000 newSimpleIndexPostsServantA
func newSimpleIndexPostsServantA(db *sqlx.DB, ths core.TweetHelpServantA) core.IndexPostsServantA {
return &simpleIndexPostsSrvA{
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: acBuildFn(db, ac.BuildSimpleIndexA),
}
}

@ -40,6 +40,9 @@ type tweetHelpSrv struct {
// MergePosts post数据整合
func (s *tweetHelpSrv) MergePosts(posts []*ms.Post) ([]*ms.PostFormated, error) {
if len(posts) == 0 {
return nil, nil
}
postIds := make([]int64, 0, len(posts))
userIds := make([]int64, 0, len(posts))
for _, post := range posts {
@ -75,6 +78,9 @@ func (s *tweetHelpSrv) MergePosts(posts []*ms.Post) ([]*ms.PostFormated, error)
// RevampPosts post数据整形修复
func (s *tweetHelpSrv) RevampPosts(posts []*ms.PostFormated) ([]*ms.PostFormated, error) {
if len(posts) == 0 {
return nil, nil
}
postIds := make([]int64, 0, len(posts))
userIds := make([]int64, 0, len(posts))
for _, post := range posts {
@ -327,6 +333,7 @@ func (s *tweetManageSrv) DeletePostStar(r *ms.PostStar) error {
}
func (s *tweetSrv) GetPostByID(id int64) (res *ms.Post, err error) {
res = &ms.Post{}
err = s.q.GetPostById.Get(res, id)
return
}
@ -354,12 +361,13 @@ func (s *tweetSrv) GetPostCount(c ms.ConditionsT) (res int64, err error) {
}
func (s *tweetSrv) GetUserPostStar(postID, userID int64) (res *ms.PostStar, err error) {
res = &ms.PostStar{}
err = s.q.GetUserPostStar.Get(res, postID, userID, userID)
return
}
func (s *tweetSrv) GetUserPostStars(userID int64, limit int, offset int) (res []*ms.PostStar, err error) {
err = s.q.GetUserPostStar.Select(&res, userID, userID, limit, offset)
err = s.q.GetUserPostStars.Select(&res, userID, userID, limit, offset)
return
}
@ -372,7 +380,7 @@ func (s *tweetSrv) ListUserStarTweets(user *cs.VistUser, limit int, offset int)
case cs.RelationSelf:
// Fixed: 这里的查询有Bug没有考虑查询Friend star 时如果对方已经不是你好友时应该去除这个star
if err = s.q.UserStarTweetsBySelf.Select(&res, user.UserId, user.UserId, limit, offset); err == nil {
err = s.q.UserStarTweetsCountByAdmin.Get(&total, user.UserId, user.UserId)
err = s.q.UserStarTweetsCountBySelf.Get(&total, user.UserId, user.UserId)
}
case cs.RelationFriend:
if err = s.q.UserStarTweetsByFriend.Select(&res, user.UserId, limit, offset); err == nil {
@ -430,6 +438,7 @@ func (s *tweetSrv) GetUserPostStarCount(userID int64) (res int64, err error) {
}
func (s *tweetSrv) GetUserPostCollection(postID, userID int64) (res *ms.PostCollection, err error) {
res = &ms.PostCollection{}
err = s.q.GetUserPostCollection.Get(res, postID, userID, userID)
return
}
@ -445,6 +454,7 @@ func (s *tweetSrv) GetUserPostCollectionCount(userID int64) (res int64, err erro
}
func (s *tweetSrv) GetPostAttatchmentBill(postID, userID int64) (res *ms.PostAttachmentBill, err error) {
res = &ms.PostAttachmentBill{}
err = s.q.GetPostAttachmentBill.Get(res, postID, userID)
return
}
@ -455,6 +465,7 @@ func (s *tweetSrv) GetPostContentsByIDs(ids []int64) (res []*ms.PostContent, err
}
func (s *tweetSrv) GetPostContentByID(id int64) (res *ms.PostContent, err error) {
res = &ms.PostContent{}
err = s.q.GetPostContentById.Get(res, id)
return
}

@ -24,21 +24,27 @@ type userManageSrv struct {
}
func (s *userManageSrv) GetUserByID(id int64) (res *ms.User, err error) {
res = &ms.User{}
err = s.q.GetUserById.Get(res, id)
return
}
func (s *userManageSrv) GetUserByUsername(username string) (res *ms.User, err error) {
res = &ms.User{}
err = s.q.GetUserByUsername.Get(res, username)
return
}
func (s *userManageSrv) GetUserByPhone(phone string) (res *ms.User, err error) {
res = &ms.User{}
err = s.q.GetUserByPhone.Get(res, phone)
return
}
func (s *userManageSrv) GetUsersByIDs(ids []int64) (res []*ms.User, err error) {
if len(ids) == 0 {
return nil, nil
}
err = s.db.InSelect(&res, s.q.GetUsersByIds, ids)
return
}

@ -26,30 +26,59 @@ func (s *sqlxSrv) deleteTags(tx *sqlx.Tx, tags []string) (err error) {
return
}
func (s *sqlxSrv) createTags(tx *sqlx.Tx, userId int64, tags []string) (res cs.TagInfoList, err error) {
// for _, name := range tags {
// tag := &dbr.Tag{Tag: name}
// if tag, err = tag.Get(db); err == nil {
// // 更新
// tag.QuoteNum++
// if err = tag.Update(db); err != nil {
// return
// }
// } else {
// if tag, err = (&dbr.Tag{
// UserID: userId,
// QuoteNum: 1,
// Tag: name,
// }).Create(db); err != nil {
// return
// }
// }
// res = append(res, &cs.TagInfo{
// ID: tag.ID,
// UserID: tag.UserID,
// Tag: tag.Tag,
// QuoteNum: tag.QuoteNum,
// })
// }
func (s *sqlxSrv) createTags(tx *sqlx.Tx, userId int64, tags []string) (res cs.TagInfoList, xerr error) {
if len(tags) == 0 {
return nil, nil
}
xerr = s.db.Withx(func(tx *sqlx.Tx) error {
var upTags cs.TagInfoList
if err := tx.InSelect(&upTags, s.y.TagsForIncr, tags); err != nil {
return err
}
now := time.Now().Unix()
if len(upTags) > 0 {
var ids []int64
for _, t := range upTags {
ids = append(ids, t.ID)
t.QuoteNum++
// prepare remain tags just delete updated tag
// notice ensure tags slice is distinct elements
for i, name := range tags {
if name == t.Tag {
lastIdx := len(tags) - 1
tags[i] = tags[lastIdx]
tags = tags[:lastIdx]
break
}
}
}
if _, err := tx.InExec(s.y.IncrTagsById, now, ids); err != nil {
return err
}
res = append(res, upTags...)
}
// process remain tags if tags is not empty
if len(tags) == 0 {
return nil
}
var ids []int64
for _, tag := range tags {
res, err := s.y.InsertTag.Exec(userId, tag, now, now)
if err != nil {
return err
}
id, err := res.LastInsertId()
if err != nil {
return err
}
ids = append(ids, id)
}
var newTags cs.TagInfoList
if err := tx.InSelect(&newTags, s.y.TagsByIdB, ids); err != nil {
return err
}
res = append(res, newTags...)
return nil
})
return
}

@ -16,3 +16,23 @@ SELECT * FROM @tag WHERE tag IN (?) AND is_del=0;
-- prepare: stmt
UPDATE @tag SET quote_num=?, modified_on=?
WHERE id=? AND is_del=0;
-- name: tags_for_incr
-- prepare: raw
-- clause: in
SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?);
-- name: incr_tags_by_id
-- prepare: raw
-- clause: in
UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?);
-- name: insert_tag
-- prepare: stmt
INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num)
VALUES (?, ?, ?, ?, 1);
-- name: tags_by_id_b
-- prepare: raw
-- clause: in
SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?);

@ -147,7 +147,7 @@ SELECT t.id id,
FROM @topic_user c
JOIN @user u ON c.user_id = u.id
JOIN @tag t ON c.topic_id = t.id
WHERE c.is_del = 0 AND t.quote_num > 0 AND AND c.user_id=?
WHERE c.is_del = 0 AND t.quote_num > 0 AND c.user_id=?
ORDER BY t.quote_num DESC
LIMIT ? OFFSET ?;
@ -156,7 +156,7 @@ LIMIT ? OFFSET ?;
-- clause: in
SELECT topic_id, is_top
FROM @topic_user
WHERE is_del=0 AND user_id=? AND topic_id IN ?;
WHERE is_del=0 AND user_id=? AND topic_id IN (?);
-- name: exist_topic_user@topic_a
-- prepare: stmt
@ -175,7 +175,7 @@ WHERE user_id=? AND topic_id=? AND is_del=0;
-- name: stick_topic@topic_a
-- prepare: stmt
UPDATE @topic_user
SET is_top=1-is_top; modified_on=?
SET is_top=1-is_top, modified_on=?
WHERE user_id=? AND topic_id=? AND is_del=0;
-- name: topic_is_top@topic_a

@ -23,9 +23,13 @@ SELECT status FROM @contact WHERE user_id=? AND friend_id=? AND is_del=0;
-- comment sql dml
--------------------------------------------------------------------------------
-- name: get_comments@comment
-- prepare: raw
SELECT * FROM @comment WHERE post_id=? AND is_del=0 ORDER BY %order% LIMIT ? OFFSET ?;
-- name: get_newest_comments@comment
-- prepare: stmt
SELECT * FROM @comment WHERE post_id=? AND is_del=0 ORDER BY id DESC LIMIT ? OFFSET ?;
-- name: get_default_comments@comment
-- prepare: stmt
SELECT * FROM @comment WHERE post_id=? AND is_del=0 ORDER BY id ASC LIMIT ? OFFSET ?;
-- name: get_comment_by_id@comment
-- prepare: stmt
@ -56,7 +60,14 @@ SELECT id, nickname, username, status, avatar, is_admin FROM @user WHERE id IN (
-- name: get_comment_thumbs@comment
-- prepare: stmt
SELECT * FROM @tweet_comment_thumbs WHERE user_id=? AND tweet_id=?;
SELECT user_id,
tweet_id,
comment_id,
reply_id,
comment_type,
is_thumbs_up,
is_thumbs_down
FROM @tweet_comment_thumbs WHERE user_id=? AND tweet_id=?;
--------------------------------------------------------------------------------
-- comment_manage sql dml
@ -152,7 +163,7 @@ WHERE user_id=? AND follow_id=? AND is_del=0;
-- name: list_follows@following_manager
-- prepare: stmt
SELECT u.user_id user_id,
SELECT u.id user_id,
u.username username,
u.nickname nickname,
u.avatar avatar,
@ -168,7 +179,7 @@ SELECT count(*) FROM @following WHERE user_id=? AND is_del=0;
-- name: list_followings@following_manager
-- prepare: stmt
SELECT u.user_id user_id,
SELECT u.id user_id,
u.username username,
u.nickname nickname,
u.avatar avatar,
@ -220,7 +231,7 @@ UPDATE @contact SET status=4, is_del=1, deleted_on=? WHERE id=?;
SELECT c.friend_id user_id, u.username username, u.nickname nickname, u.avatar avatar, u.phone phone
FROM @contact c JOIN @user u
ON c.friend_id=u.id
WHERE user_id=? AND status=2 AND is_del=0
WHERE c.user_id=? AND c.status=2 AND c.is_del=0
ORDER BY u.nickname ASC
LIMIT ? OFFSET ?;
@ -277,13 +288,13 @@ UPDATE @message SET is_read=1, modified_on=? WHERE id=?;
-- prepare: named_stmt
SELECT *
FROM @message
WHERE receiver_user_id=:recerver_user_id AND is_del=0
WHERE receiver_user_id=:receiver_user_id AND is_del=0
ORDER BY id DESC
LIMIT :limit OFFSET :offset
-- name: get_message_count@message
-- prepare: named_stmt
SELECT count(*) FROM @message WHERE receiver_user_id=:recerver_user_id AND is_del=0;
SELECT count(*) FROM @message WHERE receiver_user_id=:receiver_user_id AND is_del=0;
--------------------------------------------------------------------------------
-- security sql dml
@ -309,7 +320,7 @@ VALUES (:phone, :captcha, :expired_on, :created_on);
-- name: index_by_admin@ship_index
-- prepare: stmt
SELECT *
FROM @p_post
FROM @post
WHERE is_del=0
ORDER BY is_top DESC, latest_replied_on DESC
LIMIT ? OFFSET ?;
@ -317,13 +328,13 @@ LIMIT ? OFFSET ?;
-- name: index_count_by_admin@ship_index
-- prepare: stmt
SELECT count(*)
FROM @p_post
FROM @post
WHERE is_del=0;
-- name: index_by_guest@ship_index
-- prepare: stmt
SELECT *
FROM @p_post
FROM @post
WHERE visibility=0 AND is_del=0
ORDER BY is_top DESC, latest_replied_on DESC
LIMIT ? OFFSET ?;
@ -331,14 +342,14 @@ LIMIT ? OFFSET ?;
-- name: index_count_by_guest@ship_index
-- prepare: stmt
SELECT count(*)
FROM @p_post
FROM @post
WHERE visibility=0 AND is_del=0;
-- name: index_by_self@ship_index
-- prepare: raw
-- clause: in
SELECT *
FROM @p_post
FROM @post
WHERE is_del=0 AND
(visibility=0 OR
(visibility=1 AND user_id=?) OR
@ -350,7 +361,7 @@ LIMIT ? OFFSET ?;
-- prepare: raw
-- clause: in
SELECT count(*)
FROM @p_post
FROM @post
WHERE is_del=0 AND
(visibility=0 OR
(visibility=1 AND user_id=?) OR
@ -363,7 +374,7 @@ WHERE is_del=0 AND
-- name: index@simple_index
-- prepare: stmt
SELECT *
FROM @p_post
FROM @post
WHERE visibility=0
ORDER BY is_top DESC, latest_replied_on DESC
LIMIT ? OFFSET ?;
@ -371,7 +382,7 @@ LIMIT ? OFFSET ?;
-- name: index_count@simple_index
-- prepare: stmt
SELECT count(*)
FROM @p_post
FROM @post
WHERE visibility=0;
--------------------------------------------------------------------------------
@ -387,7 +398,7 @@ SELECT * FROM @post WHERE id=? AND is_del=0;
-- clause: in
SELECT * FROM @post
WHERE user_id=? AND visibility IN (?)
ORDER BY latest_replies_on DESC
ORDER BY latest_replied_on DESC
LIMIT ? OFFSET ?;
-- name: get_any_posts@tweet
@ -584,7 +595,25 @@ SELECT * FROM @post_content WHERE id=? AND is_del=0;
-- name: user_media_tweets_by_guest@tweet
-- prepare: stmt
SELECT *
SELECT id,
user_id,
comment_count,
collection_count,
upvote_count,
share_count,
visibility,
is_top,
is_essence,
is_lock,
latest_replied_on,
tags,
attachment_price,
ip,
ip_loc,
created_on,
modified_on,
deleted_on,
is_del
FROM @post_by_media
WHERE is_del=0 AND user_id=? AND visibility=0
ORDER BY latest_replied_on DESC
@ -598,7 +627,25 @@ WHERE is_del=0 AND user_id=? AND visibility=0;
-- name: user_media_tweets_by_friend@tweet
-- prepare: stmt
SELECT *
SELECT id,
user_id,
comment_count,
collection_count,
upvote_count,
share_count,
visibility,
is_top,
is_essence,
is_lock,
latest_replied_on,
tags,
attachment_price,
ip,
ip_loc,
created_on,
modified_on,
deleted_on,
is_del
FROM @post_by_media
WHERE is_del=0 AND user_id=? AND (visibility=0 OR visibility=2)
ORDER BY latest_replied_on DESC
@ -612,7 +659,25 @@ WHERE is_del=0 AND user_id=? AND (visibility=0 OR visibility=2);
-- name: user_media_tweets_by_self@tweet
-- prepare: stmt
SELECT *
SELECT id,
user_id,
comment_count,
collection_count,
upvote_count,
share_count,
visibility,
is_top,
is_essence,
is_lock,
latest_replied_on,
tags,
attachment_price,
ip,
ip_loc,
created_on,
modified_on,
deleted_on,
is_del
FROM @post_by_media
WHERE is_del=0 AND user_id=?
ORDER BY latest_replied_on DESC
@ -626,7 +691,25 @@ WHERE is_del=0 AND user_id=?;
-- name: user_comment_tweets_by_guest@tweet
-- prepare: stmt
SELECT *
SELECT id,
user_id,
comment_count,
collection_count,
upvote_count,
share_count,
visibility,
is_top,
is_essence,
is_lock,
latest_replied_on,
tags,
attachment_price,
ip,
ip_loc,
created_on,
modified_on,
deleted_on,
is_del
FROM @post_by_comment
WHERE is_del=0 AND comment_user_id=? AND visibility=0
ORDER BY latest_replied_on DESC
@ -640,7 +723,25 @@ WHERE is_del=0 AND comment_user_id=? AND visibility=0;
-- name: user_comment_tweets_by_friend@tweet
-- prepare: stmt
SELECT *
SELECT id,
user_id,
comment_count,
collection_count,
upvote_count,
share_count,
visibility,
is_top,
is_essence,
is_lock,
latest_replied_on,
tags,
attachment_price,
ip,
ip_loc,
created_on,
modified_on,
deleted_on,
is_del
FROM @post_by_comment
WHERE is_del=0 AND comment_user_id=? AND (visibility=0 OR visibility=2)
ORDER BY latest_replied_on DESC
@ -654,7 +755,25 @@ WHERE is_del=0 AND comment_user_id=? AND (visibility=0 OR visibility=2);
-- name: user_comment_tweets_by_self@tweet
-- prepare: stmt
SELECT *
SELECT id,
user_id,
comment_count,
collection_count,
upvote_count,
share_count,
visibility,
is_top,
is_essence,
is_lock,
latest_replied_on,
tags,
attachment_price,
ip,
ip_loc,
created_on,
modified_on,
deleted_on,
is_del
FROM @post_by_comment
WHERE is_del=0 AND comment_user_id=?
ORDER BY latest_replied_on DESC
@ -771,8 +890,8 @@ SELECT
FROM
@post_star star
JOIN @post post ON star.post_id = post.ID
WHERE star.is_del=0 AND star.user_id=? AND (post.visibility<>0 (post.visibility=0 AND post.user_id=?))
ORDER BY post.latest_replied_on DESC;
WHERE star.is_del=0 AND star.user_id=? AND (post.visibility<>0 OR (post.visibility=0 AND post.user_id=?))
ORDER BY post.latest_replied_on DESC
LIMIT ? OFFSET ?;
-- name: user_star_tweets_count_by_self@tweet
@ -781,7 +900,7 @@ SELECT count(*)
FROM
@post_star star
JOIN @post post ON star.post_id = post.ID
WHERE star.is_del=0 AND star.user_id=? AND (post.visibility<>0 (post.visibility=0 AND post.user_id=?));
WHERE star.is_del=0 AND star.user_id=? AND (post.visibility<>0 OR (post.visibility=0 AND post.user_id=?));
-- name: user_star_tweets_by_admin@tweet
-- prepare: stmt
@ -810,7 +929,7 @@ FROM
@post_star star
JOIN @post post ON star.post_id = post.ID
WHERE star.is_del=0 AND star.user_id=?
ORDER BY post.latest_replied_on DESC;
ORDER BY post.latest_replied_on DESC
LIMIT ? OFFSET ?;
-- name: user_star_tweets_count_by_admin@tweet
@ -827,12 +946,12 @@ WHERE star.is_del=0 AND star.user_id=?;
-- name: add_post@tweet_manage
-- prepare: named_stmt
INSERT INTO @post (user_id, tags, ip, ip_loc, attachment_price, visibility, latest_replies_on, created_on)
VALUES (:user_id, :tags, :ip, :ip_loc, :attachment_price, :visibility, :latest_replies_on, :created_on);
INSERT INTO @post (user_id, tags, ip, ip_loc, attachment_price, visibility, latest_replied_on, created_on)
VALUES (:user_id, :tags, :ip, :ip_loc, :attachment_price, :visibility, :latest_replied_on, :created_on);
-- name: media_content_by_post_id@tweet_manage
-- prepare stmt
SELECT content FROM post_content WHERE post_id=? AND is_del=0 AND type IN (3, 4, 5, 7, 8);
SELECT content FROM @post_content WHERE post_id=? AND is_del=0 AND type IN (3, 4, 5, 7, 8);
-- name: del_post_by_id@tweet_manage
-- prepare: stmt
@ -863,7 +982,7 @@ SELECT user_id, is_essence FROM @post WHERE id=? AND is_del=0;
UPDATE @post SET comment_count=:comment_count,
upvote_count=:upvote_count,
collection_count=:collection_count,
latest_replies_on=:latest_replies_on,
latest_replied_on=:latest_replied_on,
modified_on=:modified_on
WHERE id=:id AND is_del=0;

@ -62,6 +62,7 @@ func (s *coreSrv) GetUserInfo(req *web.UserInfoReq) (*web.UserInfoResp, mir.Erro
}
follows, followings, err := s.Ds.GetFollowCount(user.ID)
if err != nil {
logrus.Errorf("get follow count error: %s", err)
return nil, web.ErrGetFollowCountFailed
}
resp := &web.UserInfoResp{
@ -85,6 +86,7 @@ func (s *coreSrv) GetUserInfo(req *web.UserInfoReq) (*web.UserInfoResp, mir.Erro
func (s *coreSrv) GetUnreadMsgCount(req *web.GetUnreadMsgCountReq) (*web.GetUnreadMsgCountResp, mir.Error) {
count, err := s.Ds.GetUnreadCount(req.Uid)
if err != nil {
logrus.Errorf("get unread msg count error: %s", err)
return nil, xerror.ServerError
}
return &web.GetUnreadMsgCountResp{

@ -227,6 +227,7 @@ func (s *looseSrv) TopicList(req *web.TopicListReq) (*web.TopicListResp, mir.Err
err = web.ErrGetPostTagsFailed
}
if err != nil {
logrus.Errorf("get tag list error: %s", err)
return nil, web.ErrGetPostTagsFailed
}
return &web.TopicListResp{
@ -247,6 +248,7 @@ func (s *looseSrv) TweetComments(req *web.TweetCommentsReq) (*web.TweetCommentsR
comments, err := s.Ds.GetComments(conditions, (req.Page-1)*req.PageSize, req.PageSize)
if err != nil {
logrus.Errorf("get tweet comments error[1]: %s", err)
return nil, web.ErrGetCommentsFailed
}
@ -259,16 +261,19 @@ func (s *looseSrv) TweetComments(req *web.TweetCommentsReq) (*web.TweetCommentsR
users, err := s.Ds.GetUsersByIDs(userIDs)
if err != nil {
logrus.Errorf("get tweet comments error[2]: %s", err)
return nil, web.ErrGetCommentsFailed
}
contents, err := s.Ds.GetCommentContentsByIDs(commentIDs)
if err != nil {
logrus.Errorf("get tweet comments error[3]: %s", err)
return nil, web.ErrGetCommentsFailed
}
replies, err := s.Ds.GetCommentRepliesByID(commentIDs)
if err != nil {
logrus.Errorf("get tweet comments error[4]: %s", err)
return nil, web.ErrGetCommentsFailed
}
@ -276,6 +281,7 @@ func (s *looseSrv) TweetComments(req *web.TweetCommentsReq) (*web.TweetCommentsR
if req.Uid > 0 {
commentThumbs, replyThumbs, err = s.Ds.GetCommentThumbsMap(req.Uid, req.TweetId)
if err != nil {
logrus.Errorf("get tweet comments error[5]: %s", err)
return nil, web.ErrGetCommentsFailed
}
}

@ -361,6 +361,7 @@ func (s *privSrv) CreateCommentReply(req *web.CreateCommentReplyReq) (*web.Creat
)
if post, comment, atUserID, err = s.createPostPreHandler(req.CommentID, req.Uid, req.AtUserID); err != nil {
logrus.Errorf("create comment reply error[1]: %s", err)
return nil, web.ErrCreateReplyFailed
}
@ -376,6 +377,7 @@ func (s *privSrv) CreateCommentReply(req *web.CreateCommentReplyReq) (*web.Creat
reply, err = s.Ds.CreateCommentReply(reply)
if err != nil {
logrus.Errorf("create comment reply error[2]: %s", err)
return nil, web.ErrCreateReplyFailed
}

@ -45,14 +45,17 @@ type pubSrv struct {
func (s *pubSrv) TweetDetail(req *web.TweetDetailReq) (*web.TweetDetailResp, mir.Error) {
post, err := s.Ds.GetPostByID(req.TweetId)
if err != nil {
logrus.Errorf("get tweet detail error[1]: %s", err)
return nil, web.ErrGetPostFailed
}
postContents, err := s.Ds.GetPostContentsByIDs([]int64{post.ID})
if err != nil {
logrus.Errorf("get tweet detail error[2]: %s", err)
return nil, web.ErrGetPostFailed
}
users, err := s.Ds.GetUsersByIDs([]int64{post.UserID})
if err != nil {
logrus.Errorf("get tweet detail error[3]: %s", err)
return nil, web.ErrGetPostFailed
}
// 数据整合

Loading…
Cancel
Save