123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package dal
- import (
- "errors"
- "time"
- "xiaoniaokuaiyan.com/xiaoniao/entity"
- "xiaoniaokuaiyan.com/xiaoniao/util"
- )
- type UserLinker struct{}
- func (ul *UserLinker) Save(linker *entity.UserLinker) (*entity.UserLinker, error) {
- db := util.GetWriteSqlDB()
- linker.CreatedAt = time.Now().Format("2006-01-02 15:04:05")
- strSql, kvm := util.GenerateInsertSqlFromStruct("t_custom_linker", linker)
- result, err := db.NamedExec(strSql, kvm)
- if err != nil {
- return nil, err
- }
- ar, _ := result.RowsAffected()
- if ar > 0 && linker.IsDefault == 1 {
- _, err = db.Exec("update t_custom_linker set is_default = 0 where custom_id = ? and id <> ?")
- if err != nil {
- return nil, err
- }
- }
- aid, _ := result.LastInsertId()
- linker.Id = int(aid)
- return linker, nil
- }
- func (ul *UserLinker) List(customId int, isDefault bool) ([]entity.UserLinkerDB, error) {
- db := util.GetSqlDB()
- var linkerList = []entity.UserLinkerDB{}
- strSql := "select * from t_custom_linker where custom_id = ?"
- if isDefault {
- strSql += " order by is_default desc limit 1"
- }
- err := db.Select(&linkerList, strSql, customId)
- if err != nil {
- return nil, err
- }
- return linkerList, nil
- }
- func (ul *UserLinker) Get(id, cid int) (*entity.UserLinkerDB, error) {
- db := util.GetSqlDB()
- var userLinker = &entity.UserLinkerDB{}
- err := db.Get(userLinker, "select * from t_custom_linker where id = ? and custom_id = ?", id, cid)
- if err != nil {
- return nil, err
- }
- return userLinker, nil
- }
- func (ul *UserLinker) Update(linker *entity.UserLinker) (*entity.UserLinker, error) {
- db := util.GetWriteSqlDB()
- if linker.County != "" {
- var countyId int
- db.Get(&countyId, "select id from t_county where name = ?;", linker.County)
- if countyId <= 0 {
- return nil, errors.New("can not find county: " + linker.County)
- }
- //linker.CountyId = countyId
- }
- strSql, kvm := util.GenerateUpdateSqlFromStruct("t_custom_linker", linker, " where id = :id")
- _, err := db.NamedExec(strSql, kvm)
- if err != nil {
- return nil, err
- }
- /*ra, _ := result.RowsAffected()
- if ra <= 0 {
- return nil, errors.New("update failed")
- }*/
- if linker.IsDefault == 1 {
- _, err = db.Exec("update t_custom_linker set is_default = 0 where custom_id = ? and id <> ?", linker.CustomId, linker.Id)
- if err != nil {
- return nil, err
- }
- }
- return linker, nil
- }
- func (ul *UserLinker) Remove(linker *entity.UserLinker) (interface{}, error) {
- db := util.GetWriteSqlDB()
- strSql := "delete from t_custom_linker where id = ? and custom_id = ?"
- result, err := db.Exec(strSql, linker.Id, linker.CustomId)
- if err != nil {
- return nil, err
- }
- ra, _ := result.RowsAffected()
- if ra <= 0 {
- return nil, errors.New("remove failed(can not find record)")
- }
- return true, nil
- }
- var DefaultUserLinkerDal = &UserLinker{}
|