package services import ( "PaymentCenter/app/constants/errorcode" "PaymentCenter/app/data" "PaymentCenter/app/http/entities" "PaymentCenter/app/http/entities/backend" "PaymentCenter/app/models/appmodel" "PaymentCenter/app/models/merchantmodel" "PaymentCenter/app/models/paychannelmodel" "xorm.io/builder" ) func AppList(req backend.AppListRequest) (result []appmodel.App, total int64, code int) { repo := data.NewAppRepo(paychannelmodel.GetInstance().GetDb()) // 拼接查询条件 conn := builder.NewCond() if req.MerchantId > 0 { conn = conn.And(builder.Eq{"merchant_id": req.MerchantId}) } // 调用repo appList := make([]appmodel.App, 0) count, err := repo.AppList(conn, req.PageRequest, &appList) code = handErr(err) return appList, count, code } func AppCreate(App *appmodel.App) (code int) { db := paychannelmodel.GetInstance().GetDb() repo := data.NewAppRepo(db) merchantRepo := data.NewMerchantRepo(db) // 拼接查询条件 conn := builder.NewCond() conn = conn.And(builder.Eq{"id": App.MerchantId}) merchant := merchantmodel.Merchant{} has, err := merchantRepo.MerchantDetail(&merchant, conn) if err != nil { return handErr(err) } if !has { return errorcode.MerchantNotFound } _, err = repo.AppInsertOne(App) code = handErr(err) return } func AppUpdate(App *appmodel.App) (code int) { db := paychannelmodel.GetInstance().GetDb() repo := data.NewAppRepo(db) merchantRepo := data.NewMerchantRepo(db) // 拼接查询条件 conn := builder.NewCond() conn = conn.And(builder.Eq{"id": App.MerchantId}) merchant := merchantmodel.Merchant{} has, err := merchantRepo.MerchantDetail(&merchant, conn) if err != nil { return handErr(err) } if !has { return errorcode.MerchantNotFound } // 拼接查询条件 uconn := builder.NewCond() uconn = uconn.And(builder.Eq{"Id": App.Id}) _, err = repo.AppUpdate(App, uconn, "app_remark") code = handErr(err) return } func AppDelete(req entities.IdRequest) (code int) { repo := data.NewAppRepo(paychannelmodel.GetInstance().GetDb()) // 拼接查询条件 conn := builder.NewCond() conn = conn.And(builder.Eq{"Id": req.Id}) m := appmodel.App{Id: req.Id} _, err := repo.AppDelete(&m, conn) code = handErr(err) return }