1.对零售明细查询的数据进行排序,按照审核时间降序排列;

2.租赁订单列表门店权限修改,返回对应门店的发货和规划订单数据;
This commit is contained in:
chenlin 2024-07-09 11:43:59 +08:00
parent b750b19199
commit 26bd09bf1d
3 changed files with 33 additions and 23 deletions

View File

@ -41,7 +41,7 @@ func TestHmJsPayBToCOrder(t *testing.T) {
// 查询
func TestHmQueryOrder(t *testing.T) {
orderId := "sale2024070651813719"
orderId := "sale2024070569804727"
order, err := HmQueryOrder(orderId)
if err != nil {

View File

@ -3757,6 +3757,11 @@ func packData(result []RetailDetailByJoin) []ErpOrder {
orders = append(orders, item)
}
// 根据AuditTime进行降序排序
sort.SliceStable(orders, func(i, j int) bool {
return orders[i].AuditTime.After(*orders[j].AuditTime)
})
return orders
}

View File

@ -18,7 +18,6 @@ import (
"go-admin/tools"
"go-admin/tools/config"
"golang.org/x/sync/errgroup"
"gorm.io/gorm"
"time"
)
@ -232,6 +231,7 @@ func (m *OrderListReq) List(exportFlag int, c *gin.Context) ([]Order, int64, str
func (m *OrderListReq) queryListFormOrderCard(exportFlag int, c *gin.Context) ([]Order, int64, error) {
var orderCards []OrderCard
orders := make([]Order, 0)
qs := orm.Eloquent.Table("order_card").Where("card_status=?", m.CardStatus)
// 非管理员才判断所属门店
@ -250,9 +250,9 @@ func (m *OrderListReq) queryListFormOrderCard(exportFlag int, c *gin.Context) ([
} else {
if len(storeList) > 0 {
if len(storeList) == 1 {
qs = qs.Where("store_id = ?", storeList[0])
qs = qs.Where("store_id = ? OR revert_store_id = ?", storeList[0], storeList[0])
} else {
qs = qs.Where("store_id IN (?)", storeList)
qs = qs.Where("store_id IN (?) OR revert_store_id IN (?)", storeList, storeList)
}
} else {
return nil, 0, errors.New("用户未绑定门店")
@ -276,7 +276,7 @@ func (m *OrderListReq) queryListFormOrderCard(exportFlag int, c *gin.Context) ([
}
if m.StoreId != 0 { // 门店id共有
qs = qs.Where("store_id", m.StoreId)
qs = qs.Where("store_id = ? OR revert_store_id = ?", m.StoreId, m.StoreId)
}
if !m.StartTime.IsZero() { // 共有
fmt.Println("起始时间:", m.StartTime.Unix())
@ -365,8 +365,13 @@ func (m *OrderListReq) queryListFormOrder(exportFlag int, c *gin.Context) ([]Ord
if m.PageSize == 0 {
m.PageSize = 10
}
var qs *gorm.DB
qs = orm.Eloquent.Table("order").Where("pay_status", 2)
qs := orm.Eloquent.Table("order").Select("DISTINCT `order`.*").Joins("JOIN order_card ON order.id = order_card.order_id").
Where("order.pay_status = ?", 2)
orderQs := orm.Eloquent.Table("(?) as unique_orders", qs).Order("unique_orders.created_at DESC")
//qs = orm.Eloquent.Table("order").Where("pay_status", 2)
// 非管理员才判断所属门店
if !(tools.GetRoleName(c) == "admin" || tools.GetRoleName(c) == "系统管理员") {
@ -384,9 +389,9 @@ func (m *OrderListReq) queryListFormOrder(exportFlag int, c *gin.Context) ([]Ord
} else {
if len(storeList) > 0 {
if len(storeList) == 1 {
qs = qs.Where("store_id = ?", storeList[0])
qs = qs.Where("order.store_id = ? OR order_card.revert_store_id = ?", storeList[0], storeList[0])
} else {
qs = qs.Where("store_id IN (?)", storeList)
qs = qs.Where("order.store_id IN (?) OR order_card.revert_store_id IN (?)", storeList, storeList)
}
} else {
return nil, 0, errors.New("用户未绑定门店")
@ -410,46 +415,46 @@ func (m *OrderListReq) queryListFormOrder(exportFlag int, c *gin.Context) ([]Ord
orderIds = append(orderIds, orderCards[i].OrderId)
}
qs = qs.Where("id in (?)", orderIds)
qs = qs.Where("order.id in (?)", orderIds)
}
if m.PickupCode != "" {
isDeliver = false
qs = qs.Where("pickup_code", m.PickupCode)
qs = qs.Where("order.pickup_code", m.PickupCode)
}
if m.PayStatus != 0 {
qs = qs.Where("pay_status", m.PayStatus)
qs = qs.Where("order.pay_status", m.PayStatus)
}
if m.DeliveryType != 0 {
qs = qs.Where("delivery_type", m.DeliveryType)
qs = qs.Where("order.delivery_type", m.DeliveryType)
}
if m.OrderId != 0 {
isDeliver = false
qs = qs.Where("id", m.OrderId)
qs = qs.Where("order.id", m.OrderId)
}
if isDeliver {
if m.Uid != 0 {
qs = qs.Where("uid", m.Uid)
qs = qs.Where("order.uid", m.Uid)
}
if m.GameCardId != 0 {
qs = qs.Where("game_card_id", m.GameCardId)
qs = qs.Where("order.game_card_id", m.GameCardId)
}
if m.StoreId != 0 {
qs = qs.Where("store_id", m.StoreId)
qs = qs.Where("order.store_id = ? OR order_card.revert_store_id = ?", m.StoreId, m.StoreId)
}
if !m.StartTime.IsZero() {
fmt.Println("起始时间:", m.StartTime.Unix())
qs = qs.Where("created_at > ?", m.StartTime)
qs = qs.Where("order.created_at > ?", m.StartTime)
}
if !m.EndTime.IsZero() {
fmt.Println("时间:", m.StartTime.Unix())
qs = qs.Where("created_at < ?", m.EndTime)
qs = qs.Where("order.created_at < ?", m.EndTime)
}
}
var count int64
err := qs.Count(&count).Error
err := orderQs.Count(&count).Error
if err != nil {
logger.Errorf("err:", logger.Field("err", err))
return nil, 0, err
@ -462,11 +467,11 @@ func (m *OrderListReq) queryListFormOrder(exportFlag int, c *gin.Context) ([]Ord
}
if exportFlag == 1 { //一次性导出excel
qs = qs.Preload("User").Order("created_at DESC")
orderQs = orderQs.Preload("User")
} else {
qs = qs.Preload("User").Order("created_at DESC").Offset(page * pageSize).Limit(pageSize)
orderQs = orderQs.Preload("User").Offset(page * pageSize).Limit(pageSize)
}
err = qs.Find(&orders).Error
err = orderQs.Find(&orders).Error
if err != nil {
logger.Errorf("err:", logger.Field("err", err))
return nil, 0, err