From f73f610cdf4b0666dc139a51e72353b88f8f25ab Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 19 十月 2023 17:27:17 +0800
Subject: [PATCH] 为保证正确获取集群状态, 添加程序启动时读取system-service运行状态
---
model/work_order.go | 79 +++++++++++++++++++++++++++++++--------
1 files changed, 62 insertions(+), 17 deletions(-)
diff --git a/model/work_order.go b/model/work_order.go
index ed4ca40..b854461 100644
--- a/model/work_order.go
+++ b/model/work_order.go
@@ -3,25 +3,25 @@
import (
"apsClient/pkg/sqlitex"
"fmt"
+ "github.com/jinzhu/gorm"
"github.com/shopspring/decimal"
- "gorm.io/gorm"
)
type (
Order struct {
- gorm.Model `json:"-"`
- WorkOrderID string `gorm:"index;type:varchar(191);not null;comment:宸ュ崟ID" json:"workOrderId"`
- OrderID string `gorm:"index;type:varchar(191);not null;comment:璁㈠崟ID" json:"orderId"`
- ProductID string `gorm:"type:varchar(191);comment:浜у搧ID" json:"productId"`
- ProductName string `gorm:"type:varchar(191);comment:浜у搧鍚嶇О" json:"productName"`
- Parameter string `gorm:"type:varchar(1024);comment:鍙傛暟闇�姹�" json:"parameter"`
- Customer string `gorm:"type:varchar(191);comment:瀹㈡埛缂栫爜" json:"customer"`
- DeliverDate string `gorm:"type:varchar(100);comment:浜よ揣鏃ユ湡" json:"deliverDate"`
+ gorm.Model
+ WorkOrderID string `gorm:"index;type:varchar(191);not null" json:"workOrderId"`
+ OrderID string `gorm:"index;type:varchar(191);not null" json:"orderId"`
+ ProductID string `gorm:"type:varchar(191)" json:"productId"`
+ ProductName string `gorm:"type:varchar(191)" json:"productName"`
+ Parameter string `gorm:"type:varchar(1024)" json:"parameter"`
+ Customer string `gorm:"type:varchar(191)" json:"customer"`
+ DeliverDate string `gorm:"type:varchar(100)" json:"deliverDate"`
OrderAttr string `json:"orderAttr"` // 璁㈠崟灞炴�ф嫾鎺ョ殑瀛楃涓诧紝鍗宠揣鐗╂弿杩�
- Amount decimal.Decimal `gorm:"type:decimal(35,18);comment:鏁伴噺" json:"amount"`
- Unit string `gorm:"type:varchar(100);comment:鍗曚綅" json:"unit"`
- StartTime int64 `gorm:"comment:璁″垝寮�濮嬫椂闂�" json:"startTime"`
- EndTime int64 `gorm:"comment:璁″垝缁撴潫鏃堕棿" json:"endTime"`
+ Amount decimal.Decimal `gorm:"type:decimal(35,18)" json:"amount"`
+ Unit string `gorm:"type:varchar(100)" json:"unit"`
+ StartTime int64 `json:"startTime"`
+ EndTime int64 `json:"endTime"`
Status OrderStatus
}
@@ -33,18 +33,22 @@
Orm *gorm.DB
Preload bool
StartTimeMax int64
+ StartTimeMin int64
+ StatusList []OrderStatus
+ WorkOrderIDs []string
}
)
type OrderStatus int
const (
- OrderStatusUnFinished OrderStatus = 1
- OrderStatusFinished OrderStatus = 2
+ OrderStatusWaitProcess OrderStatus = 1
+ OrderStatusProcessing OrderStatus = 2
+ OrderStatusFinished OrderStatus = 3
)
func (slf *Order) TableName() string {
- return "Order"
+ return "work_order"
}
func NewOrderSearch(db *gorm.DB) *OrderSearch {
@@ -73,9 +77,18 @@
slf.StartTimeMax = ts
return slf
}
+func (slf *OrderSearch) SetStartTimeMin(ts int64) *OrderSearch {
+ slf.StartTimeMin = ts
+ return slf
+}
func (slf *OrderSearch) SetStatus(status OrderStatus) *OrderSearch {
slf.Status = status
+ return slf
+}
+
+func (slf *OrderSearch) SetStatusList(statusList []OrderStatus) *OrderSearch {
+ slf.StatusList = statusList
return slf
}
@@ -89,11 +102,25 @@
return slf
}
+func (slf *OrderSearch) SetWorkOrderIds(workOrderIds []string) *OrderSearch {
+ slf.WorkOrderIDs = workOrderIds
+ return slf
+}
+
+func (slf *OrderSearch) SetId(id uint) *OrderSearch {
+ slf.ID = id
+ return slf
+}
+
func (slf *OrderSearch) build() *gorm.DB {
var db = slf.Orm.Model(&Order{})
if slf.OrderBy != "" {
db = db.Order(slf.OrderBy)
+ }
+
+ if slf.ID != 0 {
+ db = db.Where("id = ?", slf.ID)
}
if slf.WorkOrderID != "" {
@@ -104,8 +131,16 @@
db = db.Where("status = ?", slf.Status)
}
+ if len(slf.StatusList) != 0 {
+ db = db.Where("status IN (?)", slf.StatusList)
+ }
+
if slf.StartTimeMax != 0 {
db = db.Where("start_time <= ?", slf.StartTimeMax)
+ }
+
+ if slf.StartTimeMin != 0 {
+ db = db.Where("start_time >= ?", slf.StartTimeMin)
}
if slf.Preload {
@@ -137,7 +172,17 @@
return nil
}
-func (slf *OrderSearch) Save(record *Order) error {
+func (slf *OrderSearch) Updates(record *Order) error {
+ var db = slf.build()
+
+ if err := db.Updates(record).Error; err != nil {
+ return fmt.Errorf("save err: %v, record: %+v", err, record)
+ }
+
+ return nil
+}
+
+func (slf *OrderSearch) Upsert(record *Order) error {
var db = slf.build()
if err := db.Save(record).Error; err != nil {
--
Gitblit v1.8.0