package db import ( "context" "fmt" "github.com/sirupsen/logrus" "youngee_m_api/model/gorm_model" ) func CreateFreeStrategy(ctx context.Context, FreeStrategys []gorm_model.FreeStrategy) error { db := GetReadDB(ctx) fmt.Println("FreeStrategys: ", FreeStrategys) err := db.Create(&FreeStrategys).Error if err != nil { return err } return nil } func DeleteFreeStrategyBySelectionId(ctx context.Context, SelectionId string) error { db := GetReadDB(ctx) err := db.Where("selection_id = ?", SelectionId).Delete(&gorm_model.FreeStrategy{}).Error if err != nil { return err } return nil } func GetFreeStrategyBySelectionId(ctx context.Context, SelectionId string) ([]*gorm_model.FreeStrategy, error) { db := GetReadDB(ctx) var FreeStrategys []*gorm_model.FreeStrategy err := db.Model(gorm_model.FreeStrategy{}).Where("selection_id = ?", SelectionId).Find(&FreeStrategys).Error if err != nil { logrus.WithContext(ctx).Errorf("[GetFreeStrategyBySelectionId] error query, err:%+v", err) return nil, err } return FreeStrategys, nil } func UpdateFreeStrategyNum(ctx context.Context, StrategyInfo gorm_model.FreeStrategy) error { db := GetReadDB(ctx) fmt.Println("将要更新的免费领样策略: ", StrategyInfo.SelectionId) whereCondition := gorm_model.FreeStrategy{SelectionId: StrategyInfo.SelectionId, StrategyId: StrategyInfo.StrategyId} newStrategyInfo := make(map[string]interface{}) // newStrategyInfo["FreeStrategyId"] = StrategyInfo.FreeStrategyId // newStrategyInfo["StrategyId"] = StrategyInfo.StrategyId // newStrategyInfo["SelectionId"] = StrategyInfo.SelectionId //newStrategyInfo["FansNum"] = StrategyInfo.FansNum //newStrategyInfo["SaleNum"] = StrategyInfo.SaleNum // newStrategyInfo["StrategyStatus"] = StrategyInfo.StrategyStatus newStrategyInfo["EnrollNum"] = StrategyInfo.EnrollNum newStrategyInfo["ChooseNum"] = StrategyInfo.ChooseNum newStrategyInfo["BeforeDeliveryNum"] = StrategyInfo.BeforeDeliveryNum newStrategyInfo["DeliveryNum"] = StrategyInfo.DeliveryNum newStrategyInfo["AfterDeliveryNum"] = StrategyInfo.AfterDeliveryNum fmt.Println("Map后的Strategy: ", newStrategyInfo) err := db.Model(gorm_model.FreeStrategy{}).Where(whereCondition).Updates(newStrategyInfo).Error fmt.Println(err) if err != nil { return err } return nil }