This commit is contained in:
richboo111
2023-06-29 09:19:05 +08:00
parent cf51eda4d5
commit 7373f78fd7
10 changed files with 150 additions and 26 deletions

View File

@@ -3,11 +3,12 @@ package delivery
import (
"crypto/rand"
"fmt"
"math/big"
"time"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/globals/api"
"math/big"
"time"
"git.rosy.net.cn/baseapi"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
@@ -232,7 +233,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
} else { // 订单状态改变 [配送中/用户签收/用户拒收]
param := utilsTao.OrderStatusChangeDelivery(&v.GoodsOrder, taoDeliveryStatus)
if err := api.TaoVegetableApi.DeliveryFinish(param); err != nil {
globals.SugarLogger.Debugf("淘达运单状态推送错误运单状态[%s],错误:%s", taoDeliveryStatus, err.Error())
globals.SugarLogger.Debugf("淘达运单状态推送错误运单状态[%s],错误:%s", taoDeliveryStatus, err.Error())
}
}
default:

View File

@@ -3,6 +3,10 @@ package tao_vegetable
import (
"errors"
"fmt"
"regexp"
"strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
domain3156 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability3156/domain"
@@ -19,9 +23,6 @@ import (
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"regexp"
"strings"
"time"
)
var (
@@ -501,7 +502,7 @@ func (c *PurchaseHandler) CanSwitch2SelfDeliver(order *model.GoodsOrder) (isCan
return true, nil
}
// Swtich2SelfDeliver 转自送接口通知淘达发货
// Swtich2SelfDeliver 转自送接口通知淘达发货
func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
param, err := orderStatusChangeNotice(order, tao_vegetable.OrderStatusCallRider)
if err != nil {

View File

@@ -4,6 +4,16 @@ import (
"encoding/json"
"errors"
"fmt"
"math"
"regexp"
"strings"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
"git.rosy.net.cn/baseapi/utils/errlist"
"git.rosy.net.cn/jx-callback/globals/api"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxstore/event"
@@ -13,9 +23,6 @@ import (
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
"math"
"regexp"
"strings"
)
var (
@@ -45,6 +52,12 @@ var (
}
)
const (
FlagStatus = 1 //1-营业状态
FlagBusinessTime = 2 //2-营业时间
FlagRange = 3 //3-营业范围
)
type tEbaiStoreInfo struct {
model.Store
VendorStoreID string `orm:"column(vendor_store_id)"`
@@ -57,6 +70,84 @@ type tEbaiStoreInfo struct {
DistrictID int `orm:"column(district_id)"`
}
type TxdStore struct {
Flag []int `json:"flag"` //更新字段标识 1-营业状态 2-营业时间 3-营业范围
TxdStoreID string `json:"txdStoreID"` //淘鲜达平台id
Status int64 `json:"status"` //营业状态
StartTime string `json:"startTime"` //营业开始时间(HH:mm)
EndTime string `json:"endTime"` //营业结束时间(HH:mm)
Points string `json:"points"` //营业范围坐标
}
type Point struct {
Lat string `json:"lat"`
Lng string `json:"lng"`
}
// UpdateTxdStore 单独更新淘鲜达门店营业时间/状态 销售范围
func UpdateTxdStore(store TxdStore) (err error) {
errList := errlist.New()
for _, v := range store.Flag {
switch v {
case FlagStatus:
if err = api.TaoVegetableApi.ShopUpdateStatus(store.TxdStoreID, store.Status); err != nil {
errList.AddErr(fmt.Errorf("营业状态:%v", err))
}
case FlagBusinessTime:
if CheckBusinessTime(store.StartTime, store.EndTime) {
if err = api.TaoVegetableApi.ShopUpdateInfo(store.TxdStoreID, store.StartTime, store.EndTime); err != nil {
errList.AddErr(fmt.Errorf("营业时间:%v", err))
}
}
case FlagRange:
point := GetPoints(store.Points)
if err = api.TaoVegetableApi.ShopUpdateRange(store.TxdStoreID, point); err != nil {
errList.AddErr(fmt.Errorf("营业范围:%v", err))
}
default:
return nil
}
}
if errList.GetErrListAsOne() != nil {
return errList.GetErrListAsOne()
}
return nil
}
// CheckBusinessTime 检验营业时间格式是否合法
func CheckBusinessTime(start, end string) bool {
s1 := strings.Split(start, ":")
t1 := utils.Str2Int64(s1[0])
t11 := utils.Str2Int64(s1[1])
s2 := strings.Split(end, ":")
t2 := utils.Str2Int64(s2[0])
t22 := utils.Str2Int64(s2[1])
if (0 <= t1 && t1 <= 23) && (0 <= t11 && t11 <= 59) && (0 <= t2 && t2 <= 23) && (0 <= t22 && t22 <= 59) && t1 < t2 {
return true
}
return false
}
// GetPoints 解析范围坐标
func GetPoints(data string) []tao_vegetable.Points {
if len(data) == 0 {
return nil
}
temp := strings.Split(data, ";")
points := make([]tao_vegetable.Points, 0)
for _, v := range temp {
s := strings.Split(v, ",")
point := tao_vegetable.Points{
Lng: s[0],
Lat: s[1],
}
points = append(points, point)
}
return points
}
func (p *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID, vendorStoreName string) (retVal *dao.StoreDetail, err error) {
//result, err := getAPIWithoutToken(vendorOrgCode).PoiGet(vendorStoreID)
//if err == nil {

View File

@@ -2,6 +2,12 @@ package tao_vegetable
import (
"fmt"
"io/ioutil"
"net/http"
"regexp"
"strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
request1475 "git.rosy.net.cn/baseapi/platformapi/tao_vegetable/sdk/ability1475/request"
@@ -20,11 +26,6 @@ import (
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/business/partner/putils"
"git.rosy.net.cn/jx-callback/globals"
"io/ioutil"
"net/http"
"regexp"
"strings"
"time"
)
const (
@@ -198,16 +199,16 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
api := getAPI(getStoreVendorOrgCode(storeID), storeID, vendorStoreID)
if isCreate {
failedList, err = createTaoVegetable(api, storeSkuList, vendorStoreID, storeID, syncType)
globals.SugarLogger.Debugf("创建淘达商品异常:%s", err.Error())
globals.SugarLogger.Debugf("创建淘达商品异常:%s", err.Error())
} else {
failedList, err = UpdateTaoVegetable(api, storeSkuList, vendorStoreID, storeID, syncType)
globals.SugarLogger.Debugf("更新淘达商品异常:%s", err.Error())
globals.SugarLogger.Debugf("更新淘达商品异常:%s", err.Error())
}
return failedList, err
}
// UpdateTaoVegetable 修改淘达商品
// UpdateTaoVegetable 修改淘达商品
func UpdateTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSyncInfo, vendorStoreID string, storeID int, syncType string) (failedList []*partner.StoreSkuInfoWithErr, err error) {
param := &request585.AlibabaWdkSkuUpdateRequest{}
updateSkuList := make([]domain585.AlibabaWdkSkuUpdateSkuDo, 0, 0)
@@ -342,7 +343,7 @@ func createTaoVegetable(api *tao_vegetable.API, storeSkuList []*dao.StoreSkuSync
createPram.ParamList = &param
result, err := api.AddStoreSku(createPram)
if err != nil {
globals.SugarLogger.Debugf("创建淘达商品异常:%s", err.Error())
globals.SugarLogger.Debugf("创建淘达商品异常:%s", err.Error())
//failedList = putils.GetErrMsg2FailedSingleList(storeSku, err, storeID, model.VendorChineseNames[model.VendorIDTaoVegetable], syncType)
}
// 记录失败的同步数据
@@ -542,7 +543,7 @@ func taoSkuStatus2Jx(taoSkuStatus int) (jxSkuStatus int) {
return jxSkuStatus
}
// GetStoreSkusFullInfo 获取淘达平台商品,由于参数商品id必填作为参数,storeSkuList不能为空,且skuCode最大长度为20
// GetStoreSkusFullInfo 获取淘达平台商品,由于参数商品id必填作为参数,storeSkuList不能为空,且skuCode最大长度为20
func (p *PurchaseHandler) GetStoreSkusFullInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, storeSkuList []*partner.StoreSkuInfo) (skuNameList []*partner.SkuNameInfo, err error) {
if len(storeSkuList) == model.NO {
return nil, fmt.Errorf("淘鲜达获取门店商品需要参数商品id")