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