1
This commit is contained in:
@@ -12,7 +12,6 @@ import (
|
|||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
"github.com/dchest/captcha"
|
"github.com/dchest/captcha"
|
||||||
)
|
)
|
||||||
@@ -171,11 +170,9 @@ func createAuthInfo(user IUser, authBindInfo *AuthBindEx) (authInfo *AuthInfo) {
|
|||||||
}
|
}
|
||||||
if user != nil {
|
if user != nil {
|
||||||
authInfo.UpdateByIUser(user)
|
authInfo.UpdateByIUser(user)
|
||||||
globals.SugarLogger.Debugf("createAuthInfo id:%s, id2:%s, mobile:%s, authInfo:%s", authInfo.GetID(), authInfo.GetID2(), authInfo.GetMobile(), utils.Format4Output(authInfo, true))
|
|
||||||
} else {
|
} else {
|
||||||
expireDuration = TmpTokenDuration
|
expireDuration = TmpTokenDuration
|
||||||
authInfo.ExpiresAt = time.Now().Add(expireDuration).Unix()
|
authInfo.ExpiresAt = time.Now().Add(expireDuration).Unix()
|
||||||
globals.SugarLogger.Debugf("createAuthInfo authInfo:%s", utils.Format4Output(authInfo, true))
|
|
||||||
}
|
}
|
||||||
SetUserInfo(token, authInfo, expireDuration)
|
SetUserInfo(token, authInfo, expireDuration)
|
||||||
return authInfo
|
return authInfo
|
||||||
@@ -249,7 +246,6 @@ func LoginInternal(ctx *Context, authType, authID, authIDType, authSecret string
|
|||||||
realAuthID = user.GetID()
|
realAuthID = user.GetID()
|
||||||
}
|
}
|
||||||
if authBindEx, err = handler.VerifySecret(realAuthID, authSecret); err == nil {
|
if authBindEx, err = handler.VerifySecret(realAuthID, authSecret); err == nil {
|
||||||
globals.SugarLogger.Debugf("Login authBindEx", utils.Format4Output(authBindEx, false))
|
|
||||||
if authBindEx == nil { // mobile, email会返回nil(表示不会新建AuthBind实体)
|
if authBindEx == nil { // mobile, email会返回nil(表示不会新建AuthBind实体)
|
||||||
user = userProvider.GetUser(authID, authIDType)
|
user = userProvider.GetUser(authID, authIDType)
|
||||||
authBindEx = &AuthBindEx{
|
authBindEx = &AuthBindEx{
|
||||||
@@ -366,7 +362,6 @@ func BindUser(inauthInfo *AuthInfo, user IUser) (outauthInfo *AuthInfo, err erro
|
|||||||
|
|
||||||
// 添加新绑定
|
// 添加新绑定
|
||||||
func AddAuthBind(user IUser, newAuthInfo *AuthInfo) (err error) {
|
func AddAuthBind(user IUser, newAuthInfo *AuthInfo) (err error) {
|
||||||
globals.SugarLogger.Debugf("AddAuthBind user:%s, newAuthInfo:%s", utils.Format4Output(user, true), utils.Format4Output(newAuthInfo, true))
|
|
||||||
if user == nil || newAuthInfo == nil {
|
if user == nil || newAuthInfo == nil {
|
||||||
return ErrInternalErrror
|
return ErrInternalErrror
|
||||||
}
|
}
|
||||||
@@ -406,7 +401,6 @@ func AddAuthBindWithMobile(authInfo *AuthInfo, mobile string) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func UnbindAuth(userID, authType, authTypeID, userName string) (err error) {
|
func UnbindAuth(userID, authType, authTypeID, userName string) (err error) {
|
||||||
globals.SugarLogger.Debugf("UnbindAuth userID:%s, authType:%s, authTypeID:%s, userName:%s", userID, authType, authTypeID, userName)
|
|
||||||
if handler := authers[authType]; handler != nil {
|
if handler := authers[authType]; handler != nil {
|
||||||
err = handler.UnbindAuth(userID, authType, authTypeID, userName)
|
err = handler.UnbindAuth(userID, authType, authTypeID, userName)
|
||||||
} else {
|
} else {
|
||||||
@@ -416,7 +410,6 @@ func UnbindAuth(userID, authType, authTypeID, userName string) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Logout(authInfo *AuthInfo) (err error) {
|
func Logout(authInfo *AuthInfo) (err error) {
|
||||||
globals.SugarLogger.Debugf("Logout authInfo:%s", utils.Format4Output(authInfo, true))
|
|
||||||
if handler := authers[authInfo.AuthBindInfo.Type]; handler != nil {
|
if handler := authers[authInfo.AuthBindInfo.Type]; handler != nil {
|
||||||
err = handler.Logout(authInfo)
|
err = handler.Logout(authInfo)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type Context struct {
|
type Context struct {
|
||||||
@@ -21,7 +20,6 @@ func NewContext(w http.ResponseWriter, r *http.Request) (ctx *Context) {
|
|||||||
r: r,
|
r: r,
|
||||||
accessUUID: utils.GetUUID(),
|
accessUUID: utils.GetUUID(),
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("NewContext ip:%s", ctx.GetRealRemoteIP())
|
|
||||||
return ctx
|
return ctx
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ func (a *DefAuther) AddAuthBind(authBindEx *auth2.AuthBindEx, userName string) (
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *DefAuther) UnbindAuth(userID, authType, authTypeID, userName string) (err error) {
|
func (a *DefAuther) UnbindAuth(userID, authType, authTypeID, userName string) (err error) {
|
||||||
globals.SugarLogger.Debugf("DefAuther.UnbindAuth userID:%s, authType:%s, GetAuthTypeID:%s, userName:%s", userID, authType, authTypeID, userName)
|
//globals.SugarLogger.Debugf("DefAuther.UnbindAuth userID:%s, authType:%s, GetAuthTypeID:%s, userName:%s", userID, authType, authTypeID, userName)
|
||||||
condition := map[string]interface{}{
|
condition := map[string]interface{}{
|
||||||
"UserID": userID,
|
"UserID": userID,
|
||||||
"Type": authType,
|
"Type": authType,
|
||||||
|
|||||||
@@ -32,8 +32,6 @@ func init() {
|
|||||||
func (a *TiktopMiniAuther) VerifySecret(dummy, code string) (authBindEx *auth2.AuthBindEx, err error) {
|
func (a *TiktopMiniAuther) VerifySecret(dummy, code string) (authBindEx *auth2.AuthBindEx, err error) {
|
||||||
globals.SugarLogger.Debugf("toktok mini VerifySecret jsCode:%s", code)
|
globals.SugarLogger.Debugf("toktok mini VerifySecret jsCode:%s", code)
|
||||||
appID, realCode := splitCode(code)
|
appID, realCode := splitCode(code)
|
||||||
globals.SugarLogger.Debug("appID============", appID)
|
|
||||||
globals.SugarLogger.Debug("realCode============", realCode)
|
|
||||||
sessionInfo, err := getTikTokApp(appID).GetTiktokOauth(realCode)
|
sessionInfo, err := getTikTokApp(appID).GetTiktokOauth(realCode)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
@@ -445,7 +445,6 @@ func filterOrderInfo(order *model.GoodsOrder) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ResetCreateWaybillFee(db *dao.DaoDB, order *model.GoodsOrder) (err error) {
|
func ResetCreateWaybillFee(db *dao.DaoDB, order *model.GoodsOrder) (err error) {
|
||||||
globals.SugarLogger.Debugf("=================取消本地运费")
|
|
||||||
if db == nil {
|
if db == nil {
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -190,7 +190,6 @@ func GetPlaces(ctx *jxcontext.Context, keyword string, includeDisabled bool, par
|
|||||||
sqlParams = append(sqlParams, params["level"])
|
sqlParams = append(sqlParams, params["level"])
|
||||||
}
|
}
|
||||||
sql += " ORDER BY t1.level, t1.name"
|
sql += " ORDER BY t1.level, t1.name"
|
||||||
// globals.SugarLogger.Debug(sql)
|
|
||||||
places := []*model.Place{}
|
places := []*model.Place{}
|
||||||
return places, dao.GetRows(nil, &places, sql, sqlParams)
|
return places, dao.GetRows(nil, &places, sql, sqlParams)
|
||||||
}
|
}
|
||||||
@@ -495,7 +494,7 @@ func UpdateConfig(ctx *jxcontext.Context, key, configType, value string) (hint s
|
|||||||
hint = "1"
|
hint = "1"
|
||||||
|
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
txDB , _ := dao.Begin(db)
|
txDB, _ := dao.Begin(db)
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
dao.Rollback(db, txDB)
|
dao.Rollback(db, txDB)
|
||||||
|
|||||||
@@ -1672,10 +1672,6 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
globals.SugarLogger.Debug("==============payload", utils.Format4Output(payload, false))
|
|
||||||
globals.SugarLogger.Debug("==============storeMap", utils.Format4Output(storeMap, false))
|
|
||||||
globals.SugarLogger.Debug("==============userName", utils.Format4Output(userName, false))
|
|
||||||
|
|
||||||
var beforeStoreMap = *storeMap
|
var beforeStoreMap = *storeMap
|
||||||
syncStatus := model.SyncFlagModifiedMask
|
syncStatus := model.SyncFlagModifiedMask
|
||||||
valid := dao.StrictMakeMapByStructObject(payload, storeMap, userName)
|
valid := dao.StrictMakeMapByStructObject(payload, storeMap, userName)
|
||||||
@@ -1724,7 +1720,6 @@ func UpdateStoreVendorMap(ctx *jxcontext.Context, db *dao.DaoDB, storeID, vendor
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
globals.SugarLogger.Debug("==============2525", utils.Format4Output(valid, false))
|
|
||||||
if len(valid) > 0 {
|
if len(valid) > 0 {
|
||||||
txDB, _ := dao.Begin(db)
|
txDB, _ := dao.Begin(db)
|
||||||
defer func() {
|
defer func() {
|
||||||
|
|||||||
@@ -1153,8 +1153,6 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, upcs []str
|
|||||||
if isHighPrice || priceType != 0 {
|
if isHighPrice || priceType != 0 {
|
||||||
sql += " , t4.unit_price DESC LIMIT 99"
|
sql += " , t4.unit_price DESC LIMIT 99"
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debug("==============sqlDD", sql)
|
|
||||||
globals.SugarLogger.Debug("==============param", sqlParams)
|
|
||||||
var tmpList []*tGetStoresSkusInfo
|
var tmpList []*tGetStoresSkusInfo
|
||||||
beginTime := time.Now()
|
beginTime := time.Now()
|
||||||
if err = dao.GetRowsTx(txDB, &tmpList, sql, sqlParams...); err != nil {
|
if err = dao.GetRowsTx(txDB, &tmpList, sql, sqlParams...); err != nil {
|
||||||
|
|||||||
@@ -231,7 +231,6 @@ func (v *VendorSync) SyncReorderCategories(ctx *jxcontext.Context, db *dao.DaoDB
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
func (v *VendorSync) SyncStore2(ctx *jxcontext.Context, db *dao.DaoDB, vendorIDs, storeIDs []int, mustDirty, isAsync bool) (hint string, err error) {
|
func (v *VendorSync) SyncStore2(ctx *jxcontext.Context, db *dao.DaoDB, vendorIDs, storeIDs []int, mustDirty, isAsync bool) (hint string, err error) {
|
||||||
globals.SugarLogger.Debugf("SyncStore2, storeIDs:%d", storeIDs)
|
|
||||||
userName := ctx.GetUserName()
|
userName := ctx.GetUserName()
|
||||||
isManageIt := len(storeIDs) == 0 || len(storeIDs) > 5
|
isManageIt := len(storeIDs) == 0 || len(storeIDs) > 5
|
||||||
_, hint, err = v.LoopStoresMap2(ctx, nil, db, fmt.Sprintf("同步门店信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs, mustDirty, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (resultList interface{}, err error) {
|
_, hint, err = v.LoopStoresMap2(ctx, nil, db, fmt.Sprintf("同步门店信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs, mustDirty, func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (resultList interface{}, err error) {
|
||||||
@@ -461,7 +460,6 @@ func (v *VendorSync) SyncStoresCategory(ctx *jxcontext.Context, db *dao.DaoDB, v
|
|||||||
hint, err = v.LoopStoresMap(ctx, db, fmt.Sprintf("同步门店分类信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs,
|
hint, err = v.LoopStoresMap(ctx, db, fmt.Sprintf("同步门店分类信息:%v", storeIDs), isAsync, isManageIt, vendorIDs, storeIDs,
|
||||||
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||||
loopMapInfo := batchItemList[0].(*LoopStoreMapInfo)
|
loopMapInfo := batchItemList[0].(*LoopStoreMapInfo)
|
||||||
globals.SugarLogger.Debug("?????????????????????", v.GetSingleStoreHandler(loopMapInfo.VendorID))
|
|
||||||
if handler := v.GetSingleStoreHandler(loopMapInfo.VendorID); handler != nil {
|
if handler := v.GetSingleStoreHandler(loopMapInfo.VendorID); handler != nil {
|
||||||
if isForce {
|
if isForce {
|
||||||
dao.SetStoreCategorySyncStatus(db, loopMapInfo.VendorID, storeIDs, nil, model.SyncFlagModifiedMask)
|
dao.SetStoreCategorySyncStatus(db, loopMapInfo.VendorID, storeIDs, nil, model.SyncFlagModifiedMask)
|
||||||
|
|||||||
@@ -415,7 +415,6 @@ func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyn
|
|||||||
for k, v := range storeSkuList {
|
for k, v := range storeSkuList {
|
||||||
updateItemList[k] = sku2Update(vendorID, v, syncStatus)
|
updateItemList[k] = sku2Update(vendorID, v, syncStatus)
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("updateItemList==========%s", updateItemList)
|
|
||||||
num, err = dao.BatchUpdateEntityByKV(db, updateItemList)
|
num, err = dao.BatchUpdateEntityByKV(db, updateItemList)
|
||||||
if vendorID == model.VendorIDYB {
|
if vendorID == model.VendorIDYB {
|
||||||
err = updateYbOhterSku(db, storeSkuList)
|
err = updateYbOhterSku(db, storeSkuList)
|
||||||
@@ -451,11 +450,9 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
var skus []*dao.StoreSkuSyncInfo
|
var skus []*dao.StoreSkuSyncInfo
|
||||||
if isFull {
|
if isFull {
|
||||||
skus, err = dao.GetFullStoreSkus(db, vendorID, storeID)
|
skus, err = dao.GetFullStoreSkus(db, vendorID, storeID)
|
||||||
globals.SugarLogger.Debugf("================isFull%s", utils.Format4Output(skus, true))
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
skus, err = dao.GetStoreSkus(db, vendorID, storeID, skuIDs)
|
skus, err = dao.GetStoreSkus(db, vendorID, storeID, skuIDs)
|
||||||
globals.SugarLogger.Debugf("================isFull2%s", utils.Format4Output(skus, true))
|
|
||||||
}
|
}
|
||||||
if err != nil || len(skus) == 0 {
|
if err != nil || len(skus) == 0 {
|
||||||
return err
|
return err
|
||||||
@@ -493,7 +490,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
now := jxutils.OperationTime2HourMinuteFormat(time.Now())
|
now := jxutils.OperationTime2HourMinuteFormat(time.Now())
|
||||||
var failedList []*partner.StoreSkuInfoWithErr
|
var failedList []*partner.StoreSkuInfoWithErr
|
||||||
for _, sku := range skus {
|
for _, sku := range skus {
|
||||||
globals.SugarLogger.Debugf("================isFull2%s", utils.Format4Output(sku, true))
|
|
||||||
if !useVendorPriceDirectly &&
|
if !useVendorPriceDirectly &&
|
||||||
!isSkuLockTimeValid(sku) {
|
!isSkuLockTimeValid(sku) {
|
||||||
sku.VendorPrice = 0
|
sku.VendorPrice = 0
|
||||||
@@ -692,14 +688,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
// api.JdShop2API.SetCookieWithStr(configs[0].Value)
|
// api.JdShop2API.SetCookieWithStr(configs[0].Value)
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("================createList%s", utils.Format4Output(createList, true))
|
|
||||||
globals.SugarLogger.Debugf("================deleteList%s", utils.Format4Output(deleteList, true))
|
|
||||||
globals.SugarLogger.Debugf("================updateList%s", utils.Format4Output(updateList, true))
|
|
||||||
globals.SugarLogger.Debugf("================stockList%s", utils.Format4Output(stockList, true))
|
|
||||||
globals.SugarLogger.Debugf("================onlineList%s", utils.Format4Output(onlineList, true))
|
|
||||||
globals.SugarLogger.Debugf("================offlineList%s", utils.Format4Output(offlineList, true))
|
|
||||||
globals.SugarLogger.Debugf("================priceList%s", utils.Format4Output(priceList, true))
|
|
||||||
|
|
||||||
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx,
|
task := tasksch.NewParallelTask("syncStoreSkuNew", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError2), ctx,
|
||||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||||
step := batchItemList[0].(int)
|
step := batchItemList[0].(int)
|
||||||
@@ -707,7 +695,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
switch step {
|
switch step {
|
||||||
case 0:
|
case 0:
|
||||||
if len(deleteList) > 0 {
|
if len(deleteList) > 0 {
|
||||||
globals.SugarLogger.Debugf("================deleteList%s", utils.Format4Output(deleteList, true))
|
|
||||||
_, err = putils.FreeBatchStoreSkuInfo("删除门店商品", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
_, err = putils.FreeBatchStoreSkuInfo("删除门店商品", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
||||||
var failedList []*partner.StoreSkuInfoWithErr
|
var failedList []*partner.StoreSkuInfoWithErr
|
||||||
if failedList, err = singleStoreHandler.DeleteStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); err != nil {
|
if failedList, err = singleStoreHandler.DeleteStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); err != nil {
|
||||||
@@ -733,7 +720,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
case 1:
|
case 1:
|
||||||
if len(createList) > 0 {
|
if len(createList) > 0 {
|
||||||
_, err = putils.FreeBatchStoreSkuSyncInfo("创建门店商品", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
_, err = putils.FreeBatchStoreSkuSyncInfo("创建门店商品", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
||||||
globals.SugarLogger.Debugf("================createList%s", utils.Format4Output(createList, true))
|
|
||||||
var failedList []*partner.StoreSkuInfoWithErr
|
var failedList []*partner.StoreSkuInfoWithErr
|
||||||
if failedList, err = singleStoreHandler.CreateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); singleStoreHandler.IsErrSkuExist(err) {
|
if failedList, err = singleStoreHandler.CreateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList); singleStoreHandler.IsErrSkuExist(err) {
|
||||||
if skuNameList, err2 := singleStoreHandler.GetStoreSkusFullInfo(ctx, task, storeID, vendorStoreID, []*partner.StoreSkuInfo{
|
if skuNameList, err2 := singleStoreHandler.GetStoreSkusFullInfo(ctx, task, storeID, vendorStoreID, []*partner.StoreSkuInfo{
|
||||||
@@ -768,7 +754,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList))
|
successList := putils.UnselectStoreSkuSyncListByVendorSkuIDs(batchedStoreSkuList, GetVendorSkuIDList(failedList))
|
||||||
globals.SugarLogger.Debugf("successList================%s", utils.Format4Output(successList, false))
|
|
||||||
if len(successList) > 0 {
|
if len(successList) > 0 {
|
||||||
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
updateStoreSku(dao.GetDB(), vendorID, successList, model.SyncFlagNewMask)
|
||||||
}
|
}
|
||||||
@@ -780,7 +765,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
}
|
}
|
||||||
case 2:
|
case 2:
|
||||||
if len(updateList) > 0 {
|
if len(updateList) > 0 {
|
||||||
globals.SugarLogger.Debugf("================updateList%s", utils.Format4Output(updateList, true))
|
|
||||||
_, err = putils.FreeBatchStoreSkuSyncInfo("更新门店商品基础信息", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
_, err = putils.FreeBatchStoreSkuSyncInfo("更新门店商品基础信息", func(task tasksch.ITask, batchedStoreSkuList []*dao.StoreSkuSyncInfo) (result interface{}, successCount int, err error) {
|
||||||
var failedList []*partner.StoreSkuInfoWithErr
|
var failedList []*partner.StoreSkuInfoWithErr
|
||||||
failedList, err = singleStoreHandler.UpdateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList)
|
failedList, err = singleStoreHandler.UpdateStoreSkus(ctx, storeID, vendorStoreID, batchedStoreSkuList)
|
||||||
@@ -798,7 +782,6 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, causeFlag
|
|||||||
case 3:
|
case 3:
|
||||||
// for k, list := range [][]*partner.StoreSkuInfo{stockList /*, onlineList*/} {
|
// for k, list := range [][]*partner.StoreSkuInfo{stockList /*, onlineList*/} {
|
||||||
if len(stockList) > 0 {
|
if len(stockList) > 0 {
|
||||||
globals.SugarLogger.Debugf("================更新门店商品库存%s", utils.Format4Output(stockList, true))
|
|
||||||
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
_, err = putils.FreeBatchStoreSkuInfo("更新门店商品库存", func(task tasksch.ITask, batchedStoreSkuList []*partner.StoreSkuInfo) (result interface{}, successCount int, err error) {
|
||||||
var failedList []*partner.StoreSkuInfoWithErr
|
var failedList []*partner.StoreSkuInfoWithErr
|
||||||
failedList, err = storeSkuHandler.UpdateStoreSkusStock(ctx, storeDetail.VendorOrgCode, storeID, vendorStoreID, batchedStoreSkuList)
|
failedList, err = storeSkuHandler.UpdateStoreSkusStock(ctx, storeDetail.VendorOrgCode, storeID, vendorStoreID, batchedStoreSkuList)
|
||||||
|
|||||||
@@ -83,7 +83,6 @@ type UserProvider struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (*UserProvider) GetUser(authID, authIDType string) (user auth2.IUser) {
|
func (*UserProvider) GetUser(authID, authIDType string) (user auth2.IUser) {
|
||||||
globals.SugarLogger.Debugf("GetUser, authID:%s, authIDType:%s", authID, authIDType)
|
|
||||||
fieldName := authTypeFieldMap[authIDType]
|
fieldName := authTypeFieldMap[authIDType]
|
||||||
if fieldName != "" {
|
if fieldName != "" {
|
||||||
user2, err := dao.GetUserByID(dao.GetDB(), fieldName, authID)
|
user2, err := dao.GetUserByID(dao.GetDB(), fieldName, authID)
|
||||||
@@ -296,7 +295,6 @@ func HandleOrder4Consignee(order *model.GoodsOrder) (err error) {
|
|||||||
authType := dao.GetAuthType4Vendor(order.VendorID)
|
authType := dao.GetAuthType4Vendor(order.VendorID)
|
||||||
if authType == "" {
|
if authType == "" {
|
||||||
msg := fmt.Sprintf("平台ID:%d当前不被支持,请联系开发", order.VendorID)
|
msg := fmt.Sprintf("平台ID:%d当前不被支持,请联系开发", order.VendorID)
|
||||||
globals.SugarLogger.Warn(msg)
|
|
||||||
return fmt.Errorf(msg)
|
return fmt.Errorf(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -402,7 +400,6 @@ func GetUserBindAuthInfo(ctx *jxcontext.Context) (authList []*model.AuthBind, er
|
|||||||
}
|
}
|
||||||
|
|
||||||
func CreateUser(user *model.User, creatorName string) (err error) {
|
func CreateUser(user *model.User, creatorName string) (err error) {
|
||||||
globals.SugarLogger.Debugf("CreateUser user:%s, creatorName:%s", utils.Format4Output(user, true), creatorName)
|
|
||||||
|
|
||||||
if user == nil || user.UserID2 == "" || user.Name == "" {
|
if user == nil || user.UserID2 == "" || user.Name == "" {
|
||||||
return ErrUserIDAndNameMustGiven
|
return ErrUserIDAndNameMustGiven
|
||||||
@@ -461,15 +458,10 @@ func OnDingDingMsg(msg map[string]interface{}) (callbackResponse *dingdingapi.Ca
|
|||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
for _, userID := range msg[dingdingapi.KeyUserID].([]interface{}) {
|
for _, userID := range msg[dingdingapi.KeyUserID].([]interface{}) {
|
||||||
userIDStr := utils.Interface2String(userID)
|
userIDStr := utils.Interface2String(userID)
|
||||||
globals.SugarLogger.Debugf("OnDingDingMsg dingding user:%s left company", userIDStr)
|
|
||||||
if authBind, err = dao.GetAuthBind(db, model.AuthBindTypeAuth, dingding.AuthTypeStaff, userIDStr); err == nil { // 直接找到了
|
if authBind, err = dao.GetAuthBind(db, model.AuthBindTypeAuth, dingding.AuthTypeStaff, userIDStr); err == nil { // 直接找到了
|
||||||
globals.SugarLogger.Debugf("OnDingDingMsg dingding user:%s, userID:%s left company", userIDStr, authBind.UserID)
|
|
||||||
if err = DeleteUserInfo(jxcontext.AdminCtx, authBind.UserID); err != nil {
|
if err = DeleteUserInfo(jxcontext.AdminCtx, authBind.UserID); err != nil {
|
||||||
globals.SugarLogger.Errorf("OnDingDingMsg failed with error:%v", err)
|
globals.SugarLogger.Errorf("OnDingDingMsg failed with error:%v", err)
|
||||||
}
|
}
|
||||||
//if err = DisableUser(jxcontext.AdminCtx, authBind.UserID); err != nil {
|
|
||||||
// globals.SugarLogger.Errorf("OnDingDingMsg failed with error:%v", err)
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if eventType == dingdingapi.CBTagCheckURL {
|
} else if eventType == dingdingapi.CBTagCheckURL {
|
||||||
@@ -674,7 +666,6 @@ func getAddressInfoFromCoord(db *dao.DaoDB, lng, lat float64) (formattedAddress
|
|||||||
}
|
}
|
||||||
|
|
||||||
func AddUserDeliveryAddress(ctx *jxcontext.Context, address *model.UserDeliveryAddress) (outAddress *model.UserDeliveryAddress, err error) {
|
func AddUserDeliveryAddress(ctx *jxcontext.Context, address *model.UserDeliveryAddress) (outAddress *model.UserDeliveryAddress, err error) {
|
||||||
globals.SugarLogger.Debugf("AddUserDeliveryAddress1 address:%s", utils.Format4Output(address, true))
|
|
||||||
if address.UserID == "" {
|
if address.UserID == "" {
|
||||||
return nil, fmt.Errorf("操作用户配送地址时必须指定UserID")
|
return nil, fmt.Errorf("操作用户配送地址时必须指定UserID")
|
||||||
}
|
}
|
||||||
@@ -683,7 +674,6 @@ func AddUserDeliveryAddress(ctx *jxcontext.Context, address *model.UserDeliveryA
|
|||||||
lat := address.Lat
|
lat := address.Lat
|
||||||
address.AutoAddress, address.DistrictCode, address.CityCode, err = getAddressInfoFromCoord(db, lng, lat)
|
address.AutoAddress, address.DistrictCode, address.CityCode, err = getAddressInfoFromCoord(db, lng, lat)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
globals.SugarLogger.Debugf("AddUserDeliveryAddress2 address:%s", utils.Format4Output(address, true))
|
|
||||||
txDB, _ := dao.Begin(db)
|
txDB, _ := dao.Begin(db)
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
@@ -705,15 +695,12 @@ func AddUserDeliveryAddress(ctx *jxcontext.Context, address *model.UserDeliveryA
|
|||||||
dao.Rollback(db, txDB)
|
dao.Rollback(db, txDB)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("AddUserDeliveryAddress3 address:%s", utils.Format4Output(address, true))
|
|
||||||
return outAddress, err
|
return outAddress, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddMyDeliveryAddress(ctx *jxcontext.Context, address *model.UserDeliveryAddress) (outAddress *model.UserDeliveryAddress, err error) {
|
func AddMyDeliveryAddress(ctx *jxcontext.Context, address *model.UserDeliveryAddress) (outAddress *model.UserDeliveryAddress, err error) {
|
||||||
globals.SugarLogger.Debugf("AddMyDeliveryAddress address:%s", utils.Format4Output(address, true))
|
|
||||||
_, address.UserID = ctx.GetMobileAndUserID()
|
_, address.UserID = ctx.GetMobileAndUserID()
|
||||||
outAddress, err = AddUserDeliveryAddress(ctx, address)
|
outAddress, err = AddUserDeliveryAddress(ctx, address)
|
||||||
globals.SugarLogger.Debugf("AddMyDeliveryAddress2 address:%s, err:%v", utils.Format4Output(address, true), err)
|
|
||||||
return outAddress, err
|
return outAddress, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -123,7 +123,6 @@ func GetStoreListByLocation(ctx *jxcontext.Context, lng, lat float64, maxRadius
|
|||||||
_, lat2 := jxutils.ConvertDistanceToLogLat(lng, lat, float64(maxRadius), 0)
|
_, lat2 := jxutils.ConvertDistanceToLogLat(lng, lat, float64(maxRadius), 0)
|
||||||
lng1 := lng - (lng2 - lng)
|
lng1 := lng - (lng2 - lng)
|
||||||
lat1 := lat - (lat2 - lat)
|
lat1 := lat - (lat2 - lat)
|
||||||
// globals.SugarLogger.Debugf("%f,%f,%f,%f\n", lng1, lng2, lat1, lat2)
|
|
||||||
if !isJds {
|
if !isJds {
|
||||||
sql = `
|
sql = `
|
||||||
SELECT t1.*,
|
SELECT t1.*,
|
||||||
|
|||||||
@@ -166,7 +166,6 @@ func GetCheckVendorCookie(ctx *jxcontext.Context, vendorIDs []int, isAuto bool)
|
|||||||
errMsg += fmt.Sprintf(" 美团账号:[%v]的Cookie无效了!")
|
errMsg += fmt.Sprintf(" 美团账号:[%v]的Cookie无效了!")
|
||||||
flag = true
|
flag = true
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("cookieCheck", err)
|
|
||||||
}
|
}
|
||||||
case model.VendorIDJD:
|
case model.VendorIDJD:
|
||||||
result, err := api.JdAPI.GetJdUpcCodeByName("", jdUpcCode, 1, 5)
|
result, err := api.JdAPI.GetJdUpcCodeByName("", jdUpcCode, 1, 5)
|
||||||
@@ -183,7 +182,6 @@ func GetCheckVendorCookie(ctx *jxcontext.Context, vendorIDs []int, isAuto bool)
|
|||||||
errMsg += fmt.Sprintf("京东商城:[%v]的Cookie无效了!")
|
errMsg += fmt.Sprintf("京东商城:[%v]的Cookie无效了!")
|
||||||
flag = true
|
flag = true
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("cookieCheck", err)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cc.VendorID = v
|
cc.VendorID = v
|
||||||
|
|||||||
@@ -526,7 +526,6 @@ func syncStoreSku() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func doDailyWork2() {
|
func doDailyWork2() {
|
||||||
globals.SugarLogger.Debug("doDailyWork2")
|
|
||||||
if beego.BConfig.RunMode == "jxgy" {
|
if beego.BConfig.RunMode == "jxgy" {
|
||||||
syncStoreSku()
|
syncStoreSku()
|
||||||
refreshPointOrderNewEarningPrice()
|
refreshPointOrderNewEarningPrice()
|
||||||
@@ -538,8 +537,6 @@ func doDailyWork2() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func doDailyWork() {
|
func doDailyWork() {
|
||||||
globals.SugarLogger.Debug("doDailyWork")
|
|
||||||
|
|
||||||
//同步商品额外前缀和水印图(打标记)
|
//同步商品额外前缀和水印图(打标记)
|
||||||
cms.SyncSkuExperfixAndWatermark(jxcontext.AdminCtx)
|
cms.SyncSkuExperfixAndWatermark(jxcontext.AdminCtx)
|
||||||
|
|
||||||
@@ -622,8 +619,6 @@ func RefreshAfsOrderStatusAccess(ctx *jxcontext.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func RefreshRealMobile(ctx *jxcontext.Context, vendorID int, fromTime, toTime time.Time, isAsync, isContinueWhenError bool) (hint string, err error) {
|
func RefreshRealMobile(ctx *jxcontext.Context, vendorID int, fromTime, toTime time.Time, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||||
globals.SugarLogger.Debug("RefreshRealMobile")
|
|
||||||
|
|
||||||
handler := partner.GetPurchasePlatformFromVendorID(vendorID)
|
handler := partner.GetPurchasePlatformFromVendorID(vendorID)
|
||||||
if handler == nil {
|
if handler == nil {
|
||||||
return "", fmt.Errorf("不合法的vendorID:%d", vendorID)
|
return "", fmt.Errorf("不合法的vendorID:%d", vendorID)
|
||||||
@@ -676,9 +671,7 @@ func ScheduleTimerFunc(name string, handler func(), timeList []string) {
|
|||||||
now := time.Now()
|
now := time.Now()
|
||||||
nextTime := jxutils.GetNextTimeFromList(now, timeList)
|
nextTime := jxutils.GetNextTimeFromList(now, timeList)
|
||||||
duration := nextTime.Sub(now) + 1*time.Second
|
duration := nextTime.Sub(now) + 1*time.Second
|
||||||
globals.SugarLogger.Debugf("ScheduleTimerFunc, func:%s, duration:%v", name, duration)
|
|
||||||
utils.AfterFuncWithRecover(duration, func() {
|
utils.AfterFuncWithRecover(duration, func() {
|
||||||
globals.SugarLogger.Debugf("ScheduleTimerFunc func:%s", name)
|
|
||||||
handler()
|
handler()
|
||||||
ScheduleTimerFunc(name, handler, timeList)
|
ScheduleTimerFunc(name, handler, timeList)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -74,7 +74,6 @@ func GetQiniuUploadToken(ctx *jxcontext.Context, suffix, hashCode string) (upTok
|
|||||||
|
|
||||||
// 此函数要求resBinary不能空,mimeType与hashCode必须是正确的
|
// 此函数要求resBinary不能空,mimeType与hashCode必须是正确的
|
||||||
func RegisterDataResource(ctx *jxcontext.Context, name, resourceURL, mimeType, hashCode string, resBinary []byte, imgType int, isAsyncUpload2Vendor bool) (dataRes *model.DataResource, err error) {
|
func RegisterDataResource(ctx *jxcontext.Context, name, resourceURL, mimeType, hashCode string, resBinary []byte, imgType int, isAsyncUpload2Vendor bool) (dataRes *model.DataResource, err error) {
|
||||||
globals.SugarLogger.Debugf("RegisterDataResource, name:%s, resourceURL:%s, mimeType:%s, hashCode:%s, imgType:%d, isAsyncUpload2Vendor;%t", name, resourceURL, mimeType, hashCode, imgType, isAsyncUpload2Vendor)
|
|
||||||
if model.ValidMimeTypes[mimeType] == 0 {
|
if model.ValidMimeTypes[mimeType] == 0 {
|
||||||
return nil, fmt.Errorf("MIME type:%s非法,当前只支持:%s", mimeType, model.GetValidMimeTypeDesc())
|
return nil, fmt.Errorf("MIME type:%s非法,当前只支持:%s", mimeType, model.GetValidMimeTypeDesc())
|
||||||
}
|
}
|
||||||
@@ -120,7 +119,6 @@ func RegisterDataResource(ctx *jxcontext.Context, name, resourceURL, mimeType, h
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TryRegisterDataResource(ctx *jxcontext.Context, name, resourceURL string, imgType int, isAsyncUpload2Vendor bool) (dataRes *model.DataResource, err error) {
|
func TryRegisterDataResource(ctx *jxcontext.Context, name, resourceURL string, imgType int, isAsyncUpload2Vendor bool) (dataRes *model.DataResource, err error) {
|
||||||
globals.SugarLogger.Debugf("TryRegisterDataResource, name:%s, resourceURL:%s, imgType:%d, isAsyncUpload2Vendor;%t", name, resourceURL, imgType, isAsyncUpload2Vendor)
|
|
||||||
dataRes = &model.DataResource{
|
dataRes = &model.DataResource{
|
||||||
MainURL: resourceURL,
|
MainURL: resourceURL,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ func (c *Coordinate) GetMapKey() int64 {
|
|||||||
func GetRound4Radius(lng, lat float64, gridWith int) (roundLng, roundLat int) {
|
func GetRound4Radius(lng, lat float64, gridWith int) (roundLng, roundLat int) {
|
||||||
lng2, _ := jxutils.ConvertDistanceToLogLat(lng, lat, float64(gridWith), 90)
|
lng2, _ := jxutils.ConvertDistanceToLogLat(lng, lat, float64(gridWith), 90)
|
||||||
_, lat2 := jxutils.ConvertDistanceToLogLat(lng, lat, float64(gridWith), 0)
|
_, lat2 := jxutils.ConvertDistanceToLogLat(lng, lat, float64(gridWith), 0)
|
||||||
// globals.SugarLogger.Debugf("GetRound4Radius gridWith:%d, lng:%f, lat:%f, lng2:%f, lat2:%f", gridWith, lng, lat, lng2, lat2)
|
|
||||||
return jxutils.StandardCoordinate2Int(math.Abs(lng2 - lng)), jxutils.StandardCoordinate2Int(math.Abs(lat2 - lat))
|
return jxutils.StandardCoordinate2Int(math.Abs(lng2 - lng)), jxutils.StandardCoordinate2Int(math.Abs(lat2 - lat))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,11 +6,9 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
|
||||||
_ "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch"
|
_ "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/defsch"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/jd"
|
_ "git.rosy.net.cn/jx-callback/business/partner/purchase/jd"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
"git.rosy.net.cn/jx-callback/globals/testinit"
|
"git.rosy.net.cn/jx-callback/globals/testinit"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -82,8 +80,6 @@ type tTest struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *tTest) DurableTaskTestFunc(intParam int, strParam string, mapParam map[string]interface{}, sliceParam []interface{}, tt []*model.Store) error {
|
func (p *tTest) DurableTaskTestFunc(intParam int, strParam string, mapParam map[string]interface{}, sliceParam []interface{}, tt []*model.Store) error {
|
||||||
globals.SugarLogger.Debug(intParam, strParam, mapParam, sliceParam)
|
|
||||||
globals.SugarLogger.Debug(utils.Format4Output(tt, false))
|
|
||||||
time.Sleep(1 * time.Second)
|
time.Sleep(1 * time.Second)
|
||||||
return nil // errors.New("hello")
|
return nil // errors.New("hello")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -223,7 +223,6 @@ func (e *EventHub) GetEvent(eventCategory string, eventTypeList []string, criter
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("GetEvent pollingDuration:%d seconds", pollingDuration/time.Second)
|
|
||||||
timer := time.NewTimer(pollingDuration)
|
timer := time.NewTimer(pollingDuration)
|
||||||
select {
|
select {
|
||||||
case tmpEvent, ok := <-notifyChan:
|
case tmpEvent, ok := <-notifyChan:
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/eventhub"
|
"git.rosy.net.cn/jx-callback/business/jxutils/eventhub"
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
)
|
)
|
||||||
@@ -126,7 +124,6 @@ func (h *Hub) GetToken(tokenType, oldToken string, waitTime time.Duration) (toke
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("GetToken tokenType:%s tokenInfo:%s", tokenType, utils.Format4Output(tokenInfo, true))
|
|
||||||
return tokenInfo
|
return tokenInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ type Obj2ExcelSheetConfig struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Obj2Excel(sheetList []*Obj2ExcelSheetConfig) []byte {
|
func Obj2Excel(sheetList []*Obj2ExcelSheetConfig) []byte {
|
||||||
globals.SugarLogger.Debug("Obj2Excel")
|
|
||||||
excelFile := excelize.NewFile()
|
excelFile := excelize.NewFile()
|
||||||
//for sheetIndex, sheetConfig := range sheetList {
|
//for sheetIndex, sheetConfig := range sheetList {
|
||||||
for _, sheetConfig := range sheetList {
|
for _, sheetConfig := range sheetList {
|
||||||
@@ -114,7 +113,6 @@ func Obj2Excel(sheetList []*Obj2ExcelSheetConfig) []byte {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Excel2Slice(reader io.Reader) (contents map[string][][]string) {
|
func Excel2Slice(reader io.Reader) (contents map[string][][]string) {
|
||||||
globals.SugarLogger.Debug("Excel2Slice")
|
|
||||||
if excelFile, err := excelize.OpenReader(reader); err == nil {
|
if excelFile, err := excelize.OpenReader(reader); err == nil {
|
||||||
contents = make(map[string][][]string)
|
contents = make(map[string][][]string)
|
||||||
for _, v := range excelFile.GetSheetMap() {
|
for _, v := range excelFile.GetSheetMap() {
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/auth2"
|
"git.rosy.net.cn/jx-callback/business/auth2"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
@@ -52,12 +51,10 @@ func New(notUsed interface{}, token string, w http.ResponseWriter, r *http.Reque
|
|||||||
token: token,
|
token: token,
|
||||||
Context: auth2.NewContext(w, r),
|
Context: auth2.NewContext(w, r),
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("jxcontext New, token:%s", token)
|
|
||||||
if auth2.IsV2Token(token) {
|
if auth2.IsV2Token(token) {
|
||||||
authInfo, err2 := auth2.GetTokenInfo(token)
|
authInfo, err2 := auth2.GetTokenInfo(token)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
ctx.userInfo = authInfo
|
ctx.userInfo = authInfo
|
||||||
globals.SugarLogger.Debugf("jxcontext New, V2 authInfo:%s", utils.Format4Output(authInfo, true))
|
|
||||||
if authInfo.TokenType != auth2.TokenTypeNormal {
|
if authInfo.TokenType != auth2.TokenTypeNormal {
|
||||||
err = errors.New("需要正式TOKEN")
|
err = errors.New("需要正式TOKEN")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,7 +125,6 @@ func SplitUniversalOrderID(universalOrderID string) (orderID string, vendorID in
|
|||||||
vendorID = int(utils.Str2Int64(universalOrderID[index+1:]))
|
vendorID = int(utils.Str2Int64(universalOrderID[index+1:]))
|
||||||
} else {
|
} else {
|
||||||
if vendorID = GetPossibleVendorIDFromVendorOrderID(universalOrderID); vendorID == model.VendorIDUnknown {
|
if vendorID = GetPossibleVendorIDFromVendorOrderID(universalOrderID); vendorID == model.VendorIDUnknown {
|
||||||
// globals.SugarLogger.Errorf("unkown order type:%v", universalOrderID)
|
|
||||||
panic(fmt.Sprintf("unkown order type, orderID:%s", universalOrderID))
|
panic(fmt.Sprintf("unkown order type, orderID:%s", universalOrderID))
|
||||||
}
|
}
|
||||||
orderID = universalOrderID
|
orderID = universalOrderID
|
||||||
@@ -168,9 +167,6 @@ func GetPossibleVendorIDFromVendorOrderID(vendorOrderID string) (vendorID int) {
|
|||||||
} else if orderIDLen == len("18100216009800000001") || orderIDLen == len("191075245758000000039") {
|
} else if orderIDLen == len("18100216009800000001") || orderIDLen == len("191075245758000000039") {
|
||||||
vendorID = model.VendorIDJDShop
|
vendorID = model.VendorIDJDShop
|
||||||
}
|
}
|
||||||
//} else {
|
|
||||||
// globals.SugarLogger.Debugf("GetPossibleVendorIDFromVendorOrderID, 2: %v", vendorOrderID)
|
|
||||||
//}
|
|
||||||
return vendorID
|
return vendorID
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import (
|
|||||||
// todo msgType不依赖于钉钉
|
// todo msgType不依赖于钉钉
|
||||||
func SendUserMessage(msgType string, user *model.User, title, content string) (err error) {
|
func SendUserMessage(msgType string, user *model.User, title, content string) (err error) {
|
||||||
userID := user.GetID()
|
userID := user.GetID()
|
||||||
globals.SugarLogger.Debugf("SendUserMessage userID:%s, title:%s", userID, title)
|
|
||||||
authList, err := auth2.GetUserBindAuthInfo(userID)
|
authList, err := auth2.GetUserBindAuthInfo(userID)
|
||||||
findOneMethod := false
|
findOneMethod := false
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|||||||
@@ -33,10 +33,8 @@ func SendSMSMsg(mobileList []string, signName, templateCode string, templatePara
|
|||||||
mobileList = jxutils.StringMap2List(jxutils.StringList2Map(mobileList))
|
mobileList = jxutils.StringMap2List(jxutils.StringList2Map(mobileList))
|
||||||
for _, mobileNum := range mobileList {
|
for _, mobileNum := range mobileList {
|
||||||
if mobileNum != "" {
|
if mobileNum != "" {
|
||||||
globals.SugarLogger.Debugf("SendSMSMsg mobileNum:%s, templateCode:%s", mobileNum, templateCode)
|
|
||||||
if true {
|
if true {
|
||||||
if response, err := api.SMSClient.Execute(globals.AliKey, globals.AliSecret, mobileNum, signName, templateCode, string(utils.MustMarshal(templateParam))); err != nil {
|
if response, err := api.SMSClient.Execute(globals.AliKey, globals.AliSecret, mobileNum, signName, templateCode, string(utils.MustMarshal(templateParam))); err != nil {
|
||||||
globals.SugarLogger.Warnf("SendSMSMsg mobileNum:%s failed with error:%v", mobileNum, err)
|
|
||||||
errList.AddErr(err)
|
errList.AddErr(err)
|
||||||
} else if response.Code != aliyunsmsclient.ResponseCodeOk {
|
} else if response.Code != aliyunsmsclient.ResponseCodeOk {
|
||||||
errMsg := fmt.Sprintf("SendSMSMsg mobileNum:%s failed with response:%s", mobileNum, utils.Format4Output(response, true))
|
errMsg := fmt.Sprintf("SendSMSMsg mobileNum:%s failed with response:%s", mobileNum, utils.Format4Output(response, true))
|
||||||
@@ -132,7 +130,7 @@ func NotifyPickOrder(order *model.GoodsOrder) (err error) {
|
|||||||
order.NotifyType = int(store.SMSNotify)
|
order.NotifyType = int(store.SMSNotify)
|
||||||
err = partner.CurOrderManager.UpdateOrderFields(order, []string{"NotifyType"})
|
err = partner.CurOrderManager.UpdateOrderFields(order, []string{"NotifyType"})
|
||||||
//品牌余额, 一条5分
|
//品牌余额, 一条5分
|
||||||
err = partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, store.BrandID, 5, model.BrandBillTypeExpend, feeType, order.VendorOrderID,"")
|
err = partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, store.BrandID, 5, model.BrandBillTypeExpend, feeType, order.VendorOrderID, "")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
balance, _ := partner.CurStoreAcctManager.GetBrandBalance(store.BrandID)
|
balance, _ := partner.CurStoreAcctManager.GetBrandBalance(store.BrandID)
|
||||||
@@ -345,7 +343,7 @@ func NotifyBrandBalance(brandID int) (err error) {
|
|||||||
err = api.Cacher.Set("brandID"+utils.Int2Str(brandID), 1, utils.Str2Time(time.Now().AddDate(0, 0, 1).Format("2006-01-02")+"00:00:00").Sub(time.Now()))
|
err = api.Cacher.Set("brandID"+utils.Int2Str(brandID), 1, utils.Str2Time(time.Now().AddDate(0, 0, 1).Format("2006-01-02")+"00:00:00").Sub(time.Now()))
|
||||||
}
|
}
|
||||||
if count > 0 {
|
if count > 0 {
|
||||||
partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, brandID, 5*count, model.BrandBillTypeExpend, model.BrandBillFeeTypeSys, "","")
|
partner.CurStoreAcctManager.InsertBrandBill(jxcontext.AdminCtx, brandID, 5*count, model.BrandBillTypeExpend, model.BrandBillFeeTypeSys, "", "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ func RefreshConfig(configKey string, expiresTime time.Duration, configGetter fun
|
|||||||
handleType := 0
|
handleType := 0
|
||||||
if err := db.Read(curConfig, "Thirdparty"); err != nil {
|
if err := db.Read(curConfig, "Thirdparty"); err != nil {
|
||||||
if err != orm.ErrNoRows {
|
if err != orm.ErrNoRows {
|
||||||
globals.SugarLogger.Errorf("db error:%v, curConfig:%v", err, curConfig)
|
|
||||||
return errRefreshGap
|
return errRefreshGap
|
||||||
}
|
}
|
||||||
handleType = 2
|
handleType = 2
|
||||||
@@ -117,10 +116,8 @@ func RefreshConfig(configKey string, expiresTime time.Duration, configGetter fun
|
|||||||
func RefreshWeixinToken() (err error) {
|
func RefreshWeixinToken() (err error) {
|
||||||
if api.WeixinAPI != nil {
|
if api.WeixinAPI != nil {
|
||||||
err = RefreshConfig("wechat", weixinTokenExpires, func() (token string, expireTimeStr string, invalidParameter string) {
|
err = RefreshConfig("wechat", weixinTokenExpires, func() (token string, expireTimeStr string, invalidParameter string) {
|
||||||
globals.SugarLogger.Debugf("RefreshWeixinToken RunMode:%s", beego.BConfig.RunMode)
|
|
||||||
if globals.IsMainProductEnv() {
|
if globals.IsMainProductEnv() {
|
||||||
if tokenInfo, err := api.WeixinAPI.CBRetrieveToken(); err == nil {
|
if tokenInfo, err := api.WeixinAPI.CBRetrieveToken(); err == nil {
|
||||||
globals.SugarLogger.Debugf("RefreshWeixinToken tokenInfo:%s", utils.Format4Output(tokenInfo, true))
|
|
||||||
token = tokenInfo.AccessToken
|
token = tokenInfo.AccessToken
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Errorf("RefreshWeixinToken RefreshToken failed with error:%v", err)
|
globals.SugarLogger.Errorf("RefreshWeixinToken RefreshToken failed with error:%v", err)
|
||||||
@@ -133,7 +130,6 @@ func RefreshWeixinToken() (err error) {
|
|||||||
}
|
}
|
||||||
return token, expireTimeStr, ""
|
return token, expireTimeStr, ""
|
||||||
}, func(value, v2 string) {
|
}, func(value, v2 string) {
|
||||||
globals.SugarLogger.Debugf("RefreshWeixinToken setter value:%s", value)
|
|
||||||
syseventhub.SysEventHub.OnNewWXToken(value)
|
syseventhub.SysEventHub.OnNewWXToken(value)
|
||||||
api.WeixinAPI.CBSetToken(value)
|
api.WeixinAPI.CBSetToken(value)
|
||||||
})
|
})
|
||||||
@@ -155,7 +151,6 @@ func RefreshFnToken() (err error) {
|
|||||||
api.FnAPI.SetToken(curConfig.Token)
|
api.FnAPI.SetToken(curConfig.Token)
|
||||||
api.FnAPI.SetRefreshToken(curConfig.RefreshToken)
|
api.FnAPI.SetRefreshToken(curConfig.RefreshToken)
|
||||||
if tokenInfo, err := api.FnAPI.GetAccessToken(); err == nil {
|
if tokenInfo, err := api.FnAPI.GetAccessToken(); err == nil {
|
||||||
globals.SugarLogger.Debugf("RefreshFnToken tokenInfo:%s", utils.Format4Output(tokenInfo, true))
|
|
||||||
token = tokenInfo.BusinessDataObj.AccessToken
|
token = tokenInfo.BusinessDataObj.AccessToken
|
||||||
refreshToken = tokenInfo.BusinessDataObj.RefreshToken
|
refreshToken = tokenInfo.BusinessDataObj.RefreshToken
|
||||||
} else {
|
} else {
|
||||||
@@ -176,7 +171,6 @@ func RefreshFnToken() (err error) {
|
|||||||
}
|
}
|
||||||
return token, expireTimeStr, refreshToken
|
return token, expireTimeStr, refreshToken
|
||||||
}, func(value, v2 string) {
|
}, func(value, v2 string) {
|
||||||
globals.SugarLogger.Debugf("RefreshFnToken setter value:[%s],[%s]", value, v2)
|
|
||||||
api.FnAPI.SetToken(value)
|
api.FnAPI.SetToken(value)
|
||||||
api.FnAPI.SetRefreshToken(v2)
|
api.FnAPI.SetRefreshToken(v2)
|
||||||
})
|
})
|
||||||
@@ -190,7 +184,6 @@ func RefreshQywxToken() (err error) {
|
|||||||
globals.SugarLogger.Debugf("RefreshQywxToken RunMode:%s", beego.BConfig.RunMode)
|
globals.SugarLogger.Debugf("RefreshQywxToken RunMode:%s", beego.BConfig.RunMode)
|
||||||
if globals.IsMainProductEnv() {
|
if globals.IsMainProductEnv() {
|
||||||
if tokenInfo, err := api.QywxAPI.GetToken(); err == nil {
|
if tokenInfo, err := api.QywxAPI.GetToken(); err == nil {
|
||||||
globals.SugarLogger.Debugf("RefreshQywxToken tokenInfo:%s", utils.Format4Output(tokenInfo, true))
|
|
||||||
token = tokenInfo
|
token = tokenInfo
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Errorf("RefreshQywxToken RefreshToken failed with error:%v", err)
|
globals.SugarLogger.Errorf("RefreshQywxToken RefreshToken failed with error:%v", err)
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import (
|
|||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -107,7 +106,6 @@ func NewParallelTask(taskName string, config *ParallelConfig, ctx *jxcontext.Con
|
|||||||
|
|
||||||
func (task *ParallelTask) Run() {
|
func (task *ParallelTask) Run() {
|
||||||
task.run(func() {
|
task.run(func() {
|
||||||
globals.SugarLogger.Debugf("ParallelTask.Run %s", task.Name)
|
|
||||||
for i := 0; i < task.ParallelCount; i++ {
|
for i := 0; i < task.ParallelCount; i++ {
|
||||||
utils.CallFuncAsync(func() {
|
utils.CallFuncAsync(func() {
|
||||||
var chanRetVal interface{}
|
var chanRetVal interface{}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package tasksch
|
|||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -32,7 +31,6 @@ func NewSeqTask2(taskName string, ctx *jxcontext.Context, isContinueWhenError bo
|
|||||||
|
|
||||||
func (task *SeqTask) Run() {
|
func (task *SeqTask) Run() {
|
||||||
task.run(func() {
|
task.run(func() {
|
||||||
globals.SugarLogger.Debugf("SeqTask.Run %s", task.Name)
|
|
||||||
var taskErr error
|
var taskErr error
|
||||||
var taskResult []interface{}
|
var taskResult []interface{}
|
||||||
for i := 0; i < task.TotalItemCount; i++ {
|
for i := 0; i < task.TotalItemCount; i++ {
|
||||||
|
|||||||
@@ -459,7 +459,6 @@ func (t *BaseTask) run(taskHandler func()) {
|
|||||||
task.TerminatedAt = time.Now()
|
task.TerminatedAt = time.Now()
|
||||||
task.locker.Unlock()
|
task.locker.Unlock()
|
||||||
task.Error()
|
task.Error()
|
||||||
globals.SugarLogger.Debugf("Task:%s, mainErr:%v, batchErrList:%v", task.Name, task.mainErr, task.batchErrList)
|
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-t.quitChan:
|
case <-t.quitChan:
|
||||||
@@ -484,7 +483,6 @@ func (t *BaseTask) run(taskHandler func()) {
|
|||||||
|
|
||||||
func SendMessage(t *BaseTask) {
|
func SendMessage(t *BaseTask) {
|
||||||
time.Sleep(10 * time.Millisecond) // 等待GetResult中的isGetResultCalled赋值
|
time.Sleep(10 * time.Millisecond) // 等待GetResult中的isGetResultCalled赋值
|
||||||
globals.SugarLogger.Debugf("BaseTask task ID:%s, name:%s finished, isGetResultCalled:%t", t.ID, t.Name, t.isGetResultCalled)
|
|
||||||
if !t.isGetResultCalled && t.parent == nil && len(GetTasks(t.ID, TaskStatusBegin, TaskStatusEnd, 24, "")) > 0 {
|
if !t.isGetResultCalled && t.parent == nil && len(GetTasks(t.ID, TaskStatusBegin, TaskStatusEnd, 24, "")) > 0 {
|
||||||
if authInfo, err := t.ctx.GetV2AuthInfo(); err == nil { // 这里应该是不管登录类型,直接以可能的方式发消息
|
if authInfo, err := t.ctx.GetV2AuthInfo(); err == nil { // 这里应该是不管登录类型,直接以可能的方式发消息
|
||||||
var content string
|
var content string
|
||||||
@@ -540,7 +538,6 @@ func (t *BaseTask) setStatus(status int) {
|
|||||||
func (task *BaseTask) callWorker(worker func() (retVal interface{}, err error)) (retVal interface{}, err error) {
|
func (task *BaseTask) callWorker(worker func() (retVal interface{}, err error)) (retVal interface{}, err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
globals.SugarLogger.Errorf("callWorker panic:%v", r)
|
|
||||||
err = fmt.Errorf("panic, r:%v", r)
|
err = fmt.Errorf("panic, r:%v", r)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@@ -550,7 +547,6 @@ func (task *BaseTask) callWorker(worker func() (retVal interface{}, err error))
|
|||||||
func (task *BaseTask) callWorker2(worker func() (retVal interface{}, successCount int, err error)) (retVal interface{}, successCount int, err error) {
|
func (task *BaseTask) callWorker2(worker func() (retVal interface{}, successCount int, err error)) (retVal interface{}, successCount int, err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
globals.SugarLogger.Errorf("callWorker panic:%v", r)
|
|
||||||
err = fmt.Errorf("panic, r:%v", r)
|
err = fmt.Errorf("panic, r:%v", r)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ type GoodsOrderExt struct {
|
|||||||
|
|
||||||
MarketManPhone string `json:"marketManPhone"` //市場負責人電話
|
MarketManPhone string `json:"marketManPhone"` //市場負責人電話
|
||||||
MarketManName string `json:"marketManName"`
|
MarketManName string `json:"marketManName"`
|
||||||
|
Comment string `json:"comment"` // 门店备注
|
||||||
OperatorPhone string `orm:"size(16)" json:"operatorPhone"` // 京东运营人电话
|
OperatorPhone string `orm:"size(16)" json:"operatorPhone"` // 京东运营人电话
|
||||||
OperatorName string `orm:"size(32)" json:"operatorName"` // 京东运营人组(角色)
|
OperatorName string `orm:"size(32)" json:"operatorName"` // 京东运营人组(角色)
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package dao
|
|||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetDataResource(db *DaoDB, hashCode, fullURL string) (dataRes *model.DataResource, err error) {
|
func GetDataResource(db *DaoDB, hashCode, fullURL string) (dataRes *model.DataResource, err error) {
|
||||||
@@ -54,7 +53,6 @@ func GetVendorOrgCode(db *DaoDB, vendorID int, vendorOrgCode, vendorType string)
|
|||||||
}
|
}
|
||||||
sql += " ORDER BY comment"
|
sql += " ORDER BY comment"
|
||||||
err = GetRows(db, &vendorOrgs, sql, sqlParams)
|
err = GetRows(db, &vendorOrgs, sql, sqlParams)
|
||||||
globals.SugarLogger.Debug("===========sql= ", sql)
|
|
||||||
return vendorOrgs, err
|
return vendorOrgs, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -822,7 +822,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
|
|||||||
-- CAST(IF(t1.earning_price <> 0, t1.earning_price, IF(t1.shop_price <> 0 && t1.shop_price < t1.sale_price, t1.shop_price, t1.sale_price) * IF(t1.order_pay_percentage > 0, t1.order_pay_percentage, %d) / 100) AS SIGNED) earning_price,
|
-- CAST(IF(t1.earning_price <> 0, t1.earning_price, IF(t1.shop_price <> 0 && t1.shop_price < t1.sale_price, t1.shop_price, t1.sale_price) * IF(t1.order_pay_percentage > 0, t1.order_pay_percentage, %d) / 100) AS SIGNED) earning_price,
|
||||||
t2.status waybill_status, t2.courier_name, t2.courier_mobile,
|
t2.status waybill_status, t2.courier_name, t2.courier_mobile,
|
||||||
t2.actual_fee, t2.desired_fee, t2.waybill_created_at, t2.waybill_finished_at, t2.vendor_waybill_id2 vendor_waybill_id2_waybill,
|
t2.actual_fee, t2.desired_fee, t2.waybill_created_at, t2.waybill_finished_at, t2.vendor_waybill_id2 vendor_waybill_id2_waybill,
|
||||||
t5.pay_percentage, t5.old_pay_percentage, t5.market_man_phone, tu.name market_man_name,
|
t5.pay_percentage, t5.comment ,t5.old_pay_percentage, t5.market_man_phone, tu.name market_man_name,
|
||||||
t5.operator_phone, t5.operator_phone2, t5.operator_phone3, tu1.name operator_name, tu2.name operator_name2, tu3.name operator_name3,
|
t5.operator_phone, t5.operator_phone2, t5.operator_phone3, tu1.name operator_name, tu2.name operator_name2, tu3.name operator_name3,
|
||||||
t6.vendor_pay_percentage,
|
t6.vendor_pay_percentage,
|
||||||
city.name city_name, district.name district_name,
|
city.name city_name, district.name district_name,
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package doudian
|
package doudian
|
||||||
|
|
||||||
import (
|
import (
|
||||||
freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request"
|
|
||||||
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
|
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
|
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
|
||||||
@@ -49,51 +48,51 @@ func TestCreateStore(t *testing.T) {
|
|||||||
//}
|
//}
|
||||||
////
|
////
|
||||||
func TestCreateFreightTemplate(t *testing.T) {
|
func TestCreateFreightTemplate(t *testing.T) {
|
||||||
accesstoken := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652252,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对 接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authorit y_id":""}`
|
//accesstoken := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652252,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对 接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authorit y_id":""}`
|
||||||
a := tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
|
//a := tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
|
||||||
t1 := &freightTemplate_create_request.FreightTemplateCreateParam{
|
//t1 := &freightTemplate_create_request.FreightTemplateCreateParam{
|
||||||
Columns: []freightTemplate_create_request.ColumnsItem{
|
// Columns: []freightTemplate_create_request.ColumnsItem{
|
||||||
{
|
// {
|
||||||
AddWeight: 20,
|
// AddWeight: 20,
|
||||||
MinSkuAmount: -1,
|
// MinSkuAmount: -1,
|
||||||
FirstWeight: 20,
|
// FirstWeight: 20,
|
||||||
ProvinceInfos: []freightTemplate_create_request.ProvinceInfosItem{
|
// ProvinceInfos: []freightTemplate_create_request.ProvinceInfosItem{
|
||||||
{
|
// {
|
||||||
Id: 51,
|
// Id: 51,
|
||||||
Children: []freightTemplate_create_request.ChildrenItem_4{
|
// Children: []freightTemplate_create_request.ChildrenItem_4{
|
||||||
{
|
// {
|
||||||
Id: 510101,
|
// Id: 510101,
|
||||||
Children: []freightTemplate_create_request.ChildrenItem_5{
|
// Children: []freightTemplate_create_request.ChildrenItem_5{
|
||||||
{
|
// {
|
||||||
Id: 510107,
|
// Id: 510107,
|
||||||
Children: []freightTemplate_create_request.ChildrenItem{
|
// Children: []freightTemplate_create_request.ChildrenItem{
|
||||||
{
|
// {
|
||||||
Id: 610041,
|
// Id: 610041,
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
Template: &freightTemplate_create_request.Template{
|
// Template: &freightTemplate_create_request.Template{
|
||||||
TemplateName: "运费模板创建测试0929",
|
// TemplateName: "运费模板创建测试0929",
|
||||||
ProductProvince: 51,
|
// ProductProvince: 51,
|
||||||
ProductCity: 510104,
|
// ProductCity: 510104,
|
||||||
CalculateType: 1,
|
// CalculateType: 1,
|
||||||
TransferType: 1,
|
// TransferType: 1,
|
||||||
RuleType: 0,
|
// RuleType: 0,
|
||||||
},
|
// },
|
||||||
}
|
//}
|
||||||
//t2 := []freightTemplate_create_request.FreightTemplateCreateParam{}
|
////t2 := []freightTemplate_create_request.FreightTemplateCreateParam{}
|
||||||
//t2 = append(t2, t1)
|
////t2 = append(t2, t1)
|
||||||
freightID, err := a.FreightTemplateCreate(t1)
|
//freightID, err := a.FreightTemplateCreate(t1)
|
||||||
//fmt.Println("freightID==", fmt.Sprintf("%v", freightID))
|
////fmt.Println("freightID==", fmt.Sprintf("%v", freightID))
|
||||||
t.Fatal("err===========", err)
|
//t.Fatal("err===========", err)
|
||||||
t.Fatalf("resp===========:%v", freightID)
|
//t.Fatalf("resp===========:%v", freightID)
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -110,9 +109,9 @@ func TestCreateFreightTemplate(t *testing.T) {
|
|||||||
func TestCreateFences(t *testing.T) {
|
func TestCreateFences(t *testing.T) {
|
||||||
//accesstoken := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652252,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对 接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authorit y_id":""}`
|
//accesstoken := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652252,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对 接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authorit y_id":""}`
|
||||||
//a := tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
|
//a := tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
|
||||||
resp, err := tiktok_store.CreateFenceByStore(668472)
|
//resp, err := tiktok_store.CreateFenceByStore(668472)
|
||||||
t.Fatal("err===========", err)
|
//t.Fatal("err===========", err)
|
||||||
t.Fatalf("resp===========:%v", resp)
|
//t.Fatalf("resp===========:%v", resp)
|
||||||
}
|
}
|
||||||
func TestSplice(t *testing.T) {
|
func TestSplice(t *testing.T) {
|
||||||
resp := tiktok_store.SplicingTimeToDoudian(100, 1100, 1200, 2100)
|
resp := tiktok_store.SplicingTimeToDoudian(100, 1100, 1200, 2100)
|
||||||
|
|||||||
@@ -45,8 +45,6 @@ func pay4OrderByTL(ctx *jxcontext.Context, order *model.GoodsOrder, payType int,
|
|||||||
if err == nil && authInfo.GetAuthType() == weixin.AuthTypeMini && authInfo.GetAuthTypeID() == subAppID {
|
if err == nil && authInfo.GetAuthType() == weixin.AuthTypeMini && authInfo.GetAuthTypeID() == subAppID {
|
||||||
param.Acct = authInfo.GetAuthID()
|
param.Acct = authInfo.GetAuthID()
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debug("authInfo=======================", authInfo)
|
|
||||||
globals.SugarLogger.Debug("param.Acc=======================", param.Acct)
|
|
||||||
}
|
}
|
||||||
if vendorPayType == tonglianpayapi.PayTypeZfbJS || vendorPayType == tonglianpayapi.PayTypeZfbApp {
|
if vendorPayType == tonglianpayapi.PayTypeZfbJS || vendorPayType == tonglianpayapi.PayTypeZfbApp {
|
||||||
if authInfo, err := ctx.GetV2AuthInfo(); err == nil {
|
if authInfo, err := ctx.GetV2AuthInfo(); err == nil {
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
|
|||||||
InvoiceTaxerID: "",
|
InvoiceTaxerID: "",
|
||||||
InvoiceEmail: "",
|
InvoiceEmail: "",
|
||||||
VendorOrgCode: vendorOrgCode,
|
VendorOrgCode: vendorOrgCode,
|
||||||
|
TotalShopMoney: utils.Float64TwoInt64(float64(result.PayAmount) * 0.95), // 抖音平台扣点金额0.05
|
||||||
}
|
}
|
||||||
// 本地获取订单记录
|
// 本地获取订单记录
|
||||||
orderSeq, _ := dao.GetVendorOrderNumber(dao.GetDB(), model.VendorIDDD, order.VendorStoreID)
|
orderSeq, _ := dao.GetVendorOrderNumber(dao.GetDB(), model.VendorIDDD, order.VendorStoreID)
|
||||||
|
|||||||
@@ -3,13 +3,10 @@ package tiktok_store
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -140,17 +137,19 @@ func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.G
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *PurchaseHandler) GetOrderAfsInfo(ctx *jxcontext.Context, vendorOrderID, afsOrderID string) (orderAfsInfo *partner.OrderAfsInfo, err error) {
|
func (c *PurchaseHandler) GetOrderAfsInfo(ctx *jxcontext.Context, vendorOrderID, afsOrderID string) (orderAfsInfo *partner.OrderAfsInfo, err error) {
|
||||||
|
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDDD)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
list, err := getAPI(order.VendorOrgCode, 0, "").QueryAfsOrderDetail(afsOrderID, false)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
orderAfsInfo = &partner.OrderAfsInfo{}
|
orderAfsInfo = &partner.OrderAfsInfo{}
|
||||||
var afsTotalShopMoney int64
|
orderAfsInfo.VendorOrderID = order.VendorOrderID
|
||||||
if list, err := api.MtwmAPI.GetOrderRefundDetail(utils.Str2Int64(vendorOrderID), 0); err == nil {
|
orderAfsInfo.AfsOrderID = afsOrderID
|
||||||
for _, v := range list {
|
orderAfsInfo.AfsTotalShopMoney = order.TotalShopMoney - list.Data.ProcessInfo.AfterSaleInfo.RealRefundAmount
|
||||||
if v.RefundPartialEstimateCharge.SettleAmount != "" {
|
|
||||||
afsTotalShopMoney += jxutils.StandardPrice2Int(utils.Str2Float64(v.RefundPartialEstimateCharge.SettleAmount))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDMTWM); err == nil {
|
|
||||||
orderAfsInfo.AfsTotalShopMoney = order.TotalShopMoney + afsTotalShopMoney
|
|
||||||
}
|
|
||||||
return orderAfsInfo, err
|
return orderAfsInfo, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -191,7 +191,6 @@ func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debug("CreateStore2 return storeIDs, storeDetail.Store.ID==========", storeIDs, storeDetail.Store.ID)
|
|
||||||
FreightTemplate.StoreID = storeDetail.Store.ID
|
FreightTemplate.StoreID = storeDetail.Store.ID
|
||||||
FreightTemplate.VendorStoreID = storeIDs
|
FreightTemplate.VendorStoreID = storeIDs
|
||||||
FreightTemplate.DeletedAt = utils.DefaultTimeValue
|
FreightTemplate.DeletedAt = utils.DefaultTimeValue
|
||||||
@@ -261,8 +260,6 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
|||||||
}
|
}
|
||||||
//修改店铺状态
|
//修改店铺状态
|
||||||
if storeInfo.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 {
|
if storeInfo.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 {
|
||||||
globals.SugarLogger.Debug("================1", 1)
|
|
||||||
globals.SugarLogger.Debug("================mergedStoreStatus", mergedStoreStatus)
|
|
||||||
errList.AddErr(P.UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus))
|
errList.AddErr(P.UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus))
|
||||||
}
|
}
|
||||||
_, err3 := api.EditStore(params)
|
_, err3 := api.EditStore(params)
|
||||||
|
|||||||
@@ -249,8 +249,6 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v
|
|||||||
// p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, duplicateStoreSkuList(storeSkuList, i+1), true)
|
// p.createOrUpdateStoreSkus(ctx, storeID, vendorStoreID, duplicateStoreSkuList(storeSkuList, i+1), true)
|
||||||
// }
|
// }
|
||||||
//}
|
//}
|
||||||
globals.SugarLogger.Debugf("============CreateStoreSkus===============%s", utils.Format4Output(failedList, false))
|
|
||||||
globals.SugarLogger.Debugf("============CreateStoreSkus===============%s", err)
|
|
||||||
return failedList, err
|
return failedList, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -317,13 +315,10 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, 0, storeSku)
|
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, 0, storeSku)
|
||||||
// ProductFormatNew 获取商品属性
|
// ProductFormatNew 获取商品属性
|
||||||
productFormatNew, err := GetProductFormatNew(param.CategoryLeafId, storeDetail.VendorOrgCode)
|
productFormatNew, err := GetProductFormatNew(param.CategoryLeafId, storeDetail.VendorOrgCode)
|
||||||
globals.SugarLogger.Debug("创建=============productFormatNew", productFormatNew)
|
|
||||||
globals.SugarLogger.Debug("创建=============productFormatNew err", err)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
param.ProductFormatNew = productFormatNew
|
param.ProductFormatNew = productFormatNew
|
||||||
globals.SugarLogger.Debug("创建=============param", utils.Format4Output(param, false))
|
|
||||||
|
|
||||||
// 获取品牌
|
// 获取品牌
|
||||||
param.StandardBrandId, err = api.GetSkuBrand(param.CategoryLeafId)
|
param.StandardBrandId, err = api.GetSkuBrand(param.CategoryLeafId)
|
||||||
@@ -428,13 +423,10 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, utils.Str2Int64(storeSku.VendorSkuID), storeSku)
|
param.SpecPrices = GetSpecPrices(param.Specs, vendorStoreID, utils.Str2Int64(storeSku.VendorSkuID), storeSku)
|
||||||
// ProductFormatNew 获取商品属性
|
// ProductFormatNew 获取商品属性
|
||||||
productFormatNew, err := GetProductFormatNew(param.CategoryLeafId, storeDetail.VendorOrgCode)
|
productFormatNew, err := GetProductFormatNew(param.CategoryLeafId, storeDetail.VendorOrgCode)
|
||||||
globals.SugarLogger.Debug("更新=============productFormatNew", productFormatNew)
|
|
||||||
globals.SugarLogger.Debug("更新=============productFormatNew err", err)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
param.ProductFormatNew = productFormatNew
|
param.ProductFormatNew = productFormatNew
|
||||||
globals.SugarLogger.Debug("更新=============param", utils.Format4Output(param, false))
|
|
||||||
|
|
||||||
// 获取品牌
|
// 获取品牌
|
||||||
//brandID, err := api.GetSkuBrand(param.CategoryLeafId)
|
//brandID, err := api.GetSkuBrand(param.CategoryLeafId)
|
||||||
@@ -485,7 +477,6 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
|||||||
func CreateSaleTemp(storeId int64, api *tiktokShop.API) (int64, error) {
|
func CreateSaleTemp(storeId int64, api *tiktokShop.API) (int64, error) {
|
||||||
// 获取限售模板
|
// 获取限售模板
|
||||||
saleLimitId, _ := api.StoreQuerySaleLimitTemp(storeId)
|
saleLimitId, _ := api.StoreQuerySaleLimitTemp(storeId)
|
||||||
globals.SugarLogger.Debug("==========saleLimitId1", saleLimitId)
|
|
||||||
if saleLimitId != 0 {
|
if saleLimitId != 0 {
|
||||||
return saleLimitId, nil
|
return saleLimitId, nil
|
||||||
}
|
}
|
||||||
@@ -510,8 +501,6 @@ func CreateSaleTemp(storeId int64, api *tiktokShop.API) (int64, error) {
|
|||||||
}
|
}
|
||||||
tradeLimitRuleRequestList = append(tradeLimitRuleRequestList, tradeLimitRuleRequest)
|
tradeLimitRuleRequestList = append(tradeLimitRuleRequestList, tradeLimitRuleRequest)
|
||||||
result, err := api.CreateTradeLimitTemplate(param)
|
result, err := api.CreateTradeLimitTemplate(param)
|
||||||
globals.SugarLogger.Debug("==========err2222", err)
|
|
||||||
globals.SugarLogger.Debug("==========result222", utils.Format4Output(result, false))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import (
|
|||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
@@ -55,7 +54,6 @@ func GetDeliveryTemp(api *tiktokShop.API, vendorStoreID string, storeDetail *dao
|
|||||||
// GetProductFormatNew 获取物品属性
|
// GetProductFormatNew 获取物品属性
|
||||||
func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (string, error) {
|
func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (string, error) {
|
||||||
category, err := getAPI(vendorOrgCode, 0, "").GetCatePropertyV2(categoryLeftId)
|
category, err := getAPI(vendorOrgCode, 0, "").GetCatePropertyV2(categoryLeftId)
|
||||||
globals.SugarLogger.Debug("========productFormatNewDATA==============", utils.Format4Output(category, false))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
@@ -84,7 +82,6 @@ func GetProductFormatNew(categoryLeftId int64, vendorOrgCode string) (string, er
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debug("========productFormatNew==============", string(productFormatNew))
|
|
||||||
return string(productFormatNew), nil
|
return string(productFormatNew), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxstore/secretNumber"
|
"git.rosy.net.cn/jx-callback/business/jxstore/secretNumber"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
"github.com/astaxie/beego/server/web"
|
"github.com/astaxie/beego/server/web"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
)
|
)
|
||||||
@@ -26,7 +25,6 @@ func (c *AliApiController) SecretNumberMsg() {
|
|||||||
var res *secretNumber.SecretNumberMsgRes
|
var res *secretNumber.SecretNumberMsgRes
|
||||||
for k, _ := range mapData {
|
for k, _ := range mapData {
|
||||||
if err := json.Unmarshal([]byte(k), &res); err == nil {
|
if err := json.Unmarshal([]byte(k), &res); err == nil {
|
||||||
globals.SugarLogger.Debugf("SecretNumberMsg msg: %v", utils.Format4Output(res, true))
|
|
||||||
secretNumber.CallbackBrandBill(res)
|
secretNumber.CallbackBrandBill(res)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,7 +116,6 @@ func (c *Auth2Controller) TiktokDecrypt() {
|
|||||||
// @router /Login [post]
|
// @router /Login [post]
|
||||||
func (c *Auth2Controller) Login() {
|
func (c *Auth2Controller) Login() {
|
||||||
c.callLogin(func(params *tAuth2LoginParams) (retVal interface{}, errCode string, err error) {
|
c.callLogin(func(params *tAuth2LoginParams) (retVal interface{}, errCode string, err error) {
|
||||||
globals.SugarLogger.Debug("params.AuthType==============", params.AuthType)
|
|
||||||
if params.AuthType == auth2.AuthTypeMobile {
|
if params.AuthType == auth2.AuthTypeMobile {
|
||||||
params.AuthIDType = auth2.UserIDMobile
|
params.AuthIDType = auth2.UserIDMobile
|
||||||
} else if params.AuthType == auth2.AuthTypeEmail {
|
} else if params.AuthType == auth2.AuthTypeEmail {
|
||||||
@@ -136,7 +135,6 @@ func (c *Auth2Controller) Login() {
|
|||||||
ctx := auth2.NewContext(c.Ctx.ResponseWriter, c.Ctx.Request)
|
ctx := auth2.NewContext(c.Ctx.ResponseWriter, c.Ctx.Request)
|
||||||
globals.SugarLogger.Debug("params.AuthType, params.AuthID, params.AuthIDType, params.AuthSecret==============", params.AuthType, params.AuthID, params.AuthIDType, params.AuthSecret)
|
globals.SugarLogger.Debug("params.AuthType, params.AuthID, params.AuthIDType, params.AuthSecret==============", params.AuthType, params.AuthID, params.AuthIDType, params.AuthSecret)
|
||||||
authInfo, err := auth2.Login(ctx, params.AuthType, params.AuthID, params.AuthIDType, params.AuthSecret)
|
authInfo, err := auth2.Login(ctx, params.AuthType, params.AuthID, params.AuthIDType, params.AuthSecret)
|
||||||
globals.SugarLogger.Debug("authInfo==============", authInfo)
|
|
||||||
// TODO 兼容没有取到authid2的错误
|
// TODO 兼容没有取到authid2的错误
|
||||||
if err == nil && authInfo.AuthBindInfo != nil {
|
if err == nil && authInfo.AuthBindInfo != nil {
|
||||||
if authInfo.AuthBindInfo.AuthID2 == "" {
|
if authInfo.AuthBindInfo.AuthID2 == "" {
|
||||||
@@ -348,7 +346,6 @@ func (c *Auth2Controller) AddAuthBindWithMobile() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debug("打印newAuthInfo==============", newAuthInfo)
|
|
||||||
err = auth2.AddAuthBindWithMobile(newAuthInfo, params.Mobile)
|
err = auth2.AddAuthBindWithMobile(newAuthInfo, params.Mobile)
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
"github.com/astaxie/beego/server/web"
|
"github.com/astaxie/beego/server/web"
|
||||||
)
|
)
|
||||||
@@ -54,7 +52,6 @@ func (c *DDAPIController) Sign() {
|
|||||||
str := "jsapi_ticket=" + ddapi.Ticket +
|
str := "jsapi_ticket=" + ddapi.Ticket +
|
||||||
"&noncestr=" + params.NonceStr + "×tamp=" + params.TimeStamp + "&url=" + params.Url
|
"&noncestr=" + params.NonceStr + "×tamp=" + params.TimeStamp + "&url=" + params.Url
|
||||||
retVal = fmt.Sprintf("%x", sha1.Sum([]byte(str)))
|
retVal = fmt.Sprintf("%x", sha1.Sum([]byte(str)))
|
||||||
globals.SugarLogger.Debugf("dingapi str:%s sign:%v", str, retVal)
|
|
||||||
}
|
}
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ type EnterpriseController struct {
|
|||||||
// 消息结构体将使用创建应用时的EncodingAESKey进行加密(特别注意, 在第三方回调事件中使用加解密算法,receiveid的内容为suiteid)
|
// 消息结构体将使用创建应用时的EncodingAESKey进行加密(特别注意, 在第三方回调事件中使用加解密算法,receiveid的内容为suiteid)
|
||||||
// ,请参考接收消息解析数据包。
|
// ,请参考接收消息解析数据包。
|
||||||
func (e *EnterpriseController) EnterpriseCallback() {
|
func (e *EnterpriseController) EnterpriseCallback() {
|
||||||
globals.SugarLogger.Debug("==============企业微信通知回调")
|
|
||||||
r := e.Ctx.Request
|
r := e.Ctx.Request
|
||||||
switch e.Ctx.Request.Method {
|
switch e.Ctx.Request.Method {
|
||||||
case http.MethodPost:
|
case http.MethodPost:
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import (
|
|||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop"
|
"git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
"github.com/astaxie/beego/server/web"
|
"github.com/astaxie/beego/server/web"
|
||||||
)
|
)
|
||||||
@@ -25,7 +23,6 @@ func (c *JdsController) Msg() {
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
jdshop.OnCallbackMsg(call)
|
jdshop.OnCallbackMsg(call)
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debugf("jds callback callbackResponse:%s", utils.Format4Output(call, true))
|
|
||||||
c.Data["json"] = call
|
c.Data["json"] = call
|
||||||
c.ServeJSON()
|
c.ServeJSON()
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -2,9 +2,7 @@ package controllers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
|
"git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
"github.com/astaxie/beego/server/web"
|
"github.com/astaxie/beego/server/web"
|
||||||
)
|
)
|
||||||
@@ -16,7 +14,6 @@ type MtwmController struct {
|
|||||||
func (c *MtwmController) onCallbackMsg(msgType string) {
|
func (c *MtwmController) onCallbackMsg(msgType string) {
|
||||||
c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "")
|
c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "")
|
||||||
msg, callbackResponse := api.MtwmAPI.GetCallbackMsg(c.Ctx.Request)
|
msg, callbackResponse := api.MtwmAPI.GetCallbackMsg(c.Ctx.Request)
|
||||||
globals.SugarLogger.Debug(utils.Format4Output(msg, true))
|
|
||||||
if callbackResponse == nil {
|
if callbackResponse == nil {
|
||||||
callbackResponse = mtwm.OnCallbackMsg(msg)
|
callbackResponse = mtwm.OnCallbackMsg(msg)
|
||||||
if callbackResponse == nil {
|
if callbackResponse == nil {
|
||||||
|
|||||||
@@ -7,10 +7,7 @@ import (
|
|||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/globals/api"
|
"git.rosy.net.cn/jx-callback/globals/api"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
|
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
|
||||||
|
|
||||||
"github.com/astaxie/beego/server/web"
|
"github.com/astaxie/beego/server/web"
|
||||||
"github.com/astaxie/beego/server/web/context"
|
"github.com/astaxie/beego/server/web/context"
|
||||||
)
|
)
|
||||||
@@ -22,7 +19,6 @@ type TongLianController struct {
|
|||||||
func (c *TongLianController) Msg() {
|
func (c *TongLianController) Msg() {
|
||||||
if c.Ctx.Input.Method() == http.MethodPost {
|
if c.Ctx.Input.Method() == http.MethodPost {
|
||||||
call, err := api.TLpayAPI.GetCallbackMsg(getUsefulRequest2(c.Ctx))
|
call, err := api.TLpayAPI.GetCallbackMsg(getUsefulRequest2(c.Ctx))
|
||||||
globals.SugarLogger.Debugf("tonglianapi callback callbackResponse:%s", utils.Format4Output(call, true))
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
err = localjx.OnTLPayCallback(call)
|
err = localjx.OnTLPayCallback(call)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ func (c *WeimobController) onCallbackMsg() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *WeimobController) Code() {
|
func (c *WeimobController) Code() {
|
||||||
globals.SugarLogger.Debugf("WeimobController code, code:%s, state:%s", c.GetString("code"), c.GetString("state"))
|
|
||||||
state := c.GetString("state")
|
state := c.GetString("state")
|
||||||
if state == globals.WeimobStateSecret { // 防止有人故意搞坏,添加一个secret
|
if state == globals.WeimobStateSecret { // 防止有人故意搞坏,添加一个secret
|
||||||
code := c.GetString("code")
|
code := c.GetString("code")
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package apimanager
|
|||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||||
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
@@ -31,7 +30,6 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
globals.SugarLogger.Debug("init apimanager")
|
|
||||||
CurAPIManager = &APIManager{}
|
CurAPIManager = &APIManager{}
|
||||||
partner.InitAPIManager(CurAPIManager)
|
partner.InitAPIManager(CurAPIManager)
|
||||||
}
|
}
|
||||||
@@ -46,6 +44,9 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{})
|
|||||||
pfAPI = api.FakeJdAPI
|
pfAPI = api.FakeJdAPI
|
||||||
} else {
|
} else {
|
||||||
codes, _ := dao.GetVendorOrgCode(db, vendorID, appOrgCode, "platform")
|
codes, _ := dao.GetVendorOrgCode(db, vendorID, appOrgCode, "platform")
|
||||||
|
if len(codes) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
code := codes[0]
|
code := codes[0]
|
||||||
api.JdAPI = jdapi.New(code.Token, code.AppKey, code.AppSecret)
|
api.JdAPI = jdapi.New(code.Token, code.AppKey, code.AppSecret)
|
||||||
pfAPI = api.JdAPI
|
pfAPI = api.JdAPI
|
||||||
@@ -69,8 +70,10 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{})
|
|||||||
pfAPI = api.TiktokApi
|
pfAPI = api.TiktokApi
|
||||||
case model.VendorIDDD:
|
case model.VendorIDDD:
|
||||||
codes, _ := dao.GetVendorOrgCode(db, vendorID, appOrgCode, "platform")
|
codes, _ := dao.GetVendorOrgCode(db, vendorID, appOrgCode, "platform")
|
||||||
|
if len(codes) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
pfAPI = tiktok_api.New(beego.AppConfig.DefaultString("tiktokShopAppId", ""), beego.AppConfig.DefaultString("tiktokShopAppSecret", ""), codes[0].Token)
|
pfAPI = tiktok_api.New(beego.AppConfig.DefaultString("tiktokShopAppId", ""), beego.AppConfig.DefaultString("tiktokShopAppSecret", ""), codes[0].Token)
|
||||||
globals.SugarLogger.Debugf("pfAPI ================%v", utils.Format4Output(pfAPI, true))
|
|
||||||
}
|
}
|
||||||
return pfAPI
|
return pfAPI
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ func Init() {
|
|||||||
apppath, _ := filepath.Abs(filepath.Dir(filepath.Join(file, ".."+string(filepath.Separator)+".."+string(filepath.Separator))))
|
apppath, _ := filepath.Abs(filepath.Dir(filepath.Join(file, ".."+string(filepath.Separator)+".."+string(filepath.Separator))))
|
||||||
beego.TestBeegoInit(apppath)
|
beego.TestBeegoInit(apppath)
|
||||||
|
|
||||||
globals.SugarLogger.Infof("testinit RunMode=%s", beego.BConfig.RunMode)
|
|
||||||
beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test
|
beego.BConfig.RunMode = "dev" // InitBeegoBeforeTest会将runmode设置为test
|
||||||
|
|
||||||
globals.Init()
|
globals.Init()
|
||||||
|
|||||||
9
main.go
9
main.go
@@ -146,10 +146,7 @@ func main() {
|
|||||||
globals.SugarLogger.Errorf("RefreshWeixin3Token failed with error:%s", err)
|
globals.SugarLogger.Errorf("RefreshWeixin3Token failed with error:%s", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// if err := tasks.RefreshWeimobToken(); err != nil {
|
|
||||||
// globals.SugarLogger.Errorf("RefreshWeimobToken failed with error:%s", err)
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
if err := tasks.RefreshYilianyunToken(); err != nil {
|
if err := tasks.RefreshYilianyunToken(); err != nil {
|
||||||
globals.SugarLogger.Errorf("RefreshYilianyunToken failed with error:%s", err)
|
globals.SugarLogger.Errorf("RefreshYilianyunToken failed with error:%s", err)
|
||||||
return
|
return
|
||||||
@@ -164,10 +161,6 @@ func main() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//if err := tasks.RefreshTiktokToken(); err != nil {
|
|
||||||
// globals.SugarLogger.Errorf("RefreshTiktokToken failed with error:%s", err)
|
|
||||||
// return
|
|
||||||
//}
|
|
||||||
if err := tasks.RefreshQywxToken(); err != nil {
|
if err := tasks.RefreshQywxToken(); err != nil {
|
||||||
globals.SugarLogger.Errorf("RefreshQywxToken failed with error:%s", err)
|
globals.SugarLogger.Errorf("RefreshQywxToken failed with error:%s", err)
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user