You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

110 lines
3.0 KiB

package pay
import (
"yunyan/comm"
"yunyan/lego/core"
"yunyan/lego/core/cbase"
"yunyan/lego/sys/mysql"
"yunyan/pb"
)
// 代理模型
type modelComp struct {
cbase.ModuleCompBase
module *Pay
}
// 组件初始化接口
func (this *modelComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, opt core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, opt)
this.module = module.(*Pay)
if err = mysql.CreateTable(comm.TablePayOrder, &pb.DBPayOrder{}); err != nil {
this.module.Errorln(err)
}
if err = mysql.CreateTable(comm.TableAppStatDaily, &pb.DBAppStat{}); err != nil {
this.module.Errorln(err)
}
if err = mysql.CreateTable(comm.TableAppStatMonthly, &pb.DBAppStat{}); err != nil {
this.module.Errorln(err)
}
if err = mysql.CreateTable(comm.TableAppStatYearly, &pb.DBAppStat{}); err != nil {
this.module.Errorln(err)
}
return
}
// 根据商户订单号查询订单
func (this *modelComp) goodss() (models []*pb.DBGoods, err error) {
models = make([]*pb.DBGoods, 0)
err = mysql.Find(comm.TableGoods, &models, "")
return
}
func (this *modelComp) getUser(uid string) (user *pb.DBUser, err error) {
user = &pb.DBUser{}
err = mysql.FindOne(comm.TableUser, user, "uid=?", uid)
return
}
func (this *modelComp) updateUser(user *pb.DBUser) (err error) {
if err = mysql.Save(comm.TableUser, user); err != nil {
this.module.Errorln(err)
}
return
}
// 创建支付订单
func (this *modelComp) createPayOrder(order *pb.DBPayOrder) (err error) {
if err = mysql.Insert(comm.TablePayOrder, order); err != nil {
this.module.Errorln(err)
}
return
}
// 更新支付订单
func (this *modelComp) updatePayOrder(order *pb.DBPayOrder) (err error) {
if err = mysql.Save(comm.TablePayOrder, order); err != nil {
this.module.Errorln(err)
}
return
}
// 查询支付订单
func (this *modelComp) getPayOrder(orderId string) (model *pb.DBPayOrder, err error) {
model = &pb.DBPayOrder{}
if err = mysql.FindOne(comm.TablePayOrder, model, "order_id=?", orderId); err != nil {
this.module.Errorln(err)
}
return
}
// 查询支付订单
func (this *modelComp) getPayOrders(uid string) (model []*pb.DBPayOrder, err error) {
model = make([]*pb.DBPayOrder, 0)
if err = mysql.FindOne(comm.TablePayOrder, model, "uid=?", uid); err != nil {
this.module.Errorln(err)
}
return
}
// 查询用户支付订单列表(按创建时间倒序, 分页)
func (this *modelComp) getUserPayOrders(uid string, page, size int32) (models []*pb.DBPayOrder, total int64, err error) {
models = make([]*pb.DBPayOrder, 0)
tx := mysql.Table(comm.TablePayOrder).Where("uid = ?", uid)
if err = tx.Count(&total).Error; err != nil {
this.module.Errorln(err)
return
}
offset := (page - 1) * size
if err = tx.Order("create_time DESC").Offset(int(offset)).Limit(int(size)).Find(&models).Error; err != nil {
this.module.Errorln(err)
return
}
return
}
// 添加积分日志
func (this *modelComp) addIntegralLog(userlog *pb.DBUserUseLog) (err error) {
err = mysql.Insert(comm.TableUserUseLog, userlog)
return
}