package service import ( "encoding/json" "database/sql" "time" . "bp.jydev.jianyu360.cn/BaseService/orderCenter/entity" "bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter" ) func RefundAdd(this *ordercenter.RefundAddReq) *ordercenter.OrderAddUpdateResp { flag := false nowTime := time.Now().Format("2006-01-02 15:04:05") flag = Mysql.ExecTx("", func(tx *sql.Tx) bool { refundId := Mysql.InsertBySqlByTx(tx, `insert into `+OrderRefund+`(appid,order_code,refund_time,refund_money,refund_reason,operate_person,refund_channel) values (?,?,?,?,?,?,?)`, this.Appid, this.OrderCode, nowTime, this.Refund.RefundMoney, this.Refund.RefundReason, this.Refund.OperatePerson, this.Refund.RefundChannel) ok := Mysql.UpdateByTx(tx, Order, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode}, map[string]interface{}{"refund_status": this.RefundStatus}) return refundId > 0 && ok }) status := 0 if flag { status = 1 } return &ordercenter.OrderAddUpdateResp{ ErrorCode: 1, Data: &ordercenter.DataStatus{Status: int64(status)}, } } func RefundInfo(this *ordercenter.OrderInfoReq) *ordercenter.RefundInfoResp { refundList := []*ordercenter.Refund{} refund := Mysql.Find(OrderRefund, map[string]interface{}{"appid": this.Appid, "user_id": this.OrderCode}, "", "", 0, 0) if refund != nil && len(*refund) > 0 { for _, v := range *refund { refundData := &ordercenter.Refund{} refundByte, _ := json.Marshal(v) json.Unmarshal(refundByte, refundData) refundList = append(refundList, refundData) } } return &ordercenter.RefundInfoResp{ ErrorCode: 1, Data: refundList, } }