一.需求分析

  • 规格参数添加必须先选择类目
  • 如果类目已经有规格参数,则无法添加
  • 服务端最终返回EgoResult

二.代码实现

  • 在/item/param/TbItemParamDao.go中添加查询函数
  1. //根据类目id查询规格参数
  2. func selByCatIdDao(catid int) *TbItemParam{
  3. r,err:=commons.Dql("select * from tb_item_param where item_cat_id=?",catid)
  4. if err!=nil{
  5. fmt.Println(err)
  6. return nil
  7. }
  8. if r.Next(){
  9. param := new (TbItemParam)
  10. r.Scan(&param.Id,&param.ItemCatId,&param.ParamData,&param.Created,&param.Updated)
  11. return param
  12. }
  13. return nil
  14. }
  • 在/item/param/TbItemParamService.go中添加业务判断是否存在
  1. //根据类目id查询规格参数是否已经添加
  2. func catidService(catid int) (e commons.EgoResult){
  3. p:=selByCatIdDao(catid)
  4. if p ==nil{
  5. e.Status=200
  6. }
  7. return
  8. }
  • 添加/item/param/TbItemParamController.go中添加控制器函数和映射
  1. //判断类目是否已经添加了规格参数
  2. func isCatController(w http.ResponseWriter,r *http.Request){
  3. catid,_:=strconv.Atoi(r.FormValue("catid"))
  4. er:=catidService(catid)
  5. b,_:=json.Marshal(er)
  6. w.Header().Set(commons.HEADER_CONTENT_TYPE,commons.JSON_HEADER)
  7. w.Write(b)
  8. }
  1. func ParamHandler(){
  2. commons.Router.HandleFunc("/item/param/show",showParamController)
  3. commons.Router.HandleFunc("/item/param/delete",delByIdsController)//删除规格参数
  4. commons.Router.HandleFunc("/item/param/iscat",isCatController)//删除规格参数
  5. }