一.需求分析
- 规格参数删除时客户端向服务端传递ids参数,包含要删除规格的id,使用逗号分割
- 规格参数删除为数据库删除语句
- 服务端提供多条删除的函数
二.代码实现
- 在/item/param/TbItemParamDao.go中添加函数,实现多条删除
//多条删除
func delByIdsDao(ids []int) int{
sql:="delete from tb_item_param where id in ("
for i:=0;i<len(ids);i++{
sql+=strconv.Itoa(ids[i])
if i <len(ids)-1{
sql+=","
}
}
sql+=")"
count,err:=commons.Dml(sql)
if err!=nil{
fmt.Println(err)
return -1
}
return int(count)
}
- 在/item/param/TbItemParamService.go中添加业务
//删除规格参数
func delByIdsService(ids string) (e commons.EgoResult){
idStr:=strings.Split(ids,",")
idInt:=make([]int,0)
for _,n:=range idStr{
id,_:=strconv.Atoi(n)
idInt= append(idInt,id)
}
count:=delByIdsDao(idInt)
if count>0{
e.Status=200
}
return
}
- 在/item/param/TbItemParamController.go中添加控制器函数
//删除规格参数
func delByIdsController(w http.ResponseWriter,r *http.Request){
er:=delByIdsService(r.FormValue("ids"))
b,_:=json.Marshal(er)
w.Header().Set(commons.HEADER_CONTENT_TYPE,commons.JSON_HEADER)
w.Write(b)
}
func ParamHandler(){
commons.Router.HandleFunc("/item/param/show",showParamController)
commons.Router.HandleFunc("/item/param/delete",delByIdsController)//删除规格参数
}