多笔立减金
This commit is contained in:
parent
1f81565e15
commit
c65c993a25
|
|
@ -13,7 +13,7 @@ type ConsumeInformation struct {
|
|||
ConsumeTime time.Time `json:"consume_time" validate:"required"` // 核销时间
|
||||
ConsumeMchid string `json:"consume_mchid"` // 核销商户号
|
||||
TransactionID string `json:"transaction_id" validate:"required"` // 微信支付交易单号
|
||||
ConsumeAmount int `json:"consume_amount" validate:"required"` // 核销金额(单位:分)
|
||||
ConsumeAmount int `json:"consume_amount"` // 核销金额(单位:分) // 多笔立减金必须 validate:"required"
|
||||
}
|
||||
|
||||
// PlainText 定义明文数据结构体
|
||||
|
|
|
|||
|
|
@ -89,8 +89,9 @@ func (biz *MultiBiz) Notify(ctx context.Context, ip, source string, req *bo.Wech
|
|||
|
||||
return lock.NewMutex(biz.rdb.Rdb, cl.TTL).Lock(ctx, cl.Key, func(ctx context.Context) error {
|
||||
|
||||
_, err := biz.ProductRepo.GetByBatchNo(ctx, req.PlainText.StockID)
|
||||
product, err := biz.ProductRepo.GetByBatchNo(ctx, req.PlainText.StockID)
|
||||
if err != nil {
|
||||
// 数据库不存在该活动批次,过滤掉
|
||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
biz.Add(req.PlainText.StockID)
|
||||
return nil
|
||||
|
|
@ -102,6 +103,16 @@ func (biz *MultiBiz) Notify(ctx context.Context, ip, source string, req *bo.Wech
|
|||
return err
|
||||
}
|
||||
|
||||
// 不是多笔立减金,过滤掉
|
||||
if product.ActivityId == "" {
|
||||
biz.Add(req.PlainText.StockID)
|
||||
return nil
|
||||
}
|
||||
|
||||
if req.PlainText.ConsumeInformation.ConsumeAmount == 0 {
|
||||
return fmt.Errorf("消费金额不能为0")
|
||||
}
|
||||
|
||||
order, err := biz.order(ctx, req)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ func TestMd5(t *testing.T) {
|
|||
}
|
||||
|
||||
func Test_DecodeString(t *testing.T) {
|
||||
wxNotifyData, _ := base64.StdEncoding.DecodeString("eyJzdW1tYXJ5Ijoi5Luj6YeR5Yi45qC46ZSA6YCa55+lIiwiYXNzb2NpYXRlZF9kYXRhIjoiY291cG9uIiwiZXZlbnRfdHlwZSI6IkNPVVBPTi5VU0UiLCJjcmVhdGVfdGltZSI6IjIwMjUtMTItMTdUMTQ6MjQ6MDQrMDg6MDAiLCJwbGFpbl90ZXh0Ijp7InN0b2NrX2NyZWF0b3JfbWNoaWQiOiIxNzE1MzQ5NTc4Iiwic3RvY2tfaWQiOiIyMTM1NTI5OSIsImNvdXBvbl9pZCI6IjE0MzIxODQzNzA3NSIsInNpbmdsZWl0ZW1fZGlzY291bnRfb2ZmIjpudWxsLCJkaXNjb3VudF90byI6bnVsbCwiY291cG9uX25hbWUiOiLpk7booYzljaHlpJrnrJTnq4vlh48iLCJzdGF0dXMiOiJTRU5ERUQiLCJkZXNjcmlwdGlvbiI6IiIsImNyZWF0ZV90aW1lIjoiMjAyNS0xMi0xMlQyMTo0OTozMiswODowMCIsImNvdXBvbl90eXBlIjoiTk9STUFMIiwibm9fY2FzaCI6ZmFsc2UsImF2YWlsYWJsZV9iZWdpbl90aW1lIjoiMjAyNS0xMi0xMlQwMDowMDowMCswODowMCIsImF2YWlsYWJsZV9lbmRfdGltZSI6IjIwMjUtMTItMThUMjM6NTk6NTkrMDg6MDAiLCJzaW5nbGVpdGVtIjpmYWxzZSwibm9ybWFsX2NvdXBvbl9pbmZvcm1hdGlvbiI6eyJjb3Vwb25fYW1vdW50Ijo4NCwidHJhbnNhY3Rpb25fbWluaW11bSI6MX0sImNvbnN1bWVfaW5mb3JtYXRpb24iOnsiY29uc3VtZV90aW1lIjoiMjAyNS0xMi0xN1QxNDoyNDowNCswODowMCIsImNvbnN1bWVfbWNoaWQiOiIxNDA1MzEyNzAyIiwidHJhbnNhY3Rpb25faWQiOiI0MjAwMDAyOTk4MjAyNTEyMTcxMDI0MDI4OTQzIiwiY29uc3VtZV9hbW91bnQiOjE4LCJnb29kc19kZXRhaWwiOm51bGx9fSwicmVzb3VyY2VfdHlwZSI6ImVuY3J5cHQtcmVzb3VyY2UiLCJvcmlnaW5hbF90eXBlIjoiY291cG9uIiwiaWQiOiIyNmZhMGQ2ZC02NjM0LTU5ZGYtOWU0Yi00M2JjYmFiY2I4OGIifQ==")
|
||||
wxNotifyData, _ := base64.StdEncoding.DecodeString("eyJzdW1tYXJ5Ijoi5Luj6YeR5Yi45qC46ZSA6YCa55+lIiwiYXNzb2NpYXRlZF9kYXRhIjoiY291cG9uIiwiZXZlbnRfdHlwZSI6IkNPVVBPTi5VU0UiLCJjcmVhdGVfdGltZSI6IjIwMjUtMTItMTdUMTU6MDc6MDkrMDg6MDAiLCJwbGFpbl90ZXh0Ijp7InN0b2NrX2NyZWF0b3JfbWNoaWQiOiIxNzE1MzQ5NTc4Iiwic3RvY2tfaWQiOiIyMTM0NjE1OSIsImNvdXBvbl9pZCI6IjE0NDI4NzM1NDEyNCIsInNpbmdsZWl0ZW1fZGlzY291bnRfb2ZmIjpudWxsLCJkaXNjb3VudF90byI6bnVsbCwiY291cG9uX25hbWUiOiLkvJfpgqbpk7booYwzMDDlhYNMUyIsInN0YXR1cyI6IlVTRUQiLCJkZXNjcmlwdGlvbiI6IiIsImNyZWF0ZV90aW1lIjoiMjAyNS0xMi0xN1QxNTowNjo0MCswODowMCIsImNvdXBvbl90eXBlIjoiTk9STUFMIiwibm9fY2FzaCI6ZmFsc2UsImF2YWlsYWJsZV9iZWdpbl90aW1lIjoiMjAyNS0xMi0xN1QwMDowMDowMCswODowMCIsImF2YWlsYWJsZV9lbmRfdGltZSI6IjIwMjYtMDItMjZUMjM6NTk6NTkrMDg6MDAiLCJzaW5nbGVpdGVtIjpmYWxzZSwibm9ybWFsX2NvdXBvbl9pbmZvcm1hdGlvbiI6eyJjb3Vwb25fYW1vdW50IjozMDAwMCwidHJhbnNhY3Rpb25fbWluaW11bSI6MzAwMDF9LCJjb25zdW1lX2luZm9ybWF0aW9uIjp7ImNvbnN1bWVfdGltZSI6IjIwMjUtMTItMTdUMTU6MDc6MDkrMDg6MDAiLCJjb25zdW1lX21jaGlkIjoiMzQwNzU3MTI3MCIsInRyYW5zYWN0aW9uX2lkIjoiNDIwMDAwMjkwMTIwMjUxMjE3ODEzODYyODM4MiIsImNvbnN1bWVfYW1vdW50IjpudWxsLCJnb29kc19kZXRhaWwiOm51bGx9fSwicmVzb3VyY2VfdHlwZSI6ImVuY3J5cHQtcmVzb3VyY2UiLCJvcmlnaW5hbF90eXBlIjoiY291cG9uIiwiaWQiOiJiYTZkYWNiNi01MDllLTU1ZTMtOGYwMi1iM2YwNDJkZWViNTIifQ==")
|
||||
t.Log(string(wxNotifyData))
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue