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