123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package dao
- import (
- "context"
- "database/sql"
- "go-common/app/service/main/tv/internal/model"
- xsql "go-common/library/database/sql"
- "go-common/library/log"
- "github.com/pkg/errors"
- )
- const (
- _getUserContractByMid = "SELECT `id`, `mid`, `contract_id`, `order_no`, `is_deleted`, `ctime`, `mtime` FROM `tv_user_contract` WHERE `mid`=? AND `is_deleted`=0"
- _getUserContractByContractId = "SELECT `id`, `mid`, `contract_id`, `order_no`, `is_deleted`, `ctime`, `mtime` FROM `tv_user_contract` WHERE `contract_id`=? AND `is_deleted`=0"
- _deleteUserContract = "UPDATE `tv_user_contract` SET `is_deleted`=1 WHERE `id`=?"
- _insertUserContract = "INSERT INTO tv_user_contract (`mid`, `contract_id`, `order_no`) VALUES (?,?,?)"
- )
- // UserContractByMid quires one row from tv_user_contract.
- func (d *Dao) UserContractByMid(c context.Context, mid int64) (uc *model.UserContract, err error) {
- row := d.db.QueryRow(c, _getUserContractByMid, mid)
- uc = &model.UserContract{}
- err = row.Scan(&uc.ID, &uc.Mid, &uc.ContractId, &uc.OrderNo, &uc.IsDeleted, &uc.Ctime, &uc.Mtime)
- if err == sql.ErrNoRows {
- return nil, nil
- }
- if err != nil {
- log.Error("rows.Scan(%s) error(%v)", _getUserContractByMid, err)
- err = errors.WithStack(err)
- return nil, err
- }
- return uc, nil
- }
- // UserContractByContractId quires one row from tv_user_contract.
- func (d *Dao) UserContractByContractId(c context.Context, contractId string) (uc *model.UserContract, err error) {
- row := d.db.QueryRow(c, _getUserContractByContractId, contractId)
- uc = &model.UserContract{}
- err = row.Scan(&uc.ID, &uc.Mid, &uc.ContractId, &uc.OrderNo, &uc.IsDeleted, &uc.Ctime, &uc.Mtime)
- if err == sql.ErrNoRows {
- return nil, nil
- }
- if err != nil {
- log.Error("rows.Scan(%s) error(%v)", _getUserContractByContractId, err)
- err = errors.WithStack(err)
- return nil, err
- }
- return uc, nil
- }
- // TxDeleteUserContract deletes one user contract record.
- func (d *Dao) TxDeleteUserContract(ctx context.Context, tx *xsql.Tx, id int32) (err error) {
- if _, err = tx.Exec(_deleteUserContract, id); err != nil {
- log.Error("rows.Scan(%s) error(%v)", _deleteUserContract, err)
- err = errors.WithStack(err)
- return
- }
- return
- }
- // TxInsertUserContract insert one row into tv_user_contract.
- func (d *Dao) TxInsertUserContract(ctx context.Context, tx *xsql.Tx, uc *model.UserContract) (id int64, err error) {
- var (
- res sql.Result
- )
- if res, err = tx.Exec(_insertUserContract, uc.Mid, uc.ContractId, uc.OrderNo); err != nil {
- log.Error("d.TxInsertUserContract(%+v) err(%+v)", uc, err)
- err = errors.WithStack(err)
- return
- }
- if id, err = res.LastInsertId(); err != nil {
- log.Error("d.TxInsertUserContract(%+v) err(%+v)", uc, err)
- err = errors.WithStack(err)
- return
- }
- return
- }
|