肝病算一算后台api初始化

This commit is contained in:
2024-08-07 14:41:07 +08:00
parent 38ed1a5bd9
commit 4af8640e5f
147 changed files with 13499 additions and 1 deletions
+108
View File
@@ -0,0 +1,108 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type AdminUserDao struct {
}
// GetAdminUserById 获取数据-id
func (r *AdminUserDao) GetAdminUserById(AdminUserId int64) (m *model.AdminUser, err error) {
err = global.Db.First(&m, AdminUserId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetAdminUserPreloadById 获取数据-加载全部关联-id
func (r *AdminUserDao) GetAdminUserPreloadById(AdminUserId int64) (m *model.AdminUser, err error) {
err = global.Db.Preload(clause.Associations).First(&m, AdminUserId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteAdminUser 删除
func (r *AdminUserDao) DeleteAdminUser(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.AdminUser{}).Error
if err != nil {
return err
}
return nil
}
// DeleteAdminUserById 删除-id
func (r *AdminUserDao) DeleteAdminUserById(tx *gorm.DB, AdminUserId int64) error {
if err := tx.Delete(&model.AdminUser{}, AdminUserId).Error; err != nil {
return err
}
return nil
}
// EditAdminUser 修改
func (r *AdminUserDao) EditAdminUser(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.AdminUser{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditAdminUserById 修改-id
func (r *AdminUserDao) EditAdminUserById(tx *gorm.DB, AdminUserId int64, data interface{}) error {
err := tx.Model(&model.AdminUser{}).Where("AdminUser_id = ?", AdminUserId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetAdminUserList 获取列表
func (r *AdminUserDao) GetAdminUserList(maps interface{}) (m []*model.AdminUser, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetAdminUserCount 获取数量
func (r *AdminUserDao) GetAdminUserCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.AdminUser{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetAdminUserListRand 获取列表-随机
func (r *AdminUserDao) GetAdminUserListRand(maps interface{}, limit int) (m []*model.AdminUser, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddAdminUser 新增
func (r *AdminUserDao) AddAdminUser(tx *gorm.DB, model *model.AdminUser) (*model.AdminUser, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetAdminUser 获取
func (r *AdminUserDao) GetAdminUser(maps interface{}) (m *model.AdminUser, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+130
View File
@@ -0,0 +1,130 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type BaseAgreementDao struct {
}
// GetBaseAgreementById 获取数据-id
func (r *BaseAgreementDao) GetBaseAgreementById(agreementId int64) (m *model.BaseAgreement, err error) {
err = global.Db.First(&m, agreementId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetBaseAgreementPreloadById 获取数据-加载全部关联-id
func (r *BaseAgreementDao) GetBaseAgreementPreloadById(agreementId int64) (m *model.BaseAgreement, err error) {
err = global.Db.Preload(clause.Associations).First(&m, agreementId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteBaseAgreement 删除
func (r *BaseAgreementDao) DeleteBaseAgreement(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.BaseAgreement{}).Error
if err != nil {
return err
}
return nil
}
// DeleteBaseAgreementById 删除-id
func (r *BaseAgreementDao) DeleteBaseAgreementById(tx *gorm.DB, agreementId int64) error {
if err := tx.Delete(&model.BaseAgreement{}, agreementId).Error; err != nil {
return err
}
return nil
}
// EditBaseAgreement 修改
func (r *BaseAgreementDao) EditBaseAgreement(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.BaseAgreement{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditBaseAgreementById 修改-id
func (r *BaseAgreementDao) EditBaseAgreementById(tx *gorm.DB, agreementId int64, data interface{}) error {
err := tx.Model(&model.BaseAgreement{}).Where("agreement_id = ?", agreementId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetBaseAgreementList 获取列表
func (r *BaseAgreementDao) GetBaseAgreementList(maps interface{}) (m []*model.BaseAgreement, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetBaseAgreementCount 获取数量
func (r *BaseAgreementDao) GetBaseAgreementCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.BaseAgreement{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetBaseAgreementListRand 获取列表-随机
func (r *BaseAgreementDao) GetBaseAgreementListRand(maps interface{}, limit int) (m []*model.BaseAgreement, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddBaseAgreement 新增
func (r *BaseAgreementDao) AddBaseAgreement(tx *gorm.DB, model *model.BaseAgreement) (*model.BaseAgreement, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetBaseAgreement 获取
func (r *BaseAgreementDao) GetBaseAgreement(maps interface{}) (m *model.BaseAgreement, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetBaseAgreementPageSearch 获取列表-分页
func (r *BaseAgreementDao) GetBaseAgreementPageSearch(page, pageSize int) (m []*model.BaseAgreement, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.BaseAgreement{})
// 排序
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
+180
View File
@@ -0,0 +1,180 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/api/requests"
"hepa-calc-admin-api/global"
)
type BaseClassDao struct {
}
// GetBaseClassById 获取数据-id
func (r *BaseClassDao) GetBaseClassById(classId int64) (m *model.BaseClass, err error) {
err = global.Db.First(&m, classId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetBaseClassPreloadById 获取数据-加载全部关联-id
func (r *BaseClassDao) GetBaseClassPreloadById(classId int64) (m *model.BaseClass, err error) {
err = global.Db.Preload(clause.Associations).First(&m, classId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteBaseClass 删除
func (r *BaseClassDao) DeleteBaseClass(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.BaseClass{}).Error
if err != nil {
return err
}
return nil
}
// DeleteBaseClassById 删除-id
func (r *BaseClassDao) DeleteBaseClassById(tx *gorm.DB, classId int64) error {
if err := tx.Delete(&model.BaseClass{}, classId).Error; err != nil {
return err
}
return nil
}
// EditBaseClass 修改
func (r *BaseClassDao) EditBaseClass(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.BaseClass{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditBaseClassById 修改-id
func (r *BaseClassDao) EditBaseClassById(tx *gorm.DB, classId int64, data interface{}) error {
err := tx.Model(&model.BaseClass{}).Where("class_id = ?", classId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetBaseClassList 获取列表
func (r *BaseClassDao) GetBaseClassList(maps interface{}) (m []*model.BaseClass, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetBaseClassCount 获取数量
func (r *BaseClassDao) GetBaseClassCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.BaseClass{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetBaseClassListRand 获取列表-随机
func (r *BaseClassDao) GetBaseClassListRand(maps interface{}, limit int) (m []*model.BaseClass, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddBaseClass 新增
func (r *BaseClassDao) AddBaseClass(tx *gorm.DB, model *model.BaseClass) (*model.BaseClass, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetBaseClass 获取
func (r *BaseClassDao) GetBaseClass(maps interface{}) (m *model.BaseClass, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetBaseClassPageSearch 获取列表-分页
func (r *BaseClassDao) GetBaseClassPageSearch(req requests.GetBaseClassPage, page, pageSize int) (m []*model.BaseClass, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.BaseClass{})
// 分类名称
if req.ClassName != "" {
query = query.Where("class_name LIKE ?", "%"+req.ClassName+"%")
}
// 分类状态
if req.ClassStatus != nil {
query = query.Where("class_status = ?", req.ClassStatus)
}
// 排序
if req.Order != nil {
if req.Order.Sort != "" {
query = query.Order("sort " + req.Order.Sort)
}
}
// 排序
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
// GetBaseClassListSearch 获取列表
func (r *BaseClassDao) GetBaseClassListSearch(req requests.GetBaseClassList) (m []*model.BaseClass, err error) {
// 构建查询条件
query := global.Db.Model(&model.BaseClass{})
// 分类名称
if req.ClassName != "" {
query = query.Where("class_name LIKE ?", "%"+req.ClassName+"%")
}
// 分类状态
if req.ClassStatus != nil {
query = query.Where("class_status = ?", req.ClassStatus)
}
// 排序
if req.Order != nil {
if req.Order.Sort != "" {
query = query.Order("sort " + req.Order.Sort)
}
}
// 排序
query = query.Order("created_at desc")
err = query.Scopes(model.Paginate(1, 10)).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+174
View File
@@ -0,0 +1,174 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/api/requests"
"hepa-calc-admin-api/global"
)
type CouponDao struct {
}
// GetCouponById 获取数据-id
func (r *CouponDao) GetCouponById(CouponId int64) (m *model.Coupon, err error) {
err = global.Db.First(&m, CouponId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetCouponPreloadById 获取数据-加载全部关联-id
func (r *CouponDao) GetCouponPreloadById(CouponId int64) (m *model.Coupon, err error) {
err = global.Db.Preload(clause.Associations).First(&m, CouponId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteCoupon 删除
func (r *CouponDao) DeleteCoupon(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.Coupon{}).Error
if err != nil {
return err
}
return nil
}
// DeleteCouponById 删除-id
func (r *CouponDao) DeleteCouponById(tx *gorm.DB, CouponId int64) error {
if err := tx.Delete(&model.Coupon{}, CouponId).Error; err != nil {
return err
}
return nil
}
// EditCoupon 修改
func (r *CouponDao) EditCoupon(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.Coupon{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditCouponById 修改-id
func (r *CouponDao) EditCouponById(tx *gorm.DB, CouponId int64, data interface{}) error {
err := tx.Model(&model.Coupon{}).Where("coupon_id = ?", CouponId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetCouponList 获取列表
func (r *CouponDao) GetCouponList(maps interface{}) (m []*model.Coupon, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetCouponCount 获取数量
func (r *CouponDao) GetCouponCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.Coupon{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetCouponListRand 获取列表-随机
func (r *CouponDao) GetCouponListRand(maps interface{}, limit int) (m []*model.Coupon, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddCoupon 新增
func (r *CouponDao) AddCoupon(tx *gorm.DB, model *model.Coupon) (*model.Coupon, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetCoupon 获取
func (r *CouponDao) GetCoupon(maps interface{}) (m *model.Coupon, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetCouponListByValidTime 获取列表-今天开始时间/过期时间
func (r *CouponDao) GetCouponListByValidTime(maps interface{}, startTime, endTime string) (m []*model.Coupon, err error) {
err = global.Db.Where(maps).Where("valid_end_time BETWEEN ? AND ?", startTime, endTime).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetCouponPageSearch 获取列表-分页
func (r *CouponDao) GetCouponPageSearch(req requests.GetCouponPage, page, pageSize int) (m []*model.Coupon, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.Coupon{})
// 优惠券名称
if req.CouponName != "" {
query = query.Where("coupon_name LIKE ?", "%"+req.CouponName+"%")
}
// 优惠券类型
if req.CouponType != nil {
query = query.Where("coupon_type = ?", req.CouponType)
}
// 状态
if req.CouponStatus != nil {
query = query.Where("coupon_status = ?", req.CouponStatus)
}
// 适用范围
if req.ApplicationScope != nil {
query = query.Where("application_scope = ?", req.ApplicationScope)
}
// 是否互斥
if req.IsMutex != nil {
query = query.Where("is_mutex = ?", req.IsMutex)
}
// 有效类型
if req.ValidType != nil {
query = query.Where("valid_type = ?", req.ValidType)
}
// 优惠券描述
if req.CouponDesc != "" {
query = query.Where("coupon_desc = ?", req.CouponDesc)
}
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
+226
View File
@@ -0,0 +1,226 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/api/requests"
"hepa-calc-admin-api/global"
)
type OrderMemberDao struct {
}
// GetOrderMemberById 获取数据-id
func (r *OrderMemberDao) GetOrderMemberById(OrderId int64) (m *model.OrderMember, err error) {
err = global.Db.First(&m, OrderId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberPreloadById 获取数据-加载全部关联-id
func (r *OrderMemberDao) GetOrderMemberPreloadById(OrderId int64) (m *model.OrderMember, err error) {
err = global.Db.Preload(clause.Associations).First(&m, OrderId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteOrderMember 删除
func (r *OrderMemberDao) DeleteOrderMember(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.OrderMember{}).Error
if err != nil {
return err
}
return nil
}
// DeleteOrderMemberById 删除-id
func (r *OrderMemberDao) DeleteOrderMemberById(tx *gorm.DB, OrderMemberId int64) error {
if err := tx.Delete(&model.OrderMember{}, OrderMemberId).Error; err != nil {
return err
}
return nil
}
// EditOrderMember 修改
func (r *OrderMemberDao) EditOrderMember(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.OrderMember{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditOrderMemberById 修改-id
func (r *OrderMemberDao) EditOrderMemberById(tx *gorm.DB, OrderId int64, data interface{}) error {
err := tx.Model(&model.OrderMember{}).Where("order_id = ?", OrderId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetOrderMemberList 获取列表
func (r *OrderMemberDao) GetOrderMemberList(maps interface{}) (m []*model.OrderMember, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberCount 获取数量
func (r *OrderMemberDao) GetOrderMemberCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.OrderMember{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetOrderMemberListRand 获取列表-随机
func (r *OrderMemberDao) GetOrderMemberListRand(maps interface{}, limit int) (m []*model.OrderMember, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddOrderMember 新增
func (r *OrderMemberDao) AddOrderMember(tx *gorm.DB, model *model.OrderMember) (*model.OrderMember, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetOrderMember 获取
func (r *OrderMemberDao) GetOrderMember(maps interface{}) (m *model.OrderMember, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserFirstTimeBuyOrderMember 获取用户首次购买的订单
func (r *OrderMemberDao) GetUserFirstTimeBuyOrderMember(userId int64) (m *model.OrderMember, err error) {
err = global.Db.
Where("user_id = ?", userId).
Where("order_status != ?", 2).
First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberSum 获取数量
func (r *OrderMemberDao) GetOrderMemberSum(maps interface{}, field string) (total float64, err error) {
var result struct {
Sum float64
}
err = global.Db.Model(&model.OrderMember{}).Where(maps).Select("SUM(" + field + ") as sum").Scan(&result).Error
if err != nil {
return 0, err
}
return result.Sum, nil
}
// GetOrderMemberListByTime 获取列表-开始时间/过期时间
func (r *OrderMemberDao) GetOrderMemberListByTime(maps interface{}, startTime, endTime, field string) (m []*model.OrderMember, err error) {
err = global.Db.Where(maps).Where(field+" BETWEEN ? AND ?", startTime, endTime).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberPageSearch 获取列表-分页
func (r *OrderMemberDao) GetOrderMemberPageSearch(req requests.GetOrderMemberPage, page, pageSize int) (m []*model.OrderMember, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.OrderMember{})
query = query.Preload("SystemMember")
query = query.Preload("User")
// 会员id
if req.SystemMemberId != "" {
query = query.Where("system_member_id = ?", req.SystemMemberId)
}
// 订单状态(1:待支付 2:已完成 3:已取消)
if req.OrderStatus != nil {
query = query.Where("order_status = ?", req.OrderStatus)
}
// 支付渠道
if req.PayChannel != nil {
query = query.Where("pay_channel = ?", req.PayChannel)
}
// 支付状态
if req.PayStatus != nil {
query = query.Where("pay_status = ?", req.PayStatus)
}
// 订单退款状态
if req.RefundStatus != nil {
query = query.Where("refund_status = ?", req.RefundStatus)
}
// 系统订单编号
if req.OrderNo != "" {
query = query.Where("order_no = ?", req.OrderNo)
}
// 第三方支付流水号
if req.EscrowTradeNo != "" {
query = query.Where("escrow_trade_no = ?", req.EscrowTradeNo)
}
// 取消状态
if req.CancelStatus != nil {
query = query.Where("cancel_status = ?", req.CancelStatus)
}
// 用户名称
if req.UserName != "" {
subQuery := global.Db.Model(&model.User{}).
Select("user_id").
Where("user_name LIKE ?", "%"+req.UserName+"%")
query = query.Where(gorm.Expr("user_id IN (?)", subQuery))
}
// 会员天数
if req.MemberDays != nil {
subQuery := global.Db.Model(&model.SystemMember{}).
Select("system_member_id").
Where("member_days = ?", req.MemberDays)
query = query.Where(gorm.Expr("system_member_id IN (?)", subQuery))
}
// 排序
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
+117
View File
@@ -0,0 +1,117 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type OrderMemberCouponDao struct {
}
// GetOrderMemberCouponById 获取数据-id
func (r *OrderMemberCouponDao) GetOrderMemberCouponById(OrderMemberCouponId int64) (m *model.OrderMemberCoupon, err error) {
err = global.Db.First(&m, OrderMemberCouponId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberCouponPreloadById 获取数据-加载全部关联-id
func (r *OrderMemberCouponDao) GetOrderMemberCouponPreloadById(OrderMemberCouponId int64) (m *model.OrderMemberCoupon, err error) {
err = global.Db.Preload(clause.Associations).First(&m, OrderMemberCouponId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteOrderMemberCoupon 删除
func (r *OrderMemberCouponDao) DeleteOrderMemberCoupon(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.OrderMemberCoupon{}).Error
if err != nil {
return err
}
return nil
}
// DeleteOrderMemberCouponById 删除-id
func (r *OrderMemberCouponDao) DeleteOrderMemberCouponById(tx *gorm.DB, OrderMemberCouponId int64) error {
if err := tx.Delete(&model.OrderMemberCoupon{}, OrderMemberCouponId).Error; err != nil {
return err
}
return nil
}
// EditOrderMemberCoupon 修改
func (r *OrderMemberCouponDao) EditOrderMemberCoupon(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.OrderMemberCoupon{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditOrderMemberCouponById 修改-id
func (r *OrderMemberCouponDao) EditOrderMemberCouponById(tx *gorm.DB, OrderMemberCouponId int64, data interface{}) error {
err := tx.Model(&model.OrderMemberCoupon{}).Where("order_coupon_id = ?", OrderMemberCouponId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetOrderMemberCouponList 获取列表
func (r *OrderMemberCouponDao) GetOrderMemberCouponList(maps interface{}) (m []*model.OrderMemberCoupon, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberCouponCount 获取数量
func (r *OrderMemberCouponDao) GetOrderMemberCouponCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.OrderMemberCoupon{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetOrderMemberCouponListRand 获取列表-随机
func (r *OrderMemberCouponDao) GetOrderMemberCouponListRand(maps interface{}, limit int) (m []*model.OrderMemberCoupon, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddOrderMemberCoupon 新增
func (r *OrderMemberCouponDao) AddOrderMemberCoupon(tx *gorm.DB, model *model.OrderMemberCoupon) (*model.OrderMemberCoupon, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetOrderMemberCoupon 获取
func (r *OrderMemberCouponDao) GetOrderMemberCoupon(maps interface{}) (m *model.OrderMemberCoupon, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberCouponByOrderId 获取数据-订单id
func (r *OrderMemberCouponDao) GetOrderMemberCouponByOrderId(orderId int64) (m *model.OrderMemberCoupon, err error) {
err = global.Db.Where("order_id = ?", orderId).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+108
View File
@@ -0,0 +1,108 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type OrderMemberRefundDao struct {
}
// GetOrderMemberRefundById 获取数据-id
func (r *OrderMemberRefundDao) GetOrderMemberRefundById(OrderMemberRefundId int64) (m *model.OrderMemberRefund, err error) {
err = global.Db.First(&m, OrderMemberRefundId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberRefundPreloadById 获取数据-加载全部关联-id
func (r *OrderMemberRefundDao) GetOrderMemberRefundPreloadById(OrderMemberRefundId int64) (m *model.OrderMemberRefund, err error) {
err = global.Db.Preload(clause.Associations).First(&m, OrderMemberRefundId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteOrderMemberRefund 删除
func (r *OrderMemberRefundDao) DeleteOrderMemberRefund(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.OrderMemberRefund{}).Error
if err != nil {
return err
}
return nil
}
// DeleteOrderMemberRefundById 删除-id
func (r *OrderMemberRefundDao) DeleteOrderMemberRefundById(tx *gorm.DB, OrderMemberRefundId int64) error {
if err := tx.Delete(&model.OrderMemberRefund{}, OrderMemberRefundId).Error; err != nil {
return err
}
return nil
}
// EditOrderMemberRefund 修改
func (r *OrderMemberRefundDao) EditOrderMemberRefund(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.OrderMemberRefund{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditOrderMemberRefundById 修改-id
func (r *OrderMemberRefundDao) EditOrderMemberRefundById(tx *gorm.DB, OrderMemberRefundId int64, data interface{}) error {
err := tx.Model(&model.OrderMemberRefund{}).Where("order_refund_id = ?", OrderMemberRefundId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetOrderMemberRefundList 获取列表
func (r *OrderMemberRefundDao) GetOrderMemberRefundList(maps interface{}) (m []*model.OrderMemberRefund, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderMemberRefundCount 获取数量
func (r *OrderMemberRefundDao) GetOrderMemberRefundCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.OrderMemberRefund{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetOrderMemberRefundListRand 获取列表-随机
func (r *OrderMemberRefundDao) GetOrderMemberRefundListRand(maps interface{}, limit int) (m []*model.OrderMemberRefund, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddOrderMemberRefund 新增
func (r *OrderMemberRefundDao) AddOrderMemberRefund(tx *gorm.DB, model *model.OrderMemberRefund) (*model.OrderMemberRefund, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetOrderMemberRefund 获取
func (r *OrderMemberRefundDao) GetOrderMemberRefund(maps interface{}) (m *model.OrderMemberRefund, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+236
View File
@@ -0,0 +1,236 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/api/requests"
"hepa-calc-admin-api/global"
)
type OrderSingleDao struct {
}
// GetOrderSingleById 获取数据-id
func (r *OrderSingleDao) GetOrderSingleById(OrderId int64) (m *model.OrderSingle, err error) {
err = global.Db.First(&m, OrderId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSinglePreloadById 获取数据-加载全部关联-id
func (r *OrderSingleDao) GetOrderSinglePreloadById(OrderId int64) (m *model.OrderSingle, err error) {
err = global.Db.Preload(clause.Associations).First(&m, OrderId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteOrderSingle 删除
func (r *OrderSingleDao) DeleteOrderSingle(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.OrderSingle{}).Error
if err != nil {
return err
}
return nil
}
// DeleteOrderSingleById 删除-id
func (r *OrderSingleDao) DeleteOrderSingleById(tx *gorm.DB, orderId int64) error {
if err := tx.Delete(&model.OrderSingle{}, orderId).Error; err != nil {
return err
}
return nil
}
// EditOrderSingle 修改
func (r *OrderSingleDao) EditOrderSingle(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.OrderSingle{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditOrderSingleById 修改-id
func (r *OrderSingleDao) EditOrderSingleById(tx *gorm.DB, orderId int64, data interface{}) error {
err := tx.Model(&model.OrderSingle{}).Where("order_id = ?", orderId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetOrderSingleList 获取列表
func (r *OrderSingleDao) GetOrderSingleList(maps interface{}) (m []*model.OrderSingle, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSingleCount 获取数量
func (r *OrderSingleDao) GetOrderSingleCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.OrderSingle{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetOrderSingleListRand 获取列表-随机
func (r *OrderSingleDao) GetOrderSingleListRand(maps interface{}, limit int) (m []*model.OrderSingle, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddOrderSingle 新增
func (r *OrderSingleDao) AddOrderSingle(tx *gorm.DB, model *model.OrderSingle) (*model.OrderSingle, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetOrderSingle 获取
func (r *OrderSingleDao) GetOrderSingle(maps interface{}) (m *model.OrderSingle, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSingleOrderList 获取列表-排序
func (r *OrderSingleDao) GetOrderSingleOrderList(maps interface{}, orderField string, limit int) (m []*model.OrderSingle, err error) {
err = global.Db.Where(maps).Preload(clause.Associations).Order(orderField).Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserFirstTimeBuyOrderSingle 获取用户首次购买的订单
func (r *OrderSingleDao) GetUserFirstTimeBuyOrderSingle(userId, questionId int64) (m *model.OrderSingle, err error) {
err = global.Db.
Where("user_id = ?", userId).
Where("question_id = ?", questionId).
Where("order_status != ?", 3).
First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSingleSum 获取数量
func (r *OrderSingleDao) GetOrderSingleSum(maps interface{}, field string) (total float64, err error) {
var result struct {
Sum float64
}
err = global.Db.Model(&model.OrderSingle{}).Where(maps).Select("SUM(" + field + ") as sum").Scan(&result).Error
if err != nil {
return 0, err
}
return result.Sum, nil
}
// GetOrderSingleListByTime 获取列表-开始时间/过期时间
func (r *OrderSingleDao) GetOrderSingleListByTime(maps interface{}, startTime, endTime, field string) (m []*model.OrderSingle, err error) {
err = global.Db.Where(maps).Where(field+" BETWEEN ? AND ?", startTime, endTime).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSinglePageSearch 获取列表-分页
func (r *OrderSingleDao) GetOrderSinglePageSearch(req requests.GetOrderSinglePage, page, pageSize int) (m []*model.OrderSingle, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.OrderSingle{})
query = query.Preload("Question")
query = query.Preload("User")
// 问题id
if req.QuestionId != "" {
query = query.Where("question_id = ?", req.QuestionId)
}
// 订单状态(1:待支付 2:已完成 3:已取消)
if req.OrderStatus != nil {
query = query.Where("order_status = ?", req.OrderStatus)
}
// 支付渠道
if req.PayChannel != nil {
query = query.Where("pay_channel = ?", req.PayChannel)
}
// 支付状态
if req.PayStatus != nil {
query = query.Where("pay_status = ?", req.PayStatus)
}
// 订单退款状态
if req.RefundStatus != nil {
query = query.Where("refund_status = ?", req.RefundStatus)
}
// 系统订单编号
if req.OrderNo != "" {
query = query.Where("order_no = ?", req.OrderNo)
}
// 第三方支付流水号
if req.EscrowTradeNo != "" {
query = query.Where("escrow_trade_no = ?", req.EscrowTradeNo)
}
// 取消状态
if req.CancelStatus != nil {
query = query.Where("cancel_status = ?", req.CancelStatus)
}
// 问题标题
if req.QuestionTitle != "" {
subQuery := global.Db.Model(&model.Question{}).
Select("question_id").
Where("question_title LIKE ?", "%"+req.QuestionTitle+"%")
query = query.Where(gorm.Expr("question_id IN (?)", subQuery))
}
// 用户名称
if req.UserName != "" {
subQuery := global.Db.Model(&model.User{}).
Select("user_id").
Where("user_name LIKE ?", "%"+req.UserName+"%")
query = query.Where(gorm.Expr("user_id IN (?)", subQuery))
}
// 排序
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
+117
View File
@@ -0,0 +1,117 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type OrderSingleCouponDao struct {
}
// GetOrderSingleCouponById 获取数据-id
func (r *OrderSingleCouponDao) GetOrderSingleCouponById(OrderSingleCouponId int64) (m *model.OrderSingleCoupon, err error) {
err = global.Db.First(&m, OrderSingleCouponId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSingleCouponPreloadById 获取数据-加载全部关联-id
func (r *OrderSingleCouponDao) GetOrderSingleCouponPreloadById(OrderSingleCouponId int64) (m *model.OrderSingleCoupon, err error) {
err = global.Db.Preload(clause.Associations).First(&m, OrderSingleCouponId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSingleCouponByOrderId 获取数据-订单id
func (r *OrderSingleCouponDao) GetOrderSingleCouponByOrderId(orderId int64) (m *model.OrderSingleCoupon, err error) {
err = global.Db.Where("order_id = ?", orderId).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteOrderSingleCoupon 删除
func (r *OrderSingleCouponDao) DeleteOrderSingleCoupon(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.OrderSingleCoupon{}).Error
if err != nil {
return err
}
return nil
}
// DeleteOrderSingleCouponById 删除-id
func (r *OrderSingleCouponDao) DeleteOrderSingleCouponById(tx *gorm.DB, OrderSingleCouponId int64) error {
if err := tx.Delete(&model.OrderSingleCoupon{}, OrderSingleCouponId).Error; err != nil {
return err
}
return nil
}
// EditOrderSingleCoupon 修改
func (r *OrderSingleCouponDao) EditOrderSingleCoupon(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.OrderSingleCoupon{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditOrderSingleCouponById 修改-id
func (r *OrderSingleCouponDao) EditOrderSingleCouponById(tx *gorm.DB, OrderSingleCouponId int64, data interface{}) error {
err := tx.Model(&model.OrderSingleCoupon{}).Where("order_coupon_id = ?", OrderSingleCouponId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetOrderSingleCouponList 获取列表
func (r *OrderSingleCouponDao) GetOrderSingleCouponList(maps interface{}) (m []*model.OrderSingleCoupon, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSingleCouponCount 获取数量
func (r *OrderSingleCouponDao) GetOrderSingleCouponCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.OrderSingleCoupon{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetOrderSingleCouponListRand 获取列表-随机
func (r *OrderSingleCouponDao) GetOrderSingleCouponListRand(maps interface{}, limit int) (m []*model.OrderSingleCoupon, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddOrderSingleCoupon 新增
func (r *OrderSingleCouponDao) AddOrderSingleCoupon(tx *gorm.DB, model *model.OrderSingleCoupon) (*model.OrderSingleCoupon, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetOrderSingleCoupon 获取
func (r *OrderSingleCouponDao) GetOrderSingleCoupon(maps interface{}) (m *model.OrderSingleCoupon, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+108
View File
@@ -0,0 +1,108 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type OrderSingleRefundDao struct {
}
// GetOrderSingleRefundById 获取数据-id
func (r *OrderSingleRefundDao) GetOrderSingleRefundById(OrderSingleRefundId int64) (m *model.OrderSingleRefund, err error) {
err = global.Db.First(&m, OrderSingleRefundId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSingleRefundPreloadById 获取数据-加载全部关联-id
func (r *OrderSingleRefundDao) GetOrderSingleRefundPreloadById(OrderSingleRefundId int64) (m *model.OrderSingleRefund, err error) {
err = global.Db.Preload(clause.Associations).First(&m, OrderSingleRefundId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteOrderSingleRefund 删除
func (r *OrderSingleRefundDao) DeleteOrderSingleRefund(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.OrderSingleRefund{}).Error
if err != nil {
return err
}
return nil
}
// DeleteOrderSingleRefundById 删除-id
func (r *OrderSingleRefundDao) DeleteOrderSingleRefundById(tx *gorm.DB, OrderSingleRefundId int64) error {
if err := tx.Delete(&model.OrderSingleRefund{}, OrderSingleRefundId).Error; err != nil {
return err
}
return nil
}
// EditOrderSingleRefund 修改
func (r *OrderSingleRefundDao) EditOrderSingleRefund(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.OrderSingleRefund{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditOrderSingleRefundById 修改-id
func (r *OrderSingleRefundDao) EditOrderSingleRefundById(tx *gorm.DB, OrderSingleRefundId int64, data interface{}) error {
err := tx.Model(&model.OrderSingleRefund{}).Where("order_refund_id = ?", OrderSingleRefundId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetOrderSingleRefundList 获取列表
func (r *OrderSingleRefundDao) GetOrderSingleRefundList(maps interface{}) (m []*model.OrderSingleRefund, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetOrderSingleRefundCount 获取数量
func (r *OrderSingleRefundDao) GetOrderSingleRefundCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.OrderSingleRefund{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetOrderSingleRefundListRand 获取列表-随机
func (r *OrderSingleRefundDao) GetOrderSingleRefundListRand(maps interface{}, limit int) (m []*model.OrderSingleRefund, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddOrderSingleRefund 新增
func (r *OrderSingleRefundDao) AddOrderSingleRefund(tx *gorm.DB, model *model.OrderSingleRefund) (*model.OrderSingleRefund, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetOrderSingleRefund 获取
func (r *OrderSingleRefundDao) GetOrderSingleRefund(maps interface{}) (m *model.OrderSingleRefund, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+423
View File
@@ -0,0 +1,423 @@
package dao
import (
"errors"
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/api/requests"
"hepa-calc-admin-api/global"
)
type QuestionDao struct {
}
// GetQuestionById 获取数据-id
func (r *QuestionDao) GetQuestionById(QuestionId int64) (m *model.Question, err error) {
err = global.Db.First(&m, QuestionId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetQuestionPreloadById 获取数据-加载全部关联-id
func (r *QuestionDao) GetQuestionPreloadById(QuestionId int64) (m *model.Question, err error) {
err = global.Db.Preload(clause.Associations).First(&m, QuestionId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteQuestion 删除
func (r *QuestionDao) DeleteQuestion(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.Question{}).Error
if err != nil {
return err
}
return nil
}
// DeleteQuestionById 删除-id
func (r *QuestionDao) DeleteQuestionById(tx *gorm.DB, QuestionId int64) error {
if err := tx.Delete(&model.Question{}, QuestionId).Error; err != nil {
return err
}
return nil
}
// EditQuestion 修改
func (r *QuestionDao) EditQuestion(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.Question{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditQuestionById 修改-id
func (r *QuestionDao) EditQuestionById(tx *gorm.DB, QuestionId int64, data interface{}) error {
err := tx.Model(&model.Question{}).Where("question_id = ?", QuestionId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetQuestionList 获取列表
func (r *QuestionDao) GetQuestionList(maps interface{}) (m []*model.Question, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetQuestionCount 获取数量
func (r *QuestionDao) GetQuestionCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.Question{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetQuestionListRand 获取列表-随机
func (r *QuestionDao) GetQuestionListRand(maps interface{}, limit int) (m []*model.Question, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddQuestion 新增
func (r *QuestionDao) AddQuestion(tx *gorm.DB, model *model.Question) (*model.Question, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetQuestion 获取
func (r *QuestionDao) GetQuestion(maps interface{}) (m *model.Question, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetQuestionOrderLimitList 获取列表-排序、限制数量
func (r *QuestionDao) GetQuestionOrderLimitList(maps interface{}, orderField string, limit int) (m []*model.Question, err error) {
err = global.Db.Where(maps).Order(orderField).Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// Inc 自增
func (r *QuestionDao) Inc(tx *gorm.DB, questionId int64, field string, numeral int) error {
err := tx.Model(&model.Question{}).Where("question_id = ?", questionId).UpdateColumn(field, gorm.Expr(field+" + ?", numeral)).Error
if err != nil {
return err
}
return nil
}
// Dec 自减
func (r *QuestionDao) Dec(tx *gorm.DB, questionId int64, field string, numeral int) error {
err := tx.Model(&model.Question{}).Where("question_id = ?", questionId).UpdateColumn(field, gorm.Expr(field+" - ?", numeral)).Error
if err != nil {
return err
}
return nil
}
// GetQuestionSum 获取数量
func (r *QuestionDao) GetQuestionSum(maps interface{}, field string) (total float64, err error) {
var result struct {
Sum float64
}
err = global.Db.Model(&model.Question{}).Where(maps).Select("SUM(" + field + ") as sum").Scan(&result).Error
if err != nil {
return 0, err
}
return result.Sum, nil
}
// GetQuestionListByTime 获取列表-开始时间/过期时间
func (r *QuestionDao) GetQuestionListByTime(maps interface{}, startTime, endTime, field string) (m []*model.Question, err error) {
err = global.Db.Where(maps).Where(field+" BETWEEN ? AND ?", startTime, endTime).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetQuestionPageSearch 获取题目列表-分页
func (r *QuestionDao) GetQuestionPageSearch(req requests.GetQuestionPage, page, pageSize int) (m []*model.Question, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.Question{})
// 是否隐藏
query = query.Where("is_hide = ?", 0)
// 主键id
if req.QuestionId != "" {
query = query.Where("question_id = ?", req.QuestionId)
}
// 标题
if req.QuestionTitle != "" {
query = query.Where("question_title LIKE ?", "%"+req.QuestionTitle+"%")
}
// 副标题
if req.QuestionSubtitle != "" {
query = query.Where("question_subtitle LIKE ?", "%"+req.QuestionSubtitle+"%")
}
// 唯一标识
if req.QuestionIden != "" {
query = query.Where("question_iden = ?", req.QuestionIden)
}
// 问题状态
if req.QuestionStatus != nil {
query = query.Where("question_status = ?", req.QuestionStatus)
}
// 是否推荐
if req.IsRecommend != nil {
query = query.Where("is_recommend = ?", req.IsRecommend)
}
// 问题介绍
if req.QuestionBrief != "" {
query = query.Where("question_brief LIKE ?", "%"+req.QuestionBrief+"%")
}
// 问题解释/科普
if req.QuestionExplain != "" {
query = query.Where("question_explain LIKE ?", "%"+req.QuestionExplain+"%")
}
// 分类标识
if req.ClassId != "" {
baseClassQuery := global.Db.Model(&model.BaseClass{}).
Select("class_id").
Where("class_id = ?", req.ClassId)
questionClassQuery := global.Db.Model(&model.QuestionClass{}).
Select("question_id").
Where("class_id IN (?)", baseClassQuery)
query = query.Where("question_id IN (?)", questionClassQuery)
}
// 排序
if req.Order != nil {
// 点击次数(点击进入详情页的人次)
if req.Order.ClickCount != "" {
if req.Order.ClickCount != "desc" && req.Order.ClickCount != "asc" {
return nil, 0, errors.New("排序字段错误")
}
query = query.Order("click_count " + req.Order.ClickCount)
}
// 提交次数(提交个人信息进行了算算的人次)
if req.Order.SubmitCount != "" {
if req.Order.SubmitCount != "desc" && req.Order.SubmitCount != "asc" {
return nil, 0, errors.New("排序字段错误")
}
query = query.Order("submit_count " + req.Order.SubmitCount)
}
// 支付次数(查看报告的人次)
if req.Order.PayCount != "" {
if req.Order.PayCount != "desc" && req.Order.PayCount != "asc" {
return nil, 0, errors.New("排序字段错误")
}
query = query.Order("pay_count " + req.Order.PayCount)
}
// 价格(原价)
if req.Order.Price != "" {
if req.Order.Price != "desc" && req.Order.Price != "asc" {
return nil, 0, errors.New("排序字段错误")
}
query = query.Order("price " + req.Order.Price)
}
// 优惠价格
if req.Order.DiscountPrice != "" {
if req.Order.DiscountPrice != "desc" && req.Order.DiscountPrice != "asc" {
return nil, 0, errors.New("排序字段错误")
}
query = query.Order("discount_price " + req.Order.DiscountPrice)
}
if req.Order.UpdatedAt != "" {
if req.Order.UpdatedAt != "desc" && req.Order.UpdatedAt != "asc" {
return nil, 0, errors.New("排序字段错误")
}
query = query.Order("updated_at " + req.Order.UpdatedAt)
}
}
// 排序
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
// GetQuestionListSearch 获取题目列表
func (r *QuestionDao) GetQuestionListSearch(req requests.GetQuestionList) (m []*model.Question, err error) {
// 构建查询条件
query := global.Db.Model(&model.Question{})
// 主键id
if req.QuestionId != "" {
query = query.Where("question_id = ?", req.QuestionId)
}
// 是否隐藏
if req.IsHide != nil {
query = query.Where("is_hide = ?", req.IsHide)
}
// 标题
if req.QuestionTitle != "" {
query = query.Where("question_title LIKE ?", "%"+req.QuestionTitle+"%")
}
// 副标题
if req.QuestionSubtitle != "" {
query = query.Where("question_subtitle LIKE ?", "%"+req.QuestionSubtitle+"%")
}
// 唯一标识
if req.QuestionIden != "" {
query = query.Where("question_iden = ?", req.QuestionIden)
}
// 问题状态
if req.QuestionStatus != nil {
query = query.Where("question_status = ?", req.QuestionStatus)
}
// 是否推荐
if req.IsRecommend != nil {
query = query.Where("is_recommend = ?", req.IsRecommend)
}
// 问题介绍
if req.QuestionBrief != "" {
query = query.Where("question_brief LIKE ?", "%"+req.QuestionBrief+"%")
}
// 问题解释/科普
if req.QuestionExplain != "" {
query = query.Where("question_explain LIKE ?", "%"+req.QuestionExplain+"%")
}
// 分类标识
if req.ClassId != "" {
baseClassQuery := global.Db.Model(&model.BaseClass{}).
Select("class_id").
Where("class_id = ?", req.ClassId)
questionClassQuery := global.Db.Model(&model.QuestionClass{}).
Select("question_id").
Where("class_id IN (?)", baseClassQuery)
query = query.Where("question_id IN (?)", questionClassQuery)
}
// 排序
if req.Order != nil {
// 点击次数(点击进入详情页的人次)
if req.Order.ClickCount != "" {
if req.Order.ClickCount != "desc" && req.Order.ClickCount != "asc" {
return nil, errors.New("排序字段错误")
}
query = query.Order("click_count " + req.Order.ClickCount)
}
// 提交次数(提交个人信息进行了算算的人次)
if req.Order.SubmitCount != "" {
if req.Order.SubmitCount != "desc" && req.Order.SubmitCount != "asc" {
return nil, errors.New("排序字段错误")
}
query = query.Order("submit_count " + req.Order.SubmitCount)
}
// 支付次数(查看报告的人次)
if req.Order.PayCount != "" {
if req.Order.PayCount != "desc" && req.Order.PayCount != "asc" {
return nil, errors.New("排序字段错误")
}
query = query.Order("pay_count " + req.Order.PayCount)
}
// 价格(原价)
if req.Order.Price != "" {
if req.Order.Price != "desc" && req.Order.Price != "asc" {
return nil, errors.New("排序字段错误")
}
query = query.Order("price " + req.Order.Price)
}
// 优惠价格
if req.Order.DiscountPrice != "" {
if req.Order.DiscountPrice != "desc" && req.Order.DiscountPrice != "asc" {
return nil, errors.New("排序字段错误")
}
query = query.Order("discount_price " + req.Order.DiscountPrice)
}
if req.Order.UpdatedAt != "" {
if req.Order.UpdatedAt != "desc" && req.Order.UpdatedAt != "asc" {
return nil, errors.New("排序字段错误")
}
query = query.Order("updated_at " + req.Order.UpdatedAt)
}
}
// 排序
query = query.Order("created_at desc")
err = query.Scopes(model.Paginate(1, 10)).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+125
View File
@@ -0,0 +1,125 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type QuestionClassDao struct {
}
// GetQuestionClassById 获取数据-id
func (r *QuestionClassDao) GetQuestionClassById(QuestionClassId int64) (m *model.QuestionClass, err error) {
err = global.Db.First(&m, QuestionClassId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetQuestionClassPreloadById 获取数据-加载全部关联-id
func (r *QuestionClassDao) GetQuestionClassPreloadById(QuestionClassId int64) (m *model.QuestionClass, err error) {
err = global.Db.Preload(clause.Associations).First(&m, QuestionClassId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteQuestionClass 删除
func (r *QuestionClassDao) DeleteQuestionClass(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.QuestionClass{}).Error
if err != nil {
return err
}
return nil
}
// GetQuestionClassListByQuestionId 获取数据-问题id
func (r *QuestionClassDao) GetQuestionClassListByQuestionId(questionId int64) (m []*model.QuestionClass, err error) {
err = global.Db.Where("question_id = ?", questionId).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteQuestionClassById 删除-id
func (r *QuestionClassDao) DeleteQuestionClassById(tx *gorm.DB, QuestionClassId int64) error {
if err := tx.Delete(&model.QuestionClass{}, QuestionClassId).Error; err != nil {
return err
}
return nil
}
// DeleteQuestionClassByQuestionId 删除-问题id
func (r *QuestionClassDao) DeleteQuestionClassByQuestionId(tx *gorm.DB, questionId int64) error {
if err := tx.Where("question_id = ?", questionId).Delete(&model.QuestionClass{}).Error; err != nil {
return err
}
return nil
}
// EditQuestionClass 修改
func (r *QuestionClassDao) EditQuestionClass(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.QuestionClass{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditQuestionClassById 修改-id
func (r *QuestionClassDao) EditQuestionClassById(tx *gorm.DB, QuestionClassId int64, data interface{}) error {
err := tx.Model(&model.QuestionClass{}).Where("question_class_id = ?", QuestionClassId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetQuestionClassList 获取列表
func (r *QuestionClassDao) GetQuestionClassList(maps interface{}) (m []*model.QuestionClass, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetQuestionClassCount 获取数量
func (r *QuestionClassDao) GetQuestionClassCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.QuestionClass{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetQuestionClassListRand 获取列表-随机
func (r *QuestionClassDao) GetQuestionClassListRand(maps interface{}, limit int) (m []*model.QuestionClass, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddQuestionClass 新增
func (r *QuestionClassDao) AddQuestionClass(tx *gorm.DB, model *model.QuestionClass) (*model.QuestionClass, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetQuestionClass 获取
func (r *QuestionClassDao) GetQuestionClass(maps interface{}) (m *model.QuestionClass, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+123
View File
@@ -0,0 +1,123 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type SystemMemberDao struct {
}
// GetSystemMemberById 获取数据-id
func (r *SystemMemberDao) GetSystemMemberById(SystemMemberId int64) (m *model.SystemMember, err error) {
err = global.Db.First(&m, SystemMemberId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetSystemMemberPreloadById 获取数据-加载全部关联-id
func (r *SystemMemberDao) GetSystemMemberPreloadById(SystemMemberId int64) (m *model.SystemMember, err error) {
err = global.Db.Preload(clause.Associations).First(&m, SystemMemberId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteSystemMember 删除
func (r *SystemMemberDao) DeleteSystemMember(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.SystemMember{}).Error
if err != nil {
return err
}
return nil
}
// DeleteSystemMemberById 删除-id
func (r *SystemMemberDao) DeleteSystemMemberById(tx *gorm.DB, SystemMemberId int64) error {
if err := tx.Delete(&model.SystemMember{}, SystemMemberId).Error; err != nil {
return err
}
return nil
}
// EditSystemMember 修改
func (r *SystemMemberDao) EditSystemMember(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.SystemMember{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditSystemMemberById 修改-id
func (r *SystemMemberDao) EditSystemMemberById(tx *gorm.DB, SystemMemberId int64, data interface{}) error {
err := tx.Model(&model.SystemMember{}).Where("system_member_id = ?", SystemMemberId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetSystemMemberList 获取列表
func (r *SystemMemberDao) GetSystemMemberList(maps interface{}) (m []*model.SystemMember, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetSystemMemberCount 获取数量
func (r *SystemMemberDao) GetSystemMemberCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.SystemMember{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetSystemMemberListRand 获取列表-随机
func (r *SystemMemberDao) GetSystemMemberListRand(maps interface{}, limit int) (m []*model.SystemMember, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddSystemMember 新增
func (r *SystemMemberDao) AddSystemMember(tx *gorm.DB, model *model.SystemMember) (*model.SystemMember, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetSystemMember 获取
func (r *SystemMemberDao) GetSystemMember(maps interface{}) (m *model.SystemMember, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetSystemMemberListSearch 获取列表
func (r *SystemMemberDao) GetSystemMemberListSearch() (m []*model.SystemMember, err error) {
// 构建查询条件
query := global.Db.Model(&model.SystemMember{})
// 排序
query = query.Order("created_at desc")
err = query.Scopes(model.Paginate(1, 10)).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+123
View File
@@ -0,0 +1,123 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type SystemSingleDao struct {
}
// GetSystemSingleById 获取数据-id
func (r *SystemSingleDao) GetSystemSingleById(SystemSingleId int64) (m *model.SystemSingle, err error) {
err = global.Db.First(&m, SystemSingleId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetSystemSinglePreloadById 获取数据-加载全部关联-id
func (r *SystemSingleDao) GetSystemSinglePreloadById(SystemSingleId int64) (m *model.SystemSingle, err error) {
err = global.Db.Preload(clause.Associations).First(&m, SystemSingleId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteSystemSingle 删除
func (r *SystemSingleDao) DeleteSystemSingle(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.SystemSingle{}).Error
if err != nil {
return err
}
return nil
}
// DeleteSystemSingleById 删除-id
func (r *SystemSingleDao) DeleteSystemSingleById(tx *gorm.DB, SystemSingleId int64) error {
if err := tx.Delete(&model.SystemSingle{}, SystemSingleId).Error; err != nil {
return err
}
return nil
}
// EditSystemSingle 修改
func (r *SystemSingleDao) EditSystemSingle(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.SystemSingle{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditSystemSingleById 修改-id
func (r *SystemSingleDao) EditSystemSingleById(tx *gorm.DB, SystemSingleId int64, data interface{}) error {
err := tx.Model(&model.SystemSingle{}).Where("system_single_id = ?", SystemSingleId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetSystemSingleList 获取列表
func (r *SystemSingleDao) GetSystemSingleList(maps interface{}) (m []*model.SystemSingle, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetSystemSingleCount 获取数量
func (r *SystemSingleDao) GetSystemSingleCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.SystemSingle{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetSystemSingleListRand 获取列表-随机
func (r *SystemSingleDao) GetSystemSingleListRand(maps interface{}, limit int) (m []*model.SystemSingle, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddSystemSingle 新增
func (r *SystemSingleDao) AddSystemSingle(tx *gorm.DB, model *model.SystemSingle) (*model.SystemSingle, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetSystemSingle 获取
func (r *SystemSingleDao) GetSystemSingle(maps interface{}) (m *model.SystemSingle, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetSystemSingleListSearch 获取列表
func (r *SystemSingleDao) GetSystemSingleListSearch() (m []*model.SystemSingle, err error) {
// 构建查询条件
query := global.Db.Model(&model.SystemSingle{})
// 排序
query = query.Order("created_at desc")
err = query.Scopes(model.Paginate(1, 10)).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+223
View File
@@ -0,0 +1,223 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/api/requests"
"hepa-calc-admin-api/global"
"strings"
"time"
)
type UserDao struct {
}
// GetUserById 获取数据-id
func (r *UserDao) GetUserById(UserId int64) (m *model.User, err error) {
err = global.Db.First(&m, UserId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserPreloadById 获取数据-加载全部关联-id
func (r *UserDao) GetUserPreloadById(UserId int64) (m *model.User, err error) {
err = global.Db.Preload(clause.Associations).First(&m, UserId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteUser 删除
func (r *UserDao) DeleteUser(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.User{}).Error
if err != nil {
return err
}
return nil
}
// DeleteUserById 删除-id
func (r *UserDao) DeleteUserById(tx *gorm.DB, UserId int64) error {
if err := tx.Delete(&model.User{}, UserId).Error; err != nil {
return err
}
return nil
}
// EditUser 修改
func (r *UserDao) EditUser(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.User{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditUserById 修改-id
func (r *UserDao) EditUserById(tx *gorm.DB, UserId int64, data interface{}) error {
err := tx.Model(&model.User{}).Where("user_id = ?", UserId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetUserList 获取列表
func (r *UserDao) GetUserList(maps interface{}) (m []*model.User, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserCount 获取数量
func (r *UserDao) GetUserCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.User{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetUserListRand 获取列表-随机
func (r *UserDao) GetUserListRand(maps interface{}, limit int) (m []*model.User, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddUser 新增
func (r *UserDao) AddUser(tx *gorm.DB, model *model.User) (*model.User, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetUser 获取
func (r *UserDao) GetUser(maps interface{}) (m *model.User, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserListByTime 获取列表-今天开始时间/过期时间
func (r *UserDao) GetUserListByTime(maps interface{}, startTime, endTime, field string) (m []*model.User, err error) {
err = global.Db.Where(maps).Where(field+" BETWEEN ? AND ?", startTime, endTime).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserPageSearch 获取列表-分页
func (r *UserDao) GetUserPageSearch(req requests.GetUserPage, page, pageSize int) (m []*model.User, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.User{})
// 用户id
if req.UserId != "" {
query = query.Where("user_id = ?", req.UserId)
}
// 用户名称
if req.UserName != "" {
query = query.Where("user_name LIKE ?", "%"+req.UserName+"%")
}
// 手机号
if req.Mobile != "" {
query = query.Where("mobile LIKE ?", "%"+req.Mobile+"%")
}
// 状态
if req.UserStatus != 0 {
query = query.Where("user_status = ?", req.UserStatus)
}
// 注册来源
if req.RegisterSource != 0 {
query = query.Where("register_source = ?", req.RegisterSource)
}
// 用户微信标识
if req.OpenId != "" {
query = query.Where("open_id LIKE ?", "%"+req.OpenId+"%")
}
// 性别
if req.Sex != nil {
query = query.Where("sex = ?", req.Sex)
}
// 是否会员
if req.IsMember != nil {
query = query.Where("is_member = ?", req.IsMember)
}
// 会员到期时间
if req.MemberExpireDate != "" {
memberExpireDate := strings.Split(req.MemberExpireDate, "&")
if len(memberExpireDate) == 2 {
startTime, _ := time.Parse("2006-01-02", memberExpireDate[0])
endTime, _ := time.Parse("2006-01-02", memberExpireDate[1])
endTime = endTime.Add(23*time.Hour + 59*time.Minute + 59*time.Second)
query = query.Where("member_expire_date BETWEEN ? AND ?", startTime, endTime)
}
}
// 信息完善状态
if req.IsInfoComplete != nil {
subQuery := global.Db.Model(&model.UserInfo{}).
Where("user_info.user_id = user.user_id").
Where("user_info.nation_id is not NULL").
Where("user_info.disease_class_id is not NULL").Select("1")
query = query.Where("EXISTS (?)", subQuery)
}
// 排序
if req.Order != nil {
if req.Order.UpdatedAt != "" {
query = query.Order("updated_at " + req.Order.UpdatedAt)
}
if req.Order.SingleSubmitCount != "" {
query = query.Order("single_submit_count " + req.Order.SingleSubmitCount)
}
if req.Order.SinglePayCount != "" {
query = query.Order("single_pay_count " + req.Order.SinglePayCount)
}
if req.Order.MemberBuyCount != "" {
query = query.Order("member_buy_count " + req.Order.MemberBuyCount)
}
}
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
+108
View File
@@ -0,0 +1,108 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type UserCollectionDao struct {
}
// GetUserCollectionById 获取数据-id
func (r *UserCollectionDao) GetUserCollectionById(UserCollectionId int64) (m *model.UserCollection, err error) {
err = global.Db.First(&m, UserCollectionId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserCollectionPreloadById 获取数据-加载全部关联-id
func (r *UserCollectionDao) GetUserCollectionPreloadById(UserCollectionId int64) (m *model.UserCollection, err error) {
err = global.Db.Preload(clause.Associations).First(&m, UserCollectionId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteUserCollection 删除
func (r *UserCollectionDao) DeleteUserCollection(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.UserCollection{}).Error
if err != nil {
return err
}
return nil
}
// DeleteUserCollectionById 删除-id
func (r *UserCollectionDao) DeleteUserCollectionById(tx *gorm.DB, UserCollectionId int64) error {
if err := tx.Delete(&model.UserCollection{}, UserCollectionId).Error; err != nil {
return err
}
return nil
}
// EditUserCollection 修改
func (r *UserCollectionDao) EditUserCollection(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.UserCollection{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditUserCollectionById 修改-id
func (r *UserCollectionDao) EditUserCollectionById(tx *gorm.DB, UserCollectionId int64, data interface{}) error {
err := tx.Model(&model.UserCollection{}).Where("user_coupon_id = ?", UserCollectionId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetUserCollectionList 获取列表
func (r *UserCollectionDao) GetUserCollectionList(maps interface{}) (m []*model.UserCollection, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserCollectionCount 获取数量
func (r *UserCollectionDao) GetUserCollectionCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.UserCollection{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetUserCollectionListRand 获取列表-随机
func (r *UserCollectionDao) GetUserCollectionListRand(maps interface{}, limit int) (m []*model.UserCollection, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddUserCollection 新增
func (r *UserCollectionDao) AddUserCollection(tx *gorm.DB, model *model.UserCollection) (*model.UserCollection, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetUserCollection 获取
func (r *UserCollectionDao) GetUserCollection(maps interface{}) (m *model.UserCollection, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
+181
View File
@@ -0,0 +1,181 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/api/requests"
"hepa-calc-admin-api/global"
)
type UserCouponDao struct {
}
// GetUserCouponById 获取数据-id
func (r *UserCouponDao) GetUserCouponById(UserCouponId int64) (m *model.UserCoupon, err error) {
err = global.Db.First(&m, UserCouponId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserCouponPreloadById 获取数据-加载全部关联-id
func (r *UserCouponDao) GetUserCouponPreloadById(UserCouponId int64) (m *model.UserCoupon, err error) {
err = global.Db.Preload(clause.Associations).First(&m, UserCouponId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteUserCoupon 删除
func (r *UserCouponDao) DeleteUserCoupon(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.UserCoupon{}).Error
if err != nil {
return err
}
return nil
}
// DeleteUserCouponById 删除-id
func (r *UserCouponDao) DeleteUserCouponById(tx *gorm.DB, UserCouponId int64) error {
if err := tx.Delete(&model.UserCoupon{}, UserCouponId).Error; err != nil {
return err
}
return nil
}
// EditUserCoupon 修改
func (r *UserCouponDao) EditUserCoupon(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.UserCoupon{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditUserCouponById 修改-id
func (r *UserCouponDao) EditUserCouponById(tx *gorm.DB, UserCouponId int64, data interface{}) error {
err := tx.Model(&model.UserCoupon{}).Where("user_coupon_id = ?", UserCouponId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetUserCouponList 获取列表
func (r *UserCouponDao) GetUserCouponList(maps interface{}) (m []*model.UserCoupon, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserCouponPreloadList 获取列表-加载全部关联
func (r *UserCouponDao) GetUserCouponPreloadList(maps interface{}) (m []*model.UserCoupon, err error) {
err = global.Db.Preload(clause.Associations).Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserCouponCount 获取数量
func (r *UserCouponDao) GetUserCouponCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.UserCoupon{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetUserCouponListRand 获取列表-随机
func (r *UserCouponDao) GetUserCouponListRand(maps interface{}, limit int) (m []*model.UserCoupon, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddUserCoupon 新增
func (r *UserCouponDao) AddUserCoupon(tx *gorm.DB, model *model.UserCoupon) (*model.UserCoupon, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetUserCoupon 获取
func (r *UserCouponDao) GetUserCoupon(maps interface{}) (m *model.UserCoupon, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserCouponListByValidTime 获取列表-今天开始时间/过期时间
func (r *UserCouponDao) GetUserCouponListByValidTime(maps interface{}, startTime, endTime string) (m []*model.UserCoupon, err error) {
err = global.Db.Where(maps).Where("valid_end_time BETWEEN ? AND ?", startTime, endTime).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserCouponPageSearch 获取列表-分页
func (r *UserCouponDao) GetUserCouponPageSearch(req requests.GetUserCouponPage, page, pageSize int) (m []*model.UserCoupon, total int64, err error) {
var totalRecords int64
// 构建查询条件
query := global.Db.Model(&model.UserCoupon{})
// 优惠卷
query = query.Preload("Coupon")
// 优惠券id
if req.CouponId != "" {
query = query.Where("coupon_id = ?", req.CouponId)
}
// 用户id
if req.UserId != nil {
query = query.Where("user_id = ?", req.UserId)
}
// 优惠券id
if req.CouponId != "" {
query = query.Where("coupon_id = ?", req.CouponId)
}
// 状态(0:未使用 1:已使用 3:已过期)
if req.UserCouponStatus != nil {
query = query.Where("user_coupon_status = ?", req.UserCouponStatus)
}
// 用户名称
if req.UserName != "" {
subQuery := global.Db.Model(&model.User{}).
Select("user_id").
Where("user_name LIKE ?", "%"+req.UserName+"%")
query = query.Where(gorm.Expr("user_id IN (?)", subQuery))
}
// 排序
query = query.Order("created_at desc")
// 查询总数量
if err := query.Count(&totalRecords).Error; err != nil {
return nil, 0, err
}
err = query.Scopes(model.Paginate(page, pageSize)).Find(&m).Error
if err != nil {
return nil, 0, err
}
return m, totalRecords, nil
}
+108
View File
@@ -0,0 +1,108 @@
package dao
import (
"gorm.io/gorm"
"gorm.io/gorm/clause"
"hepa-calc-admin-api/api/model"
"hepa-calc-admin-api/global"
)
type UserInfoDao struct {
}
// GetUserInfoById 获取数据-id
func (r *UserInfoDao) GetUserInfoById(UserInfoId int64) (m *model.UserInfo, err error) {
err = global.Db.First(&m, UserInfoId).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserInfoPreloadById 获取数据-加载全部关联-id
func (r *UserInfoDao) GetUserInfoPreloadById(UserInfoId int64) (m *model.UserInfo, err error) {
err = global.Db.Preload(clause.Associations).First(&m, UserInfoId).Error
if err != nil {
return nil, err
}
return m, nil
}
// DeleteUserInfo 删除
func (r *UserInfoDao) DeleteUserInfo(tx *gorm.DB, maps interface{}) error {
err := tx.Where(maps).Delete(&model.UserInfo{}).Error
if err != nil {
return err
}
return nil
}
// DeleteUserInfoById 删除-id
func (r *UserInfoDao) DeleteUserInfoById(tx *gorm.DB, UserInfoId int64) error {
if err := tx.Delete(&model.UserInfo{}, UserInfoId).Error; err != nil {
return err
}
return nil
}
// EditUserInfo 修改
func (r *UserInfoDao) EditUserInfo(tx *gorm.DB, maps interface{}, data interface{}) error {
err := tx.Model(&model.UserInfo{}).Where(maps).Updates(data).Error
if err != nil {
return err
}
return nil
}
// EditUserInfoById 修改-id
func (r *UserInfoDao) EditUserInfoById(tx *gorm.DB, UserInfoId int64, data interface{}) error {
err := tx.Model(&model.UserInfo{}).Where("user_info_id = ?", UserInfoId).Updates(data).Error
if err != nil {
return err
}
return nil
}
// GetUserInfoList 获取列表
func (r *UserInfoDao) GetUserInfoList(maps interface{}) (m []*model.UserInfo, err error) {
err = global.Db.Where(maps).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// GetUserInfoCount 获取数量
func (r *UserInfoDao) GetUserInfoCount(maps interface{}) (total int64, err error) {
err = global.Db.Model(&model.UserInfo{}).Where(maps).Count(&total).Error
if err != nil {
return 0, err
}
return total, nil
}
// GetUserInfoListRand 获取列表-随机
func (r *UserInfoDao) GetUserInfoListRand(maps interface{}, limit int) (m []*model.UserInfo, err error) {
err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error
if err != nil {
return nil, err
}
return m, nil
}
// AddUserInfo 新增
func (r *UserInfoDao) AddUserInfo(tx *gorm.DB, model *model.UserInfo) (*model.UserInfo, error) {
if err := tx.Create(model).Error; err != nil {
return nil, err
}
return model, nil
}
// GetUserInfo 获取
func (r *UserInfoDao) GetUserInfo(maps interface{}) (m *model.UserInfo, err error) {
err = global.Db.Where(maps).First(&m).Error
if err != nil {
return nil, err
}
return m, nil
}