Merge branch 'jdshop' of e.coding.net:rosydev/jx-callback into jdshop
This commit is contained in:
@@ -6401,10 +6401,9 @@ func SingleBindTaoVegetable(ctx *jxcontext.Context, bind []TaoBindInfo) (error,
|
||||
return nil, ""
|
||||
}
|
||||
|
||||
//操作 freight_template
|
||||
// ReplaceInsertFreight 操作 freight_template
|
||||
func ReplaceInsertFreight(storeID, templateID, warehouseID, tradeLimitID int, vendorStoreID, fenceID string) error {
|
||||
return dao.ReplaceInsertFreight2(storeID, templateID, warehouseID, tradeLimitID, vendorStoreID, fenceID)
|
||||
//return dao.InsertItemFreight2(storeID, templateID, warehouseID, tradeLimitID, vendorStoreID, fenceID)
|
||||
}
|
||||
|
||||
//辅助函数
|
||||
|
||||
@@ -386,7 +386,7 @@ func CompareJxAndVendor(vendorID int, storeIDStr, vendorStoreID, storeName strin
|
||||
mtwmid := jxSkuInfo.Skus[0].MtwmID
|
||||
/*抖店编码*/
|
||||
ddid := jxSkuInfo.Skus[0].DdID
|
||||
/*淘先达编码*/
|
||||
/*淘鲜达编码*/
|
||||
taoid := jxSkuInfo.Skus[0].TaoID
|
||||
//jxSkuPrice := strconv.Itoa(jxSkuInfo.Skus[0].JxPrice)
|
||||
/*商品类名*/
|
||||
|
||||
@@ -23,7 +23,7 @@ const (
|
||||
VendorIDTT = 13 // 抖音平台小程序
|
||||
VendorIDDD = 14 // 抖店
|
||||
VendorIDKS = 15 // 快手小程序
|
||||
VendorIDTaoVegetable = 16 // 淘先达(淘菜菜)
|
||||
VendorIDTaoVegetable = 16 // 淘鲜达(淘菜菜)
|
||||
VendorIDPurchaseEnd = 20
|
||||
|
||||
VendorIDWXPay = 51 // 微信支付
|
||||
@@ -140,7 +140,7 @@ var (
|
||||
VendorIDJDShop: "京东商城",
|
||||
VendorIDWSC: "微盟微商城",
|
||||
VendorIDJX: "京西商城",
|
||||
VendorIDTaoVegetable: "淘先达",
|
||||
VendorIDTaoVegetable: "淘鲜达",
|
||||
|
||||
VendorIDDada: "达达众包",
|
||||
VendorIDMTPS: "美团配送",
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 (
|
||||
@@ -502,7 +503,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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 = ¶m
|
||||
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")
|
||||
|
||||
@@ -5,6 +5,8 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/partner/purchase/tao_vegetable"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/common"
|
||||
@@ -1677,6 +1679,25 @@ func (c *StoreController) SingleBindTaoVegetable() {
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 更新淘鲜达门店信息
|
||||
// @Description 更新淘鲜达门店信息
|
||||
// @Param token header string true "认证token"
|
||||
// @Param txdStores formData string true "TxdStore"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /UpdateTxdStore [post]
|
||||
func (c *StoreController) UpdateTxdStore() {
|
||||
c.callUpdateTxdStore(func(params *tStoreUpdateTxdStoreParams) (retVal interface{}, errMsg string, err error) {
|
||||
taoStore := tao_vegetable.TxdStore{}
|
||||
b := bytes.NewBufferString(params.TxdStores)
|
||||
decoder := json.NewDecoder(b)
|
||||
if err = decoder.Decode(&taoStore); err == nil {
|
||||
err = tao_vegetable.UpdateTxdStore(taoStore)
|
||||
}
|
||||
return nil, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 测试操作freight_template
|
||||
// @Description 测试操作freight_template
|
||||
// @Param token header string true "认证token"
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
|
||||
"errors"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
@@ -46,7 +47,7 @@ type StoreSkuController struct {
|
||||
// @Param jdSyncStatus query int false "京东同步标识"
|
||||
// @Param ebaiSyncStatus query int false "饿百同步标识"
|
||||
// @Param mtwmSyncStatus query int false "美团外卖同步标识"
|
||||
// @Param taoSyncStatus query int false "淘先达同步标识"
|
||||
// @Param taoSyncStatus query int false "淘鲜达同步标识"
|
||||
// @Param lockTime query string false "价格锁定时间"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
|
||||
@@ -3118,6 +3118,15 @@ func init() {
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
//更新淘鲜达门店信息
|
||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
web.ControllerComments{
|
||||
Method: "UpdateTxdStore",
|
||||
Router: `/UpdateTxdStore`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
//测试用-ysq
|
||||
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||
web.ControllerComments{
|
||||
|
||||
Reference in New Issue
Block a user