1
This commit is contained in:
@@ -24,7 +24,7 @@ import (
|
||||
// 该函数主要用于对比京西平台商品和各个平台门店商品的差异
|
||||
// 对比上下架状态以及商品价格差异,相同的不做修改,不同的以京西系统商品为主
|
||||
|
||||
func CompareJxVendorSku(jxStoreId int) error {
|
||||
func CompareJxVendorSku(jxStoreId int, vendorIds []int) error {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
errListToStr = new(strings.Builder)
|
||||
@@ -44,7 +44,7 @@ func CompareJxVendorSku(jxStoreId int) error {
|
||||
}
|
||||
|
||||
// 有效的三方平台
|
||||
storeMap, err := dao.GetStoresMapList(db, nil, []int{jxStoreId}, []int{model.StoreStatusOpened, model.StoreStatusClosed, model.StoreStatusHaveRest}, model.StoreStatusDisabled, 1, "", "", "")
|
||||
storeMap, err := dao.GetStoresMapList(db, vendorIds, []int{jxStoreId}, []int{model.StoreStatusOpened, model.StoreStatusClosed, model.StoreStatusHaveRest}, model.StoreStatusDisabled, 1, "", "", "")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -63,6 +63,10 @@ func CompareJxVendorSku(jxStoreId int) error {
|
||||
}
|
||||
continue
|
||||
case model.VendorIDDD:
|
||||
if errs := TiktokSyncSkuPriceAndStatus(db, sm, skuMap); errs != nil {
|
||||
errListToStr.WriteString(errs.Error())
|
||||
}
|
||||
continue
|
||||
case model.VendorIDTaoVegetable:
|
||||
if errs := TaoSyncSkuPriceAndStatus(db, sm, skuMap, skuIdList); errs != nil {
|
||||
errListToStr.WriteString(errs.Error())
|
||||
|
||||
@@ -675,6 +675,7 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
|
||||
actStoreSkuMap = make(map[int][]*model.StoreSkuBind)
|
||||
err2 = ""
|
||||
vendorID int
|
||||
actType int = 0
|
||||
)
|
||||
if len(vendorIDs) > 1 {
|
||||
return fmt.Errorf("只允许单平台创建!")
|
||||
@@ -684,7 +685,10 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
|
||||
return fmt.Errorf("此接口只支持美团使用!")
|
||||
}
|
||||
if act.Type != model.ActSkuDirectDown {
|
||||
return fmt.Errorf("此接口只支持创建直降!")
|
||||
//return fmt.Errorf("此接口只支持创建直降!")
|
||||
actType = mtwmapi.RetailActTypeSecKill
|
||||
} else {
|
||||
actType = mtwmapi.RetailActTypeDirectDown
|
||||
}
|
||||
setActDefault(act)
|
||||
//处理actStoreSku
|
||||
@@ -706,17 +710,17 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
|
||||
}
|
||||
}
|
||||
//根据平台价排序
|
||||
for _, storeSkus := range actStoreSkuMap {
|
||||
for i := 0; i < len(storeSkus)-1; i++ {
|
||||
for j := 0; j < len(storeSkus)-i-1; j++ {
|
||||
if storeSkus[j].JdsPrice < storeSkus[j+1].JdsPrice {
|
||||
temp := storeSkus[j]
|
||||
storeSkus[j] = storeSkus[j+1]
|
||||
storeSkus[j+1] = temp
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//for _, storeSkus := range actStoreSkuMap {
|
||||
// for i := 0; i < len(storeSkus)-1; i++ {
|
||||
// for j := 0; j < len(storeSkus)-i-1; j++ {
|
||||
// if storeSkus[j].JdsPrice < storeSkus[j+1].JdsPrice {
|
||||
// temp := storeSkus[j]
|
||||
// storeSkus[j] = storeSkus[j+1]
|
||||
// storeSkus[j+1] = temp
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
txDB, _ := dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
@@ -795,7 +799,7 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
|
||||
})
|
||||
}
|
||||
actIdResult := make(map[string]int64, 0)
|
||||
actResult, faileInfoList, _ := api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, mtwmapi.RetailActTypeDirectDown, actData)
|
||||
actResult, faileInfoList, _ := api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, actType, actData)
|
||||
for _, v := range actResult {
|
||||
var (
|
||||
actStoreSkuMapUpdate *model.ActStoreSkuMap
|
||||
@@ -827,7 +831,7 @@ func CreateActForMtByOrder(ctx *jxcontext.Context, act *model.Act, vendorIDs []i
|
||||
actData2[i-1].Sequence = i
|
||||
actData2[i-1].OrderLimit = 1
|
||||
}
|
||||
api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, mtwmapi.RetailActTypeDirectDown, actData2)
|
||||
api.MtwmAPI.RetailDiscountBatchSave2(storeDetail.VendorStoreID, actType, actData2)
|
||||
}
|
||||
for _, v := range faileInfoList {
|
||||
err2 += fmt.Sprintf("创建失败!门店ID:[%v],商品ID:[%v],原因:[%v]", storeID, v.AppFoodCode, v.ErrorMsg)
|
||||
|
||||
@@ -11,7 +11,7 @@ const (
|
||||
StoreStatusAll = -9
|
||||
StoreStatusDisabled = -2 // 禁用
|
||||
StoreStatusClosed = -1 // 休息
|
||||
StoreStatusHaveRest = 0 // 零食休息
|
||||
StoreStatusHaveRest = 0 // 临时休息
|
||||
StoreStatusOpened = 1 // 营业
|
||||
|
||||
StoreIsSyncAll = -1
|
||||
|
||||
@@ -842,7 +842,7 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods
|
||||
|
||||
if err = api.DeliveryFinish(param); err != nil {
|
||||
globals.SugarLogger.Debugf("PickupGoods 拣货失败可能是BizSubOrderId 没填写 : %s", err.Error())
|
||||
return fmt.Errorf("订单缺过失败,请拣货完成前取货.或者联系客户发起部分退款")
|
||||
return fmt.Errorf("订单缺货失败,请拣货完成前取货.或者联系客户发起部分退款:%v", err)
|
||||
}
|
||||
c.postFakeMsg(order.VendorOrderID, tao_vegetable.OrderStatusPickedUp, tao_vegetable.OrderStatusPickedUp)
|
||||
return nil
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/business/enterprise"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"net/http"
|
||||
|
||||
call "git.rosy.net.cn/baseapi/utils/weworkapi_golang-master"
|
||||
"git.rosy.net.cn/jx-callback/business/enterprise"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -16,6 +15,7 @@ type EnterpriseController struct {
|
||||
web.Controller
|
||||
}
|
||||
|
||||
|
||||
// EnterpriseCallback 在发生授权、通讯录变更、ticket变化等事件时,企业微信服务器会向应用的“指令回调URL”推送相应的事件消息。
|
||||
// 消息结构体将使用创建应用时的EncodingAESKey进行加密(特别注意, 在第三方回调事件中使用加解密算法,receiveid的内容为suiteid)
|
||||
// ,请参考接收消息解析数据包。
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/jx-callback/business/enterprise"
|
||||
"git.rosy.net.cn/jx-callback/business/enterprise_session"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
)
|
||||
|
||||
@@ -39,3 +41,23 @@ func (c *SessionController) GetEnterpriseToken() {
|
||||
return map[string]string{"minToken": mintoken, "enterpriseToken": token}, "", nil
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 校验平台商品和京西系统商品的差异
|
||||
// @Description 校验平台商品和京西系统商品的差异
|
||||
// @Param token header string true "认证token"
|
||||
// @Param storeId formData int false "门店ID列表"
|
||||
// @Param vendorIDs formData string true "厂商ID列表"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /CheckVendorSkuDiffer [post]
|
||||
func (c *SessionController) CheckVendorSkuDiffer() {
|
||||
c.callCheckVendorSkuDiffer(func(params *tSessionCheckVendorSkuDifferParams) (retVal interface{}, errCode string, err error) {
|
||||
var vendorIDs []int
|
||||
if err = jxutils.Strings2Objs(params.VendorIDs, &vendorIDs); err != nil {
|
||||
return retVal, "", err
|
||||
}
|
||||
|
||||
err = enterprise.CompareJxVendorSku(params.StoreId, vendorIDs)
|
||||
return nil, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -4476,6 +4476,16 @@ func init() {
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
// 校验个平台商品差异
|
||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SessionController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SessionController"],
|
||||
web.ControllerComments{
|
||||
Method: "CheckVendorSkuDiffer",
|
||||
Router: `/CheckVendorSkuDiffer`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
// 授权回调
|
||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TiktokShopController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:TiktokShopController"],
|
||||
web.ControllerComments{
|
||||
|
||||
Reference in New Issue
Block a user