From 8d3f2400195b0ae746e51ed4871e2b0ab621c928 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 06 五月 2024 17:24:11 +0800
Subject: [PATCH] 增加月度统计手动执行接口

---
 task/month_stats.go |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/task/month_stats.go b/task/month_stats.go
index b89aa88..a7985ad 100644
--- a/task/month_stats.go
+++ b/task/month_stats.go
@@ -12,21 +12,25 @@
 	"wms/service"
 )
 
-func MonthStats() {
+func MonthStats() (err error) {
 	//鍔犻攣锛屽彧闇�瑕佷竴涓繘绋嬭繍琛屾浠诲姟
 	var (
 		lockName  = "monthStats"
 		serviceID = "wms"
 	)
-	err := models.NewLockSearch().AcquireLock(lockName, serviceID)
+	err = models.NewLockSearch().AcquireLock(lockName, serviceID)
 	if err != nil {
 		logx.Errorf("MonthStats AcquireLock err:%v", err)
 		return
 	}
 	defer func() {
-		err := models.NewLockSearch().ReleaseLock(lockName, serviceID)
+		if err != nil {
+			service.SendAlarm("鏈堝害缁熻鎵ц澶辫触", "鎶ラ敊: "+err.Error())
+		}
+		err = models.NewLockSearch().ReleaseLock(lockName, serviceID)
 		if err != nil {
 			logx.Errorf("MonthStats ReleaseLock err:%v", err)
+			service.SendAlarm("鏈堝害缁熻鎵ц鎴愬姛瑙i攣澶辫触", err.Error())
 		}
 	}()
 
@@ -68,6 +72,12 @@
 		return
 	}
 	var record models.MonthStats
+
+	err = models.NewMonthStatsSearch().SetDate(date).Delete()
+	if err != nil {
+		return
+	}
+
 	for _, groupSum := range groupSumList {
 		productId := groupSum.Class
 		if productMap[productId] == nil {
@@ -126,11 +136,6 @@
 			}
 		}
 
-		err = models.NewMonthStatsSearch().SetDate(date).Delete()
-		if err != nil {
-			return
-		}
-
 		record.BeginMoreUnits = moreUnits
 		err = models.WithTransaction(func(db *gorm.DB) error {
 			err = models.NewMonthStatsSearch().SetOrm(db).Create(&record)
@@ -161,6 +166,9 @@
 			return nil
 		})
 	}
+	if err == nil {
+		service.SendAlarm("鏈堝害缁熻鎵ц鎴愬姛", "")
+	}
 	return
 }
 

--
Gitblit v1.8.0