This commit is contained in:
苏尹岚
2020-11-19 15:02:32 +08:00
parent e58b124056
commit 6f3409b852

View File

@@ -3,8 +3,6 @@ package tempop
import (
"bytes"
"context"
"encoding/base64"
"encoding/json"
"fmt"
"regexp"
"strings"
@@ -1648,128 +1646,148 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
// }, []int{0})
// tasksch.HandleTask(task, nil, true).Run()
// _, err = task.GetResult(0)
var (
storeMaps []*model.StoreMap
db = dao.GetDB()
)
sql := `
SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 and vendor_store_id = ''
`
err = dao.GetRows(db, &storeMaps, sql, nil)
for _, v := range storeMaps {
store, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "")
data, _, _ := jxutils.DownloadFileByURL(jdshopapi.JdsStoreImg)
timeMap := map[string]string{
"businessBeginTime": int2TimeStr(int(store.OpenTime1)),
"businessEndTime": int2TimeStr(int(store.CloseTime1)),
}
timeJSON, _ := json.Marshal(timeMap)
createEntityStoreParam := &jdshopapi.CreateEntityStoreParam{
Name: "京西菜市" + strings.ReplaceAll(store.Name, "店", "") + "生鲜店",
AddCode: store.JdsCode,
AddCodeName: store.DistrictName,
AddName: store.ProvinceName + store.CityName + store.DistrictName + "@!" + store.Address,
Coordinate: utils.Float64ToStr(jxutils.IntCoordinate2Standard(store.Lat)) + "," + utils.Float64ToStr(jxutils.IntCoordinate2Standard(store.Lng)),
Phone: store.Tel1,
ExtendJSON: string(timeJSON),
ImageFile: base64.StdEncoding.EncodeToString(data),
CategoryName: "生鲜店",
CustomerID: utils.Int2Str(store.ID),
}
if store.JdsStreetCode != 0 {
createEntityStoreParam.AddCode = store.JdsStreetCode
}
if createEntityStoreParam.AddCode == 0 {
createEntityStoreParam.AddCode = store.JdCode
}
//证明这个店可能隶属直辖市或者东莞
if model.ZXCityCodeMap[store.CityCode] != "" {
result, _ := api.AutonaviAPI.GetCoordinateAreaInfo(jxutils.IntCoordinate2Standard(store.Lng), jxutils.IntCoordinate2Standard(store.Lat))
if result["regeocode"] != nil {
street := result["regeocode"].(map[string]interface{})["addressComponent"].(map[string]interface{})["township"].(string)
if street != "" {
result1, _ := api.JdShopAPI.GetProvince()
for _, v := range result1 {
if strings.Contains(store.CityName, v.AreaName) {
result2, _ := api.JdShopAPI.GetCity(v.AreaID)
for _, vv := range result2 {
if strings.Contains(store.DistrictName, vv.AreaName) {
result3, _ := api.JdShopAPI.GetCounty(vv.AreaID)
for _, vvv := range result3 {
if street == vvv.AreaName {
createEntityStoreParam.AddCode = vvv.AreaID
break
}
}
}
}
}
// var (
// storeMaps []*model.StoreMap
// db = dao.GetDB()
// )
// sql := `
// SELECT * from store_map where vendor_id = 5 and deleted_at = '1970-01-01 00:00:00' and vendor_org_code = 2 and vendor_store_id = ''
// `
// err = dao.GetRows(db, &storeMaps, sql, nil)
// for _, v := range storeMaps {
// store, _ := dao.GetStoreDetail(db, v.StoreID, model.VendorIDJDShop, "")
// data, _, _ := jxutils.DownloadFileByURL(jdshopapi.JdsStoreImg)
// timeMap := map[string]string{
// "businessBeginTime": int2TimeStr(int(store.OpenTime1)),
// "businessEndTime": int2TimeStr(int(store.CloseTime1)),
// }
// timeJSON, _ := json.Marshal(timeMap)
// createEntityStoreParam := &jdshopapi.CreateEntityStoreParam{
// Name: "京西菜市" + strings.ReplaceAll(store.Name, "店", "") + "生鲜店",
// AddCode: store.JdsCode,
// AddCodeName: store.DistrictName,
// AddName: store.ProvinceName + store.CityName + store.DistrictName + "@!" + store.Address,
// Coordinate: utils.Float64ToStr(jxutils.IntCoordinate2Standard(store.Lat)) + "," + utils.Float64ToStr(jxutils.IntCoordinate2Standard(store.Lng)),
// Phone: store.Tel1,
// ExtendJSON: string(timeJSON),
// ImageFile: base64.StdEncoding.EncodeToString(data),
// CategoryName: "生鲜店",
// CustomerID: utils.Int2Str(store.ID),
// }
// if store.JdsStreetCode != 0 {
// createEntityStoreParam.AddCode = store.JdsStreetCode
// }
// if createEntityStoreParam.AddCode == 0 {
// createEntityStoreParam.AddCode = store.JdCode
// }
// //证明这个店可能隶属直辖市或者东莞
// if model.ZXCityCodeMap[store.CityCode] != "" {
// result, _ := api.AutonaviAPI.GetCoordinateAreaInfo(jxutils.IntCoordinate2Standard(store.Lng), jxutils.IntCoordinate2Standard(store.Lat))
// if result["regeocode"] != nil {
// street := result["regeocode"].(map[string]interface{})["addressComponent"].(map[string]interface{})["township"].(string)
// if street != "" {
// result1, _ := api.JdShopAPI.GetProvince()
// for _, v := range result1 {
// if strings.Contains(store.CityName, v.AreaName) {
// result2, _ := api.JdShopAPI.GetCity(v.AreaID)
// for _, vv := range result2 {
// if strings.Contains(store.DistrictName, vv.AreaName) {
// result3, _ := api.JdShopAPI.GetCounty(vv.AreaID)
// for _, vvv := range result3 {
// if street == vvv.AreaName {
// createEntityStoreParam.AddCode = vvv.AreaID
// break
// }
// }
// }
// }
// }
// }
// }
// }
// }
// vendorStoreID, _ := api.JdShop2API.CreateEntityStore(createEntityStoreParam)
// storeMap := &model.StoreMap{
// StoreID: v.StoreID,
// VendorStoreID: vendorStoreID,
// VendorID: model.VendorIDJDShop,
// Status: 1,
// PricePercentage: 100,
// AutoPickup: 1,
// DeliveryType: 2,
// DeliveryCompetition: 1,
// IsSync: 1,
// PricePercentagePack: "京西100-100",
// VendorOrgCode: "2",
// JdsStreetCode: v.JdsStreetCode,
// JdsStreetName: v.JdsStreetName,
// }
// dao.WrapAddIDCULDEntity(storeMap, "jxadmin")
if configs, err := dao.QueryConfigs(dao.GetDB(), "jdsCookie2", model.ConfigTypeCookie, ""); err == nil {
api.JdShop2API.SetCookieWithStr(configs[0].Value)
}
for i := 1; i < 6; i++ {
shopListResult, _ := api.JdShop2API.ShopList(i)
for _, v := range shopListResult.List {
var store *model.Store
sql := `
SELECT a.*
FROM store a
JOIN store_map b ON a.id = b.store_id
WHERE b.deleted_at = '1970-01-01 00:00:00'
AND b.vendor_id = 5
AND b.vendor_store_id = ?
AND b.vendor_org_code = 2
`
sqlParams := []interface{}{v.StoreID}
err = dao.GetRow(dao.GetDB(), &store, sql, sqlParams)
if strings.Contains(v.StoreName, "") {
v.StoreName = v.StoreName[0:strings.Index(v.StoreName, "")] + v.StoreName[strings.Index(v.StoreName, "")+3:len(v.StoreName)]
}
if strings.Contains(v.StoreName, ".") {
v.StoreName = v.StoreName[0:strings.Index(v.StoreName, ".")] + v.StoreName[strings.Index(v.StoreName, ".")+1:len(v.StoreName)]
}
if shopDetailResult, err := api.JdShop2API.ShopDetail(v.StoreID); err == nil {
if store.Licence != "" {
data, _, _ := jxutils.DownloadFileByURL(store.Licence)
fileName := store.Licence[strings.LastIndex(store.Licence, "/")+1 : len(store.Licence)]
url, _ := api.JdShop2API.UploadImageNew(data, fileName)
ex := store.LicenceExpire
if ex == "" {
ex = utils.Time2Str(utils.Str2Time(store.LicenceValid).AddDate(0, 6, 0))
}
}
}
}
vendorStoreID, _ := api.JdShop2API.CreateEntityStore(createEntityStoreParam)
// storeMap := &model.StoreMap{
// StoreID: v.StoreID,
// VendorStoreID: vendorStoreID,
// VendorID: model.VendorIDJDShop,
// Status: 1,
// PricePercentage: 100,
// AutoPickup: 1,
// DeliveryType: 2,
// DeliveryCompetition: 1,
// IsSync: 1,
// PricePercentagePack: "京西100-100",
// VendorOrgCode: "2",
// JdsStreetCode: v.JdsStreetCode,
// JdsStreetName: v.JdsStreetName,
// }
// dao.WrapAddIDCULDEntity(storeMap, "jxadmin")
v.VendorStoreID = vendorStoreID
_, err = dao.UpdateEntity(db, v, "VendorStoreID")
if configs, err := dao.QueryConfigs(dao.GetDB(), "jdsCookie2", model.ConfigTypeCookie, ""); err == nil {
api.JdShop2API.SetCookieWithStr(configs[0].Value)
}
if shopDetailResult, err := api.JdShop2API.ShopDetail(utils.Str2Int(vendorStoreID)); err == nil {
if store.Licence != "" {
data, _, _ := jxutils.DownloadFileByURL(store.Licence)
fileName := store.Licence[strings.LastIndex(store.Licence, "/")+1 : len(store.Licence)]
url, _ := api.JdShop2API.UploadImageNew(data, fileName)
ex := store.LicenceExpire
if ex == "" {
ex = utils.Time2Str(utils.Str2Time(store.LicenceValid).AddDate(0, 6, 0))
}
err = api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{
StoreID: utils.Str2Int(vendorStoreID),
StoreName: shopDetailResult.StoreName,
CategoryID2: 62,
Coordinate: shopDetailResult.Coordinate,
BussinessBeginTime: shopDetailResult.BussinessBeginTime,
BussinessEndTime: shopDetailResult.BussinessEndTime,
ImgURL: shopDetailResult.ImgURL,
StorePhone: shopDetailResult.StorePhone,
AddName: shopDetailResult.AddName,
AddCode1: shopDetailResult.AddCode1,
AddCode2: shopDetailResult.AddCode2,
AddCode3: shopDetailResult.AddCode3,
CategoryID1: 34,
QualificationRequests: []*jdshopapi.QualificationRequests{
&jdshopapi.QualificationRequests{
QualificationID: 41,
QualificationName: "营业执照",
QualificationNo: store.LicenceCode,
QualificationURL: url,
StartTime: utils.Time2Str(utils.Str2Time(store.LicenceValid)),
EndingTime: ex,
Time: []string{utils.Time2Str(utils.Str2Time(store.LicenceValid)), ex},
if !strings.Contains(ex, "00:00:00") {
ex += " 00:00:00"
}
err = api.JdShop2API.UpdateBasic(&jdshopapi.UpdateBasicParam{
StoreID: v.StoreID,
StoreName: v.StoreName,
CategoryID2: 62,
Coordinate: shopDetailResult.Coordinate,
BussinessBeginTime: shopDetailResult.BussinessBeginTime,
BussinessEndTime: shopDetailResult.BussinessEndTime,
ImgURL: shopDetailResult.ImgURL,
StorePhone: shopDetailResult.StorePhone,
AddName: shopDetailResult.AddName,
AddCode1: shopDetailResult.AddCode1,
AddCode2: shopDetailResult.AddCode2,
AddCode3: shopDetailResult.AddCode3,
CategoryID1: 34,
QualificationRequests: []*jdshopapi.QualificationRequests{
&jdshopapi.QualificationRequests{
QualificationID: 41,
QualificationName: "营业执照",
QualificationNo: store.LicenceCode,
QualificationURL: url,
StartTime: utils.Time2Str(utils.Str2Time(store.LicenceValid)),
EndingTime: ex,
Time: []string{utils.Time2Str(utils.Str2Time(store.LicenceValid)), ex},
},
},
},
})
})
}
}
time.Sleep(time.Second)
err = api.JdShop2API.UpdateExpand(utils.Str2Int(vendorStoreID))
}
}
return err