x_shop_orders.gen.go 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. // Code generated by gorm.io/gen. DO NOT EDIT.
  2. // Code generated by gorm.io/gen. DO NOT EDIT.
  3. // Code generated by gorm.io/gen. DO NOT EDIT.
  4. package model
  5. import (
  6. "go_zh/config"
  7. "time"
  8. "github.com/shopspring/decimal"
  9. )
  10. const TableNameXShopOrder = "x_shop_orders"
  11. // XShopOrder mapped from table <x_shop_orders>
  12. type XShopOrder struct {
  13. ID int `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"`
  14. ShopID int `gorm:"column:shop_id;not null;comment:店铺ID" json:"shop_id"` // 店铺ID
  15. MID int `gorm:"column:m_id;not null;comment:会员ID" json:"m_id"` // 会员ID
  16. RsSn string `gorm:"column:rs_sn;not null;comment:店铺订单支付编号" json:"rs_sn"` // 店铺订单支付编号
  17. PaySn string `gorm:"column:pay_sn;not null;comment:支付编号" json:"pay_sn"` // 支付编号
  18. PayType int `gorm:"column:pay_type;not null;comment:支付类型,1:微信,2:支付宝" json:"pay_type"` // 支付类型,1:微信,2:支付宝
  19. PayMoney decimal.Decimal `gorm:"column:pay_money;not null;comment:支付金额" json:"pay_money"` // 支付金额
  20. Status int `gorm:"column:status;not null;comment:1:待支付,2:已支付,3:已退款,已完成" json:"status"` // 1:待支付,2:已支付,3:已退款,已完成
  21. CreatedAt time.Time `gorm:"column:created_at" json:"created_at"`
  22. UpdatedAt time.Time `gorm:"column:updated_at" json:"updated_at"`
  23. Discount decimal.Decimal `gorm:"column:discount;default:0.00;comment:折扣金额" json:"discount"` // 折扣金额
  24. IsClearing int `gorm:"column:is_clearing;comment:是否清分 0:待清分,1:已清分" json:"is_clearing"` // 是否清分 0:待清分,1:已清分
  25. ServiceMoney decimal.Decimal `gorm:"column:service_money;not null;default:0.00;comment:平台手续费" json:"service_money"` // 平台手续费
  26. DiscountMoney decimal.Decimal `gorm:"column:discount_money;not null;default:0.00;comment:让利金额" json:"discount_money"` // 让利金额
  27. EarningsMoney decimal.Decimal `gorm:"column:earnings_money;not null;default:0.00;comment:收益金额" json:"earnings_money"` // 收益金额
  28. ReturnSn string `gorm:"column:return_sn;comment:退款订单编号" json:"return_sn"` // 退款订单编号
  29. IsReport int `gorm:"column:is_report;comment:是否播报" json:"is_report"` // 是否播报
  30. PayCodeSource int `gorm:"column:pay_code_source;default:1;comment:支付收款码来源 1普通收款码 2烟草收款码" json:"pay_code_source"` // 支付收款码来源 1普通收款码 2烟草收款码
  31. IsBank int `gorm:"column:is_bank;comment:是否银联支付 0否1是" json:"is_bank"` // 是否银联支付 0否1是
  32. }
  33. // TableName XShopOrder's table name
  34. func (*XShopOrder) TableName() string {
  35. return TableNameXShopOrder
  36. }
  37. // 新增订单
  38. func (so *XShopOrder) CreateShopOrder() error {
  39. err := config.Mdb.Model(&so).Create(&so).Error
  40. return err
  41. }
  42. // OrderInfo 订单详情(包含店铺名称)
  43. type OrderInfo struct {
  44. RsSn string `json:"rs_sn"` // 店铺订单支付编号
  45. PaySn string `json:"pay_sn"` // 支付编号
  46. Status int `json:"status"` // 订单状态
  47. PayMoney decimal.Decimal `json:"pay_money"` // 支付金额
  48. ShopName string `json:"shop_name"` // 店铺名称
  49. }
  50. // GetOrderInfo 获取订单详情(关联店铺表)
  51. func (so *XShopOrder) GetOrderInfo(orderSn string) (OrderInfo, error) {
  52. var info OrderInfo
  53. err := config.Mdb.Table("x_shop_orders as o").
  54. Joins("JOIN x_shops as s ON s.id = o.shop_id").
  55. Where("o.rs_sn = ?", orderSn).
  56. Select("o.rs_sn, o.pay_sn, o.status, o.pay_money, s.shop_name").
  57. Find(&info).Error
  58. return info, err
  59. }
  60. // BankOrderItem 银联待入账订单项
  61. type BankOrderItem struct {
  62. RsSn string `json:"rs_sn"` // 订单编号
  63. PayMoney decimal.Decimal `json:"pay_money"` // 支付金额
  64. IsClearing int `json:"is_clearing"` // 是否清分
  65. Status int `json:"status"` // 订单状态
  66. CreatedAt time.Time `json:"created_at"` // 创建时间
  67. }
  68. // GetBankOrderList 获取银联待入账订单列表(最新 10 条)
  69. func (so *XShopOrder) GetBankOrderList(shopId int) ([]BankOrderItem, error) {
  70. var items []BankOrderItem
  71. // 查询最新 10 条记录
  72. err := config.Mdb.Model(&XShopOrder{}).
  73. Where("shop_id = ? AND status = ? AND is_bank = ?", shopId, 6, 1).
  74. Select("rs_sn, pay_money, is_clearing, status, created_at").
  75. Order("id desc").
  76. Limit(10).
  77. Find(&items).Error
  78. return items, err
  79. }
  80. // GetTotalBankMoney 获取银联待入账总金额
  81. func (so *XShopOrder) GetTotalBankMoney(shopId int) (decimal.Decimal, error) {
  82. var total decimal.Decimal
  83. err := config.Mdb.Model(&XShopOrder{}).
  84. Where("shop_id = ? AND status = ? AND is_bank = ?", shopId, 6, 1).
  85. Select("COALESCE(SUM(pay_money), 0)").
  86. Scan(&total).Error
  87. return total, err
  88. }