|
@@ -233,3 +233,157 @@ func CheckSubjectCodesError(midSubjects []models.HisSubject, Vouchers []models.H
|
|
|
}
|
|
|
return true, ""
|
|
|
}
|
|
|
+
|
|
|
+func Unlocking(start time.Time, tasks []models.TaxTask) {
|
|
|
+ reqs := []string{}
|
|
|
+ for _, v := range tasks {
|
|
|
+ reqs = append(reqs, strings.Split(v.ReqNo, "&")...)
|
|
|
+ }
|
|
|
+ req := strings.Join(reqs, "*")
|
|
|
+ UnTels := make(map[string]bool, 1000)
|
|
|
+ if len(tasks) < 1 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ for _, task := range tasks {
|
|
|
+ if task.TaskName == variable.TaxCjGsnb || task.TaskName == variable.TaxSbGsnb {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (tasks[0].Address == "jiangsu" || tasks[0].Address == "henan") && tasks[0].TaskName != variable.TaxCjInvoicePdf {
|
|
|
+ checkPass := true
|
|
|
+ info, _ := GetEacComInfo(tasks[0])
|
|
|
+ if info.Dlfs == "新版登录" && strings.Contains(tasks[0].Result.BusinessLog, "验证码接收失败") {
|
|
|
+ logger.Info("结束该手机号剩余任务:" + info.Tel)
|
|
|
+ common.CancelLeftTasks(info.Tel)
|
|
|
+ }
|
|
|
+ for _, task := range tasks {
|
|
|
+ if strings.Contains(task.Result.BusinessLog, "超限") {
|
|
|
+ checkPass = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if tasks[0].Address == "henan" && checkPass {
|
|
|
+ if !time.Now().After(start.Add(12 * time.Minute)) {
|
|
|
+ tel := strings.Split(tasks[0].Tel, `#`)[0]
|
|
|
+ if time.Since(start).Seconds() < 45 {
|
|
|
+ itv := common.FloatToIntStr((45 - time.Since(start).Seconds()) / 1)
|
|
|
+ logger.Info("加锁:" + tel + " " + itv)
|
|
|
+ common.AddTelLockerX2(tel, itv)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ logger.Info("解锁:" + tel)
|
|
|
+ common.AddTelLockerX2Req(tel, "-1", req)
|
|
|
+ } else if tasks[0].TaskName == variable.TaxCjInvoicePdf {
|
|
|
+ tel := strings.Split(tasks[0].Tel, `#`)[0]
|
|
|
+ status, err := common.GetTelTaskStatus(tel)
|
|
|
+ if err != nil {
|
|
|
+ logger.Info("获取手机号任务状态失败")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !status {
|
|
|
+ logger.Info("解锁:" + tel)
|
|
|
+ common.AddTelLockerX2Req(tel, "-1", req)
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if tasks[0].Address == "jiangsu" && !time.Now().After(start.Add(18*time.Minute)) && checkPass {
|
|
|
+ tel := strings.Split(tasks[0].Tel, `#`)[0]
|
|
|
+ if time.Since(start).Seconds() < 45 {
|
|
|
+ itv := common.FloatToIntStr((45 - time.Since(start).Seconds()) / 1)
|
|
|
+ logger.Info("加锁:" + tel + " " + itv)
|
|
|
+ common.AddTelLockerX2(tel, itv)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ logger.Info("解锁:" + tel)
|
|
|
+ common.AddTelLockerX2Req(tel, "-1", req)
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, task := range tasks {
|
|
|
+ info, _ := GetEacComInfo(task)
|
|
|
+
|
|
|
+
|
|
|
+ if info.Dlfs == "新版登录" && strings.Contains(task.Result.BusinessLog, "验证码接收失败") {
|
|
|
+ logger.Info("结束该手机号剩余任务:" + info.Tel)
|
|
|
+ common.CancelLeftTasks(info.Tel)
|
|
|
+ }
|
|
|
+
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if info.Tel != "" {
|
|
|
+ UnTels[info.Tel] = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if strings.Contains(task.Result.BusinessLog, "短信发送申请过于频繁") || strings.Contains(task.Result.BusinessLog, "超限") || strings.Contains(task.Result.BusinessLog, "发送短信过于频繁") || strings.Contains(task.Result.BusinessLog, "因上条短信验证码未正常使用,无法重新获取验证码,请您在5分钟后上条短信失效后") {
|
|
|
+ UnTels[info.Tel] = false
|
|
|
+ common.AddTelLockerX2(info.Tel, "300")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for k := range UnTels {
|
|
|
+ haspdf := false
|
|
|
+ for _, v := range tasks {
|
|
|
+ if v.TaskName == variable.TaxCjInvoicePdf {
|
|
|
+ haspdf = true
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if time.Since(start).Seconds() < 1195 || haspdf {
|
|
|
+ logger.Info("开始时间:", start.Format("2006-01-02 15:04:05"), ";结束时间:", time.Now().Format("2006-01-02 15:04:05"), ";任务时长:", time.Since(start).Seconds())
|
|
|
+ logger.Info("解锁:" + k)
|
|
|
+ common.AddTelLockerX2Req(k, "-1", req)
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|