新增删除订单,已经轮询修改订单状态,没两个小时更新一次
This commit is contained in:
@@ -457,3 +457,61 @@ func ManagerGetOrderList(param *model.OrderListReq) ([]*model.UserVendorOrder, e
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// DeleteOrderByLocalId 删除订单
|
||||
func DeleteOrderByLocalId(userId, localId string) (int64, error) {
|
||||
sql := `SELECT * FROM user_vendor_order uo WHERE 1=1 AND user_id = ? AND local_way_bill =? `
|
||||
paramSql := make([]interface{}, 0, 0)
|
||||
paramSql = append(paramSql, userId, localId)
|
||||
|
||||
data := model.UserVendorOrder{}
|
||||
if err := dao.GetRow(dao.GetDB(), &data, sql, paramSql); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
if data.ID <= 0 {
|
||||
return 0, errors.New("用户数据不存在")
|
||||
}
|
||||
// 待支付,支付失败,取消,可以删除
|
||||
if data.OrderStatus == 2 || data.OrderStatus == 3 || data.OrderStatus == 150 {
|
||||
return dao.DeleteEntity(dao.GetDB(), &model.UserVendorOrder{UserId: userId, LocalWayBill: localId}, "UserId", "LocalWayBill")
|
||||
}
|
||||
|
||||
// 支付成功保留15天,可以删除
|
||||
if !data.CreatedAt.IsZero() && data.CreatedAt.AddDate(0, 0, 15).Unix() > time.Now().Unix() {
|
||||
return dao.DeleteEntity(dao.GetDB(), &model.UserVendorOrder{UserId: userId, LocalWayBill: localId}, "UserId", "LocalWayBill")
|
||||
}
|
||||
return 0, errors.New("订单完成后保存15天,才可以删除")
|
||||
}
|
||||
|
||||
// UpdateOrderStatus 查询所有支付成功的订单
|
||||
func UpdateOrderStatus() {
|
||||
// 查询状态值为【4-支付成功,10预下单11待取件12运输中17终止揽收】//2,3 15已签收16取消订单 完成订单
|
||||
db := dao.GetDB()
|
||||
sql := `SELECT * FROM user_vendor_order uo WHERE order_status IN (4,10,11,12,17) `
|
||||
var data []*model.UserVendorOrder
|
||||
if err := dao.GetRows(db, &data, sql); err != nil {
|
||||
globals.SugarLogger.Debug("Scheduled task Err = ", err)
|
||||
return
|
||||
}
|
||||
|
||||
for _, v := range data {
|
||||
if v.LocalWayBill == v.OtherWayBill {
|
||||
globals.SugarLogger.Debug("ERROR ", "第三方订单Id写入错误,")
|
||||
continue
|
||||
}
|
||||
if v.OrderStatus == 2 || v.OrderStatus == 3 || v.OrderStatus == 15 || v.OrderStatus == 16 {
|
||||
continue
|
||||
}
|
||||
otherOrder, err := QueryOrderDetail(v.Type, v.OtherWayBill)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debug("Get Order Fail To QBiDa:", err)
|
||||
continue
|
||||
}
|
||||
param := model.UserVendorOrder{ModelIDCUL: model.ModelIDCUL{ID: v.ModelIDCUL.ID}}
|
||||
param.OrderStatus = otherOrder.Status + 10
|
||||
if _, err := dao.UpdateEntity(db, ¶m, "OrderStatus"); err != nil {
|
||||
globals.SugarLogger.Debug("Update Order Status Fail ", err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user