浏览代码

wip:初始化提交

wangkaiyue 1 年之前
父节点
当前提交
427683dea2
共有 4 个文件被更改,包括 26 次插入13 次删除
  1. 1 0
      internal/consts/consts.go
  2. 14 7
      internal/controller/callback.go
  3. 1 1
      internal/service/invoiceCallback.go
  4. 10 5
      internal/service/invoiceManager.go

+ 1 - 0
internal/consts/consts.go

@@ -13,6 +13,7 @@ var (
 var (
 var (
 	LoginOutErr = gerror.New("请重新获取授权")
 	LoginOutErr = gerror.New("请重新获取授权")
 	AuthTimeOut = gerror.New("验证超时")
 	AuthTimeOut = gerror.New("验证超时")
+	WaitTimeOut = gerror.New("等待超时")
 )
 )
 
 
 const (
 const (

+ 14 - 7
internal/controller/callback.go

@@ -11,7 +11,10 @@ import (
 // CallBack 回调
 // CallBack 回调
 func CallBack(r *ghttp.Request) {
 func CallBack(r *ghttp.Request) {
 	err := func() error {
 	err := func() error {
-		callType := r.Get("calltype").String()
+		var (
+			callType = r.Get("calltype").String()
+			ctx      = r.Context()
+		)
 		if g.Cfg().MustGet(r.Context(), "reqDebug", false).Bool() {
 		if g.Cfg().MustGet(r.Context(), "reqDebug", false).Bool() {
 			g.Log().Infof(r.Context(), "%s\n接口回调 信息调试\ncallType: %s\ncallBack form: %+v", strings.Repeat("=", 50), callType, printFilter(r.Request.Form))
 			g.Log().Infof(r.Context(), "%s\n接口回调 信息调试\ncallType: %s\ncallBack form: %+v", strings.Repeat("=", 50), callType, printFilter(r.Request.Form))
 		}
 		}
@@ -19,15 +22,15 @@ func CallBack(r *ghttp.Request) {
 		switch callType {
 		switch callType {
 		case "userQuit": //用户退出登录
 		case "userQuit": //用户退出登录
 			service.JyInvoiceManager.Login = false
 			service.JyInvoiceManager.Login = false
-			g.Log().Info(r.Context(), "长在线退出登录")
+			g.Log().Info(ctx, "长在线退出登录")
 		case "Invoicing": //开发票回调
 		case "Invoicing": //开发票回调
 			return service.InvoicingCallBackLogic(r)
 			return service.InvoicingCallBackLogic(r)
 		case "InvoicingAll": //批量开票
 		case "InvoicingAll": //批量开票
-			g.Log().Info(r.Context(), "用户退出登录")
+			g.Log().Info(ctx, "用户退出登录")
 		case "offset":
 		case "offset":
 			return service.InvoicingMakeRedCallBackLogic(r)
 			return service.InvoicingMakeRedCallBackLogic(r)
 		case "livenessDetection":
 		case "livenessDetection":
-			g.Log().Info(r.Context(), "活体认证:%s")
+			g.Log().Info(ctx, "活体认证:%s")
 		case "login": //扫码登录回调
 		case "login": //扫码登录回调
 			var flag bool
 			var flag bool
 			if r.Get("code").String() == "200" {
 			if r.Get("code").String() == "200" {
@@ -35,17 +38,21 @@ func CallBack(r *ghttp.Request) {
 			}
 			}
 			service.JyInvoiceManager.ScanLogin <- flag
 			service.JyInvoiceManager.ScanLogin <- flag
 		case "quit":
 		case "quit":
-			switch r.Get("taskType").String() {
+			t := r.Get("taskType").String()
+			switch t {
 			case "2": //电子发票开具
 			case "2": //电子发票开具
 				service.JyInvoiceManager.ReleasePool() //可进行下次开票请求
 				service.JyInvoiceManager.ReleasePool() //可进行下次开票请求
+				g.Log().Infof(ctx, "开具发票结束")
 			case "4": //活体认证
 			case "4": //活体认证
 			case "5": //验证电子税局登录授权
 			case "5": //验证电子税局登录授权
 			case "9": //红冲
 			case "9": //红冲
 				service.JyInvoiceManager.ReleasePool() //可进行下次开票请求
 				service.JyInvoiceManager.ReleasePool() //可进行下次开票请求
+				g.Log().Infof(ctx, "发票冲红结束")
+			default:
+				g.Log().Infof(ctx, "未知回调任务退出 %d", t)
 			}
 			}
-
 		default:
 		default:
-			g.Log().Infof(r.Context(), "未设置消息回调:%s", callType)
+			g.Log().Infof(ctx, "未设置消息回调:%s", callType)
 		}
 		}
 		return nil
 		return nil
 	}()
 	}()

+ 1 - 1
internal/service/invoiceCallback.go

@@ -56,7 +56,7 @@ func InvoicingCallBackLogic(r *ghttp.Request) error {
 	case 7:
 	case 7:
 		g.Log().Info(r.Context(), "非数电票试点纳税人,未核定数电票票种,不允许开票或其他原因")
 		g.Log().Info(r.Context(), "非数电票试点纳税人,未核定数电票票种,不允许开票或其他原因")
 	default:
 	default:
-		g.Log().Info(r.Context(), "InvoicingCallBackLogic tType:%s", tType)
+		g.Log().Info(r.Context(), "InvoicingCallBackLogic tType:%d", tType)
 	}
 	}
 	return nil
 	return nil
 }
 }

+ 10 - 5
internal/service/invoiceManager.go

@@ -104,7 +104,10 @@ func (im *InvoiceManager) RunJob(ctx context.Context) {
 	total, okNum, err := im.simpleMakeInvoice(ctx)
 	total, okNum, err := im.simpleMakeInvoice(ctx)
 	if err != nil {
 	if err != nil {
 		if gerror.Is(err, consts.LoginOutErr) {
 		if gerror.Is(err, consts.LoginOutErr) {
-			g.Log().Infof(ctx, "RunJob-任务中止-身份过期,需要重新登录")
+			g.Log().Infof(ctx, "RunJob-任务中止-开蓝票任务身份过期,需要重新登录")
+			return
+		} else if gerror.Is(err, consts.WaitTimeOut) {
+			g.Log().Errorf(ctx, "RunJob-任务中止-开蓝票任务等待超时异常 %v", err)
 			return
 			return
 		}
 		}
 		g.Log().Errorf(ctx, "RunJob-开蓝票任务异常 %v", err)
 		g.Log().Errorf(ctx, "RunJob-开蓝票任务异常 %v", err)
@@ -115,14 +118,16 @@ func (im *InvoiceManager) RunJob(ctx context.Context) {
 	total, okNum, err = im.selfMakeInvoice(ctx)
 	total, okNum, err = im.selfMakeInvoice(ctx)
 	if err != nil {
 	if err != nil {
 		if gerror.Is(err, consts.LoginOutErr) {
 		if gerror.Is(err, consts.LoginOutErr) {
-			g.Log().Infof(ctx, "RunJob-任务中止-身份过期,需要重新登录")
+			g.Log().Infof(ctx, "RunJob-任务中止-开自助蓝票任务身份过期,需要重新登录")
+			return
+		} else if gerror.Is(err, consts.WaitTimeOut) {
+			g.Log().Errorf(ctx, "RunJob-任务中止-开自助蓝票任务等待超时异常 %v", err)
 			return
 			return
 		}
 		}
 		g.Log().Errorf(ctx, "RunJob-开自助蓝票任务异常 %v", err)
 		g.Log().Errorf(ctx, "RunJob-开自助蓝票任务异常 %v", err)
 	} else {
 	} else {
 		g.Log().Infof(ctx, "RunJob-开自助蓝票任务完成 共%d个 完成%d个", total, okNum)
 		g.Log().Infof(ctx, "RunJob-开自助蓝票任务完成 共%d个 完成%d个", total, okNum)
 	}
 	}
-
 	//TODO 红票任务
 	//TODO 红票任务
 
 
 }
 }
@@ -143,7 +148,7 @@ func (im *InvoiceManager) simpleMakeInvoice(ctx context.Context) (total, okNum i
 		select {
 		select {
 		case im.runPool <- true:
 		case im.runPool <- true:
 		case <-time.After(time.Minute * 5):
 		case <-time.After(time.Minute * 5):
-			err = gerror.New("simpleMakeInvoice-开票等待超时")
+			err = gerror.Wrap(consts.WaitTimeOut, "simpleMakeInvoice-开票等待超时")
 			return
 			return
 		}
 		}
 		var (
 		var (
@@ -209,7 +214,7 @@ func (im *InvoiceManager) selfMakeInvoice(ctx context.Context) (total, okNum int
 		select {
 		select {
 		case im.runPool <- true:
 		case im.runPool <- true:
 		case <-time.After(time.Minute * 5):
 		case <-time.After(time.Minute * 5):
-			err = gerror.New("selfMakeInvoice-开票等待超时")
+			err = gerror.Wrap(consts.WaitTimeOut, "simpleMakeInvoice-开票等待超时")
 			return
 			return
 		}
 		}
 		var (
 		var (