|
@@ -3,6 +3,7 @@ package mysql
|
|
|
import (
|
|
|
orm "duoduo/database"
|
|
|
"errors"
|
|
|
+
|
|
|
"github.com/shopspring/decimal"
|
|
|
)
|
|
|
|
|
@@ -70,6 +71,50 @@ func (o *Order) GetNum() int {
|
|
|
return count
|
|
|
}
|
|
|
|
|
|
+func (o *Order) GetTotal() (int, error) {
|
|
|
+ var count int
|
|
|
+ tableCount := orm.Eloquent.Table(o.TableName())
|
|
|
+ tableCount.Count(&count)
|
|
|
+ return count, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (o *Order) GetAdminAmount() (int64, error) {
|
|
|
+ var doc Order
|
|
|
+ //var amount int64
|
|
|
+ err := orm.Eloquent.Select("SUM(promotion_amount) as promotion_amount").Where("order_status in (0,1,2,3,5) ").Table(o.TableName()).First(&doc).Error
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ return doc.PromotionAmount, err
|
|
|
+ }
|
|
|
+
|
|
|
+ return doc.PromotionAmount, nil
|
|
|
+}
|
|
|
+
|
|
|
+func (o *Order) GetPlatform() (decimal.Decimal, error) {
|
|
|
+ var order Order
|
|
|
+ var order1 Order
|
|
|
+ var order2 Order
|
|
|
+ err := orm.Eloquent.Select("SUM(amount) as amount").Where("order_status in (0,1,2,3,5) ").Table(o.TableName()).First(&order).Error
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ return order.Amount, err
|
|
|
+ }
|
|
|
+
|
|
|
+ err = orm.Eloquent.Select("SUM(amount_1) as amount_1").Where("order_status in (0,1,2,3,5) and open_id_1 != '' ").Table(o.TableName()).First(&order1).Error
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ return order1.Amount1, err
|
|
|
+ }
|
|
|
+
|
|
|
+ err = orm.Eloquent.Select("SUM(amount_2) as amount_2").Where("order_status in (0,1,2,3,5) and open_id_2 != '' ").Table(o.TableName()).First(&order2).Error
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ return order2.Amount2, err
|
|
|
+ }
|
|
|
+
|
|
|
+ return order.Amount.Add(order1.Amount1.Add(order2.Amount2)), nil
|
|
|
+}
|
|
|
+
|
|
|
func (o *Order) GetAmount() (Wallet, error) {
|
|
|
var wallet Wallet
|
|
|
|
|
@@ -259,6 +304,8 @@ func (o *Order) GetOrderOpenIdList(pageSize int, pageIndex int, status int) ([]O
|
|
|
table = table.Where("open_id_1 = ? ", o.OpenId)
|
|
|
} else if status == 2 {
|
|
|
table = table.Where("open_id_2 = ? ", o.OpenId)
|
|
|
+ } else if status == 3 {
|
|
|
+
|
|
|
} else {
|
|
|
return nil, 0, errors.New("status err")
|
|
|
}
|
|
@@ -266,7 +313,7 @@ func (o *Order) GetOrderOpenIdList(pageSize int, pageIndex int, status int) ([]O
|
|
|
//table = table.Where("open_id = ? ", o.OpenId)
|
|
|
|
|
|
var count int
|
|
|
- if err := table.Select("order_id,promotion_amount,p_id,order_status,order_status_desc,goods_name," +
|
|
|
+ if err := table.Select("open_id,open_id_1,open_id_2,order_id,promotion_amount,p_id,order_status,order_status_desc,goods_name," +
|
|
|
"goods_thumbnail_url,order_group_success_time,amount,amount_1,amount_2,order_sn," +
|
|
|
"DATE_FORMAT(order_create_time,'%Y-%m-%d %H:%i:%s') as order_create_time,order_amount").Order("id desc").Offset((pageIndex - 1) * pageSize).Limit(pageSize).Find(&doc).Error; err != nil {
|
|
|
return nil, 0, err
|