setfence
This commit is contained in:
@@ -362,6 +362,7 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
storeInfo *dao.StoreDetail
|
||||
errList = errlist.New()
|
||||
timeStr = ""
|
||||
tempFenceID string
|
||||
FreightTemplate = &model.FreightTemplate{}
|
||||
)
|
||||
if db == nil {
|
||||
@@ -423,42 +424,45 @@ func (P *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
errList.AddErr(fmt.Errorf("修改门店(%d) 信息失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err3))
|
||||
}
|
||||
//电子围栏
|
||||
if bind, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID)); err != nil {
|
||||
bind, err := GetWarehouseByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID))
|
||||
if err != nil {
|
||||
errList.AddErr(fmt.Errorf("获取门店(%d) 电子围栏失败:%v", utils.Str2Int64(storeInfo.VendorStoreID), err))
|
||||
} else {
|
||||
if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) > 0 {
|
||||
//默认更新第一个电子围栏
|
||||
outFenceID := bind[storeInfo.VendorStoreID][0].OutFenceIds[0]
|
||||
if err = UpdateFenceByStore(storeInfo.VendorOrgCode, outFenceID, storeID); err != nil {
|
||||
return errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err))
|
||||
}
|
||||
FreightTemplate.FenceID = outFenceID
|
||||
} else if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) == 0 {
|
||||
//检查是否以storeID创建过
|
||||
if bindFence, err := GetFence(storeInfo.VendorOrgCode, []string{utils.Int2Str(storeID)}); err == nil {
|
||||
tempFenceID = bindFence[0].OutFenceId
|
||||
} else {
|
||||
if fenceID, err := CreateFenceByStore(storeInfo.VendorOrgCode, int64(storeID)); err != nil || len(fenceID) == 0 { //创建
|
||||
globals.SugarLogger.Debug("门店(%d) 创建电子围栏失败:%v", storeID, err)
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 创建电子围栏失败:%v", storeID, err))
|
||||
} else {
|
||||
if err := BindFenceByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), []string{utils.Int2Str(storeID)}); err != nil {
|
||||
globals.SugarLogger.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err)
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, fenceID, err))
|
||||
} else {
|
||||
FreightTemplate.FenceID = utils.Int2Str(storeID)
|
||||
}
|
||||
tempFenceID = fenceID
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//同步进数据库
|
||||
FreightTemplate.StoreID = storeID
|
||||
FreightTemplate.VendorStoreID = storeInfo.VendorStoreID
|
||||
if err = dao.CreateEntity(db, FreightTemplate); err != nil {
|
||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil {
|
||||
globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
|
||||
errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
||||
} else {
|
||||
globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err)
|
||||
errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
||||
if err := BindFenceByStore(storeInfo.VendorOrgCode, utils.Str2Int64(storeInfo.VendorStoreID), []string{tempFenceID}); err != nil {
|
||||
globals.SugarLogger.Debug("门店(%d) 绑定电子围栏:%s失败:%v", storeID, tempFenceID, err)
|
||||
errList.AddErr(fmt.Errorf("门店(%d) 绑定电子围栏:%s失败:%v", storeID, tempFenceID, err))
|
||||
}
|
||||
} else if len(bind[storeInfo.VendorStoreID][0].OutFenceIds) > 0 {
|
||||
//默认更新第一个电子围栏
|
||||
outFenceID := bind[storeInfo.VendorStoreID][0].OutFenceIds[0]
|
||||
if err = UpdateFenceByStore(storeInfo.VendorOrgCode, outFenceID, storeID); err != nil {
|
||||
errList.AddErr(errors.New(fmt.Sprintf("更新电子围栏失败,原因:%v", err)))
|
||||
}
|
||||
FreightTemplate.FenceID = outFenceID
|
||||
}
|
||||
}
|
||||
//同步进数据库
|
||||
FreightTemplate.FenceID = tempFenceID
|
||||
FreightTemplate.StoreID = storeID
|
||||
FreightTemplate.VendorStoreID = storeInfo.VendorStoreID
|
||||
if err = dao.CreateEntity(db, FreightTemplate); err != nil {
|
||||
if _, err1 := dao.UpdateEntity(db, FreightTemplate, "FenceID", "StoreID", "VendorStoreID"); err1 != nil {
|
||||
globals.SugarLogger.Debugf("db update storeID,vendorStoreID defeat on :%v", err1)
|
||||
//errList.AddErr(fmt.Errorf("更新操作,同步进数据库错误信息:%v", err1))
|
||||
} else {
|
||||
globals.SugarLogger.Debugf("db create storeID,vendorStoreID defeat on :%v", err)
|
||||
//errList.AddErr(fmt.Errorf("创建操作,同步进数据库错误信息:%v", err))
|
||||
}
|
||||
}
|
||||
endErr := errList.GetErrListAsOne()
|
||||
|
||||
Reference in New Issue
Block a user