This commit is contained in:
suyl
2021-08-02 10:21:29 +08:00
parent ede44f40f7
commit 2232af6d1c
3 changed files with 40 additions and 33 deletions

View File

@@ -2162,52 +2162,59 @@ func RefreshJdAfsOrderTotalShopMoney() {
}
}
func DelOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, skuID int) (num int64, err error) {
func DelOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID, id int) (num int64, err error) {
var (
db = dao.GetDB()
shopPrice, earningPrice int64
orderSku = &model.OrderSku{}
orderSkus []*model.OrderSku
)
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID)
if order.EarningType != model.EarningTypeQuote {
return 0, fmt.Errorf("目前只支持报价订单有此操作!")
}
sql := `
SELECT * FROM order_sku WHERE vendor_order_id = ? ORDER BY id LIMIT 1
SELECT * FROM order_sku WHERE vendor_order_id = ? ORDER BY id
`
sqlParams := []interface{}{vendorOrderID}
dao.GetRow(db, &orderSku, sql, sqlParams)
if orderSku.SkuID == 0 {
if orderSku.JxSkuID == skuID {
return 0, fmt.Errorf("不允许删第一个商品!")
}
} else {
if orderSku.SkuID == skuID {
return 0, fmt.Errorf("不允许删第一个商品!")
}
dao.GetRows(db, &orderSkus, sql, sqlParams)
if len(orderSkus) < 5 {
return 0, fmt.Errorf("商品数小于5不允许删除")
}
if orderSkus[0].ID == int64(id) {
//if orderSkus[0].JxSkuID == skuID {
return 0, fmt.Errorf("不允许删第一个商品!")
//}
//} else {
// if orderSkus[0].SkuID == skuID {
// return 0, fmt.Errorf("不允许删第一个商品!")
// }
//}
}
for _, v := range order.Skus {
if v.SkuID == 0 {
if v.JxSkuID == skuID {
sql := `
if v.ID == int64(id) {
sql := `
DELETE FROM order_sku WHERE id = ?
`
sqlParams := []interface{}{v.ID}
dao.ExecuteSQL(db, sql, sqlParams)
shopPrice = v.ShopPrice * int64(v.Count)
earningPrice = v.EarningPrice * int64(v.Count)
}
} else {
if v.SkuID == skuID {
sql := `
DELETE FROM order_sku WHERE id = ?
`
sqlParams := []interface{}{v.ID}
dao.ExecuteSQL(db, sql, sqlParams)
shopPrice = v.ShopPrice * int64(v.Count)
earningPrice = v.EarningPrice * int64(v.Count)
}
sqlParams := []interface{}{v.ID}
dao.ExecuteSQL(db, sql, sqlParams)
shopPrice = v.ShopPrice * int64(v.Count)
earningPrice = v.EarningPrice * int64(v.Count)
}
//if v.SkuID == 0 {
// if v.JxSkuID == skuID {
// }
//} else {
// if v.SkuID == skuID {
// sql := `
// DELETE FROM order_sku WHERE id = ?
// `
// sqlParams := []interface{}{v.ID}
// dao.ExecuteSQL(db, sql, sqlParams)
// shopPrice = v.ShopPrice * int64(v.Count)
// earningPrice = v.EarningPrice * int64(v.Count)
// }
//}
}
order.ShopPrice -= shopPrice
order.EarningPrice -= earningPrice

View File

@@ -182,7 +182,7 @@ func (o *GoodsOrderOriginal) TableUnique() [][]string {
}
type OrderSku struct {
ID int64 `orm:"column(id)" json:"-"`
ID int64 `orm:"column(id)" json:"id"`
VendorOrderID string `orm:"column(vendor_order_id);size(48)" json:"vendorOrderID"`
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
StoreSubID int `orm:"column(store_sub_id)" json:"storeSubID"` // EarningActID当前这个字段被当成结算活动ID用