Accept Merge Request #190: (su -> mark)
Merge Request: 优化饿鲜达 Created By: @苏尹岚 Accepted By: @苏尹岚 URL: https://rosydev.coding.net/p/jx-callback/d/jx-callback/git/merge/190
This commit is contained in:
@@ -446,5 +446,5 @@ func DisableUser(userID, operatorUserName string) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetUserBindAuthInfo(userID string) (authList []*model.AuthBind, err error) {
|
func GetUserBindAuthInfo(userID string) (authList []*model.AuthBind, err error) {
|
||||||
return dao.GetUserBindAuthInfo(dao.GetDB(), userID, model.AuthBindTypeAuth, nil, "", "")
|
return dao.GetUserBindAuthInfo(dao.GetDB(), userID, model.AuthBindTypeAuth, nil, "", "", "")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ func (a *DefAuther) UnionFindAuthBind(curAuthType, curAuthTypeID string, unionAu
|
|||||||
} else if dao.IsNoRowsError(err) { // 直接找不到,尝试unionID
|
} else if dao.IsNoRowsError(err) { // 直接找不到,尝试unionID
|
||||||
if unionID != "" { // 且有unionID
|
if unionID != "" { // 且有unionID
|
||||||
var authBindList []*model.AuthBind
|
var authBindList []*model.AuthBind
|
||||||
if authBindList, err = dao.GetUserBindAuthInfo(db, "", model.AuthBindTypeAuth, unionAuthTypeList, "", unionID); err == nil && len(authBindList) > 0 { // 通过unionID找到至少一个认证方式
|
if authBindList, err = dao.GetUserBindAuthInfo(db, "", model.AuthBindTypeAuth, unionAuthTypeList, "", unionID, ""); err == nil && len(authBindList) > 0 { // 通过unionID找到至少一个认证方式
|
||||||
authBind = authBindList[0]
|
authBind = authBindList[0]
|
||||||
authBind.Type = curAuthType
|
authBind.Type = curAuthType
|
||||||
authBind.TypeID = curAuthTypeID
|
authBind.TypeID = curAuthTypeID
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ func changeStoreSkusByOrder(order *weimobapi.OrderDetail) {
|
|||||||
if skuName.Status != model.SkuStatusNormal {
|
if skuName.Status != model.SkuStatusNormal {
|
||||||
cms.UpdateSkuName(ctx, skuName.ID, map[string]interface{}{
|
cms.UpdateSkuName(ctx, skuName.ID, map[string]interface{}{
|
||||||
"status": model.SkuStatusNormal,
|
"status": model.SkuStatusNormal,
|
||||||
})
|
}, false)
|
||||||
}
|
}
|
||||||
for _, sku := range skuName.Skus {
|
for _, sku := range skuName.Skus {
|
||||||
if sku.Status != model.SkuStatusNormal {
|
if sku.Status != model.SkuStatusNormal {
|
||||||
|
|||||||
@@ -615,15 +615,19 @@ func (c *OrderManager) GetStoresOrderSaleInfo(ctx *jxcontext.Context, storeIDLis
|
|||||||
|
|
||||||
func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeIDList []int, fromTime time.Time, toTime time.Time, statusList []int) (saleInfoList []*dao.StoresOrderSaleInfo, err error) {
|
func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeIDList []int, fromTime time.Time, toTime time.Time, statusList []int) (saleInfoList []*dao.StoresOrderSaleInfo, err error) {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
orderSkuList, err := dao.GetStoreOrderSkuList(db, storeIDList, fromTime, toTime, statusList)
|
var isFinish = true
|
||||||
|
if toTime.Sub(fromTime).Hours() > 24 {
|
||||||
|
isFinish = false
|
||||||
|
}
|
||||||
|
orderSkuList, err := dao.GetStoreOrderSkuList(db, storeIDList, fromTime, toTime, statusList, isFinish)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished})
|
afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished}, isFinish)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
orderSkuList4Afs, err := dao.GetStoreOrderSkuList4Afs(db, storeIDList, fromTime, toTime)
|
orderSkuList4Afs, err := dao.GetStoreOrderSkuList4Afs(db, storeIDList, fromTime, toTime, isFinish)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -788,7 +788,7 @@ func AddSkuName(ctx *jxcontext.Context, skuNameExt *model.SkuNameExt, userName s
|
|||||||
return outSkuNameExt, err
|
return outSkuNameExt, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interface{}) (num int64, err error) {
|
func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interface{}, isExd bool) (num int64, err error) {
|
||||||
userName := ctx.GetUserName()
|
userName := ctx.GetUserName()
|
||||||
skuName := &model.SkuName{}
|
skuName := &model.SkuName{}
|
||||||
skuName.ID = nameID
|
skuName.ID = nameID
|
||||||
@@ -853,10 +853,12 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
|||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
if !isExd {
|
||||||
if err = OnUpdateThing(ctx, db, nil, int64(nameID), model.ThingTypeSkuName); err != nil {
|
if err = OnUpdateThing(ctx, db, nil, int64(nameID), model.ThingTypeSkuName); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil {
|
if utils.Interface2Int64WithDefault(payload["isGlobal"], 0) == 0 && payload["places"] != nil {
|
||||||
if places, ok := payload["places"].([]interface{}); ok {
|
if places, ok := payload["places"].([]interface{}); ok {
|
||||||
if _, err = dao.DeleteSkuNamePlace(db, nameID, nil); err != nil {
|
if _, err = dao.DeleteSkuNamePlace(db, nameID, nil); err != nil {
|
||||||
@@ -888,13 +890,14 @@ func UpdateSkuName(ctx *jxcontext.Context, nameID int, payload map[string]interf
|
|||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
if sku.ExdSkuID == "" {
|
||||||
if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil {
|
if err = OnUpdateThing(ctx, db, nil, int64(v.ID), model.ThingTypeSku); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
skuIDs, err2 := dao.GetSkuIDByNames(db, []int{nameID})
|
skuIDs, err2 := dao.GetSkuIDByNames(db, []int{nameID})
|
||||||
if err = err2; err != nil {
|
if err = err2; err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
@@ -1075,10 +1078,12 @@ func UpdateSku(ctx *jxcontext.Context, skuID int, payload map[string]interface{}
|
|||||||
}
|
}
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
if sku.ExdSkuID == "" {
|
||||||
if err = OnUpdateThing(ctx, db, nil, int64(skuID), model.ThingTypeSku); err != nil {
|
if err = OnUpdateThing(ctx, db, nil, int64(skuID), model.ThingTypeSku); err != nil {
|
||||||
dao.Rollback(db)
|
dao.Rollback(db)
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
dao.Commit(db)
|
dao.Commit(db)
|
||||||
|
|
||||||
if _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), []int{skuID}, model.SyncFlagModifiedMask); err == nil {
|
if _, err = SetStoreSkuSyncStatus2(db, nil, partner.GetSingleStoreVendorIDs(), []int{skuID}, model.SyncFlagModifiedMask); err == nil {
|
||||||
@@ -1387,16 +1392,16 @@ func UpdateSkuNamesExPrefix(ctx *jxcontext.Context, nameIDs []int, exPrefix, fro
|
|||||||
"exPrefixEnd": toTimeP,
|
"exPrefixEnd": toTimeP,
|
||||||
}
|
}
|
||||||
if now.Sub(toTimeP) <= 0 && now.Sub(fromTimeP) >= 0 {
|
if now.Sub(toTimeP) <= 0 && now.Sub(fromTimeP) >= 0 {
|
||||||
_, err = UpdateSkuName(ctx, nameID, payload)
|
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
||||||
} else if now.Sub(fromTimeP) > 0 && now.Sub(toTimeP) > 0 {
|
} else if now.Sub(fromTimeP) > 0 && now.Sub(toTimeP) > 0 {
|
||||||
payload["exPrefixBegin"] = nil
|
payload["exPrefixBegin"] = nil
|
||||||
payload["exPrefixEnd"] = nil
|
payload["exPrefixEnd"] = nil
|
||||||
_, err = UpdateSkuName(ctx, nameID, payload)
|
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
||||||
} else {
|
} else {
|
||||||
skuList, err := dao.GetSkus(db, nil, []int{nameID}, nil, nil)
|
skuList, err := dao.GetSkus(db, nil, []int{nameID}, nil, nil)
|
||||||
if err == nil && len(skuList) > 0 {
|
if err == nil && len(skuList) > 0 {
|
||||||
if skuList[0].ExPrefixBegin != nil {
|
if skuList[0].ExPrefixBegin != nil {
|
||||||
_, err = UpdateSkuName(ctx, nameID, payload)
|
_, err = UpdateSkuName(ctx, nameID, payload, false)
|
||||||
CurVendorSync.SyncStoresSkus2(ctx, nil, 0, db, partner.GetSingleStoreVendorIDs(), nil, false, []int{skuList[0].ID}, nil, model.SyncFlagModifiedMask, true, true)
|
CurVendorSync.SyncStoresSkus2(ctx, nil, 0, db, partner.GetSingleStoreVendorIDs(), nil, false, []int{skuList[0].ID}, nil, model.SyncFlagModifiedMask, true, true)
|
||||||
} else {
|
} else {
|
||||||
skuName := &model.SkuName{
|
skuName := &model.SkuName{
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ func SyncCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs
|
|||||||
// TODO 同一平台不同账号会有影响needSyncParentIDs,暂不处理
|
// TODO 同一平台不同账号会有影响needSyncParentIDs,暂不处理
|
||||||
var needSyncParentIDs []int
|
var needSyncParentIDs []int
|
||||||
for _, cat := range catList {
|
for _, cat := range catList {
|
||||||
if cat.Level == 2 && cat.ParentVendorCatID == "" {
|
if cat.Level == 2 && cat.ParentVendorCatID == "" && cat.IsExdSpec == model.NO {
|
||||||
needSyncParentIDs = append(needSyncParentIDs, cat.ParentID)
|
needSyncParentIDs = append(needSyncParentIDs, cat.ParentID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -144,6 +144,9 @@ func SyncSkus(ctx *jxcontext.Context, parentTask tasksch.ITask, vendorIDs []int,
|
|||||||
if skuVendorInfo.BindID == 0 {
|
if skuVendorInfo.BindID == 0 {
|
||||||
return nil, fmt.Errorf("商品:%d的数据异常", skuVendorInfo.SkuID)
|
return nil, fmt.Errorf("商品:%d的数据异常", skuVendorInfo.SkuID)
|
||||||
}
|
}
|
||||||
|
if skuVendorInfo.ExdSkuID != "" {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
skuVendorInfo.SkuName = jxutils.ComposeSkuName(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0, skuVendorInfo.ExPrefix, skuVendorInfo.ExPrefixBegin, skuVendorInfo.ExPrefixEnd)
|
skuVendorInfo.SkuName = jxutils.ComposeSkuName(skuVendorInfo.Prefix, skuVendorInfo.Name, skuVendorInfo.Comment, skuVendorInfo.Unit, skuVendorInfo.SpecQuality, skuVendorInfo.SpecUnit, 0, skuVendorInfo.ExPrefix, skuVendorInfo.ExPrefixBegin, skuVendorInfo.ExPrefixEnd)
|
||||||
skuVendorInfo.MergedStatus = jxutils.MergeSkuStatus(skuVendorInfo.Status, skuVendorInfo.NameStatus)
|
skuVendorInfo.MergedStatus = jxutils.MergeSkuStatus(skuVendorInfo.Status, skuVendorInfo.NameStatus)
|
||||||
if multiStoresHandler, ok := partner.GetPurchasePlatformFromVendorID(skuVendorInfo.VendorID).(partner.IMultipleStoresHandler); ok {
|
if multiStoresHandler, ok := partner.GetPurchasePlatformFromVendorID(skuVendorInfo.VendorID).(partner.IMultipleStoresHandler); ok {
|
||||||
@@ -466,6 +469,7 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask,
|
|||||||
|
|
||||||
if opType == AmendPruneOnlyAmend || opType == AmendPruneAll {
|
if opType == AmendPruneOnlyAmend || opType == AmendPruneAll {
|
||||||
for _, v := range localSkuList {
|
for _, v := range localSkuList {
|
||||||
|
if v.ExdSkuID == "" {
|
||||||
if v.BindID != 0 {
|
if v.BindID != 0 {
|
||||||
if !model.IsSyncStatusDelete(v.SkuSyncStatus) {
|
if !model.IsSyncStatusDelete(v.SkuSyncStatus) {
|
||||||
if remoteSkuMap[v.VendorSkuID] == 0 {
|
if remoteSkuMap[v.VendorSkuID] == 0 {
|
||||||
@@ -482,6 +486,7 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
case 1:
|
case 1:
|
||||||
if (opType == AmendPruneOnlyPrune || opType == AmendPruneAll) && len(sku2Delete) > 0 {
|
if (opType == AmendPruneOnlyPrune || opType == AmendPruneAll) && len(sku2Delete) > 0 {
|
||||||
_, 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) {
|
||||||
@@ -510,6 +515,7 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask,
|
|||||||
cat2Delete = checkRemoteCatExist(remoteCatMap, localCatMap, remoteCatList)
|
cat2Delete = checkRemoteCatExist(remoteCatMap, localCatMap, remoteCatList)
|
||||||
|
|
||||||
for _, v := range localCatList {
|
for _, v := range localCatList {
|
||||||
|
if v.IsExdSpec == model.NO {
|
||||||
if v.MapID != 0 {
|
if v.MapID != 0 {
|
||||||
if !model.IsSyncStatusDelete(v.CatSyncStatus) {
|
if !model.IsSyncStatusDelete(v.CatSyncStatus) {
|
||||||
if remoteCatMap[v.VendorCatID] == 0 {
|
if remoteCatMap[v.VendorCatID] == 0 {
|
||||||
@@ -525,6 +531,7 @@ func amendAndPruneVendorStuff(ctx *jxcontext.Context, parentTask tasksch.ITask,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
case 3:
|
case 3:
|
||||||
if (opType == AmendPruneOnlyPrune || opType == AmendPruneAll) && len(cat2Delete) > 0 {
|
if (opType == AmendPruneOnlyPrune || opType == AmendPruneAll) && len(cat2Delete) > 0 {
|
||||||
for i := 0; i < 2; i++ {
|
for i := 0; i < 2; i++ {
|
||||||
|
|||||||
@@ -804,7 +804,7 @@ func HandleUserWXRemark(db *dao.DaoDB, mobile string, mobileIsUerID bool) (err e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if userID != "" {
|
if userID != "" {
|
||||||
authBindList, err2 := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{weixin.AuthTypeMP}, "", "")
|
authBindList, err2 := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{weixin.AuthTypeMP}, "", "", "")
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
for _, v := range authBindList {
|
for _, v := range authBindList {
|
||||||
openIDs = append(openIDs, v.AuthID)
|
openIDs = append(openIDs, v.AuthID)
|
||||||
@@ -972,7 +972,7 @@ func WriteToExcelJd(task *tasksch.SeqTask, jd []JdUserStruct) (err error) {
|
|||||||
func UpdateUserWxNoAndPercent(user *model.User, isReceiver bool) (num int64, err error) {
|
func UpdateUserWxNoAndPercent(user *model.User, isReceiver bool) (num int64, err error) {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
user2, err := dao.GetUserByID(db, "user_id", user.UserID)
|
user2, err := dao.GetUserByID(db, "user_id", user.UserID)
|
||||||
auth, err := dao.GetUserBindAuthInfo(db, user.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "")
|
auth, err := dao.GetUserBindAuthInfo(db, user.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "wx4b5930c13f8b1170")
|
||||||
if len(auth) == 0 {
|
if len(auth) == 0 {
|
||||||
return 0, fmt.Errorf("未找到此用户的微信验证方式!用户ID:[%v]\n", user.UserID)
|
return 0, fmt.Errorf("未找到此用户的微信验证方式!用户ID:[%v]\n", user.UserID)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ func AddOperateEvent(ctx *jxcontext.Context, accessUUID, jsonData string, errCod
|
|||||||
if ctx.GetRequest() == nil {
|
if ctx.GetRequest() == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if apiFunctionSpec != "" {
|
if apiFunctionSpec == "" {
|
||||||
url := ctx.GetRequest().URL.Path
|
url := ctx.GetRequest().URL.Path
|
||||||
if url != "" {
|
if url != "" {
|
||||||
apiFunction = url[strings.LastIndex(url, "/")+1 : len(url)]
|
apiFunction = url[strings.LastIndex(url, "/")+1 : len(url)]
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ var (
|
|||||||
"9:00:00",
|
"9:00:00",
|
||||||
}
|
}
|
||||||
autoPayForPopluarManList = []string{
|
autoPayForPopluarManList = []string{
|
||||||
"9:30:00",
|
"10:30:00",
|
||||||
}
|
}
|
||||||
|
|
||||||
autoSaleStoreSkuTimeList = []string{
|
autoSaleStoreSkuTimeList = []string{
|
||||||
|
|||||||
@@ -577,7 +577,7 @@ func DeleteWrongSpu(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (
|
|||||||
mapData := map[string]interface{}{
|
mapData := map[string]interface{}{
|
||||||
"name": skuNameList[step].Name,
|
"name": skuNameList[step].Name,
|
||||||
}
|
}
|
||||||
_, err = cms.UpdateSkuName(ctx, skuNameList[step].ID, mapData)
|
_, err = cms.UpdateSkuName(ctx, skuNameList[step].ID, mapData, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globals.SugarLogger.Debugf("DeleteWrongSpu failed nameid:%d, name:%s, with error:%v", skuNameList[step].ID, skuNameList[step].Name, err)
|
globals.SugarLogger.Debugf("DeleteWrongSpu failed nameid:%d, name:%s, with error:%v", skuNameList[step].ID, skuNameList[step].Name, err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ func GetWeixinOpenIDsFromStoreID(storeID int) (retVal []string) {
|
|||||||
if globals.EnableWXAuth2 {
|
if globals.EnableWXAuth2 {
|
||||||
if userIDList, err2 := api2.RoleMan.GetRoleUserList(autils.NewStoreBossRole(storeID)); err2 == nil {
|
if userIDList, err2 := api2.RoleMan.GetRoleUserList(autils.NewStoreBossRole(storeID)); err2 == nil {
|
||||||
for _, v := range userIDList {
|
for _, v := range userIDList {
|
||||||
if authList, err2 := dao.GetUserBindAuthInfo(db, v, model.AuthBindTypeAuth, []string{weixin.AuthTypeMP}, "", ""); err2 == nil {
|
if authList, err2 := dao.GetUserBindAuthInfo(db, v, model.AuthBindTypeAuth, []string{weixin.AuthTypeMP}, "", "", ""); err2 == nil {
|
||||||
for _, v := range authList {
|
for _, v := range authList {
|
||||||
retVal = append(retVal, v.AuthID)
|
retVal = append(retVal, v.AuthID)
|
||||||
openIDMap[v.AuthID] = 1
|
openIDMap[v.AuthID] = 1
|
||||||
|
|||||||
@@ -401,6 +401,7 @@ const (
|
|||||||
const (
|
const (
|
||||||
YES = 1 //通用
|
YES = 1 //通用
|
||||||
NO = 0
|
NO = 0
|
||||||
|
DISABLED = -1
|
||||||
)
|
)
|
||||||
|
|
||||||
func IsPurchaseVendorExist(vendorID int) bool {
|
func IsPurchaseVendorExist(vendorID int) bool {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ func GetAuthBind(db *DaoDB, bindType int, authType, authID string) (authBind *mo
|
|||||||
return authBind, err
|
return authBind, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetUserBindAuthInfo(db *DaoDB, userID string, bindType int, typeList []string, authID, authID2 string) (authList []*model.AuthBind, err error) {
|
func GetUserBindAuthInfo(db *DaoDB, userID string, bindType int, typeList []string, authID, authID2, typeID string) (authList []*model.AuthBind, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM auth_bind t1
|
FROM auth_bind t1
|
||||||
@@ -56,6 +56,10 @@ func GetUserBindAuthInfo(db *DaoDB, userID string, bindType int, typeList []stri
|
|||||||
sql += " AND t1.auth_id2 = ?"
|
sql += " AND t1.auth_id2 = ?"
|
||||||
sqlParams = append(sqlParams, authID2)
|
sqlParams = append(sqlParams, authID2)
|
||||||
}
|
}
|
||||||
|
if typeID != "" {
|
||||||
|
sql += " AND t1.type_id = ?"
|
||||||
|
sqlParams = append(sqlParams, typeID)
|
||||||
|
}
|
||||||
sql += " ORDER BY t1.type"
|
sql += " ORDER BY t1.type"
|
||||||
err = GetRows(db, &authList, sql, sqlParams...)
|
err = GetRows(db, &authList, sql, sqlParams...)
|
||||||
return authList, err
|
return authList, err
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ func GetAfsOrderSkuInfo(db *DaoDB, vendorOrderID, afsOrderID string, vendorID in
|
|||||||
return skus, err
|
return skus, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int) (skuList []*OrderSkuWithActualPayPrice, err error) {
|
func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool) (skuList []*OrderSkuWithActualPayPrice, err error) {
|
||||||
// order_finished_at
|
// order_finished_at
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.*,
|
SELECT t1.*,
|
||||||
@@ -361,7 +361,12 @@ func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAt
|
|||||||
FROM order_sku t1
|
FROM order_sku t1
|
||||||
JOIN goods_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id
|
JOIN goods_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id
|
||||||
LEFT JOIN store t3 ON t3.id = IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id)
|
LEFT JOIN store t3 ON t3.id = IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id)
|
||||||
WHERE t2.order_finished_at >= ? AND t2.order_finished_at <= ?`
|
WHERE 1=1`
|
||||||
|
if isFinish {
|
||||||
|
sql += " AND t2.order_finished_at >= ? AND t2.order_finished_at <= ?"
|
||||||
|
} else {
|
||||||
|
sql += " AND t2.order_created_at >= ? AND t2.order_created_at <= ?"
|
||||||
|
}
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
finishedAtBegin,
|
finishedAtBegin,
|
||||||
finishedAtEnd,
|
finishedAtEnd,
|
||||||
@@ -378,7 +383,7 @@ func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAt
|
|||||||
return skuList, err
|
return skuList, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time) (skuList []*OrderSkuWithActualPayPrice, err error) {
|
func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, isFinish bool) (skuList []*OrderSkuWithActualPayPrice, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.*,
|
SELECT t1.*,
|
||||||
t2.actual_pay_price, t2.status, IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) store_id,
|
t2.actual_pay_price, t2.status, IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) store_id,
|
||||||
@@ -389,8 +394,13 @@ func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finish
|
|||||||
JOIN (
|
JOIN (
|
||||||
SELECT t12.*
|
SELECT t12.*
|
||||||
FROM afs_order t12
|
FROM afs_order t12
|
||||||
WHERE IF(t12.jx_store_id > 0, t12.jx_store_id, t12.store_id) IN (` + GenQuestionMarks(len(storeIDs)) + `) AND t12.afs_finished_at >= ? AND t12.afs_finished_at <= ?
|
WHERE IF(t12.jx_store_id > 0, t12.jx_store_id, t12.store_id) IN (` + GenQuestionMarks(len(storeIDs))
|
||||||
) t4 ON t4.vendor_order_id = t2.vendor_order_id AND t4.vendor_id = t2.vendor_id`
|
if isFinish {
|
||||||
|
sql += ") AND t12.afs_finished_at >= ? AND t12.afs_finished_at <= ?"
|
||||||
|
} else {
|
||||||
|
sql += ") AND t12.afs_created_at >= ? AND t12.afs_created_at <= ?"
|
||||||
|
}
|
||||||
|
sql += ") t4 ON t4.vendor_order_id = t2.vendor_order_id AND t4.vendor_id = t2.vendor_id"
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
storeIDs,
|
storeIDs,
|
||||||
finishedAtBegin,
|
finishedAtBegin,
|
||||||
@@ -400,12 +410,18 @@ func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finish
|
|||||||
return skuList, err
|
return skuList, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int) (afsSkuList []*model.OrderSkuFinancial, err error) {
|
func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool) (afsSkuList []*model.OrderSkuFinancial, err error) {
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.*
|
SELECT t1.*
|
||||||
FROM order_sku_financial t1
|
FROM order_sku_financial t1
|
||||||
JOIN afs_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.afs_order_id = t1.afs_order_id
|
JOIN afs_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.afs_order_id = t1.afs_order_id
|
||||||
WHERE t1.is_afs_order = 1 AND t2.afs_finished_at >= ? AND t2.afs_finished_at <= ?`
|
WHERE t1.is_afs_order = 1
|
||||||
|
`
|
||||||
|
if isFinish {
|
||||||
|
sql += " AND t2.afs_finished_at >= ? AND t2.afs_finished_at <= ?"
|
||||||
|
} else {
|
||||||
|
sql += " AND t2.afs_created_at >= ? AND t2.afs_created_at <= ?"
|
||||||
|
}
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
finishedAtBegin,
|
finishedAtBegin,
|
||||||
finishedAtEnd,
|
finishedAtEnd,
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.rosy.net.cn/jx-callback/business/jxstore/event"
|
"git.rosy.net.cn/jx-callback/business/jxstore/event"
|
||||||
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/wxpayapi"
|
"git.rosy.net.cn/baseapi/platformapi/wxpayapi"
|
||||||
|
|
||||||
@@ -652,7 +653,7 @@ func PayForPopluarMan(ctx *jxcontext.Context, vendorOrderID, userID string, pric
|
|||||||
if user == nil {
|
if user == nil {
|
||||||
return fmt.Errorf("未找到此用户!用户ID:[%v]\n", userID)
|
return fmt.Errorf("未找到此用户!用户ID:[%v]\n", userID)
|
||||||
}
|
}
|
||||||
auth, err := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "")
|
auth, err := dao.GetUserBindAuthInfo(db, userID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "wx4b5930c13f8b1170")
|
||||||
if len(auth) == 0 {
|
if len(auth) == 0 {
|
||||||
return fmt.Errorf("未找到此用户的微信验证方式!用户ID:[%v]\n", userID)
|
return fmt.Errorf("未找到此用户的微信验证方式!用户ID:[%v]\n", userID)
|
||||||
}
|
}
|
||||||
@@ -678,8 +679,8 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) {
|
|||||||
errMsg string
|
errMsg string
|
||||||
errCode string
|
errCode string
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
fromDateStr = time.Now().AddDate(0, 0, -5).Format("2006-1-2") + " 00:00:00"
|
fromDateStr = time.Now().AddDate(0, 0, -1).Format("2006-1-2") + " 00:00:00"
|
||||||
toDateStr = time.Now().AddDate(0, 0, -5).Format("2006-1-2") + " 23:59:59"
|
toDateStr = time.Now().AddDate(0, 0, -1).Format("2006-1-2") + " 23:59:59"
|
||||||
mapResult = make(map[string]interface{})
|
mapResult = make(map[string]interface{})
|
||||||
)
|
)
|
||||||
result, err := dao.GetOrdersForJxPay(db, utils.Str2Time(fromDateStr), utils.Str2Time(toDateStr))
|
result, err := dao.GetOrdersForJxPay(db, utils.Str2Time(fromDateStr), utils.Str2Time(toDateStr))
|
||||||
@@ -698,7 +699,7 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
user2, err := dao.GetUserByID(db, "mobile", user.ParentMobile)
|
user2, err := dao.GetUserByID(db, "mobile", user.ParentMobile)
|
||||||
auths, err := dao.GetUserBindAuthInfo(db, user2.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "")
|
auths, err := dao.GetUserBindAuthInfo(db, user2.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "wx4b5930c13f8b1170")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -726,7 +727,7 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) {
|
|||||||
}
|
}
|
||||||
if user2.ParentMobile != "" {
|
if user2.ParentMobile != "" {
|
||||||
user3, err := dao.GetUserByID(db, "mobile", user2.ParentMobile)
|
user3, err := dao.GetUserByID(db, "mobile", user2.ParentMobile)
|
||||||
auths, err := dao.GetUserBindAuthInfo(db, user3.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "")
|
auths, err := dao.GetUserBindAuthInfo(db, user3.UserID, model.AuthBindTypeAuth, []string{"weixinmini"}, "", "", "wx4b5930c13f8b1170")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -763,6 +764,7 @@ func AutoPayForPopluarMan(ctx *jxcontext.Context) (err error) {
|
|||||||
errCode = model.ErrCodeSuccess
|
errCode = model.ErrCodeSuccess
|
||||||
}
|
}
|
||||||
err = event.AddOperateEvent(ctx, ctx.GetTrackInfo(), cms.BuildDiffData(mapResult), errCode, errMsg, 0, "AutoPayForPopluarMan")
|
err = event.AddOperateEvent(ctx, ctx.GetTrackInfo(), cms.BuildDiffData(mapResult), errCode, errMsg, 0, "AutoPayForPopluarMan")
|
||||||
|
globals.SugarLogger.Debugf("每日订单打款:[%v]", cms.BuildDiffData(mapResult))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -286,7 +286,7 @@ func (c *CmsController) UpdateConfig() {
|
|||||||
|
|
||||||
// @Title 查询配置
|
// @Title 查询配置
|
||||||
// @Description 查询配置
|
// @Description 查询配置
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string fasle "认证token"
|
||||||
// @Param type query string false "配置类型(当前只支持PricePack)"
|
// @Param type query string false "配置类型(当前只支持PricePack)"
|
||||||
// @Param key query string false "配置名"
|
// @Param key query string false "配置名"
|
||||||
// @Param keyword query string false "关键字"
|
// @Param keyword query string false "关键字"
|
||||||
|
|||||||
@@ -185,6 +185,7 @@ func (c *SkuController) AddSkuName() {
|
|||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param nameID formData int true "需要修改的商品名ID,payload中的相应数据会被忽略"
|
// @Param nameID formData int true "需要修改的商品名ID,payload中的相应数据会被忽略"
|
||||||
// @Param payload formData string true "json数据,SkuNameExt对象(),Skus无效, Places有效"
|
// @Param payload formData string true "json数据,SkuNameExt对象(),Skus无效, Places有效"
|
||||||
|
// @Param isExd formData bool fasle "是否要修改饿鲜达商品"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
// @router /UpdateSkuName [put]
|
// @router /UpdateSkuName [put]
|
||||||
@@ -197,7 +198,7 @@ func (c *SkuController) UpdateSkuName() {
|
|||||||
delete(payload, "exPrefix")
|
delete(payload, "exPrefix")
|
||||||
delete(payload, "exPrefixBegin")
|
delete(payload, "exPrefixBegin")
|
||||||
delete(payload, "exPrefixEnd")
|
delete(payload, "exPrefixEnd")
|
||||||
retVal, err = cms.UpdateSkuName(params.Ctx, params.NameID, payload)
|
retVal, err = cms.UpdateSkuName(params.Ctx, params.NameID, payload, params.IsExd)
|
||||||
}
|
}
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
@@ -435,7 +436,7 @@ func (c *SkuController) SumExianDaDepot() {
|
|||||||
// @Title 复制一个饿百的店的商品的价格和分类到京西饿鲜达商品
|
// @Title 复制一个饿百的店的商品的价格和分类到京西饿鲜达商品
|
||||||
// @Description 复制一个饿百的店的商品的价格和分类到京西饿鲜达商品
|
// @Description 复制一个饿百的店的商品的价格和分类到京西饿鲜达商品
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param baiduShopID formdata string true "饿百店ID"
|
// @Param baiduShopID formData string true "饿百店ID"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
// @router /CopyEbaiSkuPriceToJx [post]
|
// @router /CopyEbaiSkuPriceToJx [post]
|
||||||
@@ -449,8 +450,8 @@ func (c *SkuController) CopyEbaiSkuPriceToJx() {
|
|||||||
// @Title 复制饿鲜达的门店商品到京西对应门店
|
// @Title 复制饿鲜达的门店商品到京西对应门店
|
||||||
// @Description 复制饿鲜达的门店商品到京西对应门店
|
// @Description 复制饿鲜达的门店商品到京西对应门店
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param baiduShopID formdata string true "饿百店ID"
|
// @Param baiduShopID formData string true "饿百店ID"
|
||||||
// @Param storeID formdata int true "门店ID"
|
// @Param storeID formData int true "门店ID"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
// @router /CopyEbaiStoreSkusToJx [post]
|
// @router /CopyEbaiStoreSkusToJx [post]
|
||||||
|
|||||||
Reference in New Issue
Block a user