123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578 |
- package service
- import (
- "bytes"
- "encoding/json"
- "entity"
- "fmt"
- "github.com/robfig/cron"
- "io/ioutil"
- "math/rand"
- "net/http"
- "spirit/redis"
- "spirit/web/core"
- "strconv"
- "strings"
- "time"
- "util"
- )
- type InvoiceService struct{}
- var (
- invoiceService = InvoiceService{}
- )
- // 发票开具
- func (u *InvoiceService) InvoiceAdd(solgan *entity.Invoice, resType string, isLoop int, isRed string) (string, int, interface{}) {
- util.Loger.Println("流水号:", solgan.Swno)
- rand.Seed(time.Now().Unix())
- solgan.InvoMemo = solgan.Swno
- solgan.OrderCode = solgan.Swno
- if isLoop == 0 {
- solgan.Swno = strings.Replace(fmt.Sprintln(solgan.Swno+fmt.Sprintf("%06v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(1000000))), "\n", "", -1)
- }
- solgan.SaleTax = entity.SaleTax
- solgan.InvType = entity.InvType
- solgan.BillType = entity.BillType
- solgan.Kpy = entity.Kpr
- solgan.SpecialRedFlag = entity.SpecialRedFlag
- solgan.OperationCode = entity.OperationCode
- solgan.Verified = entity.Verified
- solgan.Fhr = entity.Fhr
- solgan.Sky = entity.Sky
- now := time.Now()
- solgan.BillDate = now.Format("2006-01-02 15:04:05")
- /*url := entity.Url + "?build_invoice"
- util.Loger.Println("流水号:", solgan.Swno, "开具发票:数据", solgan)
- bytesData, _ := json.Marshal(solgan)
- reader := bytes.NewReader(bytesData)
- request, _ := http.NewRequest("POST", url, reader)
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)*/
- //不成功时
- var err error
- err = nil
- //正常
- //if (err != nil) {
- if (err == nil) {
- util.Loger.Println("开票服有问题", err)
- if isLoop == 0 {
- arr := strings.Split(entity.WarningEmail, ",")
- for _, value := range arr {
- util.SendPdf(value, true, solgan.Swno, "发票开具时服务出现问题")
- }
- solgan.ResType = resType
- solgan.IsRed = isRed
- u.OpeningTimer(solgan)
- }
- data1 := make(map[string]interface{})
- data1["fpdm"] = ""
- data1["fphm"] = ""
- data1["swno"] = solgan.Swno
- data1["path"] = ""
- return "剑鱼标讯订开票服务预警", 3, data1
- }
- /*respBytes, err := ioutil.ReadAll(resp.Body)
- fmt.Sprint(err)
- data := make(map[string]interface{})
- if err := json.Unmarshal([]byte(respBytes), &data); err == nil {
- fmt.Println(solgan.Swno, "开票返回值:", data)
- }*/
- //开具成功
- data := make(map[string]interface{})
- data["returnCode"] = "0000"
- //开具失败
- //data["returnCode"]="100"
- util.Loger.Println("流水号:", solgan.Swno, "开具发票:结果", data)
- //开票正常时
- //data["returnCode"] = entity.LineUpCode
- if (data["returnCode"] == entity.LineUpCode || data["returnCode"] == entity.SealCode || data["returnCode"] == entity.SuccessCode) {
- pdfData, code, msg := u.InvoiceDownload(solgan.Swno, solgan.SaleTax, isRed, 0, 0, solgan.Changed, resType, solgan.OrderCode)
- if (fmt.Sprint(code) == entity.SuccessCode) {
- data1 := make(map[string]interface{})
- data1["fpdm"] = pdfData["fpdm"]
- data1["fphm"] = pdfData["fphm"]
- data1["swno"] = solgan.Swno
- data1["path"] = pdfData["path"]
- return msg, 0, data1
- } else {
- data1 := make(map[string]interface{})
- data1["fpdm"] = pdfData["fpdm"]
- data1["fphm"] = pdfData["fphm"]
- data1["swno"] = solgan.Swno
- data1["path"] = pdfData["path"]
- return msg, code, data1
- }
- } else {
- arr := strings.Split(entity.WarningEmail, ",")
- for _, value := range arr {
- util.SendPdf(value, true, solgan.Swno, "发票开具时出现问题")
- }
- return fmt.Sprintln(data["returnMsg"]), 1, data
- }
- }
- // 发票下载
- func (u *InvoiceService) InvoiceDownload(swno string, saleTax string, isRed string, isLoop int, isfeedback int, changed string, resType string, orderCode string) (map[string]interface{}, int, string) {
- song := make(map[string]interface{})
- song["swno"] = swno
- song["saleTax"] = saleTax
- bytesData, _ := json.Marshal(song)
- fmt.Println("json", string(bytesData))
- /*
- url := entity.Url + "?get_invoice"
- reader := bytes.NewReader(bytesData)
- request, err := http.NewRequest("POST", url, reader)
- fmt.Println(err)
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)*/
- //不成功时
- var err error
- err = nil
- //正常
- if (err != nil) {
- //if (err == nil) {
- data1 := make(map[string]interface{})
- data1["fpdm"] = ""
- data1["fphm"] = ""
- data1["swno"] = ""
- data1["path"] = ""
- if isLoop == 0 {
- arr := strings.Split(entity.WarningEmail, ",")
- for _, value := range arr {
- util.SendPdf(value, true, swno, "发票下载时服务出现问题")
- }
- solgan := entity.Invoice{
- Swno: swno,
- SaleTax: saleTax,
- IsRed: isRed,
- Changed: changed,
- ResType: resType,
- }
- u.OpeningTimer(&solgan)
- }
- return data1, 1, "剑鱼标讯订开票服务预警"
- }
- //正常
- /*respBytes, err := ioutil.ReadAll(resp.Body)
- var dat *entity.GetInvoice
- util.Loger.Println("发票下载:", "流水号:", swno, "结果:", respBytes)
- if err := json.Unmarshal([]byte(respBytes), &dat); err == nil {
- fmt.Println(swno, "发票下载返回值:", dat)
- }*/
- //异常
- dat := entity.GetInvoice{}
- dat.ReturnMsg.MsgCode = "0000"
- //排队中
- //dat.ReturnMsg.MsgCode="1089"
- //失败
- //dat.ReturnMsg.MsgCode = "1000"
- util.Loger.Println("发票下载:", "流水号:", swno, "结果:", dat)
- //dat.ReturnMsg.MsgCode = entity.LineUpCode
- if (dat.ReturnMsg.MsgCode == entity.SuccessCode) {
- var swno1 string
- if (isRed == "true") {
- swno1 = swno[4:len(swno)]
- } else {
- swno1 = swno
- }
- fmt.Println(swno1)
- pdfData := make(map[string]interface{})
- //path := util.ImgHandle(dat.FpMsgs[0].PdfContent, swno, saleTax, swno1)
- path := "/c/v/c/v"
- pdfData["path"] = path
- /* pdfData["fpdm"] = dat.FpMsgs[0].Fpdm
- pdfData["fphm"] = dat.FpMsgs[0].Fphm*/
- pdfData["fpdm"] = "Fpdm"
- pdfData["fphm"] = "Fphm"
- pdfData["swno"] = swno
- return pdfData, 0, dat.ReturnMsg.Msg
- } else if (dat.ReturnMsg.MsgCode == entity.LineUpCode || dat.ReturnMsg.MsgCode == entity.SealCode) {
- if isLoop == 0 {
- u.Timer(swno, saleTax, isRed, isfeedback, changed, resType, orderCode)
- }
- return nil, 2, dat.ReturnMsg.Msg
- } else {
- arr := strings.Split(entity.WarningEmail, ",")
- for _, value := range arr {
- util.SendPdf(value, true, swno, "发票下载时出现问题,"+dat.ReturnMsg.Msg)
- }
- return nil, 1, dat.ReturnMsg.Msg
- }
- }
- // 发票是否存在
- //noinspection ALL
- func (u *InvoiceService) InvoiceSee(swno string, saleTax string, model string) (int, interface{}, string) {
- var swno1 string
- if (model == "true") {
- swno1 = "RED_" + swno
- } else {
- swno1 = swno
- }
- fool := util.Exists("./static/res/" + saleTax + "/" + swno + "/" + swno1 + ".pdf")
- msg := "发票地址"
- if fool {
- pdfData := make(map[string]interface{})
- pdfData["path"] = entity.PdfUrl + "/static/res/" + saleTax + "/" + swno + "/" + swno1 + ".pdf"
- pdfData["fpdm"] = ""
- pdfData["fphm"] = ""
- } else {
- return 1, "path", msg
- }
- return 0, "", msg
- }
- // 退票
- //noinspection ALL
- func (u *InvoiceService) InvoiceRedSubmit(fpdm string, fphm string, orderCode string, resType string, changed string, isLoop int, solgan *entity.Invoice) (string, int, interface{}) {
- url := entity.Url + "?redSubmitEInvoiceInfo"
- model := "1"
- if (changed == "1") {
- model = "2"
- }
- song := make(map[string]interface{})
- song["fpdm"] = fpdm
- song["fphm"] = fphm
- solgan.Yfphm = fphm
- solgan.Yfpdm = fpdm
- solgan.IsRed = "true"
- solgan.Changed = changed
- solgan.ResType = resType
- solgan.Model = model
- solgan.OrderCode = orderCode
- bytesData, _ := json.Marshal(song)
- fmt.Println("json", string(bytesData))
- reader := bytes.NewReader(bytesData)
- request, err := http.NewRequest("POST", url, reader)
- fmt.Println(err)
- request.Header.Set("Content-Type", "application/json;charset=UTF-8")
- client := http.Client{}
- resp, err := client.Do(request)
- if (err != nil) {
- data1 := make(map[string]interface{})
- data1["fpdm"] = ""
- data1["fphm"] = ""
- data1["swno"] = ""
- data1["path"] = ""
- if isLoop == 0 {
- arr := strings.Split(entity.WarningEmail, ",")
- for _, value := range arr {
- util.SendPdf(value, true, solgan.Swno, "发票退票时服务出现问题")
- }
- u.OpeningTimer(solgan)
- }
- if (model == "2") {
- return "剑鱼标讯订开票服务预警", 3, data1
- } else {
- return "剑鱼标讯订开票服务预警", 2, data1
- }
- }
- respBytes, err := ioutil.ReadAll(resp.Body)
- data := make(map[string]interface{})
- if err := json.Unmarshal([]byte(respBytes), &data); err == nil {
- fmt.Println(fphm, "冲红返回值:", data)
- }
- util.Loger.Println("冲红:", "发票单号:", fpdm, "发票号码:", fphm, "结果:", data)
- //data["returnCode"] = entity.LineUpCode
- if (data["returnCode"] == entity.LineUpCode || data["returnCode"] == entity.SealCode || data["returnCode"] == entity.SuccessCode) {
- pdfData, code, msg := u.InvoiceDownload(data["redSwno"].(string), data["saleTax"].(string), "true", int(0), int(0), changed, resType, orderCode)
- if (fmt.Sprint(code) == "0") {
- data1 := map[string]interface{}{
- "fpdm": pdfData["fpdm"],
- "fphm": pdfData["fphm"],
- "swno": data["redSwno"],
- "path": pdfData["path"],
- }
- return msg, 0, data1
- } else {
- data1 := map[string]interface{}{
- "fpdm": pdfData["fpdm"],
- "fphm": pdfData["fphm"],
- "swno": data["redSwno"],
- "path": pdfData["path"],
- }
- return msg, code, data1
- }
- } else if (data["returnCode"] == "3002") {
- return "已经冲红", 4, data
- } else {
- return fmt.Sprintln(data["returnMsg"]), 1, data
- }
- }
- // 换票
- //noinspection ALL
- func (u *InvoiceService) InvoiceReplace(solgan *entity.Invoice, resType string) (string, int, interface{}) {
- solgan.Model = "2"
- solgan.OrderCode = solgan.Swno
- msg, code1, dataMap := invoiceService.InvoiceRedSubmit(solgan.Yfpdm, solgan.Yfphm, solgan.Swno, resType, solgan.Changed, 0, solgan)
- util.Loger.Println("换票:", "发票单号:", solgan.Yfpdm, "发票号码:", solgan.Yfphm)
- if (code1 == 1) {
- return msg, code1, dataMap
- }
- if (code1 == 3) {
- return msg, 2, dataMap
- }
- solgan.Yfphm = ""
- solgan.Yfpdm = ""
- solgan.Model = "0"
- msg, code, datamap := u.InvoiceAdd(solgan, resType, 0, "false")
- _rdsVal := datamap.(map[string]interface{})
- _dataMap := dataMap.(map[string]interface{})
- if (code1 == 4) {
- _rdsVal["chcode"] = 0
- _rdsVal["isch"] = true
- } else {
- _rdsVal["chcode"] = code1
- _rdsVal["isch"] = false
- _rdsVal["chfpdm"] = _dataMap["fpdm"]
- _rdsVal["chfphm"] = _dataMap["fphm"]
- _rdsVal["chswno"] = _dataMap["swno"]
- _rdsVal["chpath"] = _dataMap["path"]
- }
- if (code1 == 3) {
- code = 2
- }
- return msg, code, _rdsVal
- }
- //排队中签章失败定时任务
- func (u *InvoiceService) Timer(swno string, saleTax string, isRed string, isfeedback int, changed string, resType string, orderCode string) {
- util.Loger.Print("定时任务重启", swno, saleTax, isRed, isfeedback, changed, resType)
- valueInface := redis.Get(core.GetConfiguration().Redis.Modules, "fp_"+swno)
- if (valueInface == nil) {
- swnoMap := make(map[string]interface{}, 0)
- swnoMap["swno"] = swno
- swnoMap["saleTax"] = saleTax
- swnoMap["isfeedback"] = isfeedback
- swnoMap["isLoop"] = 1
- swnoMap["changed"] = changed
- swnoMap["isRed"] = isRed
- swnoMap["resType"] = resType
- swnoMap["Frequency"] = 0
- swnoMap["creatTime"] = fmt.Sprint(time.Now().Unix())
- swnoMap["orderCode"] = orderCode
- redis.PutKV("fp_"+swno, swnoMap)
- }
- c := cron.New()
- spec := entity.TimingCron
- c.AddFunc(spec, func() { // AddFunc 是添加任务的地方,此函数接收两个参数,第一个为表示定时任务的字符串,第二个为真正的真正的任务。
- util.Loger.Println("定时任务开始:", "流水号:", swno)
- valueInface := redis.Get(core.GetConfiguration().Redis.Modules, "fp_"+swno)
- swnoMap := make(map[string]interface{}, 0)
- if (valueInface == nil) {
- swnoMap["swno"] = swno
- swnoMap["saleTax"] = saleTax
- swnoMap["isfeedback"] = isfeedback
- swnoMap["Frequency"] = 0
- swnoMap["changed"] = changed
- swnoMap["isRed"] = isRed
- swnoMap["resType"] = resType
- swnoMap["creatTime"] = fmt.Sprint(time.Now().Unix())
- swnoMap["orderCode"] = orderCode
- redis.PutKV("fp_"+swno, swnoMap)
- } else {
- _rdsVal := valueInface.(map[string]interface{})
- swnoMap["swno"] = _rdsVal["swno"]
- swnoMap["saleTax"] = _rdsVal["saleTax"]
- swnoMap["isfeedback"] = _rdsVal["isfeedback"]
- swnoMap["isLoop"] = _rdsVal["isLoop"]
- swnoMap["changed"] = changed
- swnoMap["isRed"] = isRed
- swnoMap["resType"] = resType
- swnoMap["creatTime"] = _rdsVal["creatTime"]
- swnoMap["orderCode"] = orderCode
- numb, _ := strconv.Atoi(fmt.Sprint(_rdsVal["Frequency"]))
- fmt.Println("循环:", numb, "----", entity.Frequency)
- fmt.Sprint("numb", "执行次数")
- if numb == entity.Frequency {
- arr := strings.Split(entity.WarningEmail, ",")
- for _, value := range arr {
- util.SendPdf(value, false, swno, "排队中签章失败定时任务出现问题")
- }
- numb++
- util.Callback(swno, saleTax, "", "", "", changed, isRed, resType, "true", "", orderCode)
- }
- util.Loger.Println("第:", numb, "次执行", "流水号:", swno)
- numb++
- swnoMap["Frequency"] = numb
- redis.PutKV("fp_"+swno, swnoMap)
- creatTime, _ := strconv.ParseInt(fmt.Sprint(_rdsVal["creatTime"]), 10, 64)
- fmt.Println(creatTime - time.Now().Unix())
- }
- pdfData, code, _ := u.InvoiceDownload(swno, saleTax, isRed, 1, 0, changed, resType, orderCode)
- fmt.Println(pdfData)
- if (code == 0) {
- util.Loger.Println("定时开票成功:", "流水号:", swno)
- if (isfeedback == 0) {
- //修改发票中状态
- dat := util.Callback(swno, saleTax, pdfData["fpdm"].(string), pdfData["fphm"].(string), pdfData["path"].(string), changed, isRed, resType, "", "3", orderCode)
- util.Loger.Println("下载成功更改发票结果:", "流水号:", swno, dat)
- util.Loger.Println("下载成功定时任务结束:", "流水号:", swno, )
- if (dat) {
- redis.Del(core.GetConfiguration().Redis.Modules, "fp_"+swno)
- util.Loger.Println("删除:", "流水号:", "fp_"+swno)
- c.Stop()
- }
- } else {
- redis.Del(core.GetConfiguration().Redis.Modules, "fp_"+swno)
- c.Stop()
- }
- } else {
- //util.Callback(swno, saleTax, "", "", "", changed, isRed, resType, "true", "", orderCode)
- //c.Stop()
- }
- })
- c.Start()
- }
- //服务断开重新开票定时任务
- //开具、重开
- //model 0开票 1 冲红 2冲红开票
- func (u *InvoiceService) OpeningTimer(solgan *entity.Invoice) {
- util.Loger.Println("发票开具服务有问题")
- valueInface := redis.Get(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Swno)
- if (valueInface == nil) {
- solgan.Numb = 0
- if solgan.Model == "1" || solgan.Model == "2" {
- redis.PutKV("xx_"+solgan.Yfphm, solgan)
- } else {
- redis.PutKV("xx_"+solgan.Swno, solgan)
- }
- }
- c := cron.New()
- spec := entity.OpenTimingCron
- c.AddFunc(spec, func() { // AddFunc 是添加任务的地方,此函数接收两个参数,第一个为表示定时任务的字符串,第二个为真正的真正的任务。
- //util.Loger.Println("定时任务重新开票开始:", "流水号:", solgan.Swno)
- swno := ""
- if solgan.Model == "1" || solgan.Model == "2" {
- util.Loger.Println("定时任务重新开票开始:", "发票号码:", solgan.Yfphm)
- swno = solgan.Yfphm
- } else {
- util.Loger.Println("定时任务重新开票开始:", "流水号:", solgan.Swno)
- swno = solgan.Swno
- }
- valueInface := redis.Get(core.GetConfiguration().Redis.Modules, "xx_"+swno)
- if (valueInface == nil) {
- solgan.Numb = 0
- if solgan.Model == "1" || solgan.Model == "2" {
- redis.PutKV("xx_"+solgan.Yfphm, solgan)
- } else {
- redis.PutKV("xx_"+solgan.Swno, solgan)
- }
- } else {
- swnoMap := valueInface.(map[string]interface{})
- numb, _ := strconv.Atoi(fmt.Sprint(swnoMap["numb"]))
- if numb < entity.OpenFrequency {
- if solgan.Model == "1" || solgan.Model == "2" {
- util.Loger.Println("第:", numb, "次执行重新开票", "发票号码:", solgan.Yfphm)
- } else {
- util.Loger.Println("第:", numb, "次执行重新开票", "流水号:", solgan.Swno)
- }
- numb++
- solgan.Numb = numb
- redis.PutKV("xx_"+swno, solgan)
- } else if (numb == entity.OpenFrequency) {
- fmt.Println(numb)
- util.Callback(solgan.Swno, solgan.SaleTax, solgan.Yfpdm, solgan.Yfphm, "", solgan.Changed, solgan.IsRed, solgan.ResType, "true", solgan.Model, solgan.OrderCode)
- if solgan.Model == "1" || solgan.Model == "2" {
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Yfphm)
- util.Loger.Println("删除:", "发票号码:", solgan.Yfphm)
- } else {
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Swno)
- util.Loger.Println("删除:", "流水号:", solgan.Swno)
- }
- c.Stop()
- } else {
- fmt.Println(numb)
- util.Callback(solgan.Swno, solgan.SaleTax, solgan.Yfpdm, solgan.Yfphm, "", solgan.Changed, solgan.IsRed, solgan.ResType, "true", solgan.Model, solgan.OrderCode)
- if solgan.Model == "1" || solgan.Model == "2" {
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Yfphm)
- util.Loger.Println("删除1:", "发票号码:", solgan.Yfphm)
- } else {
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Swno)
- util.Loger.Println("删除1:", "流水号:", solgan.Swno)
- }
- c.Stop()
- }
- }
- //是否重开
- switch solgan.Model {
- //重新开具
- case "0":
- _, code, _ := u.InvoiceAdd(solgan, solgan.ResType, 1, "false")
- if (code == 0) {
- //_rdsVal := datamap.(map[string]interface{})
- //util.Callback(solgan.Swno, solgan.SaleTax, "", "", _rdsVal["path"].(string), solgan.Changed, "false", solgan.ResType, "true")
- util.Loger.Println("删除:", "流水号:", "xx_"+solgan.Swno)
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Swno)
- util.Callback(solgan.Swno, solgan.SaleTax, solgan.Yfpdm, solgan.Yfphm, "", solgan.Changed, solgan.IsRed, solgan.ResType, "true", solgan.Model, solgan.OrderCode)
- c.Stop()
- }
- //单独冲红失败
- case "1":
- _, code, _ := u.InvoiceRedSubmit(solgan.Yfpdm, solgan.Yfphm, solgan.OrderCode, solgan.ResType, solgan.Changed, 1, solgan)
- if (code == 0) {
- //_rdsVal := datamap.(map[string]interface{})
- //util.Callback(solgan.Swno, solgan.SaleTax, datamap, "", _rdsVal["path"].(string), solgan.Changed, "false", solgan.ResType, "true")
- util.Loger.Println("删除:", "发票号码:", "xx_"+solgan.Yfphm)
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Yfphm)
- util.Callback(solgan.Swno, solgan.SaleTax, solgan.Yfpdm, solgan.Yfphm, "", solgan.Changed, solgan.IsRed, solgan.ResType, "true", solgan.Model, solgan.OrderCode)
- c.Stop()
- }
- //冲红开具
- case "2":
- _, code, _ := u.InvoiceRedSubmit(solgan.Yfpdm, solgan.Yfphm, solgan.OrderCode, solgan.ResType, solgan.Changed, 1, solgan)
- fmt.Println("code", code)
- if (code == 2 || code == 0) {
- solgan.Model = "0"
- if (code == 0) {
- u.OpeningTimer(solgan)
- }
- //_rdsVal := datamap.(map[string]interface{})
- //util.Callback(solgan.Swno, solgan.SaleTax, datamap, "", _rdsVal["path"].(string), solgan.Changed, "false", solgan.ResType, "true")
- util.Loger.Println("删除:", "发票号码:", "xx_"+solgan.Yfphm)
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Yfphm)
- util.Callback(solgan.Swno, solgan.SaleTax, solgan.Yfpdm, solgan.Yfphm, "", solgan.Changed, solgan.IsRed, solgan.ResType, "true", solgan.Model, solgan.OrderCode)
- c.Stop()
- }
- case "3":
- _, code, _ := u.InvoiceDownload(solgan.Swno, solgan.SaleTax, solgan.IsRed, 1, 0, solgan.Changed, solgan.ResType, solgan.OrderCode)
- if (code == 0) {
- //_rdsVal := datamap.(map[string]interface{})
- //util.Callback(solgan.Swno, solgan.SaleTax, datamap, "", _rdsVal["path"].(string), solgan.Changed, "false", solgan.ResType, "true")
- util.Loger.Println("删除:", "流水号:", "xx_"+solgan.Swno)
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Swno)
- util.Callback(solgan.Swno, solgan.SaleTax, solgan.Yfpdm, solgan.Yfphm, "", solgan.Changed, solgan.IsRed, solgan.ResType, "true", solgan.Model, solgan.OrderCode)
- c.Stop()
- }
- }
- /*if (numb == 0) {
- redis.Del(core.GetConfiguration().Redis.Modules, "xx_"+solgan.Swno)
- util.Loger.Println("删除:", "流水号:", solgan.Swno)
- c.Stop()
- } else if (numb == 1) {
- c.Stop()
- }*/
- })
- c.Start()
- }
- //回调
|