invoice.go 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package service
  2. import (
  3. "encoding/json"
  4. . "bp.jydev.jianyu360.cn/BaseService/orderCenter/entity"
  5. "bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter"
  6. )
  7. func InvoiceAdd(this *ordercenter.InvoiceAddReq) *ordercenter.OrderAddUpdateResp {
  8. invoiceId := Mysql.Insert(Invoice, map[string]interface{}{
  9. "appid": this.Appid,
  10. "order_code": this.OrderCode,
  11. "pay_id": this.Invoice.PayId,
  12. "invoice_code": this.Invoice.InvoiceCode,
  13. "invoice_number": this.Invoice.InvoiceNumber,
  14. "taxpayer_identnum": this.Invoice.TaxpayerIdentnum,
  15. "company_name": this.Invoice.CompanyName,
  16. "phone": this.Invoice.Phone,
  17. "mail": this.Invoice.Mail,
  18. "invoice_type": this.Invoice.InvoiceType,
  19. "invoice_content": this.Invoice.InvoiceContent,
  20. "url": this.Invoice.Url,
  21. "invoice_status": this.Invoice.InvoiceStatus,
  22. "invoice_serialnum": this.Invoice.InvoiceSerialnum,
  23. "create_time": this.Invoice.CreateTime,
  24. "billing_time": this.Invoice.BillingTime,
  25. "user_id": this.Invoice.UserId,
  26. "operator": this.Invoice.Operator,
  27. "operable_time": this.Invoice.OperableTime,
  28. })
  29. status := 0
  30. if invoiceId > 0 {
  31. status = 1
  32. }
  33. return &ordercenter.OrderAddUpdateResp{
  34. ErrorCode: 1,
  35. Data: &ordercenter.DataStatus{Status: int64(status)},
  36. }
  37. }
  38. func InvoiceInfo(this *ordercenter.InvoiceInfoReq) *ordercenter.InvoiceInfoResp {
  39. invoiceData := &ordercenter.Invoice{}
  40. invoice := Mysql.FindOne(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.PayId}, "", "")
  41. if invoice != nil && len(*invoice) > 0 {
  42. invoiceByte, _ := json.Marshal(*invoice)
  43. json.Unmarshal(invoiceByte, invoiceData)
  44. }
  45. return &ordercenter.InvoiceInfoResp{
  46. ErrorCode: 1,
  47. Data: invoiceData,
  48. }
  49. }
  50. func RedAdd(this *ordercenter.InvoiceAddReq) *ordercenter.OrderAddUpdateResp {
  51. ok := Mysql.Update(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.Invoice.PayId},
  52. map[string]interface{}{"red": this.Invoice.Red})
  53. status := 0
  54. if ok {
  55. status = 1
  56. }
  57. return &ordercenter.OrderAddUpdateResp{
  58. ErrorCode: 1,
  59. Data: &ordercenter.DataStatus{Status: int64(status)},
  60. }
  61. }
  62. func RedInfo(this *ordercenter.InvoiceInfoReq) *ordercenter.InvoiceInfoResp {
  63. invoiceData := &ordercenter.Invoice{}
  64. invoice := Mysql.FindOne(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.PayId}, "", "")
  65. if invoice != nil && len(*invoice) > 0 {
  66. invoiceByte, _ := json.Marshal(*invoice)
  67. json.Unmarshal(invoiceByte, invoiceData)
  68. }
  69. return &ordercenter.InvoiceInfoResp{
  70. ErrorCode: 1,
  71. Data: invoiceData,
  72. }
  73. }