package service import ( "encoding/json" . "bp.jydev.jianyu360.cn/BaseService/orderCenter/entity" "bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter" ) func InvoiceAdd(this *ordercenter.InvoiceAddReq) *ordercenter.OrderAddUpdateResp { invoiceId := Mysql.Insert(Invoice, map[string]interface{}{ "appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.Invoice.PayId, "invoice_code": this.Invoice.InvoiceCode, "invoice_number": this.Invoice.InvoiceNumber, "taxpayer_identnum": this.Invoice.TaxpayerIdentnum, "company_name": this.Invoice.CompanyName, "phone": this.Invoice.Phone, "mail": this.Invoice.Mail, "invoice_type": this.Invoice.InvoiceType, "invoice_content": this.Invoice.InvoiceContent, "url": this.Invoice.Url, "invoice_status": this.Invoice.InvoiceStatus, "invoice_serialnum": this.Invoice.InvoiceSerialnum, "create_time": this.Invoice.CreateTime, "billing_time": this.Invoice.BillingTime, "user_id": this.Invoice.UserId, "operator": this.Invoice.Operator, "operable_time": this.Invoice.OperableTime, }) status := 0 if invoiceId > 0 { status = 1 } return &ordercenter.OrderAddUpdateResp{ ErrorCode: 1, Data: &ordercenter.DataStatus{Status: int64(status)}, } } func InvoiceInfo(this *ordercenter.InvoiceInfoReq) *ordercenter.InvoiceInfoResp { invoiceData := &ordercenter.Invoice{} invoice := Mysql.FindOne(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.PayId}, "", "") if invoice != nil && len(*invoice) > 0 { invoiceByte, _ := json.Marshal(*invoice) json.Unmarshal(invoiceByte, invoiceData) } return &ordercenter.InvoiceInfoResp{ ErrorCode: 1, Data: invoiceData, } } func RedAdd(this *ordercenter.InvoiceAddReq) *ordercenter.OrderAddUpdateResp { ok := Mysql.Update(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.Invoice.PayId}, map[string]interface{}{"red": this.Invoice.Red}) status := 0 if ok { status = 1 } return &ordercenter.OrderAddUpdateResp{ ErrorCode: 1, Data: &ordercenter.DataStatus{Status: int64(status)}, } } func RedInfo(this *ordercenter.InvoiceInfoReq) *ordercenter.InvoiceInfoResp { invoiceData := &ordercenter.Invoice{} invoice := Mysql.FindOne(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.PayId}, "", "") if invoice != nil && len(*invoice) > 0 { invoiceByte, _ := json.Marshal(*invoice) json.Unmarshal(invoiceByte, invoiceData) } return &ordercenter.InvoiceInfoResp{ ErrorCode: 1, Data: invoiceData, } }