This commit is contained in:
suyl
2021-07-12 16:27:33 +08:00
parent 60277b42d4
commit 5e493288f0
3 changed files with 10 additions and 211 deletions

View File

@@ -2,7 +2,6 @@ package cms
import (
"errors"
"fmt"
"sync"
"time"
@@ -116,94 +115,3 @@ func DisableUser(ctx *jxcontext.Context, userID string) (err error) {
}
return err
}
func DeleteUserDeliveryAddress(ctx *jxcontext.Context, userID string, addressID int) (err error) {
num, err := dao.DeleteEntityLogically(dao.GetDB(), &model.UserDeliveryAddress{}, nil, ctx.GetUserName(), map[string]interface{}{
model.FieldID: addressID,
"UserID": userID,
})
if err == nil {
if num == 0 {
err = fmt.Errorf("地址ID:%d不存在", addressID)
}
}
return err
}
func SaveUserCart(ctx *jxcontext.Context, userID string, storeID int, cartItems []*model.UserCartItem) (err error) {
if userID == "" || storeID == 0 {
return fmt.Errorf("用户与门店必须要指定")
}
for _, v := range cartItems {
v.UserID = userID
v.StoreID = storeID
dao.WrapAddIDCULEntity(v, userID)
}
db := dao.GetDB()
txDB, _ := dao.Begin(db)
defer func() {
if r := recover(); r != nil || err != nil {
dao.Rollback(db, txDB)
if r != nil {
panic(r)
}
}
}()
_, err = dao.ExecuteSQL(db, `
DELETE t1
FROM user_cart_item t1
WHERE t1.user_id = ? AND t1.store_id = ?
`, userID, storeID)
if err != nil {
return err
}
if len(cartItems) > 0 {
err = dao.CreateMultiEntities(db, cartItems)
}
if err == nil {
dao.Commit(db, txDB)
}
return err
}
func LoadUserCart(ctx *jxcontext.Context, userID string, storeIDs []int) (cartItems []*model.UserCartItem, err error) {
if userID == "" || len(storeIDs) == 0 {
return nil, fmt.Errorf("用户与门店必须要指定")
}
sql := `
SELECT t1.*
FROM user_cart_item t1
WHERE t1.user_id = ? AND t1.store_id IN (` + dao.GenQuestionMarks(len(storeIDs)) + `)
ORDER BY t1.sku_id
`
err = dao.GetRows(dao.GetDB(), &cartItems, sql, userID, storeIDs)
return cartItems, err
}
type GetUserSerachKeywordResult struct {
AllSpan []*model.UserSearch `json:"allSpan"`
UserSpan []*model.UserSearch `json:"userSpan"`
}
func GetUserSerachKeyword(ctx *jxcontext.Context) (getUserSerachKeywordResult *GetUserSerachKeywordResult, err error) {
var (
db = dao.GetDB()
userID = ctx.GetUserID()
userSearchAll []*model.UserSearch
userSearch []*model.UserSearch
)
getUserSerachKeywordResult = &GetUserSerachKeywordResult{}
sql := `
SELECT keyword, SUM(count) count FROM user_search WHERE created_at > ? GROUP BY 1 ORDER BY SUM(count) DESC LIMIT 20
`
sqlParams := []interface{}{time.Now().AddDate(0, -1, 0)}
err = dao.GetRows(db, &userSearchAll, sql, sqlParams)
getUserSerachKeywordResult.AllSpan = userSearchAll
sql2 := `
SELECT keyword, SUM(count) count FROM user_search WHERE created_at > ? AND user_id = ? GROUP BY 1 ORDER BY SUM(count) DESC LIMIT 20
`
sqlParams2 := []interface{}{time.Now().AddDate(0, -1, 0), userID}
err = dao.GetRows(db, &userSearch, sql2, sqlParams2)
getUserSerachKeywordResult.UserSpan = userSearch
return getUserSerachKeywordResult, err
}