一.需求分析

  • 规格参数删除时客户端向服务端传递ids参数,包含要删除规格的id,使用逗号分割
  • 规格参数删除为数据库删除语句
  • 服务端提供多条删除的函数

二.代码实现

  • 在/item/param/TbItemParamDao.go中添加函数,实现多条删除
  1. //多条删除
  2. func delByIdsDao(ids []int) int{
  3. sql:="delete from tb_item_param where id in ("
  4. for i:=0;i<len(ids);i++{
  5. sql+=strconv.Itoa(ids[i])
  6. if i <len(ids)-1{
  7. sql+=","
  8. }
  9. }
  10. sql+=")"
  11. count,err:=commons.Dml(sql)
  12. if err!=nil{
  13. fmt.Println(err)
  14. return -1
  15. }
  16. return int(count)
  17. }
  • 在/item/param/TbItemParamService.go中添加业务
  1. //删除规格参数
  2. func delByIdsService(ids string) (e commons.EgoResult){
  3. idStr:=strings.Split(ids,",")
  4. idInt:=make([]int,0)
  5. for _,n:=range idStr{
  6. id,_:=strconv.Atoi(n)
  7. idInt= append(idInt,id)
  8. }
  9. count:=delByIdsDao(idInt)
  10. if count>0{
  11. e.Status=200
  12. }
  13. return
  14. }
  • 在/item/param/TbItemParamController.go中添加控制器函数
  1. //删除规格参数
  2. func delByIdsController(w http.ResponseWriter,r *http.Request){
  3. er:=delByIdsService(r.FormValue("ids"))
  4. b,_:=json.Marshal(er)
  5. w.Header().Set(commons.HEADER_CONTENT_TYPE,commons.JSON_HEADER)
  6. w.Write(b)
  7. }
  1. func ParamHandler(){
  2. commons.Router.HandleFunc("/item/param/show",showParamController)
  3. commons.Router.HandleFunc("/item/param/delete",delByIdsController)//删除规格参数
  4. }