From 14fc2f577e2c0b7b146c1a430e9438f317ad5b0c Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期六, 23 九月 2023 14:14:27 +0800 Subject: [PATCH] 任务接收增加channel字段,postion字段改为channel --- api/v1/plc.go | 6 service/plc.go | 6 service/task.go | 14 +- nsq/msg_handler.go | 1 model/common/common.go | 7 + model/procedures.go | 2 docs/swagger.yaml | 23 +++-- crontask/cron_task.go | 16 ++-- docs/docs.go | 30 ++++--- model/request/task.go | 8 +- api/v1/task.go | 14 +- docs/swagger.json | 30 ++++--- service/cache_store.go | 38 ++++---- service/progress.go | 18 ++-- model/device_plc.go | 2 model/production_progress.go | 10 +- model/response/common.go | 2 17 files changed, 120 insertions(+), 107 deletions(-) diff --git a/api/v1/plc.go b/api/v1/plc.go index 47cf4bc..85624bd 100644 --- a/api/v1/plc.go +++ b/api/v1/plc.go @@ -31,8 +31,8 @@ if !ok { return } - finishNumber, _ := service.PlcCacheGet(params.Position, constvar.PlcCacheKeyFinishNumber) - totalNumber, _ := service.PlcCacheGet(params.Position, constvar.PlcCacheKeyTotalNumber) + finishNumber, _ := service.PlcCacheGet(params.Channel, constvar.PlcCacheKeyFinishNumber) + totalNumber, _ := service.PlcCacheGet(params.Channel, constvar.PlcCacheKeyTotalNumber) resp := new(response.ProductProgress) resp.FinishNumber = cast.ToInt(finishNumber) resp.TotalNumber = cast.ToInt(totalNumber) @@ -40,7 +40,7 @@ plcStatus := 1 //鏂紑杩炴帴 isConnect := service.PlcIsConnect() if isConnect { - lastUpdateTime := service.FinishUpdateTimeGet(params.Position) + lastUpdateTime := service.FinishUpdateTimeGet(params.Channel) if time.Now().Unix()-cast.ToInt64(lastUpdateTime) < conf.Conf.PLC.StandbyTime { //鐢熶骇 plcStatus = 2 } else { diff --git a/api/v1/task.go b/api/v1/task.go index 675caa8..2a15943 100644 --- a/api/v1/task.go +++ b/api/v1/task.go @@ -107,7 +107,7 @@ params.Page = 1 } if params.PageSize <= 0 { - params.PageSize = 1 + params.PageSize = 100 } taskResponse, code := service.NewTaskService().GetTask(params.Page, params.PageSize, service.TaskModeUnStarted) //鏃堕棿鍒颁簡鏈紑濮嬬殑 @@ -201,7 +201,7 @@ ctx.Fail(code) return } - err := service.NewTaskService().UpdateProcedureStatus(nil, id, model.ProcedureStatusFinished, procedure.Position) + err := service.NewTaskService().UpdateProcedureStatus(nil, id, model.ProcedureStatusFinished, procedure.Channel) if err != nil { logx.Errorf("UpdateProcedureStatus err: %v", err.Error()) ctx.Fail(ecode.UnknownErr) @@ -262,11 +262,11 @@ } err = model.WithTransaction(func(db *gorm.DB) error { - err = taskService.UpdateProcedureStatusAndPosition(db, params.ProcedureId, model.ProcedureStatusProcessing, params.Position) + err = taskService.UpdateProcedureStatusAndChannel(db, params.ProcedureId, model.ProcedureStatusProcessing, params.Channel) if err != nil { return err } - procedure.Position = params.Position + procedure.Channel = params.Channel err = taskService.UpdateOrderStatus(db, order.ID, model.OrderStatusProcessing) if err != nil { return err @@ -288,11 +288,11 @@ if err != nil { logx.Errorf("SendProcessParams: %v", err.Error()) err = model.WithTransaction(func(db *gorm.DB) error { - err = taskService.UpdateProcedureStatusAndPosition(db, params.ProcedureId, model.ProcedureStatusWaitProcess, params.Position) + err = taskService.UpdateProcedureStatusAndChannel(db, params.ProcedureId, model.ProcedureStatusWaitProcess, params.Channel) if err != nil { return err } - procedure.Position = params.Position + procedure.Channel = params.Channel err = taskService.UpdateOrderStatus(db, order.ID, model.OrderStatusWaitProcess) if err != nil { return err @@ -307,7 +307,7 @@ return } plcConfig.CurrentTryTimes = 0 - err = service.PlcWrite(plcConfig, constvar.PlcStartAddressTypeTotalNumber, params.Position, order.Amount.IntPart()) + err = service.PlcWrite(plcConfig, constvar.PlcStartAddressTypeTotalNumber, params.Channel, order.Amount.IntPart()) if err != nil { ctx.FailWithMsg(ecode.NeedConfirmedErr, "绯熺硶锛屽伐鑹轰笅鍙戝け璐ャ��") return diff --git a/crontask/cron_task.go b/crontask/cron_task.go index 9938bb4..9454dbe 100644 --- a/crontask/cron_task.go +++ b/crontask/cron_task.go @@ -38,8 +38,8 @@ } finishNumber := cast.ToInt64(value) if finishNumber != 0 { - service.PlcCacheSet(addressItem.Position, constvar.PlcCacheKeyFinishNumber, finishNumber) - _ = service.NewProgressService().UpdateProgress(addressItem.Position, cast.ToInt64(finishNumber)) + service.PlcCacheSet(addressItem.Channel, constvar.PlcCacheKeyFinishNumber, finishNumber) + _ = service.NewProgressService().UpdateProgress(addressItem.Channel, cast.ToInt64(finishNumber)) } logx.Infof("plc read finish number: %v", finishNumber) } @@ -64,8 +64,8 @@ } totalNumber := cast.ToInt64(value) if totalNumber != 0 { - service.PlcCacheSet(addressItem.Position, constvar.PlcCacheKeyTotalNumber, totalNumber) - _ = service.NewProgressService().UpdateProgress(addressItem.Position, cast.ToInt64(totalNumber)) + service.PlcCacheSet(addressItem.Channel, constvar.PlcCacheKeyTotalNumber, totalNumber) + _ = service.NewProgressService().UpdateProgress(addressItem.Channel, cast.ToInt64(totalNumber)) } logx.Infof("plc read total number: %v", totalNumber) } @@ -83,14 +83,14 @@ if code != ecode.OK { return } - var positions []int + var channels []int32 for _, item := range plcConfig.Details { if item.FieldName == constvar.PlcStartAddressTypeFinishNumber { - positions = append(positions, item.Position) + channels = append(channels, item.Channel) } } - for _, position := range positions { - progress, err := service.NewProgressService().GetCurrentProgress(position) + for _, channel := range channels { + progress, err := service.NewProgressService().GetCurrentProgress(channel) if err != nil { return } diff --git a/docs/docs.go b/docs/docs.go index 87355c3..b41553d 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -634,6 +634,10 @@ "type": "string" } }, + "channel": { + "description": "閫氶亾搴忓彿", + "type": "integer" + }, "deviceId": { "type": "string" }, @@ -775,6 +779,10 @@ "model.DevicePlcAddress": { "type": "object", "properties": { + "channel": { + "description": "鏁版嵁璧峰鍦板潃", + "type": "integer" + }, "fieldName": { "description": "瀵瑰簲绯荤粺瀛楁", "allOf": [ @@ -785,10 +793,6 @@ }, "length": { "description": "鏁版嵁闀垮害", - "type": "integer" - }, - "position": { - "description": "鏁版嵁璧峰鍦板潃", "type": "integer" }, "startAddress": { @@ -947,6 +951,10 @@ "model.Procedures": { "type": "object", "properties": { + "channel": { + "description": "閫氶亾", + "type": "integer" + }, "deviceId": { "type": "string" }, @@ -954,10 +962,6 @@ "type": "integer" }, "id": { - "type": "integer" - }, - "position": { - "description": "姣忎釜璁惧鍙兘鏈夊涓満浣嶅悓鏃剁敓浜э紝鐢╬osition琛ㄧず浣嶇疆", "type": "integer" }, "procedure": { @@ -996,7 +1000,7 @@ "procedureId" ], "properties": { - "position": { + "channel": { "type": "integer" }, "procedureId": { @@ -1136,15 +1140,15 @@ "description": "鏄惁鍙互寮�濮嬬敓浜�", "type": "boolean" }, + "channel": { + "description": "褰撳墠浠诲姟鍦ㄨ澶囩鍑犱釜閫氶亾", + "type": "integer" + }, "currentProcedureIndex": { "type": "integer" }, "order": { "$ref": "#/definitions/model.Order" - }, - "position": { - "description": "褰撳墠浠诲姟鍦ㄨ澶囩鍑犱釜浣嶇疆", - "type": "integer" }, "procedure": { "$ref": "#/definitions/model.Procedures" diff --git a/docs/swagger.json b/docs/swagger.json index e3d2b43..b8b0852 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -622,6 +622,10 @@ "type": "string" } }, + "channel": { + "description": "閫氶亾搴忓彿", + "type": "integer" + }, "deviceId": { "type": "string" }, @@ -763,6 +767,10 @@ "model.DevicePlcAddress": { "type": "object", "properties": { + "channel": { + "description": "鏁版嵁璧峰鍦板潃", + "type": "integer" + }, "fieldName": { "description": "瀵瑰簲绯荤粺瀛楁", "allOf": [ @@ -773,10 +781,6 @@ }, "length": { "description": "鏁版嵁闀垮害", - "type": "integer" - }, - "position": { - "description": "鏁版嵁璧峰鍦板潃", "type": "integer" }, "startAddress": { @@ -935,6 +939,10 @@ "model.Procedures": { "type": "object", "properties": { + "channel": { + "description": "閫氶亾", + "type": "integer" + }, "deviceId": { "type": "string" }, @@ -942,10 +950,6 @@ "type": "integer" }, "id": { - "type": "integer" - }, - "position": { - "description": "姣忎釜璁惧鍙兘鏈夊涓満浣嶅悓鏃剁敓浜э紝鐢╬osition琛ㄧず浣嶇疆", "type": "integer" }, "procedure": { @@ -984,7 +988,7 @@ "procedureId" ], "properties": { - "position": { + "channel": { "type": "integer" }, "procedureId": { @@ -1124,15 +1128,15 @@ "description": "鏄惁鍙互寮�濮嬬敓浜�", "type": "boolean" }, + "channel": { + "description": "褰撳墠浠诲姟鍦ㄨ澶囩鍑犱釜閫氶亾", + "type": "integer" + }, "currentProcedureIndex": { "type": "integer" }, "order": { "$ref": "#/definitions/model.Order" - }, - "position": { - "description": "褰撳墠浠诲姟鍦ㄨ澶囩鍑犱釜浣嶇疆", - "type": "integer" }, "procedure": { "$ref": "#/definitions/model.Procedures" diff --git a/docs/swagger.yaml b/docs/swagger.yaml index db53996..3ad2a98 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -30,6 +30,9 @@ items: type: string type: array + channel: + description: 閫氶亾搴忓彿 + type: integer deviceId: type: string deviceName: @@ -131,15 +134,15 @@ type: object model.DevicePlcAddress: properties: + channel: + description: 鏁版嵁璧峰鍦板潃 + type: integer fieldName: allOf: - $ref: '#/definitions/constvar.PlcStartAddressType' description: 瀵瑰簲绯荤粺瀛楁 length: description: 鏁版嵁闀垮害 - type: integer - position: - description: 鏁版嵁璧峰鍦板潃 type: integer startAddress: description: 鏁版嵁璧峰鍦板潃 @@ -248,14 +251,14 @@ - ProcedureStatusFinished model.Procedures: properties: + channel: + description: 閫氶亾 + type: integer deviceId: type: string endTime: type: integer id: - type: integer - position: - description: 姣忎釜璁惧鍙兘鏈夊涓満浣嶅悓鏃剁敓浜э紝鐢╬osition琛ㄧず浣嶇疆 type: integer procedure: allOf: @@ -277,7 +280,7 @@ type: object request.SendProcessParams: properties: - position: + channel: type: integer procedureId: type: integer @@ -375,13 +378,13 @@ canStarted: description: 鏄惁鍙互寮�濮嬬敓浜� type: boolean + channel: + description: 褰撳墠浠诲姟鍦ㄨ澶囩鍑犱釜閫氶亾 + type: integer currentProcedureIndex: type: integer order: $ref: '#/definitions/model.Order' - position: - description: 褰撳墠浠诲姟鍦ㄨ澶囩鍑犱釜浣嶇疆 - type: integer procedure: $ref: '#/definitions/model.Procedures' type: object diff --git a/model/common/common.go b/model/common/common.go index 5eafc0d..f169626 100644 --- a/model/common/common.go +++ b/model/common/common.go @@ -51,6 +51,7 @@ OutputMaterials []*ProcedureMaterial `json:"outputMaterials"` // 杈撳嚭鐗╂枡鍒楄〃 Workers []*ProcedureWorker `json:"workers"` // 浜哄憳鍒楄〃 AllProcedureNames []string `json:"allProcedureNames"` // 鎵�灞炲伐鍗曞伐搴忓垪琛� + Channel int32 `json:"channel"` //閫氶亾搴忓彿 } DeliverScheduleTask struct { @@ -68,8 +69,8 @@ KeyData []byte AddressData []byte DeviceId string - PlcAddressList []*PlcAddress - PlcConfig PlcConfig + PlcAddressList []*PlcAddress //plc 瀹屾垚閲忥紝鎬婚噺锛� 璇诲啓鍦板潃 + PlcConfig PlcConfig //鐢ㄧ綉鍙h繕鏄鍙d互鍙婄綉鍙p port } PlcConfig struct { @@ -86,7 +87,7 @@ PlcAddress struct { DeviceID string `json:"deviceID"` // 璁惧id - Position int `json:"position"` // 鐢熶骇浣嶇疆锛屼竴涓満鍣ㄥ彲鑳芥湁澶氫釜鏈轰綅锛岄渶瑕佸垎鍒厤缃畃lc鍦板潃 + Channel int `json:"channel"` // 鐢熶骇閫氶亾on锛屼竴涓満鍣ㄥ彲鑳芥湁澶氫釜鏈轰綅锛岄渶瑕佸垎鍒厤缃畃lc鍦板潃 StartAddress int `json:"startAddress"` // 鏁版嵁璧峰鍦板潃 Length int `json:"length"` // 鏁版嵁闀垮害 Type string `json:"type"` // 鏁版嵁绫诲瀷 diff --git a/model/device_plc.go b/model/device_plc.go index 728488d..fc8330e 100644 --- a/model/device_plc.go +++ b/model/device_plc.go @@ -33,7 +33,7 @@ } DevicePlcAddress struct { - Position int `json:"position"` // 鏁版嵁璧峰鍦板潃 + Channel int32 `json:"channel"` // 鏁版嵁璧峰鍦板潃 StartAddress int `json:"startAddress"` // 鏁版嵁璧峰鍦板潃 Length int `json:"length"` // 鏁版嵁闀垮害 Type constvar.PlcStartAddressValueType `json:"type"` // 鏁版嵁绫诲瀷 diff --git a/model/procedures.go b/model/procedures.go index 8933c88..8d893e6 100644 --- a/model/procedures.go +++ b/model/procedures.go @@ -17,7 +17,7 @@ OrderID string `gorm:"index;type:varchar(191);not null;comment:璁㈠崟ID" json:"-"` DeviceID string `gorm:"index;type:varchar(191);comment:璁惧ID" json:"deviceId"` ProcedureID string `gorm:"index;type:varchar(191);comment:宸ュ簭ID" json:"procedureId"` - Position int `gorm:"type:int;comment:宸ヤ綔浣嶇疆" json:"position"` //姣忎釜璁惧鍙兘鏈夊涓満浣嶅悓鏃剁敓浜э紝鐢╬osition琛ㄧず浣嶇疆 + Channel int32 `gorm:"index;comment:閫氶亾" json:"channel"` //閫氶亾 StartTime int64 `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"` EndTime int64 `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"` Status ProcedureStatus diff --git a/model/production_progress.go b/model/production_progress.go index 898b186..4a159af 100644 --- a/model/production_progress.go +++ b/model/production_progress.go @@ -15,7 +15,7 @@ ProcedureID string `gorm:"type:varchar(191);comment:宸ュ簭ID" json:"procedureId"` DeviceID string `gorm:"type:varchar(191);not null;comment:璁惧ID" json:"deviceId"` FinishedQuantity int64 `gorm:"type:int;not null;comment:瀹屾垚鏁伴噺" json:"finishedQuantity"` - Position int `gorm:"type:int;comment:宸ヤ綔浣嶇疆" json:"position"` //姣忎釜璁惧鍙兘鏈夊涓満浣嶅悓鏃剁敓浜э紝鐢╬osition琛ㄧず浣嶇疆 + Channel int32 `gorm:"type:int;comment:宸ヤ綔閫氶亾" json:"channel"` //閫氶亾 TotalQuantity int64 `gorm:"type:int;not null;comment:鎬婚噺" json:"totalQuantity"` } @@ -74,8 +74,8 @@ return slf } -func (slf *ProductionProgressSearch) SetPosition(position int) *ProductionProgressSearch { - slf.Position = position +func (slf *ProductionProgressSearch) SetChannel(channel int32) *ProductionProgressSearch { + slf.Channel = channel return slf } @@ -106,8 +106,8 @@ db = db.Where("device_id = ?", slf.DeviceID) } - if slf.Position != 0 { - db = db.Where("position = ?", slf.Position) + if slf.Channel != 0 { + db = db.Where("channel = ?", slf.Channel) } return db diff --git a/model/request/task.go b/model/request/task.go index 37f4a66..a3d78b6 100644 --- a/model/request/task.go +++ b/model/request/task.go @@ -15,11 +15,11 @@ } type SendProcessParams struct { - ProcedureId int `json:"procedureId" binding:"required"` - Position int `json:"position"` + ProcedureId int `json:"procedureId" binding:"required"` + Channel int32 `json:"channel"` } type GetProductProgress struct { - ProcedureId int `json:"procedureId" binding:"required"` - Position int `json:"position"` + ProcedureId int `json:"procedureId" binding:"required"` + Channel int32 `json:"channel"` } diff --git a/model/response/common.go b/model/response/common.go index 2779602..ee3ff27 100644 --- a/model/response/common.go +++ b/model/response/common.go @@ -24,7 +24,7 @@ Order *model.Order Procedure *model.Procedures - Position int //褰撳墠浠诲姟鍦ㄨ澶囩鍑犱釜浣嶇疆 + Channel int32 //褰撳墠浠诲姟鍦ㄨ澶囩鍑犱釜閫氶亾 AllProcedures []string CurrentProcedureIndex int CanStarted bool //鏄惁鍙互寮�濮嬬敓浜� diff --git a/nsq/msg_handler.go b/nsq/msg_handler.go index b13dd4b..713c95a 100644 --- a/nsq/msg_handler.go +++ b/nsq/msg_handler.go @@ -59,6 +59,7 @@ StartTime: procedure.StartTime, EndTime: procedure.EndTime, Status: model.ProcedureStatusWaitProcess, + Channel: procedure.Channel, ProceduresInfo: common.ProductProcedure{}, } procedureData, err := json.Marshal(procedure) diff --git a/service/cache_store.go b/service/cache_store.go index 9b7b74d..325db21 100644 --- a/service/cache_store.go +++ b/service/cache_store.go @@ -47,36 +47,36 @@ } const ( - PlcCacheKey = "plc:%v:%v" //plc:position:key + PlcCacheKey = "plc:%v:%v" //plc:channel:key CurrentTaskCacheKey = "current_task" - CurrentProgressCacheKey = "current_progress:%v" //current_progress:position - PlcCacheKeyUpdateTime = "finish_number_update_time:%v" //finish_number_update_time:position + CurrentProgressCacheKey = "current_progress:%v" //current_progress:channel + PlcCacheKeyUpdateTime = "finish_number_update_time:%v" //finish_number_update_time:channel ) -func PlcCacheGet(position int, key string) (interface{}, bool) { - return defaultCacheStore.Get(fmt.Sprintf(PlcCacheKey, position, key)) +func PlcCacheGet(channel int32, key string) (interface{}, bool) { + return defaultCacheStore.Get(fmt.Sprintf(PlcCacheKey, channel, key)) } -func PlcCacheSet(position int, key string, value interface{}) { +func PlcCacheSet(channel int32, key string, value interface{}) { if key == constvar.PlcCacheKeyFinishNumber { - oldFinishNumber, exists := PlcCacheGet(position, key) + oldFinishNumber, exists := PlcCacheGet(channel, key) if !exists || cast.ToInt(oldFinishNumber) != cast.ToInt(value) { //finishNumber鏈変簡鍙樺寲锛岃缃洿鏂版椂闂寸紦瀛� - FinishUpdateTimeSet(position, time.Now().Unix()) + FinishUpdateTimeSet(channel, time.Now().Unix()) } } - defaultCacheStore.Add(fmt.Sprintf(PlcCacheKey, position, key), value) + defaultCacheStore.Add(fmt.Sprintf(PlcCacheKey, channel, key), value) } -func FinishUpdateTimeGet(position int) interface{} { - val, ok := defaultCacheStore.Get(fmt.Sprintf(PlcCacheKeyUpdateTime, position)) +func FinishUpdateTimeGet(channel int32) interface{} { + val, ok := defaultCacheStore.Get(fmt.Sprintf(PlcCacheKeyUpdateTime, channel)) if ok { return val } return 0 } -func FinishUpdateTimeSet(position int, value interface{}) { - defaultCacheStore.Add(fmt.Sprintf(PlcCacheKeyUpdateTime, position), value) +func FinishUpdateTimeSet(channel int32, value interface{}) { + defaultCacheStore.Add(fmt.Sprintf(PlcCacheKeyUpdateTime, channel), value) } func TaskCacheSet(value *response.TaskData) { @@ -94,17 +94,17 @@ return nil, false } -func ProgressCacheGet(position int) (*model.ProductionProgress, bool) { - if v, ok := defaultCacheStore.Get(fmt.Sprintf(CurrentProgressCacheKey, position)); ok { +func ProgressCacheGet(channel int32) (*model.ProductionProgress, bool) { + if v, ok := defaultCacheStore.Get(fmt.Sprintf(CurrentProgressCacheKey, channel)); ok { return v.(*model.ProductionProgress), ok } return nil, false } -func ProgressCacheSet(position int, value *model.ProductionProgress) { - defaultCacheStore.Add(fmt.Sprintf(CurrentProgressCacheKey, position), value) +func ProgressCacheSet(channel int32, value *model.ProductionProgress) { + defaultCacheStore.Add(fmt.Sprintf(CurrentProgressCacheKey, channel), value) } -func ProgressCacheUnset(position int) { - defaultCacheStore.Remove(fmt.Sprintf(CurrentProgressCacheKey, position)) +func ProgressCacheUnset(channel int32) { + defaultCacheStore.Remove(fmt.Sprintf(CurrentProgressCacheKey, channel)) } diff --git a/service/plc.go b/service/plc.go index 5388b0c..f73ec58 100644 --- a/service/plc.go +++ b/service/plc.go @@ -15,7 +15,7 @@ "github.com/spf13/cast" ) -func PlcWrite(plcConfig *model.DevicePlc, fieldType constvar.PlcStartAddressType, position int, value interface{}) (err error) { +func PlcWrite(plcConfig *model.DevicePlc, fieldType constvar.PlcStartAddressType, channel int32, value interface{}) (err error) { var ( startAddress int ipAddr string @@ -27,7 +27,7 @@ plcConfig.CurrentTryTimes++ for _, pc := range plcConfig.Details { - if pc.FieldName == fieldType && pc.Position == position { + if pc.FieldName == fieldType && pc.Channel == channel { startAddress = pc.StartAddress } } @@ -39,7 +39,7 @@ if err != nil { logx.Errorf("plc write failed, address: %v, value: %v, err: %v", startAddress, value, err.Error()) plcConfig.CurrentErr = err - return PlcWrite(plcConfig, fieldType, position, value) + return PlcWrite(plcConfig, fieldType, channel, value) } logx.Infof("plc write ok, address: %v, value: %v", startAddress, value) } else if plcConfig.Method == constvar.PlcMethodSerial { diff --git a/service/progress.go b/service/progress.go index 9f19ae6..6eab830 100644 --- a/service/progress.go +++ b/service/progress.go @@ -22,20 +22,20 @@ ProcedureID: procedure.ProceduresInfo.ProcedureID, DeviceID: procedure.DeviceID, TotalQuantity: order.Amount.IntPart(), - Position: procedure.Position, + Channel: procedure.Channel, } err := model.NewProductionProgressSearch(db).Create(progress) if err != nil { return err } - ProgressCacheSet(procedure.Position, progress) + ProgressCacheSet(procedure.Channel, progress) } return nil } -func (slf ProgressService) UpdateProgress(position int, finishedQuantity int64) (err error) { - progressCache, err := slf.GetCurrentProgress(position) +func (slf ProgressService) UpdateProgress(channel int32, finishedQuantity int64) (err error) { + progressCache, err := slf.GetCurrentProgress(channel) if err != nil { return err } @@ -44,17 +44,17 @@ } if finishedQuantity > progressCache.FinishedQuantity { //褰撴湁鍙樺寲鏃舵墠鏇存柊 progressCache.FinishedQuantity = finishedQuantity - ProgressCacheSet(position, progressCache) + ProgressCacheSet(channel, progressCache) return model.NewProductionProgressSearch(nil).SetId(progressCache.ID).Save(progressCache) } return nil } -func (slf ProgressService) GetCurrentProgress(position int) (progressCache *model.ProductionProgress, err error) { +func (slf ProgressService) GetCurrentProgress(channel int32) (progressCache *model.ProductionProgress, err error) { var ok bool - progressCache, ok = ProgressCacheGet(position) + progressCache, ok = ProgressCacheGet(channel) if !ok { - progressCache, err = model.NewProductionProgressSearch(nil).SetPosition(position).SetOrder("id desc").First() + progressCache, err = model.NewProductionProgressSearch(nil).SetChannel(channel).SetOrder("id desc").First() if err == gorm.ErrRecordNotFound { return nil, errors.New("progress not found") } @@ -66,7 +66,7 @@ progressCache = nil } if progressCache != nil { - ProgressCacheSet(position, progressCache) + ProgressCacheSet(channel, progressCache) } } return diff --git a/service/task.go b/service/task.go index df0002e..30f5a3c 100644 --- a/service/task.go +++ b/service/task.go @@ -91,7 +91,7 @@ Procedure: procedure, AllProcedures: procedure.ProceduresInfo.AllProcedureNames, CurrentProcedureIndex: 0, - Position: procedure.Position, + Channel: procedure.Channel, } index := 0 for _, name := range procedure.ProceduresInfo.AllProcedureNames { @@ -132,19 +132,19 @@ return procedure, ecode.OK } -func (slf TaskService) UpdateProcedureStatusAndPosition(db *gorm.DB, id int, status model.ProcedureStatus, position int) error { +func (slf TaskService) UpdateProcedureStatusAndChannel(db *gorm.DB, id int, status model.ProcedureStatus, channel int32) error { if status == model.ProcedureStatusFinished { - ProgressCacheUnset(position) + ProgressCacheUnset(channel) } return model.NewProceduresSearch(db).SetId(id).UpdateByMap(map[string]interface{}{ - "status": status, - "position": position, + "status": status, + "channel": channel, }) } -func (slf TaskService) UpdateProcedureStatus(db *gorm.DB, id int, status model.ProcedureStatus, position int) error { +func (slf TaskService) UpdateProcedureStatus(db *gorm.DB, id int, status model.ProcedureStatus, channel int32) error { if status == model.ProcedureStatusFinished { - ProgressCacheUnset(position) + ProgressCacheUnset(channel) } return model.NewProceduresSearch(db).SetId(id).UpdateByMap(map[string]interface{}{ "status": status, -- Gitblit v1.8.0