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 ( var (
db = dao.GetDB() db = dao.GetDB()
shopPrice, earningPrice int64 shopPrice, earningPrice int64
orderSku = &model.OrderSku{} orderSkus []*model.OrderSku
) )
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID) order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID)
if order.EarningType != model.EarningTypeQuote { if order.EarningType != model.EarningTypeQuote {
return 0, fmt.Errorf("目前只支持报价订单有此操作!") return 0, fmt.Errorf("目前只支持报价订单有此操作!")
} }
sql := ` 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} sqlParams := []interface{}{vendorOrderID}
dao.GetRow(db, &orderSku, sql, sqlParams) dao.GetRows(db, &orderSkus, sql, sqlParams)
if orderSku.SkuID == 0 { if len(orderSkus) < 5 {
if orderSku.JxSkuID == skuID { return 0, fmt.Errorf("商品数小于5不允许删除")
return 0, fmt.Errorf("不允许删第一个商品!") }
} if orderSkus[0].ID == int64(id) {
} else { //if orderSkus[0].JxSkuID == skuID {
if orderSku.SkuID == skuID { return 0, fmt.Errorf("不允许删第一个商品!")
return 0, fmt.Errorf("不允许删第一个商品!") //}
} //} else {
// if orderSkus[0].SkuID == skuID {
// return 0, fmt.Errorf("不允许删第一个商品!")
// }
//}
} }
for _, v := range order.Skus { for _, v := range order.Skus {
if v.SkuID == 0 { if v.ID == int64(id) {
if v.JxSkuID == skuID { sql := `
sql := `
DELETE FROM order_sku WHERE id = ? DELETE FROM order_sku WHERE id = ?
` `
sqlParams := []interface{}{v.ID} sqlParams := []interface{}{v.ID}
dao.ExecuteSQL(db, sql, sqlParams) dao.ExecuteSQL(db, sql, sqlParams)
shopPrice = v.ShopPrice * int64(v.Count) shopPrice = v.ShopPrice * int64(v.Count)
earningPrice = v.EarningPrice * 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)
}
} }
//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.ShopPrice -= shopPrice
order.EarningPrice -= earningPrice order.EarningPrice -= earningPrice

View File

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

View File

@@ -1236,13 +1236,13 @@ func (c *OrderController) RefreshOrderSkuInfo() {
// @Param token header string true "认证token" // @Param token header string true "认证token"
// @Param vendorOrderID formData string true "订单ID" // @Param vendorOrderID formData string true "订单ID"
// @Param vendorID formData int true "平台ID" // @Param vendorID formData int true "平台ID"
// @Param skuID formData int true "商品ID" // @Param ID formData int true "id"
// @Success 200 {object} controllers.CallResult // @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult
// @router /DelOrderSkuInfo [post] // @router /DelOrderSkuInfo [post]
func (c *OrderController) DelOrderSkuInfo() { func (c *OrderController) DelOrderSkuInfo() {
c.callDelOrderSkuInfo(func(params *tOrderDelOrderSkuInfoParams) (retVal interface{}, errCode string, err error) { c.callDelOrderSkuInfo(func(params *tOrderDelOrderSkuInfoParams) (retVal interface{}, errCode string, err error) {
retVal, err = orderman.DelOrderSkuInfo(params.Ctx, params.VendorOrderID, params.VendorID, params.SkuID) retVal, err = orderman.DelOrderSkuInfo(params.Ctx, params.VendorOrderID, params.VendorID, params.ID)
return retVal, "", err return retVal, "", err
}) })
} }