Golang实战项目-B2C电商平台项目(7)

Golang实战项目-B2C电商平台项目(7)

商品新增
  • 商品新增时需要新增的是两个表的数据tb_item和tb_item_desc表(tb_item_param规格参数暂时不考虑),在本小节中只新增tb_item表中数据,下一小节新增商品描述
  • 新增成功后服务端返回EgoResult对应的json数据
  • 页面接收数据后判断,如果Status为200,清空页面数据.

在TbItemDao.go中编写函数实现对tb_item表的新增

//新增
func insertItemDao(t TbItem) int{
	count,err:=commons.Dml("insert into tb_item values(?,?,?,?,?,?,?,?,?,?,?)",t.Id,t.Title,t.SellPoint,t.Price,t.Num,t.Barcode,t.Image,t.Cid,t.Status,t.Created,t.Updated)
	if err!=nil{
		return -1
	}
	return int(count)
}

在commons文件夹下新建Commons.go文件,并编写工具函数,实现生成主键


import (
	"time"
	"math/rand"
	"strconv"
)
//生成数据库主键
func GenId() int{
	rand.Seed(time.Now().UnixNano())
	id,_:=strconv.Atoi(strconv.Itoa(rand.Intn(10000))+strconv.Itoa(int(time.Now().Unix())))
	return id
}

在TbItemService.go中编写业务实现商品新增

//商品新增
func insetService(f url.Values) (e commons.EgoResult){
	var t TbItem
	cid,_:=strconv.Atoi(f["Cid"][0])
	t.Cid =cid
	t.Title = f["Title"][0]
	t.SellPoint = f["SellPoint"][0]
	price,_:=strconv.Atoi(f["Price"][0])
	t.Price = price
	num,_:=strconv.Atoi(f["Num"][0])
	t.Num=num
	t.Image = f["Image"][0]
	t.Status = 1
	date:=time.Now().Format("2006-01-02 15:04:05")
	t.Created =date
	t.Updated = date
	id:=commons.GenId()
	t.Id = id
	count :=insertItemDao(t)
	if count>0{
		e.Status = 200
	}
	return
}
  • 在TbItemController.go中添加函数实现商品新增,并添加映射
//商品新增
func insertControllew (w http.ResponseWriter, r *http.Request) {
	//需要先进行解析
	r.ParseForm()
	er:=insetService(r.Form)
	b,_:=json.Marshal(er)
	w.Header().Set(commons.HEADER_CONTENT_TYPE,commons.JSON_HEADER)
	w.Write(b)
}

func ItemHandler() {
	commons.Router.HandleFunc("/showItem", showItemController)
	commons.Router.HandleFunc("/item/delete", delByIdsController)
	commons.Router.HandleFunc("/item/instock", instockController)
	commons.Router.HandleFunc("/item/offstock", offstockController)
	commons.Router.HandleFunc("/item/imageupload", imagesUploadController) 
	commons.Router.HandleFunc("/item/add", insertControllew) //商品新增
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值