Files
jx-callback/business/jxstore/event/event.go
2020-01-16 17:24:33 +08:00

173 lines
4.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package event
import (
"strings"
"time"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jd"
"git.rosy.net.cn/jx-callback/globals/api/apimanager"
"git.rosy.net.cn/jx-callback/globals/api"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
)
type CheckCookie struct {
VendorID int `json:"vendorID"`
Status string `json:"status"`
}
func AddOperateEvent(ctx *jxcontext.Context, accessUUID string) (err error) {
var (
apiFunction string
db = dao.GetDB()
)
url := ctx.GetRequest().URL.Path
if url != "" {
apiFunction = url[strings.LastIndex(url, "/")+1 : len(url)]
}
if apiFunction != "" {
if apiFunction[0:3] == "Get" {
return err
}
}
event := &model.OperateEvent{
CreatedAt: time.Now(),
LastOperator: ctx.GetUserName(),
APIFunction: apiFunction,
UserID: ctx.GetUserID(),
AccessUUID: accessUUID,
}
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
err = dao.CreateEntity(db, event)
dao.Commit(db)
return err
}
func AddOperateEventDetail(db *dao.DaoDB, operateEventDetail *model.OperateEventDetail) (err error) {
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
err = dao.CreateEntity(db, operateEventDetail)
dao.Commit(db)
return err
}
func DeleteOperateEventAndDetail(ctx *jxcontext.Context, deleteTime time.Time) (err error) {
db := dao.GetDB()
dao.Begin(db)
defer func() {
if r := recover(); r != nil {
dao.Rollback(db)
panic(r)
}
}()
dao.DeleteOperateEventDetail(db, deleteTime)
dao.DeleteOperateEvent(db, deleteTime)
dao.Commit(db)
return err
}
func GetOperateEvents(ctx *jxcontext.Context, apiFunction, name string, operateType int, skuIDs, storeIDs []int, fromTime, toTime string, offset, pageSize int) (pageInfo *model.PagedInfo, err error) {
var (
fromTimeP time.Time
toTimeP time.Time
)
db := dao.GetDB()
if fromTime != "" {
fromTimeP = utils.Str2Time(fromTime)
}
if toTime != "" {
toTimeP = utils.Str2Time(toTime)
}
pageSize = jxutils.FormalizePageSize(pageSize)
offset = jxutils.FormalizePageOffset(offset)
operateEventExt, totalCount, err := dao.GetOperateEvents(db, apiFunction, name, operateType, skuIDs, storeIDs, fromTimeP, toTimeP, offset, pageSize)
if err != nil {
return pageInfo, err
}
pageInfo = &model.PagedInfo{
Data: operateEventExt,
TotalCount: totalCount,
}
return pageInfo, err
}
func GetCheckVendorCookie(ctx *jxcontext.Context, vendorIDs []int, isAuto bool) (ccList []*CheckCookie, err error) {
var (
ebaiOrderID = "1577329467196263592"
ebaiErr = "return not json"
// mtOrderID = "69761763472881638"
// mtStoreID = "6976176"
mtErr = "返回结果格式不正常"
jdUpcCode = "6952395700895"
jdErr = "请输入用户名"
errMsg = ""
)
for _, v := range vendorIDs {
var flag = false
cc := &CheckCookie{}
switch v {
case 3:
resultMap, err := api.EbaiAPI.GetStoreOrderInfo(ebaiOrderID)
if len(resultMap) < 1 && err != nil {
if strings.Contains(err.Error(), ebaiErr) {
//Cookie无效了
errMsg += " 饿百Cookie无效了"
flag = true
}
}
case 1:
err := api.MtwmAPI.PackagePriceUpdate("7388603", 1, 50)
if err != nil {
if strings.Contains(err.Error(), mtErr) {
errMsg += " 美团Cookie无效了"
flag = true
}
}
case 0:
for _, vv := range apimanager.CurAPIManager.GetAppOrgCodeList(v) {
result, err := jd.GetAPI(vv).GetJdUpcCodeByName("", jdUpcCode, 1, 5)
if len(result) < 1 && err != nil {
if strings.Contains(err.Error(), jdErr) {
//Cookie无效
errMsg += " 京东Cookie无效了"
flag = true
}
}
}
}
cc.VendorID = v
if flag {
cc.Status = "无效"
} else {
cc.Status = "有效"
}
ccList = append(ccList, cc)
}
if isAuto && len(ccList) > 0 {
globals.SugarLogger.Warnf("GetCheckVendorCookie", errMsg)
}
return ccList, err
}