一.需求分析
- 规格参数添加必须先选择类目
- 如果类目已经有规格参数,则无法添加
- 服务端最终返回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)//删除规格参数
}