一.需求分析
- 规格参数添加必须先选择类目
- 如果类目已经有规格参数,则无法添加
- 服务端最终返回EgoResult
二.代码实现
- 在/item/param/TbItemParamDao.go中添加查询函数
//根据类目id查询规格参数func selByCatIdDao(catid int) *TbItemParam{ r,err:=commons.Dql("select * from tb_item_param where item_cat_id=?",catid) if err!=nil{ fmt.Println(err) return nil } if r.Next(){ param := new (TbItemParam) r.Scan(¶m.Id,¶m.ItemCatId,¶m.ParamData,¶m.Created,¶m.Updated) return param } return nil}
- 在/item/param/TbItemParamService.go中添加业务判断是否存在
//根据类目id查询规格参数是否已经添加func catidService(catid int) (e commons.EgoResult){ p:=selByCatIdDao(catid) if p ==nil{ e.Status=200 } return}
- 添加/item/param/TbItemParamController.go中添加控制器函数和映射
//判断类目是否已经添加了规格参数func isCatController(w http.ResponseWriter,r *http.Request){ catid,_:=strconv.Atoi(r.FormValue("catid")) er:=catidService(catid) 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)//删除规格参数 commons.Router.HandleFunc("/item/param/iscat",isCatController)//删除规格参数}