From 3b672e7e057e6454c62f35ff230c3688719728d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AD=90=E9=93=AD?= Date: Sat, 15 Mar 2025 14:26:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E6=AD=A5=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- configs/config.yaml | 2 ++ configs/config_test.yaml | 2 ++ internal/biz/order_notice.go | 15 +++++++++------ internal/data/repoimpl/order.go | 24 ++++++++++-------------- internal/server/http.go | 1 + internal/service/cmb_mock.go | 9 +++++++++ 6 files changed, 33 insertions(+), 20 deletions(-) diff --git a/configs/config.yaml b/configs/config.yaml index 5c2558a..f9a3ea2 100644 --- a/configs/config.yaml +++ b/configs/config.yaml @@ -49,6 +49,8 @@ wechatNotifyMQ: - voucher_notify_dev isOpenConsumer: false #是否启动消费 true/false registerTagUrl: "https://wpcallbacks.api.1688sup.com/wechatPay/register_tag" + noticeStartDays: 7 + noticeEndDays: 1 wechat: mchID: "1605446142" # 证书所属商户 蓝色兄弟服务商立减金配置 diff --git a/configs/config_test.yaml b/configs/config_test.yaml index 4c7d96e..408ab26 100644 --- a/configs/config_test.yaml +++ b/configs/config_test.yaml @@ -49,6 +49,8 @@ wechatNotifyMQ: - voucher_notify_dev isOpenConsumer: false #是否启动消费 true/false registerTagUrl: "https://wpcallbacks.api.1688sup.com/wechatPay/register_tag" + noticeStartDays: 7 + noticeEndDays: 1 wechat: mchID: "1605446142" # 证书所属商户 蓝色兄弟服务商立减金配置 diff --git a/internal/biz/order_notice.go b/internal/biz/order_notice.go index 85bf662..18cd9c6 100644 --- a/internal/biz/order_notice.go +++ b/internal/biz/order_notice.go @@ -2,6 +2,7 @@ package biz import ( "context" + "errors" "fmt" "github.com/go-kratos/kratos/v2/log" "github.com/redis/go-redis/v9" @@ -17,6 +18,11 @@ func (v *VoucherBiz) OrderNotice(ctx context.Context) error { return err } + return v.ExecuteNotice(ctx) +} + +func (v *VoucherBiz) ExecuteNotice(ctx context.Context) error { + now := time.Now() // 获取七天前的日期 @@ -41,8 +47,7 @@ func (v *VoucherBiz) OrderNotice(ctx context.Context) error { if order.Type.IsCmb() { if err := v.cmbOrderNotice(ctx, order); err != nil { - log.Errorf("cmbOrderNotice err:%v", err) - return err + log.Errorf("招行查询券订单状态发生错误,orderNo:%s,err:%v", order.OrderNo, err) } } @@ -57,13 +62,11 @@ func (v *VoucherBiz) OrderNotice(ctx context.Context) error { func (v *VoucherBiz) isCanNotice(ctx context.Context) error { if v.bc.Cmb.NoticeStartDays == 0 { - log.Warnf("noticeStartDays eq 0") - return nil + return errors.New("noticeStartDays eq 0") } if v.bc.Cmb.NoticeEndDays == 0 { - log.Warnf("noticeEndDays eq 0") - return nil + return errors.New("noticeEndDays eq 0") } cache := vo.CmbBatchNoticeCacheKey.BuildCache([]string{""}) diff --git a/internal/data/repoimpl/order.go b/internal/data/repoimpl/order.go index 96aee71..962f299 100644 --- a/internal/data/repoimpl/order.go +++ b/internal/data/repoimpl/order.go @@ -32,20 +32,16 @@ func (p *OrderRepoImpl) FindInBatches(ctx context.Context, w *bo.FindInBatchesUs var results = make([]*model.Order, 0) - db := p.db.DB(ctx) - - db.Where("type = ?", w.Type) - db.Where("status = ?", vo.OrderStatusUse) - db.Where("last_use_time >= ?", w.StartTime) - db.Where("last_use_time <= ?", w.EndTime) - - // 处理记录,批处理大小为100 - result := db.FindInBatches(&results, 100, func(tx *gorm.DB, batch int) error { - // tx.RowsAffected 提供当前批处理中记录的计数(the count of records in the current batch) - // 'batch' 变量表示当前批号(the current batch number) - // 返回 error 将阻止更多的批处理 - return fun(ctx, p.ToBos(results)) - }) + result := p.db.DB(ctx). + Where("last_use_time BETWEEN ? AND ?", w.StartTime, w.EndTime). + Where("type = ?", w.Type). + Where("status = ?", vo.OrderStatusUse). + FindInBatches(&results, 100, func(tx *gorm.DB, batch int) error { + // tx.RowsAffected 提供当前批处理中记录的计数(the count of records in the current batch) + // 'batch' 变量表示当前批号(the current batch number) + // 返回 error 将阻止更多的批处理 + return fun(ctx, p.ToBos(results)) + }) if result.Error != nil { return result.Error diff --git a/internal/server/http.go b/internal/server/http.go index 5da4471..1cd1114 100644 --- a/internal/server/http.go +++ b/internal/server/http.go @@ -50,6 +50,7 @@ func NewHTTPServer( v1.POST("/decryptBody", voucherService.DecryptBody) v1.POST("/queryWechatVoucherNotifyUrl", voucherService.QueryWechatVoucherNotifyUrl) v1.POST("/setWechatVoucherNotifyUrl", voucherService.SetWechatVoucherNotifyUrl) + v1.POST("/test", voucherService.Test) return srv } diff --git a/internal/service/cmb_mock.go b/internal/service/cmb_mock.go index 091012c..32e1e5d 100644 --- a/internal/service/cmb_mock.go +++ b/internal/service/cmb_mock.go @@ -151,3 +151,12 @@ func (s *VoucherService) SetWechatVoucherNotifyUrl(ctx http.Context) error { //}) return nil } + +func (s *VoucherService) Test(ctx http.Context) error { + + if err := s.VoucherBiz.ExecuteNotice(ctx); err != nil { + return err + } + + return nil +}