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) { var err error db := paychannelmodel.GetInstance().GetDb() repo := data.NewAppRepo(db) // 拼接查询条件 conn := builder.NewCond() conn = conn.And(builder.Eq{"Id": app.Id}) if app.AppName != "" { // 编辑页面更新,备注和白名单IP可更新为空 _, err = repo.AppUpdate(app, conn, "app_remark", "white_ip") } else { _, err = repo.AppUpdate(app, conn) } 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 }