- remove partner.GetFieldIDName and partner.GetFieldSyncStatusName (use dao.GetXXXField instead)

- mtwm.UpdateStore
- mtwm.SyncStoreCategory
This commit is contained in:
gazebo
2018-11-24 12:20:46 +08:00
parent 033f5670a9
commit fc96161c3b
23 changed files with 388 additions and 74 deletions

View File

@@ -30,18 +30,6 @@ type tEbaiStoreInfo struct {
DistrictID int `orm:"column(district_id)"`
}
func (p *PurchaseHandler) GetFieldIDName() string {
return model.FieldMtwmID
}
func (p *PurchaseHandler) GetFieldSyncStatusName() string {
return model.FieldMtwmSyncStatus
}
func (p *PurchaseHandler) CreateStore(db *dao.DaoDB, storeID int, userName string) (vendorStoreID string, err error) {
return vendorStoreID, err
}
func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error) {
result, err := api.MtwmAPI.PoiGet(vendorStoreID)
if err == nil {
@@ -93,28 +81,38 @@ func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error)
}
return nil, err
}
func (p *PurchaseHandler) CreateStore(db *dao.DaoDB, storeID int, userName string) (err error) {
return p.UpdateStore(db, storeID, userName)
}
func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName string) (err error) {
type StoreAndVendorInfo struct {
model.Store
model.StoreMap
}
var store StoreAndVendorInfo
sql := `
SELECT *
FROM store t1
JOIN store_map t2 ON t1.id = t2.store_id AND t2.vendor_id = ? AND (t2.deleted_at = ? OR t2.sync_status <> 0)
LEFT JOIN place city ON t1.city_code = city.code
LEFT JOIN place district ON t1.district_code = district.code
WHERE t1.id = ?
ORDER BY t2.updated_at
`
if db == nil {
db = dao.GetDB()
}
if err = dao.GetRow(db, &store, sql, model.VendorIDJD, utils.DefaultTimeValue, storeID); err == nil {
globals.SugarLogger.Debug(utils.Format4Output(store, false))
storeDetail, err := dao.GetStoreDetail(db, storeID, model.VendorIDMTWM)
if err != nil {
return err
}
openTime := [][2]int16{[2]int16{storeDetail.OpenTime1, storeDetail.CloseTime1}}
if storeDetail.OpenTime2 > 0 {
openTime = append(openTime, [2]int16{storeDetail.OpenTime2, storeDetail.CloseTime2})
}
params := map[string]interface{}{
"name": storeDetail.Store.Name,
"address": storeDetail.Address,
"longitude": jxutils.IntCoordinate2Standard(storeDetail.Lng),
"latitude": jxutils.IntCoordinate2Standard(storeDetail.Lat),
"phone": storeDetail.Tel1,
"shipping_fee": jxutils.IntPrice2Standard(int64(storeDetail.DeliveryFee)),
"shipping_time": openTimeJX2Mtwm(openTime),
"third_tag_name": "蔬菜",
}
params["open_level"], params["is_online"] = bizStatusJX2Mtwm(jxutils.MergeStoreStatus(storeDetail.Status, storeDetail.VendorStatus))
globals.SugarLogger.Debug(utils.Format4Output(params, false))
if globals.EnableStoreWrite && globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.PoiSave(utils.Int2Str(storeDetail.Store.ID), params)
}
return nil
}
func (p *PurchaseHandler) RefreshAllStoresID(ctx *jxcontext.Context, parentTask tasksch.ITask, isAsync bool) (hint string, err error) {