Files
jx-callback/business/model/dao/freight_template.go
richboo111 7303bf3571 1
2023-03-10 14:11:55 +08:00

117 lines
3.8 KiB
Go

package dao
import (
"errors"
"fmt"
"strings"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/model"
)
//测试函数
func ReplaceInsertFreight2(storeID, templateID, warehouseID, tradeLimitID int, vendorStoreID, fenceID string) error {
if storeID == 0 || len(vendorStoreID) == 0 {
return fmt.Errorf("storeID或vendorStoreID不允许为空")
}
sqlStr := `REPLACE INTO freight_template (store_id, vendor_store_id, template_id, warehouse_id, fence_id, trade_limit_id)
SELECT ?,?,?,?,?,? FROM DUAL WHERE NOT EXISTS(SELECT COUNT(store_id) FROM freight_template WHERE store_id = ?)=0`
sqlParam := []interface{}{storeID, vendorStoreID, templateID, warehouseID, fenceID, tradeLimitID, storeID}
_, err := ExecuteSQL(GetDB(), sqlStr, sqlParam)
return err
}
// 全参数更新插入
func ReplaceInsertFreight(tem *model.FreightTemplate) error {
if tem.StoreID == 0 || len(tem.VendorStoreID) == 0 {
return fmt.Errorf("storeID或vendorStoreID不允许为空")
}
sqlStr := `REPLACE INTO freight_template (store_id, vendor_store_id, template_id, warehouse_id, fence_id, trade_limit_id)
SELECT ?,?,?,?,?,? FROM DUAL WHERE NOT EXISTS(SELECT COUNT(store_id) FROM freight_template WHERE store_id = ?)=0`
sqlParam := []interface{}{tem.StoreID, tem.VendorStoreID, tem.TemplateID, tem.WarehouseID, tem.FenceID, tem.TradeLimitID, tem.StoreID}
_, err := ExecuteSQL(GetDB(), sqlStr, sqlParam)
return err
}
func InsertItemFreight2(storeID, templateID, warehouseID, tradeLimitID int, vendorStoreID, fenceID string) error {
var (
sqlStr []string
tStr = ""
sqlParams []interface{}
)
if storeID == 0 && utils.Str2Int(vendorStoreID) == 0 {
return errors.New("storeID,vendorStoreID 必传")
}
sql := `UPDATE freight_template a SET `
if templateID != 0 {
templateIDSql := ` a.template_id = ?`
sqlParams = append(sqlParams, templateID)
sqlStr = append(sqlStr, templateIDSql)
}
if warehouseID != 0 {
warehouseIDSql := ` a.warehouse_id = ?`
sqlParams = append(sqlParams, warehouseID)
sqlStr = append(sqlStr, warehouseIDSql)
}
if len(fenceID) > 0 {
fenceIDSql := ` a.fence_id = ?`
sqlParams = append(sqlParams, fenceID)
sqlStr = append(sqlStr, fenceIDSql)
}
if tradeLimitID != 0 {
tradeLimitIDSql := ` a.trade_limit_id = ? `
sqlParams = append(sqlParams, tradeLimitID)
sqlStr = append(sqlStr, tradeLimitIDSql)
}
tStr = "WHERE a.store_id = ? AND a.vendor_store_id = ?"
sqlParams = append(sqlParams, storeID, vendorStoreID)
tStr2 := sql + strings.Join(sqlStr, ",") + tStr
_, err := ExecuteSQL(GetDB(), tStr2, sqlParams...)
fmt.Println(tStr2)
return err
}
func InsertItemFreight(tem *model.FreightTemplate) error {
if tem.StoreID == 0 || len(tem.VendorStoreID) == 0 {
return fmt.Errorf("storeID或vendorStoreID不允许为空")
}
var (
sqlStr []string
tStr = ""
sqlParams []interface{}
)
if tem.StoreID == 0 && utils.Str2Int(tem.VendorStoreID) == 0 {
return errors.New("storeID,vendorStoreID 必传")
}
sql := `UPDATE freight_template a SET `
if tem.TemplateID != 0 {
templateIDSql := ` a.template_id = ?`
sqlParams = append(sqlParams, tem.TemplateID)
sqlStr = append(sqlStr, templateIDSql)
}
if tem.WarehouseID != 0 {
warehouseIDSql := ` a.warehouse_id = ?`
sqlParams = append(sqlParams, tem.WarehouseID)
sqlStr = append(sqlStr, warehouseIDSql)
}
if len(tem.FenceID) > 0 {
fenceIDSql := ` a.fence_id = ?`
sqlParams = append(sqlParams, tem.FenceID)
sqlStr = append(sqlStr, fenceIDSql)
}
if tem.TradeLimitID != 0 {
tradeLimitIDSql := ` a.trade_limit_id = ? `
sqlParams = append(sqlParams, tem.TradeLimitID)
sqlStr = append(sqlStr, tradeLimitIDSql)
}
tStr = "WHERE a.store_id = ? AND a.vendor_store_id = ?"
sqlParams = append(sqlParams, tem.StoreID, tem.VendorStoreID)
tStr2 := sql + strings.Join(sqlStr, ",") + tStr
_, err := ExecuteSQL(GetDB(), tStr2, sqlParams...)
fmt.Println(tStr2)
return err
}