Skip to content

Commit 0063193

Browse files
committed
创建订单
1 parent 655c6f2 commit 0063193

File tree

9 files changed

+120
-9
lines changed

9 files changed

+120
-9
lines changed

consts/cart_consts/cart.go

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package cart_consts
2+
3+
const (
4+
Type_Id_Normal = 302001 //正常
5+
)

dao/order_dao/create.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
)
99

1010
type CreateOrder struct {
11-
*models.OrderDate
11+
*models.OrderCollectDate
1212
}
1313

1414
func NewCreateOrder() *CreateOrder {

models/goods_collect_price.go

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package models
2+
3+
type GoodsCollectPrice struct {
4+
*Goods
5+
*GoodsPrice
6+
}

models/order_data.go models/order_collect_data.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package models
22

3-
type OrderDate struct {
3+
type OrderCollectDate struct {
44
Order *Order
55
OrderExt *OrderExt
66
Consignee *OrderConsignee

res/db/shop_go.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ CREATE TABLE `cart` (
239239
`amount` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '合计总价',
240240
`warehouse_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '仓库ID',
241241
`sid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '供货商ID',
242-
`type_id` int(11) NOT NULL DEFAULT '1' COMMENT '类别:1普通',
242+
`type_id` int(11) NOT NULL DEFAULT '1' COMMENT '类别:普通',
243243
PRIMARY KEY (`id`),
244244
KEY `uid` (`uid`),
245245
KEY `type_id` (`type_id`)

router/example/test/order.go

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package test
2+
3+
import (
4+
"github.com/foxiswho/echo-go/router/base"
5+
"net/http"
6+
"github.com/foxiswho/echo-go/service/order_service"
7+
)
8+
9+
type Order struct {
10+
}
11+
12+
func NewOrder() *Order {
13+
return new(Order)
14+
}
15+
16+
func (x *Order) IndexHandler(c *base.BaseContext) error {
17+
//test
18+
order_service.CreateOrderFormatFromCartT()
19+
c.HTML(http.StatusOK, "order 创建成功")
20+
return nil
21+
}

service/order_service/create_order_format.go

+11
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,17 @@ func NewCreateOrderFormat() *CreateOrderFormat {
2121
return new(CreateOrderFormat)
2222
}
2323

24+
func (s *CreateOrderFormat) SetOrderGoodsData(data []*models.OrderGoodsData) {
25+
s.OrderGoodsData = data
26+
}
27+
func (s *CreateOrderFormat) SetUser(user *models.User) {
28+
s.User = user
29+
}
30+
31+
func (s *CreateOrderFormat) SetOptions(options *options) {
32+
s.Options = options
33+
}
34+
2435
func (s *CreateOrderFormat) Process() (*models.Order, error) {
2536
if s.OrderGoodsData == nil {
2637
return nil, util.NewError("商品数据不能为空")

service/order_service/create_order_format_from_cart.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,26 @@ import (
88

99
//创建订单,数据来源于购物车
1010
type CreateOrderFormatFromCart struct {
11-
Cart []*models.Cart
11+
Carts []*models.Cart
1212
}
1313

1414
func NewCreateOrderFormatFromCart() *CreateOrderFormatFromCart {
1515
return new(CreateOrderFormatFromCart)
1616
}
1717

18-
func (s *CreateOrderFormatFromCart) SetCart(cart []*models.Cart) {
19-
s.Cart = cart
18+
func (s *CreateOrderFormatFromCart) SetCart(carts []*models.Cart) {
19+
s.Carts = carts
2020
}
2121

2222
func (s *CreateOrderFormatFromCart) Process() ([]*models.OrderGoodsData, error) {
23-
if s.Cart == nil {
23+
if s.Carts == nil {
2424
return nil, util.NewError("购物车商品数据不能为空")
2525
}
26-
if len(s.Cart) == 0 {
26+
if len(s.Carts) == 0 {
2727
return nil, util.NewError("购物车商品数据不能为空")
2828
}
2929
order_goods_data_all := make([]*models.OrderGoodsData, 0)
30-
for _, val := range s.Cart {
30+
for _, val := range s.Carts {
3131
order_goods_data := models.NewOrderGoodsData()
3232
goods, err := service.NewGoodsService().GetById(val.GoodsId)
3333
if err != nil {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
package order_service
2+
3+
import (
4+
"github.com/foxiswho/echo-go/module/db"
5+
"github.com/foxiswho/echo-go/models"
6+
"github.com/foxiswho/echo-go/service"
7+
"fmt"
8+
"github.com/foxiswho/echo-go/consts/cart_consts"
9+
)
10+
11+
func CreateOrderFormatFromCartT() {
12+
//
13+
uid := 1
14+
user, err := service.NewUserService().GetById(uid)
15+
if err != nil {
16+
fmt.Println("err", err)
17+
}
18+
//查询出指定商品数据
19+
goods_id := 1002
20+
goods, err := service.NewGoodsService().GetById(goods_id)
21+
if err != nil {
22+
fmt.Println("err", err)
23+
}
24+
goods_price, err := service.NewGoodsPriceService().GetById(goods_id)
25+
if err != nil {
26+
fmt.Println("err", err)
27+
}
28+
//购物车数据 组合
29+
cart := models.NewCart()
30+
cart.Num = 10
31+
cart.Price = goods_price.PriceShop
32+
cart.GoodsId = goods.Id
33+
cart.ProductId = goods.ProductId
34+
cart.WarehouseId = goods.WarehouseId
35+
cart.Sid = goods.Sid
36+
cart.TypeId = cart_consts.Type_Id_Normal
37+
cart.Amount = int64(cart.Num) * cart.Price
38+
cart.Uid = uid
39+
//保存到数据库
40+
engine := db.DB().Engine
41+
affected, err := engine.Insert(cart)
42+
if err != nil {
43+
fmt.Println("err", err)
44+
}
45+
fmt.Println("affected", affected)
46+
///////////////////////////////////////////////////////
47+
//获取购物车数据
48+
carts := make([]*models.Cart, 0)
49+
err = engine.Where("uid=?", uid).Find(carts)
50+
if err != nil {
51+
fmt.Println("err", err)
52+
}
53+
//填充数据
54+
cart_service := NewCreateOrderFormatFromCart()
55+
cart_service.SetCart(carts)
56+
order_goods, err := cart_service.Process()
57+
if err != nil {
58+
fmt.Println("err", err)
59+
}
60+
order_create := NewCreateOrderFormat()
61+
order_create.SetOrderGoodsData(order_goods)
62+
order_create.SetUser(user)
63+
order, err := order_create.Process()
64+
if err != nil {
65+
fmt.Println("err", err)
66+
}
67+
fmt.Println("order", order)
68+
}

0 commit comments

Comments
 (0)