@@ -0,0 +1,13 @@ | |||||
package order | |||||
import ( | |||||
"applet/app/admin/svc" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func MarkRecord(c *gin.Context) { | |||||
svc.MarkRecord(c) | |||||
} | |||||
func MarkRecordFlow(c *gin.Context) { | |||||
svc.MarkRecordFlow(c) | |||||
} |
@@ -23,19 +23,12 @@ func OrderList(c *gin.Context) { | |||||
list, total := db.GetOrderList(eg, args) | list, total := db.GetOrderList(eg, args) | ||||
data := make([]map[string]string, 0) | data := make([]map[string]string, 0) | ||||
if list != nil { | if list != nil { | ||||
stateArr := []string{"待制作", "制作中", "烘焙中", "分拣中", "已完成", "已取消"} | |||||
stateArr := []string{"待制作", "制作中", "制作完成", "烘焙完成", "分拣完成", "已取消"} | |||||
enterpriseIds := make([]int, 0) | enterpriseIds := make([]int, 0) | ||||
for _, v := range *list { | for _, v := range *list { | ||||
enterpriseIds = append(enterpriseIds, v.EnterpriseId) | enterpriseIds = append(enterpriseIds, v.EnterpriseId) | ||||
} | } | ||||
enterpriseMap := make(map[int]model.Enterprise) | |||||
if len(enterpriseIds) > 0 { | |||||
enterpriseData := make([]model.Enterprise, 0) | |||||
eg.In("id", enterpriseIds).Find(&enterpriseData) | |||||
for _, v := range enterpriseData { | |||||
enterpriseMap[v.Id] = v | |||||
} | |||||
} | |||||
enterpriseMap := db.GetEnterpriseMore(eg, enterpriseIds) | |||||
for _, v := range *list { | for _, v := range *list { | ||||
v1 := JudgePackageOrdOrdState(&v) | v1 := JudgePackageOrdOrdState(&v) | ||||
isCanCancel := "1" | isCanCancel := "1" | ||||
@@ -264,7 +257,7 @@ func OrderDetail(c *gin.Context) { | |||||
if skuStr != "" { | if skuStr != "" { | ||||
skuStr += ";" | skuStr += ";" | ||||
} | } | ||||
skuStr += v1.Name + ":" + v1.Value | |||||
skuStr += v1.Value | |||||
} | } | ||||
tmp["sku_str"] = skuStr | tmp["sku_str"] = skuStr | ||||
@@ -0,0 +1,68 @@ | |||||
package svc | |||||
import ( | |||||
"applet/app/db" | |||||
"applet/app/e" | |||||
"applet/app/utils" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func MarkRecord(c *gin.Context) { | |||||
var args map[string]string | |||||
if err := c.ShouldBindJSON(&args); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
eg := db.Db | |||||
list, total := db.GetOrderGoodsDoingList(eg, args) | |||||
data := make([]map[string]string, 0) | |||||
if list != nil { | |||||
stateArr := []string{"待制作", "制作中", "制作完成", "烘焙完成", "分拣完成", "已取消"} | |||||
enterpriseIds := make([]int, 0) | |||||
adminIds := make([]int, 0) | |||||
for _, v := range *list { | |||||
enterpriseIds = append(enterpriseIds, v.EnterpriseId) | |||||
adminIds = append(adminIds, v.AdminId) | |||||
} | |||||
enterpriseMap := db.GetEnterpriseMore(eg, enterpriseIds) | |||||
adminMap := db.GetAdminMore(eg, adminIds) | |||||
for _, v := range *list { | |||||
enterpriseName := "" | |||||
adminName := "" | |||||
_, ok := enterpriseMap[v.EnterpriseId] | |||||
if ok { | |||||
enterpriseName = enterpriseMap[v.EnterpriseId].Name | |||||
} | |||||
_, ok1 := adminMap[v.AdminId] | |||||
if ok1 { | |||||
adminName = adminMap[v.AdminId].Memo | |||||
} | |||||
var tmp = map[string]string{ | |||||
"oid": utils.Int64ToStr(v.Oid), | |||||
"id": utils.IntToStr(v.Id), | |||||
"state_str": stateArr[v.State], | |||||
"state": utils.IntToStr(v.State), | |||||
"time": v.Time.Format("2006-01-02 15:04:05"), | |||||
"enterprise_name": enterpriseName, | |||||
"sku_str": v.Sku, | |||||
"goods_title": v.GoodsTitle, | |||||
"memo": v.Memo, | |||||
"admin_name": adminName, | |||||
"num": utils.IntToStr(v.Num), | |||||
"success_num": utils.IntToStr(v.SuccessNum), | |||||
} | |||||
data = append(data, tmp) | |||||
} | |||||
} | |||||
res := map[string]interface{}{ | |||||
"total": total, | |||||
"list": data, | |||||
} | |||||
e.OutSuc(c, res, nil) | |||||
return | |||||
} | |||||
func MarkRecordFlow(c *gin.Context) { | |||||
} |
@@ -120,3 +120,24 @@ func (adminDb *AdminDb) AdminInsert(m *model.Admin) (int64, error) { | |||||
} | } | ||||
return insertAffected, nil | return insertAffected, nil | ||||
} | } | ||||
func GetAllAdmin(eg *xorm.Engine) *[]model.Admin { | |||||
var data []model.Admin | |||||
err := eg.Where("is_super_administrator=?", 0).Find(&data) | |||||
if err != nil { | |||||
return nil | |||||
} | |||||
return &data | |||||
} | |||||
func GetAdminMore(eg *xorm.Engine, ids []int) map[int]model.Admin { | |||||
data := make(map[int]model.Admin) | |||||
if len(ids) > 0 { | |||||
list := make([]model.Admin, 0) | |||||
eg.In("id", ids).Find(&list) | |||||
for _, v := range list { | |||||
data[v.AdmId] = v | |||||
} | |||||
} | |||||
return data | |||||
} |
@@ -76,3 +76,23 @@ func (enterpriseDb *EnterpriseDb) EnterpriseUpdate(m *model.Enterprise, columns | |||||
} | } | ||||
return affected, nil | return affected, nil | ||||
} | } | ||||
func GetEnterpriseMore(eg *xorm.Engine, enterpriseIds []int) map[int]model.Enterprise { | |||||
enterpriseMap := make(map[int]model.Enterprise) | |||||
if len(enterpriseIds) > 0 { | |||||
enterpriseData := make([]model.Enterprise, 0) | |||||
eg.In("id", enterpriseIds).Find(&enterpriseData) | |||||
for _, v := range enterpriseData { | |||||
enterpriseMap[v.Id] = v | |||||
} | |||||
} | |||||
return enterpriseMap | |||||
} | |||||
func GetEnterpriseList(eg *xorm.Engine) *[]model.Enterprise { | |||||
var data []model.Enterprise | |||||
err := eg.Where("1=1").Find(&data) | |||||
if err != nil { | |||||
return nil | |||||
} | |||||
return &data | |||||
} |
@@ -0,0 +1,54 @@ | |||||
package db | |||||
import ( | |||||
"applet/app/db/model" | |||||
"applet/app/utils" | |||||
"xorm.io/xorm" | |||||
) | |||||
func GetOrderGoodsByRecordId(eg *xorm.Engine, id string) *model.OrderGoodsDoing { | |||||
var order model.OrderGoodsDoing | |||||
get, err := eg.Where("record_id=?", id).Get(&order) | |||||
if get == false || err != nil { | |||||
return nil | |||||
} | |||||
return &order | |||||
} | |||||
func GetOrderGoodsDoingList(eg *xorm.Engine, param map[string]string) (*[]model.OrderGoodsDoing, int64) { | |||||
var order []model.OrderGoodsDoing | |||||
sess := eg.Where("1=1") | |||||
if param["enterprise_name"] != "" { | |||||
var data []model.Enterprise | |||||
eg.Where("name like ?", "%"+param["enterprise_name"]+"%") | |||||
ids := []int{-1} | |||||
for _, v := range data { | |||||
ids = append(ids, v.Id) | |||||
} | |||||
sess.In("enterprise_id", ids) | |||||
} | |||||
if param["oid"] != "" { | |||||
sess.And("oid like ?", "%"+param["oid"]+"%") | |||||
} | |||||
if param["state"] != "" { | |||||
sess.And("state =?", param["state"]) | |||||
} | |||||
if param["admin_id"] != "" { | |||||
sess.And("admin_id =?", param["admin_id"]) | |||||
} | |||||
if param["goods_title"] != "" { | |||||
sess.And("goods_title like ?", "%"+param["goods_title"]+"%") | |||||
} | |||||
if param["start_time"] != "" { | |||||
sess.And("time>=?", param["start_time"]) | |||||
} | |||||
if param["end_time"] != "" { | |||||
sess.And("time<=?", param["end_time"]) | |||||
} | |||||
size := utils.StrToInt(param["limit"]) | |||||
start := (utils.StrToInt(param["page"]) - 1) * size | |||||
count, err := sess.Limit(size, start).OrderBy("time desc,id desc").FindAndCount(&order) | |||||
if err != nil { | |||||
return nil, count | |||||
} | |||||
return &order, count | |||||
} |
@@ -0,0 +1,45 @@ | |||||
package db | |||||
import ( | |||||
"applet/app/db/model" | |||||
"applet/app/utils" | |||||
"xorm.io/xorm" | |||||
) | |||||
func GetOrderGoodsListByIpad(eg *xorm.Engine, param map[string]string) (*[]model.OrderGoods, int64) { | |||||
var order []model.OrderGoods | |||||
sess := eg.Where("state!=5") | |||||
if param["oid"] != "" { | |||||
sess.And("oid = ?", param["oid"]) | |||||
} | |||||
if param["state"] != "" { | |||||
sess.And("state =?", param["state"]) | |||||
} | |||||
if param["keyword"] != "" { | |||||
sess.And("goods_title like ?", "%"+param["keyword"]+"%") | |||||
} | |||||
size := utils.StrToInt(param["limit"]) | |||||
start := (utils.StrToInt(param["page"]) - 1) * size | |||||
count, err := sess.Limit(size, start).OrderBy("id asc").FindAndCount(&order) | |||||
if err != nil { | |||||
return nil, count | |||||
} | |||||
return &order, count | |||||
} | |||||
func GetOrderGoodsById(eg *xorm.Engine, id string) *model.OrderGoods { | |||||
var order model.OrderGoods | |||||
get, err := eg.Where("id=?", id).Get(&order) | |||||
if get == false || err != nil { | |||||
return nil | |||||
} | |||||
return &order | |||||
} | |||||
func GetOrderGoodsByIdSess(sess *xorm.Session, id string) *model.OrderGoods { | |||||
var order model.OrderGoods | |||||
get, err := sess.Where("id=?", id).Get(&order) | |||||
if get == false || err != nil { | |||||
return nil | |||||
} | |||||
return &order | |||||
} |
@@ -3,6 +3,7 @@ package db | |||||
import ( | import ( | ||||
"applet/app/db/model" | "applet/app/db/model" | ||||
"applet/app/utils" | "applet/app/utils" | ||||
"github.com/syyongx/php2go" | |||||
"xorm.io/xorm" | "xorm.io/xorm" | ||||
) | ) | ||||
@@ -14,9 +15,9 @@ func GetOrderById(eg *xorm.Engine, id string) *model.Order { | |||||
} | } | ||||
return &order | return &order | ||||
} | } | ||||
func GetOrderGoodsById(eg *xorm.Engine, id string) *model.OrderGoods { | |||||
var order model.OrderGoods | |||||
get, err := eg.Where("id=?", id).Get(&order) | |||||
func GetOrderByIdSess(sess *xorm.Session, id string) *model.Order { | |||||
var order model.Order | |||||
get, err := sess.Where("oid=?", id).Get(&order) | |||||
if get == false || err != nil { | if get == false || err != nil { | ||||
return nil | return nil | ||||
} | } | ||||
@@ -31,14 +32,6 @@ func GetOrderGoodsBySkuId(eg *xorm.Engine, oid, skuId string) *model.OrderGoods | |||||
return &order | return &order | ||||
} | } | ||||
func GetOrderGoodsByIdSess(sess *xorm.Session, id string) *model.OrderGoods { | |||||
var order model.OrderGoods | |||||
get, err := sess.Where("id=?", id).Get(&order) | |||||
if get == false || err != nil { | |||||
return nil | |||||
} | |||||
return &order | |||||
} | |||||
func GetOrderGoodsBySkuIdSess(sess *xorm.Session, oid, skuId string) *model.OrderGoods { | func GetOrderGoodsBySkuIdSess(sess *xorm.Session, oid, skuId string) *model.OrderGoods { | ||||
var order model.OrderGoods | var order model.OrderGoods | ||||
get, err := sess.Where("oid=? and sku_id=?", oid, skuId).Get(&order) | get, err := sess.Where("oid=? and sku_id=?", oid, skuId).Get(&order) | ||||
@@ -57,7 +50,7 @@ func GetOrderList(eg *xorm.Engine, param map[string]string) (*[]model.Order, int | |||||
sess.And("oid like ?", "%"+param["oid"]+"%") | sess.And("oid like ?", "%"+param["oid"]+"%") | ||||
} | } | ||||
if param["state"] != "" { | if param["state"] != "" { | ||||
sess.And("state =", param["state"]) | |||||
sess.And("state =?", param["state"]) | |||||
} | } | ||||
if param["goods_title"] != "" { | if param["goods_title"] != "" { | ||||
var orderGoods []model.OrderGoods | var orderGoods []model.OrderGoods | ||||
@@ -76,3 +69,27 @@ func GetOrderList(eg *xorm.Engine, param map[string]string) (*[]model.Order, int | |||||
} | } | ||||
return &order, count | return &order, count | ||||
} | } | ||||
func GetOrderListByIpad(eg *xorm.Engine, param map[string]string) (*[]model.Order, int64) { | |||||
var order []model.Order | |||||
sess := eg.Where("state!=5") | |||||
if param["keyword"] != "" { | |||||
var data []model.Enterprise | |||||
eg.Where("name like ?", "%"+param["keyword"]+"%").Find(&data) | |||||
ids := []string{"-1"} | |||||
for _, v := range data { | |||||
ids = append(ids, utils.IntToStr(v.Id)) | |||||
} | |||||
sess.And("enterprise_id in (?) or oid like ?", php2go.Implode(",", ids), "%"+param["keyword"]+"%") | |||||
} | |||||
if param["state"] != "" { | |||||
sess.And("state =?", param["state"]) | |||||
} | |||||
size := utils.StrToInt(param["limit"]) | |||||
start := (utils.StrToInt(param["page"]) - 1) * size | |||||
count, err := sess.Limit(size, start).OrderBy("id asc").FindAndCount(&order) | |||||
if err != nil { | |||||
return nil, count | |||||
} | |||||
return &order, count | |||||
} |
@@ -13,5 +13,5 @@ type Order struct { | |||||
EnterpriseId int `json:"enterprise_id" xorm:"default 0 comment('校企id') INT(11)"` | EnterpriseId int `json:"enterprise_id" xorm:"default 0 comment('校企id') INT(11)"` | ||||
BuyInfo string `json:"buy_info" xorm:"comment('购买人信息 json') VARCHAR(2000)"` | BuyInfo string `json:"buy_info" xorm:"comment('购买人信息 json') VARCHAR(2000)"` | ||||
Amount string `json:"amount" xorm:"default 0.00 comment('付款金额') DECIMAL(20,2)"` | Amount string `json:"amount" xorm:"default 0.00 comment('付款金额') DECIMAL(20,2)"` | ||||
BuyPhone string `json:"buy_phone" xorm:"comment('购买人手机 ') VARCHAR(20)"` | |||||
BuyPhone string `json:"buy_phone" xorm:"comment('购买人手机') VARCHAR(20)"` | |||||
} | } |
@@ -3,12 +3,12 @@ package model | |||||
type OrderGoods struct { | type OrderGoods struct { | ||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | ||||
Oid int64 `json:"oid" xorm:"default 0 comment('订单号') BIGINT(20)"` | Oid int64 `json:"oid" xorm:"default 0 comment('订单号') BIGINT(20)"` | ||||
GoodsId int64 `json:"goods_id" xorm:"default 0 comment('商品id') INT(11)"` | |||||
SkuId int64 `json:"sku_id" xorm:"default 0 comment('sku') INT(255)"` | |||||
GoodsId int64 `json:"goods_id" xorm:"default 0 comment('商品id') BIGINT(20)"` | |||||
SkuId int64 `json:"sku_id" xorm:"default 0 comment('sku') BIGINT(20)"` | |||||
Num int `json:"num" xorm:"default 0 comment('购买数量') INT(11)"` | Num int `json:"num" xorm:"default 0 comment('购买数量') INT(11)"` | ||||
Price string `json:"price" xorm:"default 0.00 comment('单价') DECIMAL(20,2)"` | Price string `json:"price" xorm:"default 0.00 comment('单价') DECIMAL(20,2)"` | ||||
SkuCode string `json:"sku_code" xorm:"default 0.00 comment('') VARCHAR(255)"` | |||||
Sku string `json:"sku_code" xorm:"default 0.00 comment('') VARCHAR(255)"` | |||||
GoodsTitle string `json:"goods_title" xorm:"default 0.00 comment('') VARCHAR(255)"` | |||||
State int `json:"state" xorm:"default 0 comment('状态 0待制作 1制作中 2烘焙中 3分拣中 4已完成 ') INT(11)"` | State int `json:"state" xorm:"default 0 comment('状态 0待制作 1制作中 2烘焙中 3分拣中 4已完成 ') INT(11)"` | ||||
SkuCode string `json:"sku_code" xorm:"VARCHAR(255)"` | |||||
GoodsTitle string `json:"goods_title" xorm:"comment('商品标题') VARCHAR(255)"` | |||||
Sku string `json:"sku" xorm:"comment('规格数据') VARCHAR(1000)"` | |||||
} | } |
@@ -0,0 +1,23 @@ | |||||
package model | |||||
import ( | |||||
"time" | |||||
) | |||||
type OrderGoodsDoing struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Oid int64 `json:"oid" xorm:"default 0 comment('订单号') BIGINT(20)"` | |||||
GoodsId int64 `json:"goods_id" xorm:"default 0 comment('商品id') BIGINT(20)"` | |||||
SkuId int64 `json:"sku_id" xorm:"default 0 comment('sku') BIGINT(20)"` | |||||
Num int `json:"num" xorm:"default 0 comment('购买数量') INT(11)"` | |||||
State int `json:"state" xorm:"default 0 comment('状态 1开始制作 2制作完成烘焙开始 3烘焙完成分拣开始 4已完成 ') INT(11)"` | |||||
SkuCode string `json:"sku_code" xorm:"VARCHAR(255)"` | |||||
GoodsTitle string `json:"goods_title" xorm:"comment('商品标题') VARCHAR(255)"` | |||||
Sku string `json:"sku" xorm:"comment('规格数据') VARCHAR(1000)"` | |||||
SuccessNum int `json:"success_num" xorm:"comment('完成数量') INT(11)"` | |||||
Memo string `json:"memo" xorm:"comment('制作完成备注') VARCHAR(255)"` | |||||
Time time.Time `json:"time" xorm:"DATETIME"` | |||||
RecordId int `json:"record_id" xorm:"default 0 comment('order_goods 的id') INT(11)"` | |||||
AdminId int `json:"admin_id" xorm:"default 0 comment('admin 的id') INT(11)"` | |||||
EnterpriseId int `json:"enterprise_id" xorm:"default 0 comment('校企 的id') INT(11)"` | |||||
} |
@@ -0,0 +1,16 @@ | |||||
package model | |||||
import ( | |||||
"time" | |||||
) | |||||
type OrderGoodsDoingFlow struct { | |||||
Id int `json:"id" xorm:"not null pk autoincr INT(11)"` | |||||
Num int `json:"num" xorm:"default 0 comment('购买数量') INT(11)"` | |||||
State int `json:"state" xorm:"default 0 comment('状态 1开始制作 2制作完成烘焙开始 3烘焙完成分拣开始 4已完成 ') INT(11)"` | |||||
SuccessNum int `json:"success_num" xorm:"comment('完成数量') INT(11)"` | |||||
Memo string `json:"memo" xorm:"comment('制作完成备注') VARCHAR(255)"` | |||||
Time time.Time `json:"time" xorm:"DATETIME"` | |||||
RecordId int `json:"record_id" xorm:"default 0 comment('order_goods_doing 的id') INT(11)"` | |||||
AdminId int `json:"admin_id" xorm:"default 0 comment('admin 的id') INT(11)"` | |||||
} |
@@ -0,0 +1,12 @@ | |||||
package hdl | |||||
import ( | |||||
"applet/app/e" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
// Demo 测试 | |||||
func Demo(c *gin.Context) { | |||||
e.OutSuc(c, "success", nil) | |||||
return | |||||
} |
@@ -0,0 +1,59 @@ | |||||
package hdl | |||||
import ( | |||||
"applet/app/e" | |||||
"applet/app/enum" | |||||
"applet/app/ipad/lib/validate" | |||||
"applet/app/ipad/md" | |||||
"applet/app/ipad/svc" | |||||
svc2 "applet/app/svc" | |||||
"applet/app/utils" | |||||
"fmt" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func Login(c *gin.Context) { | |||||
var req md.LoginReq | |||||
err := c.ShouldBindJSON(&req) | |||||
if err != nil { | |||||
err = validate.HandleValidateErr(err) | |||||
err1 := err.(e.E) | |||||
e.OutErr(c, err1.Code, err1.Error()) | |||||
return | |||||
} | |||||
sysCfg := svc2.SysCfgFind(enum.ProductionWorkshopAccount, enum.ProductionWorkshopPassword) | |||||
if sysCfg[enum.ProductionWorkshopAccount] == "" || sysCfg[enum.ProductionWorkshopPassword] == "" { | |||||
e.OutErr(c, e.ERR_NO_DATA, "用户信息不存在") | |||||
return | |||||
} | |||||
if sysCfg[enum.ProductionWorkshopAccount] != req.Account || sysCfg[enum.ProductionWorkshopPassword] != req.Password { | |||||
e.OutErr(c, e.ERR_NO_DATA, "账号或密码错误") | |||||
return | |||||
} | |||||
ip := utils.GetIP(c.Request) | |||||
key := fmt.Sprintf(md.UserJwtTokenKey, ip) | |||||
token, err := svc.HandleLoginToken(key, &md.User{ | |||||
Account: req.Account, | |||||
Password: req.Password, | |||||
}) | |||||
if err != nil { | |||||
e.OutErr(c, e.ERR, err.Error()) | |||||
return | |||||
} | |||||
e.OutSuc(c, md.LoginResponse{ | |||||
Token: token, | |||||
}, nil) | |||||
return | |||||
} | |||||
func UserInfo(c *gin.Context) { | |||||
//1、获取用户信息 | |||||
userInfo := svc.GetUser(c) | |||||
e.OutSuc(c, map[string]interface{}{ | |||||
"user_info": userInfo, | |||||
}, nil) | |||||
return | |||||
} |
@@ -0,0 +1,23 @@ | |||||
package hdl | |||||
import ( | |||||
"applet/app/e" | |||||
"applet/app/ipad/svc" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func OrderCate(c *gin.Context) { | |||||
var res = []map[string]string{ | |||||
{"name": "全部", "id": ""}, | |||||
{"name": "待制作", "id": "0"}, | |||||
{"name": "制作中", "id": "1"}, | |||||
{"name": "待烘焙", "id": "2"}, | |||||
{"name": "待分拣", "id": "3"}, | |||||
{"name": "已完成", "id": "4"}, | |||||
} | |||||
e.OutSuc(c, res, nil) | |||||
return | |||||
} | |||||
func Order(c *gin.Context) { | |||||
svc.Order(c) | |||||
} |
@@ -0,0 +1,70 @@ | |||||
package hdl | |||||
import ( | |||||
"applet/app/admin/md" | |||||
"applet/app/db" | |||||
"applet/app/e" | |||||
"applet/app/svc" | |||||
"applet/app/utils" | |||||
"encoding/json" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func OrderGoods(c *gin.Context) { | |||||
var args map[string]string | |||||
if err := c.ShouldBindJSON(&args); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
eg := db.Db | |||||
data, _ := db.GetOrderGoodsListByIpad(eg, args) | |||||
list := make([]map[string]string, 0) | |||||
if data != nil { | |||||
gids := make([]int64, 0) | |||||
for _, v := range *data { | |||||
gids = append(gids, v.GoodsId) | |||||
} | |||||
goodsMap := db.GetGoodsMore(eg, gids) | |||||
scheme, host, subDomain, moreSubDomain := svc.ImageBucketNew(c) | |||||
var tmpMap interface{} | |||||
stateArr := []string{"待制作", "制作中", "烘焙中", "分拣中", "已完成", "已取消"} | |||||
btnArr := []string{"开始制作", "制作中", "制作完成", "烘焙完成", "分拣完成", "已取消"} | |||||
for _, v := range *data { | |||||
var tmp = map[string]string{ | |||||
"oid": utils.Int64ToStr(v.Oid), | |||||
"id": utils.IntToStr(v.Id), | |||||
"num": utils.IntToStr(v.Num), | |||||
"state_str": stateArr[v.State], | |||||
"btn_str": btnArr[v.State], | |||||
"goods_title": v.GoodsTitle, | |||||
"goods_img": "", | |||||
"state": utils.IntToStr(v.State), | |||||
} | |||||
// 商品主图 | |||||
if goodsMap[v.GoodsId].ImageList != "" { | |||||
utils.Unserialize([]byte(goodsMap[v.GoodsId].ImageList), &tmpMap) | |||||
var imageListUrlTmp []string | |||||
for _, v := range tmpMap.([]interface{}) { | |||||
imageListUrlTmp = append(imageListUrlTmp, svc.ImageFormatWithBucketNew(scheme, host, subDomain, moreSubDomain, v.(string))) | |||||
} | |||||
if imageListUrlTmp != nil { | |||||
tmp["goods_img"] = imageListUrlTmp[0] | |||||
} | |||||
} | |||||
skuData := make([]md.Sku, 0) | |||||
json.Unmarshal([]byte(v.Sku), &skuData) | |||||
skuStr := "" | |||||
for _, v1 := range skuData { | |||||
if skuStr != "" { | |||||
skuStr += ";" | |||||
} | |||||
skuStr += v1.Value | |||||
} | |||||
tmp["sku_str"] = skuStr | |||||
list = append(list, tmp) | |||||
} | |||||
} | |||||
e.OutSuc(c, list, nil) | |||||
return | |||||
} |
@@ -0,0 +1,19 @@ | |||||
package hdl | |||||
import ( | |||||
"applet/app/ipad/svc" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func OrderMakeBegin(c *gin.Context) { | |||||
svc.OrderMakeBegin(c) | |||||
} | |||||
func OrderMakeEnd(c *gin.Context) { | |||||
svc.OrderMakeEnd(c) | |||||
} | |||||
func OrderBakingEnd(c *gin.Context) { | |||||
svc.OrderBakingEnd(c) | |||||
} | |||||
func OrderSortingEnd(c *gin.Context) { | |||||
svc.OrderSortingEnd(c) | |||||
} |
@@ -0,0 +1,10 @@ | |||||
package hdl | |||||
import ( | |||||
"applet/app/ipad/svc" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func Responsible(c *gin.Context) { | |||||
svc.Responsible(c) | |||||
} |
@@ -7,11 +7,11 @@ import ( | |||||
) | ) | ||||
// GenToken 生成JWT | // GenToken 生成JWT | ||||
func GenToken(userId int, username string) (string, error) { | |||||
func GenToken(account, password string) (string, error) { | |||||
// 创建一个我们自己的声明 | // 创建一个我们自己的声明 | ||||
c := JWTUser{ | c := JWTUser{ | ||||
UserId: userId, | |||||
Username: username, | |||||
Account: account, | |||||
Password: password, | |||||
StandardClaims: jwt.StandardClaims{ | StandardClaims: jwt.StandardClaims{ | ||||
ExpiresAt: time.Now().Add(TokenExpireDuration).Unix(), // 过期时间 | ExpiresAt: time.Now().Add(TokenExpireDuration).Unix(), // 过期时间 | ||||
Issuer: "bakery", // 签发人 | Issuer: "bakery", // 签发人 | ||||
@@ -9,11 +9,11 @@ import ( | |||||
// TokenExpireDuration is jwt 过期时间 | // TokenExpireDuration is jwt 过期时间 | ||||
const TokenExpireDuration = time.Hour * 4380 | const TokenExpireDuration = time.Hour * 4380 | ||||
var Secret = []byte("bakery_customer") | |||||
var Secret = []byte("bakery_big_data") | |||||
// JWTUser 如果想要保存更多信息,都可以添加到这个结构体中 | // JWTUser 如果想要保存更多信息,都可以添加到这个结构体中 | ||||
type JWTUser struct { | type JWTUser struct { | ||||
UserId int `json:"user_id"` | |||||
Username string `json:"username"` | |||||
Account string `json:"account"` | |||||
Password string `json:"password"` | |||||
jwt.StandardClaims | jwt.StandardClaims | ||||
} | } |
@@ -2,6 +2,6 @@ package md | |||||
// 缓存key统一管理 | // 缓存key统一管理 | ||||
const ( | const ( | ||||
UserJwtTokenKey = "%s:bakery_user_jwt_token:%s" // jwt, 占位符:ip, user:id | |||||
UserJwtTokenKey = "%s:bakery_production_workshop_user_jwt_token" // jwt, 占位符:ip, user:id | |||||
JwtTokenCacheTime = 3600 * 24 * 1 | JwtTokenCacheTime = 3600 * 24 * 1 | ||||
) | ) |
@@ -1,23 +1,15 @@ | |||||
package md | package md | ||||
type LoginReq struct { | type LoginReq struct { | ||||
Phone string `json:"phone" binding:"required" label:"登录手机号"` | |||||
Account string `json:"account" binding:"required" label:"账号"` | |||||
Password string `json:"password" binding:"required" label:"密码"` | |||||
} | } | ||||
type LoginResponse struct { | |||||
Token string `json:"token"` | |||||
} | |||||
type WxAppletLoginResponse struct { | |||||
OpenId string `json:"open_id"` | |||||
UnionId string `json:"union_id"` | |||||
type User struct { | |||||
Account string `json:"account" label:"账号"` | |||||
Password string `json:"password" label:"密码"` | |||||
} | } | ||||
type RegisterReq struct { | |||||
UserId string `json:"user_id" label:"支付宝用户的唯一userId"` | |||||
OpenId string `json:"open_id" label:"微信小程序openid"` | |||||
UnionId string `json:"union_id" label:"微信unionId"` | |||||
Nickname string `json:"nickname" label:"支付宝昵称"` | |||||
Avatar string `json:"avatar" label:"支付宝头像"` | |||||
Phone string `json:"phone" binding:"required" label:"手机号"` | |||||
type LoginResponse struct { | |||||
Token string `json:"token"` | |||||
} | } |
@@ -0,0 +1,7 @@ | |||||
package md | |||||
type OrderSorting struct { | |||||
Oid string `json:"oid"` | |||||
AdminId string `json:"admin_id"` | |||||
GoodsInfo []map[string]string `json:"goods_info"` | |||||
} |
@@ -0,0 +1,30 @@ | |||||
package mw | |||||
import ( | |||||
"applet/app/bigData/svc" | |||||
"applet/app/e" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
// 检查权限, 签名等等 | |||||
func ProductionWorkshopAuth(c *gin.Context) { | |||||
user, err := svc.CheckUser(c) | |||||
if err != nil { | |||||
switch err.(type) { | |||||
case e.E: | |||||
err1 := err.(e.E) | |||||
e.OutErr(c, err1.Code, err1.Error()) | |||||
return | |||||
default: | |||||
e.OutErr(c, e.ERR_UNAUTHORIZED, err.Error()) | |||||
return | |||||
} | |||||
} | |||||
if user == nil { | |||||
e.OutErr(c, e.ERR_NOT_AUTH, "当前用户信息失效") | |||||
return | |||||
} | |||||
// 将当前请求的username信息保存到请求的上下文c上 | |||||
c.Set("user", user) | |||||
c.Next() | |||||
} |
@@ -1,33 +1,25 @@ | |||||
package svc | package svc | ||||
import ( | import ( | ||||
"applet/app/db" | |||||
"applet/app/db/model" | |||||
"applet/app/bigData/md" | |||||
"applet/app/ipad/lib/auth" | "applet/app/ipad/lib/auth" | ||||
"errors" | "errors" | ||||
"github.com/gin-gonic/gin" | "github.com/gin-gonic/gin" | ||||
"strings" | "strings" | ||||
"time" | |||||
) | ) | ||||
func GetUser(c *gin.Context) *model.User { | |||||
func GetUser(c *gin.Context) *md.User { | |||||
user, _ := c.Get("user") | user, _ := c.Get("user") | ||||
if user == nil { | if user == nil { | ||||
return &model.User{ | |||||
Id: 0, | |||||
UserId: "", | |||||
Nickname: "", | |||||
Avatar: "", | |||||
Phone: "", | |||||
Memo: "", | |||||
CreateAt: time.Now().Format("2006-01-02 15:04:05"), | |||||
UpdateAt: time.Now().Format("2006-01-02 15:04:05"), | |||||
return &md.User{ | |||||
Account: "", | |||||
Password: "", | |||||
} | } | ||||
} | } | ||||
return user.(*model.User) | |||||
return user.(*md.User) | |||||
} | } | ||||
func CheckUser(c *gin.Context) (*model.User, error) { | |||||
func CheckUser(c *gin.Context) (*md.User, error) { | |||||
token := c.GetHeader("Authorization") | token := c.GetHeader("Authorization") | ||||
if token == "" { | if token == "" { | ||||
return nil, errors.New("token not exist") | return nil, errors.New("token not exist") | ||||
@@ -44,11 +36,9 @@ func CheckUser(c *gin.Context) (*model.User, error) { | |||||
} | } | ||||
// 获取user | // 获取user | ||||
userDb := db.UserDb{} | |||||
userDb.Set() | |||||
user, err := userDb.GetUser(mc.UserId) | |||||
if err != nil { | |||||
return nil, err | |||||
user := &md.User{ | |||||
Account: mc.Account, | |||||
Password: mc.Password, | |||||
} | } | ||||
return user, nil | return user, nil | ||||
} | } |
@@ -1,14 +1,13 @@ | |||||
package svc | package svc | ||||
import ( | import ( | ||||
"applet/app/db/model" | |||||
"applet/app/ipad/lib/auth" | "applet/app/ipad/lib/auth" | ||||
"applet/app/ipad/md" | "applet/app/ipad/md" | ||||
"applet/app/utils/cache" | "applet/app/utils/cache" | ||||
"applet/app/utils/logx" | "applet/app/utils/logx" | ||||
) | ) | ||||
func HandleLoginToken(cacheKey string, user *model.User) (string, error) { | |||||
func HandleLoginToken(cacheKey string, user *md.User) (string, error) { | |||||
// 获取之前生成的token | // 获取之前生成的token | ||||
token, err := cache.GetString(cacheKey) | token, err := cache.GetString(cacheKey) | ||||
if err != nil { | if err != nil { | ||||
@@ -17,7 +16,7 @@ func HandleLoginToken(cacheKey string, user *model.User) (string, error) { | |||||
// 没有获取到 | // 没有获取到 | ||||
if err != nil || token == "" { | if err != nil || token == "" { | ||||
// 生成token | // 生成token | ||||
token, err = auth.GenToken(user.Id, user.Phone) | |||||
token, err = auth.GenToken(user.Account, user.Password) | |||||
if err != nil { | if err != nil { | ||||
return "", err | return "", err | ||||
} | } | ||||
@@ -0,0 +1,46 @@ | |||||
package svc | |||||
import ( | |||||
"applet/app/db" | |||||
"applet/app/e" | |||||
"applet/app/utils" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func Order(c *gin.Context) { | |||||
var args map[string]string | |||||
if err := c.ShouldBindJSON(&args); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
eg := db.Db | |||||
data, _ := db.GetOrderListByIpad(eg, args) | |||||
list := make([]map[string]string, 0) | |||||
if data != nil { | |||||
enterpriseIds := make([]int, 0) | |||||
for _, v := range *data { | |||||
enterpriseIds = append(enterpriseIds, v.EnterpriseId) | |||||
} | |||||
enterpriseMap := db.GetEnterpriseMore(eg, enterpriseIds) | |||||
stateArr := []string{"待制作", "制作中", "烘焙中", "分拣中", "已完成", "已取消"} | |||||
btnArr := []string{"进入制作", "进入制作", "进入制作", "开始分拣", "分拣完成", "已取消"} | |||||
for _, v := range *data { | |||||
enterpriseName := "" | |||||
_, ok := enterpriseMap[v.EnterpriseId] | |||||
if ok { | |||||
enterpriseName = enterpriseMap[v.EnterpriseId].Name | |||||
} | |||||
var tmp = map[string]string{ | |||||
"oid": utils.Int64ToStr(v.Oid), | |||||
"id": utils.IntToStr(v.Id), | |||||
"state_str": stateArr[v.State], | |||||
"btn_str": btnArr[v.State], | |||||
"state": utils.IntToStr(v.State), | |||||
"enterprise_name": enterpriseName, | |||||
} | |||||
list = append(list, tmp) | |||||
} | |||||
} | |||||
e.OutSuc(c, list, nil) | |||||
return | |||||
} |
@@ -0,0 +1,7 @@ | |||||
package svc | |||||
import "github.com/gin-gonic/gin" | |||||
func OrderGoods(c *gin.Context) { | |||||
} |
@@ -0,0 +1,206 @@ | |||||
package svc | |||||
import ( | |||||
"applet/app/db" | |||||
"applet/app/db/model" | |||||
"applet/app/e" | |||||
"applet/app/ipad/md" | |||||
"applet/app/utils" | |||||
"github.com/gin-gonic/gin" | |||||
"time" | |||||
) | |||||
func OrderMakeBegin(c *gin.Context) { | |||||
var args map[string]string | |||||
if err := c.ShouldBindJSON(&args); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
args["state"] = "1" | |||||
args["str"] = "制作" | |||||
commMake(c, args) | |||||
} | |||||
func OrderMakeEnd(c *gin.Context) { | |||||
var args map[string]string | |||||
if err := c.ShouldBindJSON(&args); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
args["state"] = "2" | |||||
args["str"] = "烘焙" | |||||
commMake(c, args) | |||||
} | |||||
func OrderBakingEnd(c *gin.Context) { | |||||
var args map[string]string | |||||
if err := c.ShouldBindJSON(&args); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
args["state"] = "3" | |||||
args["str"] = "烘焙" | |||||
commMake(c, args) | |||||
} | |||||
func OrderSortingEnd(c *gin.Context) { | |||||
var args md.OrderSorting | |||||
if err := c.ShouldBindJSON(&args); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
eg := db.Db | |||||
sess := eg.NewSession() | |||||
defer sess.Close() | |||||
sess.Begin() | |||||
order := db.GetOrderGoodsByIdSess(sess, args.Oid) | |||||
if order == nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "订单查找失败,请重试")) | |||||
return | |||||
} | |||||
if order.State == 4 { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "订单已分拣完成")) | |||||
return | |||||
} | |||||
//修改制作记录 | |||||
for _, v := range args.GoodsInfo { | |||||
record := db.GetOrderGoodsByRecordId(eg, v["id"]) | |||||
record.SuccessNum = utils.StrToInt(v["num"]) | |||||
record.State = 4 | |||||
record.AdminId = utils.StrToInt(args.AdminId) | |||||
record.Time = time.Now() | |||||
_, err := sess.Where("id=?", record.Id).Cols("success_num,state,time").Update(record) | |||||
if err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "提交失败,请重试")) | |||||
return | |||||
} | |||||
//写入流程记录 | |||||
var recordFlow = &model.OrderGoodsDoingFlow{ | |||||
Num: record.Num, | |||||
State: 4, | |||||
Memo: "", | |||||
SuccessNum: utils.StrToInt(v["num"]), | |||||
Time: time.Now(), | |||||
RecordId: record.RecordId, | |||||
AdminId: utils.StrToInt(args.AdminId), | |||||
} | |||||
one, err := sess.InsertOne(recordFlow) | |||||
if one == 0 || err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "开始制作失败,请重试")) | |||||
return | |||||
} | |||||
} | |||||
//判断大订单 要不要改状态 | |||||
count, _ := sess.Where("oid=?", order.Oid).Count(&model.OrderGoods{}) | |||||
countEnd, _ := sess.Where("oid=? and state=?", order.Oid, 4).Count(&model.OrderGoods{}) | |||||
if countEnd == count { | |||||
_, err := sess.Where("oid=?", order.Oid).Cols("state").Update(&model.Order{State: 4}) | |||||
if err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "提交失败,请重试")) | |||||
return | |||||
} | |||||
} | |||||
sess.Commit() | |||||
e.OutSuc(c, "success", nil) | |||||
return | |||||
} | |||||
func commMake(c *gin.Context, args map[string]string) { | |||||
eg := db.Db | |||||
sess := eg.NewSession() | |||||
defer sess.Close() | |||||
sess.Begin() | |||||
state := utils.StrToInt(args["state"]) | |||||
orderGoods := db.GetOrderGoodsByIdSess(sess, args["id"]) | |||||
if orderGoods == nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "订单查找失败,请重试")) | |||||
return | |||||
} | |||||
order := db.GetOrderByIdSess(sess, utils.Int64ToStr(orderGoods.Oid)) | |||||
if order == nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "订单查找失败,请重试")) | |||||
return | |||||
} | |||||
record := db.GetOrderGoodsByRecordId(eg, args["id"]) | |||||
if orderGoods.State >= state { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "该商品已在"+args["str"]+"中")) | |||||
return | |||||
} | |||||
if record == nil { | |||||
record = &model.OrderGoodsDoing{ | |||||
Oid: orderGoods.Oid, | |||||
GoodsId: orderGoods.GoodsId, | |||||
SkuId: orderGoods.SkuId, | |||||
Num: orderGoods.Num, | |||||
State: state, | |||||
SkuCode: orderGoods.SkuCode, | |||||
GoodsTitle: orderGoods.GoodsTitle, | |||||
Sku: orderGoods.Sku, | |||||
Time: time.Now(), | |||||
RecordId: orderGoods.Id, | |||||
EnterpriseId: order.EnterpriseId, | |||||
AdminId: utils.StrToInt(args["admin_id"]), | |||||
} | |||||
one, err := sess.InsertOne(record) | |||||
if one == 0 || err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "提交失败,请重试")) | |||||
return | |||||
} | |||||
} | |||||
record.SuccessNum = utils.StrToInt(args["num"]) | |||||
record.Memo = args["memo"] | |||||
record.State = state | |||||
record.AdminId = utils.StrToInt(args["admin_id"]) | |||||
record.Time = time.Now() | |||||
_, err := sess.Where("id=?", record.Id).Cols("success_num,memo,state,time").Update(record) | |||||
if err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "提交失败,请重试")) | |||||
return | |||||
} | |||||
//写入流程记录 | |||||
var recordFlow = &model.OrderGoodsDoingFlow{ | |||||
Num: orderGoods.Num, | |||||
State: state, | |||||
Memo: args["memo"], | |||||
SuccessNum: utils.StrToInt(args["num"]), | |||||
Time: time.Now(), | |||||
RecordId: record.RecordId, | |||||
AdminId: utils.StrToInt(args["admin_id"]), | |||||
} | |||||
one, err := sess.InsertOne(recordFlow) | |||||
if one == 0 || err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "开始制作失败,请重试")) | |||||
return | |||||
} | |||||
orderGoods.State = state | |||||
update, err := sess.Where("id=?", orderGoods.Id).Cols("state").Update(&orderGoods) | |||||
if update == 0 || err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "提交失败,请重试")) | |||||
return | |||||
} | |||||
//判断大订单 要不要改状态 | |||||
count, _ := sess.Where("oid=?", orderGoods.Oid).Count(&model.OrderGoods{}) | |||||
countEnd, _ := sess.Where("oid=? and state=?", orderGoods.Oid, state).Count(&model.OrderGoods{}) | |||||
if countEnd == count { | |||||
_, err = sess.Where("oid=?", orderGoods.Oid).Cols("state").Update(&model.Order{State: state}) | |||||
if err != nil { | |||||
sess.Rollback() | |||||
e.OutErr(c, 400, e.NewErr(400, "提交失败,请重试")) | |||||
return | |||||
} | |||||
} | |||||
sess.Commit() | |||||
e.OutSuc(c, "success", nil) | |||||
return | |||||
} |
@@ -0,0 +1,24 @@ | |||||
package svc | |||||
import ( | |||||
"applet/app/db" | |||||
"applet/app/e" | |||||
"applet/app/utils" | |||||
"github.com/gin-gonic/gin" | |||||
) | |||||
func Responsible(c *gin.Context) { | |||||
list := make([]map[string]string, 0) | |||||
admin := db.GetAllAdmin(db.Db) | |||||
if admin != nil { | |||||
for _, v := range *admin { | |||||
var tmp = map[string]string{ | |||||
"id": utils.IntToStr(v.AdmId), | |||||
"name": v.Memo, | |||||
} | |||||
list = append(list, tmp) | |||||
} | |||||
} | |||||
e.OutSuc(c, list, nil) | |||||
return | |||||
} |
@@ -130,14 +130,15 @@ func rGoodsPay(r *gin.RouterGroup) { | |||||
r.POST("/create", orderHdl.GoodsPayCreate) //商品下单 | r.POST("/create", orderHdl.GoodsPayCreate) //商品下单 | ||||
} | } | ||||
func rOrder(r *gin.RouterGroup) { | func rOrder(r *gin.RouterGroup) { | ||||
r.POST("/list", orderHdl.OrderList) //用户订单 | |||||
r.POST("/total", orderHdl.OrderTotal) //用户订单统计 | |||||
r.POST("/cancel", orderHdl.OrderCancel) //用户订单取消 | |||||
r.POST("/detail", orderHdl.OrderDetail) //用户订单详情 | |||||
r.POST("/output", orderHdl.OrderOutput) //用户订单导出 | |||||
r.POST("/del", orderHdl.OrderDel) //用户订单商品删除 | |||||
r.POST("/edit", orderHdl.OrderEdit) //用户订单修改购买人信息 | |||||
r.POST("/editNum", orderHdl.OrderEditNum) //用户订单修改订单数 | |||||
r.POST("/list", orderHdl.OrderList) //用户订单 | |||||
r.POST("/total", orderHdl.OrderTotal) //用户订单统计 | |||||
r.POST("/cancel", orderHdl.OrderCancel) //用户订单取消 | |||||
r.POST("/detail", orderHdl.OrderDetail) //用户订单详情 | |||||
r.POST("/output", orderHdl.OrderOutput) //用户订单导出 | |||||
r.POST("/del", orderHdl.OrderDel) //用户订单商品删除 | |||||
r.POST("/edit", orderHdl.OrderEdit) //用户订单修改购买人信息 | |||||
r.POST("/editNum", orderHdl.OrderEditNum) //用户订单修改订单数 | |||||
r.POST("/makeRecord", orderHdl.MarkRecord) //制作记录 | |||||
} | } | ||||
func AdminRoute(r *gin.RouterGroup) { | func AdminRoute(r *gin.RouterGroup) { | ||||
r.GET("/demo", hdl.Demo) | r.GET("/demo", hdl.Demo) | ||||
@@ -1,15 +1,22 @@ | |||||
package router | package router | ||||
import ( | import ( | ||||
"applet/app/ipad/hdl" | |||||
"applet/app/ipad/mw" | "applet/app/ipad/mw" | ||||
"github.com/gin-gonic/gin" | "github.com/gin-gonic/gin" | ||||
) | ) | ||||
func IpadInit(r *gin.RouterGroup) { | func IpadInit(r *gin.RouterGroup) { | ||||
rTest(r.Group("/test")) | |||||
r.Use(mw.Auth) //检测登录状态 | |||||
r.POST("/login", hdl.Login) | |||||
r.Use(mw.Auth) //检测登录状态 | |||||
r.GET("order/cate", hdl.OrderCate) //订单类目 | |||||
r.POST("order/list", hdl.Order) //订单 | |||||
r.GET("order/goods/cate", hdl.OrderCate) //订单商品类目 | |||||
r.POST("order/goods/list", hdl.OrderGoods) //订单商品 | |||||
r.GET("responsible", hdl.Responsible) //负责人 | |||||
r.POST("order/make/begin", hdl.OrderMakeBegin) //订单开始制作 | |||||
r.POST("order/make/end", hdl.OrderMakeEnd) //订单制作完成 | |||||
r.POST("order/baking/end", hdl.OrderBakingEnd) //订单烘焙完成 | |||||
r.POST("order/sorting/end", hdl.OrderSortingEnd) //订单分拣完成 | |||||
} | } | ||||
func rTest(r *gin.RouterGroup) { | |||||
} |