func BatchUpdateForm(reportForms []) {
ids := []int64{}
formIdMap :=make(map[int64]map[string]interface{})
for _,val :=range reportForms {
formIdMap[]=(val)
ids=append(ids, )
}
var report
columnMap := (&report) //结构体的TAG转MAP
vals := []interface{}{}
sqlStr := "Update report_form Set "
for key,val :=range columnMap {
sqlStr+=val+" = CASE id"
for _,rfval :=range reportForms{
sqlStr+=" when "+ (,10)+" THEN ?"
vals=append(vals,formIdMap[][key])
}
sqlStr+=" END,"
}
sqlStr=(sqlStr,0, len(sqlStr)-1)
sqlStr += " where id in (?)"
vals=append(vals, ids)
err := (sqlStr, vals...).Error
if err!=nil {
panic(err)
}
}