87 lines
2.2 KiB
Go
87 lines
2.2 KiB
Go
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
|
|
}
|