diff --git a/business/partner/delivery/uupt/waybill.go b/business/partner/delivery/uupt/waybill.go index d172f20ba..a48420196 100644 --- a/business/partner/delivery/uupt/waybill.go +++ b/business/partner/delivery/uupt/waybill.go @@ -298,7 +298,7 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp globals.SugarLogger.Debugf("uuGetPrice err====%v", err) reallyPrice = 0 } else { - reallyPrice = utils.Str2Int64(uuPrice.OrderPrice) - utils.Str2Int64(uuPrice.PriceOff) + reallyPrice = int64((utils.Str2Float64(uuPrice.OrderPrice) - utils.Str2Float64(uuPrice.PriceOff)) * 100) } switch req.State { case uuptapi.StateConfirmSuccess: diff --git a/business/partner/purchase/doudian/doudian.go b/business/partner/purchase/doudian/doudian.go deleted file mode 100644 index 353ee408a..000000000 --- a/business/partner/purchase/doudian/doudian.go +++ /dev/null @@ -1,213 +0,0 @@ -package doudian - -// -//import ( -// "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" -// "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" -// "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" -// "git.rosy.net.cn/jx-callback/business/partner/putils" -// "git.rosy.net.cn/jx-callback/globals/api" -//) -// -//var ( -// CurPurchaseHandler *PurchaseHandler -//) -// -//type PurchaseHandler struct { -// partner.BasePurchasePlatform -// putils.DefSingleStorePlatform -//} -// -//func init() { -// if api.DouDianApi != nil { -// CurPurchaseHandler = New() -// partner.RegisterPurchasePlatform(CurPurchaseHandler) -// } -//} -//func New() (obj *PurchaseHandler) { -// obj = new(PurchaseHandler) -// obj.ISingleStoreStoreSkuHandler = obj -// return obj -//} -// -//func (P *PurchaseHandler) SyncAct(ctx *jxcontext.Context, parentTask tasksch.ITask, act *model.Act2, actOrderRules []*model.ActOrderRule, actStoreSkuList []*model.ActStoreSku2) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetActAmple(ctx *jxcontext.Context, vendorStoreID, vendorOrgCode string) (ample int, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID, vendorStoreID string) (order *model.GoodsOrder, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (status int, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) AcceptOrRefuseFailedGetOrder(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) CallCourier(ctx *jxcontext.Context, order *model.GoodsOrder) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) ConfirmReceiveGoods(ctx *jxcontext.Context, order *model.GoodsOrder) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetCancelDeliveryReason(order *model.GoodsOrder) (string, error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, reasonCode, detailContent, appPoiCode, orderId string) error { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) OrderLogisticsStatus(orderId int64) (int64, error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *model.GoodsOrder) (mobile string, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) RefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (code string, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetOrderAfsInfo(ctx *jxcontext.Context, vendorOrderID, afsOrderID string) (orderAfsInfo *partner.OrderAfsInfo, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetOrderRider(vendorOrgCode, vendorStoreID string, param map[string]interface{}) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetVendorID() int { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) GetVendorCategories(ctx *jxcontext.Context) (vendorCats []*model.SkuVendorCategory, err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) DeleteStore(db *dao.DaoDB, storeID int, userName string) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) UpdateStoreCustomID(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID string, storeID int64) (err error) { -// //TODO implement me -// panic("implement me") -//} -// -//func (P *PurchaseHandler) UploadImg(ctx *jxcontext.Context, vendorOrgCode, imgURL string, imgData []byte, imgName string, imgType int) (imgHint string, err error) { -// //TODO implement me -// panic("implement me") -//} diff --git a/business/partner/purchase/doudian/store.go b/business/partner/purchase/doudian/store.go deleted file mode 100644 index 4ef5c562d..000000000 --- a/business/partner/purchase/doudian/store.go +++ /dev/null @@ -1,427 +0,0 @@ -package doudian - -// -//import ( -// "errors" -// "fmt" -// address_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/request" -// address_list_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/request" -// address_list_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_list/response" -// freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request" -// shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request" -// shop_bindStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreFreight/request" -// shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/request" -// shop_editStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_editStore/request" -// shop_getStoreDetail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreDetail/request" -// shop_getStoreList_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreList/request" -// shop_storeSuspend_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/request" -// shop_unsuspendStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_unsuspendStore/request" -// trade_createTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_createTradeLimitTemplate/request" -// "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" -// "git.rosy.net.cn/baseapi/utils" -// "git.rosy.net.cn/baseapi/utils/errlist" -// "git.rosy.net.cn/jx-callback/business/jxstore/event" -// "git.rosy.net.cn/jx-callback/business/jxutils" -// "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" -// "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" -// "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/globals/api" -//) -// -//func splicingTimeToDoudian(openTime1, closeTime1, openTime2, closeTime2 int16) (timeList string) { -// //700 1200 -> 7:00-12:00 -// timeStr := "" -// if openTime1 != 0 && closeTime1 != 0 { -// tOpenTime1 := utils.Int64ToStr(int64(openTime1)) -// len1 := len(tOpenTime1) - 2 -// s1 := tOpenTime1[:len1] + ":" + tOpenTime1[len1+1:] -// tCloseTime1 := utils.Int64ToStr(int64(closeTime1)) -// len2 := len(tCloseTime1) - 2 -// s2 := tCloseTime1[:len2] + ":" + tCloseTime1[len2+1:] -// timeStr += s1 + "-" + s2 -// if openTime2 != 0 && closeTime2 != 0 { -// tOpenTime2 := utils.Int64ToStr(int64(openTime2)) -// len3 := len(tOpenTime2) - 2 -// s3 := tOpenTime2[:len3] + ":" + tOpenTime2[len3+1:] -// tCloseTime2 := utils.Int64ToStr(int64(closeTime2)) -// len4 := len(tCloseTime2) - 2 -// s4 := tCloseTime2[:len4] + ":" + tCloseTime2[len4+1:] -// timeStr += " " + s3 + "-" + s4 -// } -// } -// return timeStr -//} -// -//// shop/batchCreateStore 批量创建门店 -//func (P *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName string, params map[string]interface{}, storeDetail *dao.StoreDetail) (vendorStoreID string, err error) { -// var ( -// storeIDs string -// lists []shop_batchCreateStore_request.StoreListItem -// ShopBatchCreateStoreParam *shop_batchCreateStore_request.ShopBatchCreateStoreParam -// ) -// timeStr := "" -// if storeDetail.OpenTime1 == 0 || storeDetail.CloseTime1 == 0 { -// return "", fmt.Errorf("营业时间必填") -// } else { -// timeStr = splicingTimeToDoudian(storeDetail.OpenTime1, storeDetail.CloseTime1, storeDetail.OpenTime2, storeDetail.CloseTime2) -// } -// m := make(map[int64]string) -// for j := 1; j <= 7; j++ { -// m[int64(j)] = timeStr -// } -// list := shop_batchCreateStore_request.StoreListItem{ -// RowId: 1, -// Name: storeDetail.Name, -// StoreCode: storeDetail.VendorStoreID, -// Longitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lng)), -// Latitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lat)), -// Province: storeDetail.ProvinceName, -// City: storeDetail.CityName, -// District: storeDetail.DistrictName, -// Address: storeDetail.Address, -// Contact: storeDetail.Tel1, -// OpenTime: &shop_batchCreateStore_request.OpenTime{ -// DayMap: m, -// }, -// } -// lists = append(lists, list) -// ShopBatchCreateStoreParam = &shop_batchCreateStore_request.ShopBatchCreateStoreParam{ -// StoreList: lists, -// } -// if resp, err := api.DouDianApi.BatchCreateStore(ShopBatchCreateStoreParam); err != nil { -// return "", err -// } else { -// for k, v := range resp.ResultList { -// if k != len(resp.ResultList) { -// storeIDs += utils.Int64ToStr(v.Store.StoreId) + "," -// } -// storeIDs += utils.Int64ToStr(v.Store.StoreId) -// } -// return storeIDs, nil -// } -//} -// -//// shop/editStore 编辑门店信息 正向推送平台 -//func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName string) (err error) { -// var ( -// storeInfo *dao.StoreDetail -// name string -// ) -// if db == nil { -// db = dao.GetDB() -// } -// sqlStr := ` SELECT -// t1.*, -// t2.status, t2.vendor_store_id, t2.vendor_org_code, -// IF(t1.updated_at > t2.updated_at, t1.last_operator, t2.last_operator) real_last_operator, t2.sync_status, t2.vendor_store_name -// FROM store t1 -// LEFT JOIN store_map t2 ON t1.id = t2.store_id AND t2.vendor_id = ? AND (t2.deleted_at = ?) -// WHERE t1.id = ? -// ORDER BY t2.updated_at` -// err = dao.GetRow(db, &storeInfo, sqlStr, model.VendorIDDouDian, utils.DefaultTimeValue, utils.Int2Str(storeID)) -// if err != nil { -// return err -// } -// errList := errlist.New() -// timeStr := "" -// m := make(map[int64]string) -// if storeInfo.OpenTime1 != 0 && storeInfo.CloseTime1 != 0 { -// timeStr = splicingTimeToDoudian(storeInfo.OpenTime1, storeInfo.CloseTime1, storeInfo.OpenTime2, storeInfo.CloseTime2) -// for j := 1; j <= 7; j++ { -// m[int64(j)] = timeStr -// } -// } -// vendorStoreID := &shop_getStoreDetail_request.ShopGetStoreDetailParam{ -// StoreId: utils.Str2Int64(storeInfo.VendorStoreID), -// } -// if globals.EnableDdStoreWrite { -// remoteStoreInfo, err2 := api.DouDianApi.GetStoreDetail(vendorStoreID) -// if err2 != nil { -// return err2 -// } -// if remoteStoreInfo.StoreDetail.Store.StoreId == 0 { -// return fmt.Errorf("ID:%d 的门店不存在,请先创建", utils.Str2Int64(storeInfo.VendorStoreID)) -// } -// mergedStoreStatus := jxutils.MergeStoreStatus(storeInfo.Status, storeInfo.VendorStatus) -// name = remoteStoreInfo.StoreDetail.Store.Name -// if storeInfo.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreName) != 0 { -// if storeInfo.VendorStoreName != "" { -// name = storeInfo.VendorStoreName -// } -// } -// store := fmt.Sprintf("门店id:%d,门店名称:%s,第三方门店状态:%d,本地修改前门店状态%d,本地门店修改后状态:%d,第三方平台Id(抖店):%s", storeID, remoteStoreInfo.StoreDetail.Store.Name, remoteStoreInfo.StoreDetail.Store.State, storeInfo.Status, mergedStoreStatus, storeInfo.VendorOrgCode) -// event.AddOperateEvent(jxcontext.AdminCtx, jxcontext.AdminCtx.GetTrackInfo(), store, "", "", 10, "UpdateStore") -// params := &shop_editStore_request.ShopEditStoreParam{ -// StoreId: remoteStoreInfo.StoreDetail.Store.StoreId, //平台id不可修改 -// Name: name, -// StoreCode: utils.Int2Str(storeInfo.ID), //自用编码即很本地storeID -// Latitude: utils.Int2Str(storeInfo.Lat), -// Longitude: utils.Int2Str(storeInfo.Lng), -// Province: storeInfo.ProvinceName, -// City: storeInfo.CityName, -// District: storeInfo.DistrictName, -// Address: storeInfo.Address, -// Contact: storeInfo.Tel1, -// OpenTime: &shop_editStore_request.OpenTime{ -// DayMap: m, -// }, -// } -// //修改店铺状态 -// if storeInfo.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 { -// errList.AddErr(P.UpdateStoreStatus(jxcontext.AdminCtx, storeInfo.VendorOrgCode, storeID, storeInfo.VendorStoreID, mergedStoreStatus)) -// } -// _, err3 := api.DouDianApi.EditStore(params) -// if err3 != nil { -// errList.AddErr(err3) -// } -// } -// return err -//} -// -//// shop/storeSuspend 门店暂停营业 -//// shop/unsuspendStore 门店恢复营业 -//func (p *PurchaseHandler) UpdateStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, status int) (err error) { -// isOnline := bizStatusJX2DouDian(status) -// if globals.EnableDdStoreWrite { -// if isOnline != tiktok_api.StoreStatusOnline { //暂停营业状态 -// unsuspendStoreID := &shop_unsuspendStore_request.ShopUnsuspendStoreParam{ -// StoreId: utils.Str2Int64(vendorStoreID), -// } -// _, err = api.DouDianApi.UnsuspendStore(unsuspendStoreID) -// } else { //恢复营业 -// suspendStoreID := &shop_storeSuspend_request.ShopStoreSuspendParam{ -// StoreId: utils.Str2Int64(vendorStoreID), -// } -// getStoreID := &shop_getStoreDetail_request.ShopGetStoreDetailParam{ -// StoreId: utils.Str2Int64(vendorStoreID), -// } -// //平台上店铺状态 -// remoteStoreInfo, err2 := api.DouDianApi.GetStoreDetail(getStoreID) -// if err2 != nil { -// return err2 -// } -// if remoteStoreInfo.StoreDetail.Store.SuspendType == tiktok_api.SuspendTypePlatformPenalty { -// err = errors.New("门店因平台处罚暂停营业,不可主动修改营业状态") -// } else { -// _, err = api.DouDianApi.StoreSuspend(suspendStoreID) -// } -// } -// } -// return err -//} -// -//// /freightTemplate/create 创建运费模板 -//func (P *PurchaseHandler) CreateFreightTemplate(templateInfo freightTemplate_create_request.FreightTemplateCreateParam, storeID, vendorStoreID int64) error { -// var ( -// db *dao.DaoDB -// ) -// if templateInfo.Template.RuleType > 0 { -// templateInfo.Template.CalculateType = tiktok_api.CalculateTypeNum -// } -// info := &freightTemplate_create_request.FreightTemplateCreateParam{ -// Template: templateInfo.Template, -// Columns: templateInfo.Columns, -// } -// resp, err := api.DouDianApi.FreightTemplateCreate(info) -// if err != nil { -// return err -// } -// //创建成功后进行绑定 -// bindInfo := &shop_bindStoreFreight_request.ShopBindStoreFreightParam{ -// StoreId: vendorStoreID, -// FreightId: resp.TemplateId, -// } -// _, err1 := api.DouDianApi.BindFreightTemplate(bindInfo) -// if err != nil { -// return err1 -// } -// //并写入数据库 -// freightInfo := model.FreightTemplate{ -// StoreID: storeID, -// VendorStoreID: vendorStoreID, -// TemplateID: resp.TemplateId, -// } -// if err = dao.CreateEntity(db, freightInfo); err != nil { -// return err -// } -// return nil -//} -// -//// /shop/bindStoreFreight 门店绑定运费模版 -////门店绑定运费模版,运费模版必须属于门店关联的抖店,且门店与运费模版是一对一关系 -//func (P *PurchaseHandler) ShopBindStoreFreight(storeID, freightID int64) error { -// param := &shop_bindStoreFreight_request.ShopBindStoreFreightParam{ -// StoreId: storeID, -// FreightId: freightID, -// } -// _, err := api.DouDianApi.BindFreightTemplate(param) -// if err != nil { -// return err -// } -// return nil -//} -// -//// /address/create 创建店铺地址库(新建即绑定) -//func (P *PurchaseHandler) CreateAddress(addressInfo address_create_request.AddressCreateParam) (addressID int64, err error) { -// info := &address_create_request.AddressCreateParam{ -// Address: addressInfo.Address, -// StoreId: addressInfo.StoreId, -// } -// resp, err := api.DouDianApi.AddressCreate(info) -// if err != nil { -// return 0, err -// } -// //添加进数据库page_shop -// //获取门店信息 -// //storeID := &shop_getStoreDetail_request.ShopGetStoreDetailParam{ -// // StoreId: addressInfo.StoreId, -// //} -// //storeInfo, err1 := api.DouDianApi.GetStoreDetail(storeID) -// //if err1 != nil { -// // return 0, err1 -// //} -// //createAddress := &model.PageShop{ //此表暂存门店售后地址库 -// // Name: storeInfo.StoreDetail.Store.Name, -// // VendorID: model.VendorIDDouDian, -// // VendorStoreID: utils.Int64ToStr(storeInfo.StoreDetail.Store.StoreId), //抖店平台ID -// // OrgCode: storeInfo.StoreDetail.Store.StoreCode, //暂时用来存放京西平台门店ID -// // VendorStatus: utils.Int64ToStr(storeInfo.StoreDetail.Store.State), -// // Status: 0, -// // CityCode: utils.Str2Int(storeInfo.StoreDetail.Store.CityCode), -// // DistrictCode: utils.Str2Int(storeInfo.StoreDetail.Store.DistrictCode), -// // Address: storeInfo.StoreDetail.Store.Address, -// // Lng: utils.Str2Float64(storeInfo.StoreDetail.Store.Longitude), -// // Lat: utils.Str2Float64(storeInfo.StoreDetail.Store.Latitude), -// // Tel1: storeInfo.StoreDetail.Store.Contact, -// //} -// //if err = dao.CreateEntity(dao.GetDB(), createAddress); err != nil { -// // return 0, err -// //} -// return resp.AddressId, nil -//} -// -//// /address/list 获取售后地址列表接口 -////分页获取商家地址列表 -//func (P *PurchaseHandler) GetAddressList(param *address_list_request.AddressListParam) (*address_list_response.AddressListData, error) { -// //不传入ID则是获取所有门店售后地址列表 -// info := &address_list_request.AddressListParam{ -// PageSize: 10, -// PageNo: 1, -// OrderBy: param.OrderBy, -// OrderField: param.OrderField, -// } -// if param.StoreId != 0 { -// info.StoreId = param.StoreId -// } -// listInfo, err := api.DouDianApi.GetAddressList(info) -// if err != nil { -// return nil, err -// } -// return listInfo, nil -//} -// -//// /trade/createTradeLimitTemplate 创建限售模板 -//func (P *PurchaseHandler) CreateTradeLimitTemplate(template trade_createTradeLimitTemplate_request.TradeCreateTradeLimitTemplateParam) (tradeLimitID int64, err error) { -// info := &trade_createTradeLimitTemplate_request.TradeCreateTradeLimitTemplateParam{ -// StoreId: template.StoreId, -// TradeLimitRuleRequestList: template.TradeLimitRuleRequestList, -// } -// resp, err := api.DouDianApi.CreateTradeLimitTemplate(info) -// if err != nil { -// return 0, err -// } -// return resp.TradeLimitId, nil -//} -// -//// /shop/bindStoreSaleLimit 门店绑定限售模板 -//func (P *PurchaseHandler) BindStoreSaleLimit(storeID, saleLimitTemplateID int64) error { -// info := &shop_bindStoreSaleLimit_request.ShopBindStoreSaleLimitParam{ -// StoreId: storeID, -// SaleLimitId: saleLimitTemplateID, -// } -// if _, err := api.DouDianApi.BindStoreSaleLimit(info); err != nil { -// return err -// } -// return nil -//} -// -//func (P *PurchaseHandler) UpdateStoreOpTime(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, opTimeList []int16) (err error) { -// t1 := opTimeList[0] -// t2 := opTimeList[1] -// t3 := opTimeList[2] -// t4 := opTimeList[4] -// timeStr := splicingTimeToDoudian(t1, t2, t3, t4) -// m := make(map[int64]string) -// for j := 1; j <= 7; j++ { -// m[int64(j)] = timeStr -// } -// params := &shop_editStore_request.ShopEditStoreParam{ -// StoreId: utils.Str2Int64(vendorStoreID), -// OpenTime: &shop_editStore_request.OpenTime{ -// DayMap: m, -// }, -// } -// if globals.EnableDdStoreWrite { -// api.DouDianApi.EditStore(params) -// } -// return err -//} -// -//func (P *PurchaseHandler) GetStoreStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string) (storeStatus int, err error) { -// params := &shop_getStoreDetail_request.ShopGetStoreDetailParam{ -// StoreId: utils.Str2Int64(vendorStoreID), -// } -// result, err := api.DouDianApi.GetStoreDetail(params) -// if err != nil { -// return 0, err -// } -// status := bizStatusJX2DouDian(int(result.StoreDetail.Store.State)) -// return status, nil -//} -// -//func (P *PurchaseHandler) EnableAutoAcceptOrder(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, isSetEnable bool) (err error) { -// return err -//} -// -//// 获取店铺所有平台ID -//func (P *PurchaseHandler) GetAllStoresVendorID(ctx *jxcontext.Context, vendorOrgCode string) (vendorStoreIDs []string, err error) { -// param := &shop_getStoreList_request.ShopGetStoreListParam{ -// Page: 0, -// PageSize: 10, -// } -// storeList, err := api.DouDianApi.GetStoreList(param) -// if err != nil { -// return nil, err -// } -// if len(storeList.StoreDetailList) > 0 { -// vendorStoreIDs = make([]string, len(storeList.StoreDetailList)) -// for k, v := range storeList.StoreDetailList { -// vendorStoreIDs[k] = utils.Int64ToStr(v.Store.StoreId) -// } -// } -// return vendorStoreIDs, err -//} -// -//func (P *PurchaseHandler) UpdateStoreLineStatus(ctx *jxcontext.Context, vendorOrgCode string, storeID int, vendorStoreID string, lineStatus int) (err error) { -// if lineStatus == model.StoreStatusOpened { -// param := &shop_storeSuspend_request.ShopStoreSuspendParam{ -// StoreId: utils.Str2Int64(vendorStoreID), -// } -// _, err = api.DouDianApi.StoreSuspend(param) -// } else { -// param := &shop_unsuspendStore_request.ShopUnsuspendStoreParam{ -// StoreId: utils.Str2Int64(vendorStoreID), -// } -// _, err = api.DouDianApi.UnsuspendStore(param) -// } -// return err -//} -//func (P *PurchaseHandler) ReadStore(ctx *jxcontext.Context, vendorOrgCode, vendorStoreID, vendorStoreName string) (store *dao.StoreDetail, err error) { -// return nil, err -//} -// -//func (P *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask tasksch.ITask, isAsync bool) (hint string, err error) { -// return "", errors.New("抖店暂不支持此操作") -//} diff --git a/business/partner/purchase/doudian/store_test.go b/business/partner/purchase/doudian/store_test.go deleted file mode 100644 index a717e0646..000000000 --- a/business/partner/purchase/doudian/store_test.go +++ /dev/null @@ -1,118 +0,0 @@ -package doudian - -import ( - "fmt" - shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request" - "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" - "testing" -) - -func TestCreateStore(t *testing.T) { - accesstoken := `{"access_token":"90868a42-1287-4453-ba71-34c72f22e886","expires_in":555553,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"4e8cf946-8df1-4489-be88-f96f2d4603a8","authority_id ":""}` - a := tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) - //request := shop_batchCreateStore_request.New() - StoreList := shop_batchCreateStore_request.StoreListItem{ - RowId: 1, - Name: "京西菜市小时达测试店铺1008", - StoreCode: "100002", - Longitude: "128.443241", - Latitude: "31.133237", - Address: "金牛区一环路北二段10号", - Contact: "17358644830", - Province: "四川省", - City: "成都市", - District: "金牛区", - OpenTime: &shop_batchCreateStore_request.OpenTime{ - DayMap: map[int64]string{1: "07:00-19:00", 2: "8:00-19:00"}, - }, - } - storeLists := []shop_batchCreateStore_request.StoreListItem{} - storeLists = append(storeLists, StoreList) - param := &shop_batchCreateStore_request.ShopBatchCreateStoreParam{ - StoreList: storeLists, - } - resp, err := a.BatchCreateStore(param) - fmt.Println(resp, err) -} - -// -//func TestUpdateStore(t *testing.T) { -// accesstoken := `{"access_token":"90868a42-1287-4453-ba71-34c72f22e886","expires_in":555553,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"4e8cf946-8df1-4489-be88-f96f2d4603a8","authority_id ":""}` -// tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) -// request := shop_batchCreateStore_request.New() -// err := CurPurchaseHandler.UpdateStore(nil, 666667, "") -// resp, err := request.Execute(tiktok_api.AccessToken) -// t.Fatal("err===========", err) -// t.Fatalf("resp===========:%v", resp) -//} -//// -func TestCreateFreightTemplate(t *testing.T) { - //accesstoken := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652252,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对 接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authorit y_id":""}` - //a := tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) - //t1 := &freightTemplate_create_request.FreightTemplateCreateParam{ - // Columns: []freightTemplate_create_request.ColumnsItem{ - // { - // AddWeight: 20, - // MinSkuAmount: -1, - // FirstWeight: 20, - // ProvinceInfos: []freightTemplate_create_request.ProvinceInfosItem{ - // { - // Id: 51, - // Children: []freightTemplate_create_request.ChildrenItem_4{ - // { - // Id: 510101, - // Children: []freightTemplate_create_request.ChildrenItem_5{ - // { - // Id: 510107, - // Children: []freightTemplate_create_request.ChildrenItem{ - // { - // Id: 610041, - // }, - // }, - // }, - // }, - // }, - // }, - // }, - // }, - // }, - // }, - // Template: &freightTemplate_create_request.Template{ - // TemplateName: "运费模板创建测试0929", - // ProductProvince: 51, - // ProductCity: 510104, - // CalculateType: 1, - // TransferType: 1, - // RuleType: 0, - // }, - //} - ////t2 := []freightTemplate_create_request.FreightTemplateCreateParam{} - ////t2 = append(t2, t1) - //freightID, err := a.FreightTemplateCreate(t1) - ////fmt.Println("freightID==", fmt.Sprintf("%v", freightID)) - //t.Fatal("err===========", err) - //t.Fatalf("resp===========:%v", freightID) -} - -// -////func TestBindFreightTemplate(t *testing.T) { -//// accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":462248,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}` -//// tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) -//// request := shop_bindStoreFreight_request.New() -//// param := shop_bindStoreFreight_request.ShopBindStoreFreightParam{ -//// //StoreId: , -//// //FreightId: , -//// } -////} - -func TestCreateFences(t *testing.T) { - //accesstoken := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652252,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对 接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authorit y_id":""}` - //a := tiktok_api.New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken) - //resp, err := tiktok_store.CreateFenceByStore(668472) - //t.Fatal("err===========", err) - //t.Fatalf("resp===========:%v", resp) -} -func TestSplice(t *testing.T) { - //resp := tiktok_store.SplicingTimeToDoudian(100, 1100, 1200, 2100) - //t.Fatalf("resp===========:%v", resp) -} diff --git a/business/partner/purchase/doudian/warehouse.go b/business/partner/purchase/doudian/warehouse.go deleted file mode 100644 index d57bd3ed8..000000000 --- a/business/partner/purchase/doudian/warehouse.go +++ /dev/null @@ -1,143 +0,0 @@ -package doudian - -//import ( -// "fmt" -// warehouse_bindFencesByStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFencesByStore/request" -// warehouse_bindStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindStore/request" -// warehouse_createBatch_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/request" -// warehouse_createFence_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/request" -// "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" -// "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/api" -// "strings" -//) -// -//// /warehouse/createBatch 批量创建区域仓 -//func (P *PurchaseHandler) BatchCreateWarehouse(param warehouse_createBatch_request.WarehouseCreateBatchParam) error { -// infos := []warehouse_createBatch_request.OutWarehouseListItem{} -// for _, v := range param.OutWarehouseList { -// info := warehouse_createBatch_request.OutWarehouseListItem{ -// OutWarehouseId: v.OutWarehouseId, -// Name: v.Name, -// Intro: v.Intro, -// AddressDetail: v.AddressDetail, -// WarehouseLocation: v.WarehouseLocation, -// } -// infos = append(infos, info) -// } -// req := &warehouse_createBatch_request.WarehouseCreateBatchParam{ -// OutWarehouseList: infos, -// } -// resp, err := api.DouDianApi.BatchCreateWarehouse(req) -// if err != nil { -// return err -// } -// if resp.Data["outWarehouseId"] == false { -// return fmt.Errorf("outWarehouseId:%v 出错", resp.Data["outWarehouseId"]) -// } -// return nil -//} -// -//// /warehouse/bindStore 仓库绑定门店 -//func (P *PurchaseHandler) BindStoreWarehouse(storeIDs []int64, outWarehouseID string) error { -// param := &warehouse_bindStore_request.WarehouseBindStoreParam{ -// StoreIds: storeIDs, -// OutWarehouseId: outWarehouseID, -// } -// if _, err := api.DouDianApi.StoreBindWarehouse(param); err != nil { -// return err -// } -// return nil -//} -// -//type LocalStore struct { -// Lng int `json:"-"` // 乘了10的6次方 -// Lat int `json:"-"` // 乘了10的6次方 -// DeliveryRangeType int8 `json:"deliveryRangeType"` // 参见相关常量定义 -// DeliveryRange string `json:"deliveryRange"` // 如果DeliveryRangeType为DeliveryRangeTypePolygon,则为逗号分隔坐标,分号分隔的坐标点(坐标与Lng和Lat一样,都是整数),比如 121361504,31189308;121420555,31150238。否则为半径,单位为米 -// VendorStoreID string `json:"vendorStoreID"` // 平台上门店id -//} -// -//// /warehouse/createFence 以门店方式创建电子围栏 -//func (P *PurchaseHandler) CreateFenceByStore(storeID int) (fenceID string, err error) { -// var ( -// db *dao.DaoDB -// localStore *LocalStore -// verticeses []warehouse_createFence_request.VerticesItem -// ) -// sqlParam := []interface{}{ -// model.VendorIDDouDian, -// } -// sqlStr := ` SELECT t.lng,t.lat,t.delivery_range_type,t.delivery_range,s.vendor_store_id FROM store t -// LEFT JOIN store_map s ON t.id = s.store_id -// WHERE s.vendor_id= ? ` -// if storeID != 0 { -// sqlStr += " AND t.id = ? " -// sqlParam = append(sqlParam, storeID) -// } else { -// return "", fmt.Errorf("storeID必填") -// } -// if err = dao.GetRow(db, &localStore, sqlStr, sqlParam...); err == nil { -// param := &warehouse_createFence_request.WarehouseCreateFenceParam{ -// FenceInfo: &warehouse_createFence_request.FenceInfo{ -// OutFenceId: "京西门店:" + utils.Int2Str(storeID) + " 的电子围栏", -// Shape: int32(localStore.DeliveryRangeType), -// }, -// } -// if localStore.DeliveryRangeType == tiktok_api.ShapeCircular { -// circular := &warehouse_createFence_request.Circular{ -// Center: &warehouse_createFence_request.Center{ -// Longitude: utils.Int2Float64(localStore.Lng), -// Latitude: utils.Int2Float64(localStore.Lat), -// }, -// Radius: utils.Str2Float64(localStore.DeliveryRange), -// } -// param.FenceInfo.Circular = circular -// } else if localStore.DeliveryRangeType == tiktok_api.ShapePolygon { -// tempStr := strings.Split(localStore.DeliveryRange, ";") -// for v := len(tempStr) - 1; v >= 0; v-- { -// s2 := strings.Split(tempStr[v], ",") -// vertices := warehouse_createFence_request.VerticesItem{ -// Longitude: utils.Str2Float64(s2[0]), -// Latitude: utils.Str2Float64(s2[1]), -// } -// verticeses = append(verticeses, vertices) -// } -// param.FenceInfo.Polygon.Vertices = verticeses -// } -// resp, err := api.DouDianApi.CreateFence(param) -// if err != nil { -// return "", err -// } else { -// return resp.FenceId, err -// } -// } else { -// return "", err -// } -//} -// -////直接创建电子围栏方式 -//func (P *PurchaseHandler) CreateFenceDirectly(param warehouse_createFence_request.WarehouseCreateFenceParam) (fenceID string, err error) { -// info := &warehouse_createFence_request.WarehouseCreateFenceParam{ -// FenceInfo: param.FenceInfo, -// } -// resp, err := api.DouDianApi.CreateFence(info) -// if err != nil { -// return "", err -// } -// return resp.FenceId, err -//} -// -////门店直接绑定围栏 -//func (P *PurchaseHandler) BindFenceByStore(storeID int64, addOutFenceIDs []string) error { -// param := &warehouse_bindFencesByStore_request.WarehouseBindFencesByStoreParam{ -// StoreId: storeID, -// AddOutFenceIds: addOutFenceIDs, -// } -// if _, err := api.DouDianApi.BindFenceByStore(param); err != nil { -// return err -// } -// return nil -//}