This commit is contained in:
苏尹岚
2021-02-18 15:45:06 +08:00
parent 85f9ac8dd4
commit e5bd36ded0
3 changed files with 104 additions and 8 deletions

View File

@@ -3903,10 +3903,6 @@ func CreateVendorStore(ctx *jxcontext.Context, storeID, vendorID int, payload ma
db = dao.GetDB()
storeDetail *dao.StoreDetail
)
if vendorID != model.VendorIDEBAI {
return fmt.Errorf("当前只允许创建饿百门店!")
}
if storeDetail, err = dao.GetStoreDetail(db, storeID, vendorID, ""); err != nil {
return fmt.Errorf("获取门店信息失败,请联系技术部!")
}

View File

@@ -523,7 +523,64 @@ func (c *PurchaseHandler) UpdateStoreCustomID(ctx *jxcontext.Context, vendorOrgC
}
func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName string, params map[string]interface{}, storeDetail *dao.StoreDetail) (vendorStoreID string, err error) {
return vendorStoreID, err
vendorOrgCode := params["vendorOrgCode"].(string)
if vendorOrgCode == "" {
return "", fmt.Errorf("平台账号必传!")
}
place, err := dao.GetPlaceByCode(db, storeDetail.DistrictCode)
if err != nil {
return "", err
}
county := place.JdCode
//营业时间1开始传值规则每30分钟加1即00:00为000:30为1以此类推23:30为47,23:59为48
serviceTimeStart1, serviceTimeStart2, serviceTimeEnd1, serviceTimeEnd2 := 0, 0, 0, 0
if storeDetail.OpenTime1 != 0 && storeDetail.CloseTime1 != 0 {
serviceTimeStart1 = (int(storeDetail.OpenTime1)/100)*2 + int(storeDetail.OpenTime1)%100/30
serviceTimeEnd1 = (int(storeDetail.CloseTime1)/100)*2 + int(storeDetail.CloseTime1)%100/30
if storeDetail.OpenTime1 == 2359 || (storeDetail.OpenTime1 < 30 && storeDetail.OpenTime1 > 0) {
serviceTimeStart1++
}
if storeDetail.CloseTime1 == 2359 || (storeDetail.CloseTime1 < 30 && storeDetail.CloseTime1 > 0) {
serviceTimeEnd1++
}
if storeDetail.OpenTime2 != 0 && storeDetail.CloseTime2 != 0 {
serviceTimeStart2 = (int(storeDetail.OpenTime2)/100)*2 + int(storeDetail.OpenTime2)%100/30
serviceTimeEnd2 = (int(storeDetail.CloseTime2)/100)*2 + int(storeDetail.CloseTime2)%100/30
if storeDetail.OpenTime2 == 2359 || (storeDetail.OpenTime2 < 30 && storeDetail.OpenTime2 > 0) {
serviceTimeStart2++
}
if storeDetail.CloseTime2 == 2359 || (storeDetail.CloseTime2 < 30 && storeDetail.CloseTime2 > 0) {
serviceTimeEnd2++
}
}
}
createParams := &jdapi.OpStoreParams{
StationName: params["vendorStoreName"].(string),
OutSystemID: utils.Int2Str(storeDetail.ID),
Phone: storeDetail.Tel1,
Mobile: storeDetail.Tel1,
City: storeDetail.JdCode,
County: county,
StationAddress: storeDetail.Address,
Operator: vendorOrgCode,
ServiceTimeStart1: serviceTimeStart1,
ServiceTimeStart2: serviceTimeStart2,
ServiceTimeEnd1: serviceTimeEnd1,
ServiceTimeEnd2: serviceTimeEnd2,
Lat: jxutils.IntCoordinate2Standard(storeDetail.Lat),
Lng: jxutils.IntCoordinate2Standard(storeDetail.Lng),
CoordinateType: 3, //使用的地图类型(1,谷歌), (2,百度), (3,高德), (4,腾讯)
DeliveryRangeType: storeDetail.DeliveryRangeType,
DeliveryRangeRadius: utils.Str2Int(storeDetail.DeliveryRange),
StandByPhone: storeDetail.Tel1 + "," + "18048531223",
}
result, err := getAPI(vendorOrgCode).CreateStore(createParams)
if err != nil {
return "", err
}
return result.StationNo, err
}
func (p *PurchaseHandler) DeleteStore(db *dao.DaoDB, storeID int, userName string) (err error) {

View File

@@ -2,6 +2,7 @@ package mtwm
import (
"errors"
"fmt"
"math"
"regexp"
"strings"
@@ -21,7 +22,12 @@ import (
)
var (
opTimeErrReg = regexp.MustCompile(`当前配送营业时间为:([\d:~,]*)`)
opTimeErrReg = regexp.MustCompile(`当前配送营业时间为:([\d:~,]*)`)
storeVendorOrgCodeMap = map[string]string{
"589": mtwmapi.MtwmC4Tag,
"5873": mtwmapi.MtwmSCTag,
"4123": mtwmapi.MtwmSGTag,
}
)
type tEbaiStoreInfo struct {
@@ -97,6 +103,27 @@ func (p *PurchaseHandler) CreateStore(db *dao.DaoDB, storeID int, userName strin
}
func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName string, params map[string]interface{}, storeDetail *dao.StoreDetail) (vendorStoreID string, err error) {
vendorOrgCode := params["vendorOrgCode"].(string)
if vendorOrgCode == "" {
return "", fmt.Errorf("平台账号必传!")
}
cityName := storeDetail.CityName
if strings.Contains(cityName, "市") {
cityName = strings.Replace(cityName, "市", "", strings.LastIndex(cityName, "市"))
}
shippingTime := ""
if storeDetail.OpenTime1 != 0 && storeDetail.CloseTime1 != 0 {
shippingTime += jxutils.JxOperationTime2StrTime(storeDetail.OpenTime1)
shippingTime += "-"
shippingTime += jxutils.JxOperationTime2StrTime(storeDetail.CloseTime1)
if storeDetail.OpenTime2 != 0 && storeDetail.CloseTime2 != 0 {
shippingTime += ","
shippingTime += jxutils.JxOperationTime2StrTime(storeDetail.OpenTime2)
shippingTime += "-"
shippingTime += jxutils.JxOperationTime2StrTime(storeDetail.CloseTime2)
}
}
poiSettleSaveParam := &mtwmapi.PoiSettleSaveParam{
Type: 0, //创建
ApplyInfos: []*mtwmapi.ApplyInfo{
@@ -104,12 +131,28 @@ func (p *PurchaseHandler) CreateStore2(db *dao.DaoDB, storeID int, userName stri
AppPoiCode: utils.Int2Str(storeDetail.ID),
SettlementID: 0, //结算ID暂时还没得
MultiPoiBasicInfo: &mtwmapi.MultiPoiBasicInfo{
Name: params["vendorStoreName"].(string),
Name: params["vendorStoreName"].(string),
City: cityName,
Address: storeDetail.Address,
Longitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lng)),
Latitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(storeDetail.Lat)),
FirstTag: storeVendorOrgCodeMap[vendorOrgCode],
CallCenter: storeDetail.Tel1,
ContactPhone: storeDetail.Tel1,
ContactName: storeDetail.IDName,
EcommerceAccountPhone: "18048531223",
ShippingTime: shippingTime,
},
MultiPoiShippingInfo: &mtwmapi.MultiPoiShippingInfo{
ShippingType: 5, //1:商家自配 5:美团专送,101:美团快送
MinPrice: params["minPrice"].(float64),
ShippingFee: params["shippingFee"].(float64),
},
//资质
},
},
}
mtapi := getAPI(storeDetail.VendorOrgCode, storeDetail.ID, "")
mtapi := getAPIWithoutToken(storeDetail.VendorOrgCode)
mtapi.PoiSettleSave(poiSettleSaveParam)
return vendorStoreID, err
}