1
This commit is contained in:
@@ -523,6 +523,7 @@ func setStoreMapInfo(ctx *jxcontext.Context, db *dao.DaoDB, storesInfo *StoresIn
|
||||
v.IDCardFront = ""
|
||||
v.IDCardBack = ""
|
||||
v.IDCardHand = ""
|
||||
v.IDCardHandBack = ""
|
||||
v.Licence = ""
|
||||
v.Licence2Image = ""
|
||||
}
|
||||
@@ -4455,7 +4456,7 @@ func RefreshTiktokShopToken(ctx *jxcontext.Context) (err error) {
|
||||
v.UpdatedAt = time.Now()
|
||||
v.StoreBrandName = "定时任务更新"
|
||||
dao.UpdateEntity(db, v, "Token", "UpdatedAt", "StoreBrandName")
|
||||
tiktok_store.HttpToGuoYuan(utils.Struct2MapByJson(v), "token")
|
||||
tiktok_store.HttpToGuoYuan(utils.Struct2MapByJson(v), tiktok_store.CaiShiPushGyTagToken)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -340,11 +340,12 @@ type Store struct {
|
||||
PrinterSound string `json:"printerSound"` //打印机语音,京西打印机
|
||||
PrinterTemplate string `json:"printerTemplate"` //打印模板。京西打印机
|
||||
|
||||
IDCardFront string `orm:"size(255);column(id_card_front)" json:"idCardFront"`
|
||||
IDCardBack string `orm:"size(255);column(id_card_back)" json:"idCardBack"`
|
||||
IDCardHand string `orm:"size(255);column(id_card_hand)" json:"idCardHand"`
|
||||
Licence string `orm:"size(255)" json:"licence"` // 营业执照图片
|
||||
LicenceCode string `orm:"size(32)" json:"licenceCode"`
|
||||
IDCardFront string `orm:"size(255);column(id_card_front)" json:"idCardFront"` // 身份证正面
|
||||
IDCardBack string `orm:"size(255);column(id_card_back)" json:"idCardBack"` // 身份证背面
|
||||
IDCardHand string `orm:"size(255);column(id_card_hand)" json:"idCardHand"` // 手持身份证正面
|
||||
IDCardHandBack string `orm:"size(255);column(id_card_hand_back)" json:"idCardHandBack"` // 手持身份证背面
|
||||
Licence string `orm:"size(255)" json:"licence"` // 营业执照图片
|
||||
LicenceCode string `orm:"size(32)" json:"licenceCode"`
|
||||
|
||||
LicenceType int8 `json:"licenceType"` // 营业执照类型,0:个人,1:公司
|
||||
LicenceCorpName string `orm:"size(64)" json:"licenceCorpName"` // 营业执照公司名称
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ebai
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
"strings"
|
||||
@@ -387,23 +388,36 @@ func (p *PurchaseHandler) ConfirmReceiveGoods(ctx *jxcontext.Context, order *mod
|
||||
// 将订单从购物平台配送转为自送
|
||||
func (p *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
|
||||
if globals.EnableEbaiStoreWrite {
|
||||
if order.DeliveryType == model.OrderDeliveryTypePlatform {
|
||||
if err = api.EbaiAPI.OrderSwitchselfdelivery(order.VendorOrderID); err != nil {
|
||||
if strings.Contains(err.Error(), "301251") {
|
||||
api.EbaiAPI.OrderCancelDelivery(order.VendorOrderID) // 取消呼叫众包骑手
|
||||
}
|
||||
if utils.IsErrMatch(err, "301251", nil) {
|
||||
if deliveryStatus, err2 := api.EbaiAPI.OrderDeliveryGet(order.VendorOrderID); err2 == nil {
|
||||
deliveryStatus := utils.Int64ToStr(utils.MustInterface2Int64(deliveryStatus["status"]))
|
||||
if deliveryStatus == ebaiapi.WaybillStatusSelfDelivery {
|
||||
err = nil
|
||||
} else if deliveryStatus == ebaiapi.WaybillStatusDeliveryCancled {
|
||||
p.trySyncCancelStatus(order.VendorOrderID)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
deliveryStatusObj, _ := api.EbaiAPI.OrderDeliveryGet(order.VendorOrderID)
|
||||
deliveryStatus := utils.Int64ToStr(utils.MustInterface2Int64(deliveryStatusObj["status"]))
|
||||
switch deliveryStatus {
|
||||
case ebaiapi.WaybillStatusSelfDelivery:
|
||||
err = nil
|
||||
case ebaiapi.WaybillStatusDeliveryCancled:
|
||||
p.trySyncCancelStatus(order.VendorOrderID)
|
||||
case ebaiapi.WaybillStatusNew, ebaiapi.WaybillStatusRequestDelivery, ebaiapi.WaybillStatusWait4Courier:
|
||||
err = api.EbaiAPI.OrderCancelDelivery(order.VendorOrderID) // 取消呼叫众包骑手
|
||||
case ebaiapi.WaybillStatusCourierAccepted:
|
||||
err = errors.New("骑手已接单,无法转自送")
|
||||
}
|
||||
|
||||
//if order.DeliveryType == model.OrderDeliveryTypePlatform {
|
||||
// if err = api.EbaiAPI.OrderSwitchselfdelivery(order.VendorOrderID); err != nil {
|
||||
// if strings.Contains(err.Error(), "301251") {
|
||||
// api.EbaiAPI.OrderCancelDelivery(order.VendorOrderID) // 取消呼叫众包骑手
|
||||
// }
|
||||
// if utils.IsErrMatch(err, "301251", nil) {
|
||||
// if deliveryStatus, err2 := api.EbaiAPI.OrderDeliveryGet(order.VendorOrderID); err2 == nil {
|
||||
// deliveryStatus := utils.Int64ToStr(utils.MustInterface2Int64(deliveryStatus["status"]))
|
||||
// if deliveryStatus == ebaiapi.WaybillStatusSelfDelivery {
|
||||
// err = nil
|
||||
// } else if deliveryStatus == ebaiapi.WaybillStatusDeliveryCancled {
|
||||
// p.trySyncCancelStatus(order.VendorOrderID)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
if err == nil {
|
||||
// 饿百不会发送配送中,模拟发送
|
||||
|
||||
@@ -15,6 +15,15 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
// 同一账号下,菜市消息推送到果园
|
||||
const (
|
||||
CaiShiPushGyTagOrder = "order" // 订单
|
||||
CaiShiPushGyTagToken = "token" // 授权
|
||||
CaiShiPushGyTagDeliveryRegister = "delivery" // 配送注册查询
|
||||
CaiShiPushGyTagDeliveryDetail = "deliveryDetail" // 配送详情
|
||||
CaiShiPushGyTagWayBill = "waybill" // 配送
|
||||
)
|
||||
|
||||
// OnOrderMsg 抖音
|
||||
func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackResponse) {
|
||||
globals.SugarLogger.Debugf("guoyuan %s,%s", msgId, utils.Format4Output(msg, false))
|
||||
@@ -33,7 +42,7 @@ func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackRes
|
||||
// 当前订单所属门店不属于菜市时,将消息推送到果园
|
||||
gyMsg := map[string]interface{}{"tag": msgId, "msg_id": utils.Int64ToStr(time.Now().Unix()) + msgId, "data": msg}
|
||||
// 通知到果园
|
||||
gyResult, err := HttpToGuoYuan(gyMsg, "order")
|
||||
gyResult, err := HttpToGuoYuan(gyMsg, CaiShiPushGyTagOrder)
|
||||
if err != nil {
|
||||
return tiktokShop.Err2CallbackResponse(err, "")
|
||||
}
|
||||
@@ -50,7 +59,6 @@ func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackRes
|
||||
}, jxutils.ComposeUniversalOrderID(orderId, model.VendorIDDD))
|
||||
} else {
|
||||
globals.SugarLogger.Debugf("============2")
|
||||
|
||||
}
|
||||
return response
|
||||
}
|
||||
@@ -74,11 +82,15 @@ func HttpToGuoYuan(param map[string]interface{}, requestType string) (*http.Resp
|
||||
|
||||
url := ""
|
||||
switch requestType {
|
||||
case "order": // 订单相关
|
||||
case CaiShiPushGyTagOrder: // 订单相关
|
||||
url = "http://callback-jxgy.jxc4.com/tiktok/callbackTiktokOrderMsg"
|
||||
case "token": // 授权相关
|
||||
case CaiShiPushGyTagToken: // 授权相关
|
||||
url = "http://callback-jxgy.jxc4.com/tiktokShop/jxcsToGyTiktokToken"
|
||||
case "wayBill": // 运单消息
|
||||
case CaiShiPushGyTagDeliveryRegister: // 配送查询注册
|
||||
url = "http://callback-jxgy.jxc4.com/logistics/logisticsRegister"
|
||||
case CaiShiPushGyTagDeliveryDetail: // 配送查询详情
|
||||
url = "http://callback-jxgy.jxc4.com/logistics/logisticsQuery"
|
||||
case CaiShiPushGyTagWayBill: // 运单消息
|
||||
|
||||
}
|
||||
httpReq, err := http.NewRequest(http.MethodPost, url, body)
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
"io/ioutil"
|
||||
"time"
|
||||
@@ -58,8 +58,32 @@ func (c *LogisticsController) LogisticsRegister() {
|
||||
}
|
||||
// 查询订单的运单是否存在
|
||||
data, err := dao.GetWayBillsByWayBillId(dao.GetDB(), register.TrackNo)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("根据单号查询运单数据错误:%s", err)
|
||||
|
||||
// 此订单可能是果园订单
|
||||
if web.BConfig.RunMode != "jxgy" && (len(data) == 0 || err != nil) {
|
||||
resp, err := tiktok_store.HttpToGuoYuan(utils.Struct2Map(register, "", true), tiktok_store.CaiShiPushGyTagDeliveryRegister)
|
||||
if err != nil {
|
||||
c.Data["json"] = LogisticsRegisterResp{
|
||||
Result: false,
|
||||
ReturnCode: "1002",
|
||||
Message: "单号不存在",
|
||||
}
|
||||
c.ServeJSON()
|
||||
return
|
||||
}
|
||||
gyData := &LogisticsRegisterResp{}
|
||||
gyBody, _ := ioutil.ReadAll(resp.Body)
|
||||
if err := json.Unmarshal(gyBody, gyData); err != nil {
|
||||
c.Data["json"] = LogisticsRegisterResp{
|
||||
Result: false,
|
||||
ReturnCode: "1002",
|
||||
Message: "单号不存在",
|
||||
}
|
||||
c.ServeJSON()
|
||||
return
|
||||
}
|
||||
c.Data["json"] = gyData
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
if len(data) == 0 || err != nil {
|
||||
@@ -156,14 +180,30 @@ func (c *LogisticsController) LogisticsQuery() {
|
||||
|
||||
// 查询订单的运单是否存在
|
||||
data, err := dao.GetWayBillsByWayBillId(dao.GetDB(), param.TrackNo)
|
||||
if err != nil || len(data) == 0 {
|
||||
c.Data["json"] = LogisticsQueryRest{
|
||||
Result: false,
|
||||
ReturnCode: "1002",
|
||||
Message: "运单账号不存在",
|
||||
if (err != nil || len(data) == 0) && web.BConfig.RunMode != "jxgy" {
|
||||
resp, err := tiktok_store.HttpToGuoYuan(utils.Struct2Map(param, "", true), tiktok_store.CaiShiPushGyTagDeliveryDetail)
|
||||
if err != nil {
|
||||
c.Data["json"] = LogisticsQueryRest{
|
||||
Result: false,
|
||||
ReturnCode: "1002",
|
||||
Message: "运单账号不存在",
|
||||
}
|
||||
c.ServeJSON()
|
||||
return
|
||||
}
|
||||
wayBillDetail := &LogisticsQueryRest{}
|
||||
gyBody, _ := ioutil.ReadAll(resp.Body)
|
||||
if err := json.Unmarshal(gyBody, wayBillDetail); err != nil {
|
||||
c.Data["json"] = LogisticsQueryRest{
|
||||
Result: false,
|
||||
ReturnCode: "1002",
|
||||
Message: "json unmarshal",
|
||||
}
|
||||
c.ServeJSON()
|
||||
return
|
||||
}
|
||||
c.Data["json"] = wayBillDetail
|
||||
c.ServeJSON()
|
||||
return
|
||||
}
|
||||
|
||||
returnParam := &LogisticsQueryRest{
|
||||
|
||||
@@ -154,6 +154,7 @@ func (c *TiktokShopController) TokenMsg() {
|
||||
c.ServeJSON()
|
||||
}
|
||||
|
||||
// JxcsToGyTiktokToken 果园京西速食接受token更新
|
||||
func (c *TiktokShopController) JxcsToGyTiktokToken() {
|
||||
data, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user