@@ -9,6 +9,7 @@ import ( | |||||
"applet/app/svc" | "applet/app/svc" | ||||
"applet/app/utils" | "applet/app/utils" | ||||
"encoding/json" | "encoding/json" | ||||
"fmt" | |||||
"github.com/gin-gonic/gin" | "github.com/gin-gonic/gin" | ||||
"time" | "time" | ||||
) | ) | ||||
@@ -160,6 +161,74 @@ func UserStoreOrder(c *gin.Context) { | |||||
} | } | ||||
e.OutSuc(c, res, nil) | e.OutSuc(c, res, nil) | ||||
} | } | ||||
func UserStoreOrderPay(c *gin.Context) { | |||||
var arg map[string]string | |||||
if err := c.ShouldBindJSON(&arg); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
user := svc.GetUser(c) | |||||
str := "ctpo.parent_uid=" + utils.IntToStr(user.Info.Uid) + " and ctpo.state=1" | |||||
if arg["uid"] != "" { | |||||
str += " and ctpo.uid=" + arg["uid"] | |||||
} | |||||
if arg["store_id"] != "" { | |||||
str += " and ctpo.store_uid=" + arg["store_id"] | |||||
} | |||||
if arg["store_name"] != "" { | |||||
str += " and cts.name like '%" + arg["store_name"] + "%'" | |||||
} | |||||
if arg["phone"] != "" { | |||||
str += " and u.phone like '%" + arg["phone"] + "%'" | |||||
} | |||||
if arg["oid"] != "" { | |||||
str += " and ctpo.oid like '%" + arg["oid"] + "%'" | |||||
} | |||||
if arg["start_time"] != "" { | |||||
str += " and ctpo.pay_at>='" + arg["start_time"] + "'" | |||||
} | |||||
if arg["end_time"] != "" { | |||||
str += " and ctpo.pay_at<='" + arg["end_time"] + "'" | |||||
} | |||||
sql := `select ctpo.pay_at,ctpo.oid,cts.name,u.phone,ctpo.uid,ctpo.amount,ctpo.agent_commission,ctpo.platform_commission from community_team_pay_order ctpo | |||||
LEFT JOIN user u on u.uid=ctpo.uid | |||||
LEFT JOIN community_team_store cts on cts.uid=ctpo.store_uid | |||||
where %s order by ctpo.pay_at desc %s` | |||||
size := utils.StrToInt(arg["size"]) | |||||
start := (utils.StrToInt(arg["p"]) - 1) * size | |||||
sql = fmt.Sprintf(sql, str, "limit "+utils.IntToStr(start)+","+utils.IntToStr(size)) | |||||
nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql) | |||||
list := make([]map[string]string, 0) | |||||
for _, v := range nativeString { | |||||
tmp := map[string]string{ | |||||
"time": v["pay_at"], | |||||
"name": v["name"], | |||||
"amount": v["amount"], | |||||
"phone": v["phone"], | |||||
"uid": v["uid"], | |||||
"agent_commission": v["agent_commission"], | |||||
"oid": v["oid"], | |||||
} | |||||
list = append(list, tmp) | |||||
} | |||||
sql1 := `select COUNT(*) as count from community_team_pay_order ctpo | |||||
LEFT JOIN user u on u.uid=ctpo.uid | |||||
where %s ` | |||||
sql = fmt.Sprintf(sql, str) | |||||
nativeString1, _ := db.QueryNativeString(svc.MasterDb(c), sql1) | |||||
total := 0 | |||||
for _, v := range nativeString1 { | |||||
total = utils.StrToInt(v["count"]) | |||||
} | |||||
res := map[string]interface{}{ | |||||
"total": total, | |||||
"list": list, | |||||
} | |||||
e.OutSuc(c, res, nil) | |||||
return | |||||
} | |||||
// UserStoreOrderDetail 门店订单详情-订单管理共用一个 | // UserStoreOrderDetail 门店订单详情-订单管理共用一个 | ||||
// @Summary 门店-门店订单详情 | // @Summary 门店-门店订单详情 | ||||
@@ -14,6 +14,7 @@ type CommunityTeamOrder struct { | |||||
CouponId int `json:"coupon_id" xorm:"default 0 comment('') INT(11)"` | CouponId int `json:"coupon_id" xorm:"default 0 comment('') INT(11)"` | ||||
Address string `json:"address" xorm:"comment('详细地址') VARCHAR(255)"` | Address string `json:"address" xorm:"comment('详细地址') VARCHAR(255)"` | ||||
Commission string `json:"commission" xorm:"default 0.00 comment('分佣(元)') DECIMAL(20,2)"` | Commission string `json:"commission" xorm:"default 0.00 comment('分佣(元)') DECIMAL(20,2)"` | ||||
TableNum string `json:"table_num" xorm:"default 0.00 comment('分佣(元)') varchar(255)"` | |||||
AgentCommission string `json:"agent_commission" xorm:"default 0.00 comment('分佣(元)') DECIMAL(20,2)"` | AgentCommission string `json:"agent_commission" xorm:"default 0.00 comment('分佣(元)') DECIMAL(20,2)"` | ||||
PlatformCommission string `json:"platform_commission" xorm:"default 0.00 comment('分佣(元)') DECIMAL(20,2)"` | PlatformCommission string `json:"platform_commission" xorm:"default 0.00 comment('分佣(元)') DECIMAL(20,2)"` | ||||
CreateAt time.Time `json:"create_at" xorm:"DATETIME"` | CreateAt time.Time `json:"create_at" xorm:"DATETIME"` | ||||
@@ -14,6 +14,9 @@ func OrderCreate(c *gin.Context) { | |||||
func PayOrderCreate(c *gin.Context) { | func PayOrderCreate(c *gin.Context) { | ||||
svc.PayOrderCreate(c) | svc.PayOrderCreate(c) | ||||
} | } | ||||
func PayOrderList(c *gin.Context) { | |||||
svc.PayOrderList(c) | |||||
} | |||||
func OrderCoupon(c *gin.Context) { | func OrderCoupon(c *gin.Context) { | ||||
svc.OrderCoupon(c) | svc.OrderCoupon(c) | ||||
} | } | ||||
@@ -67,6 +67,7 @@ func routeCommunityTeamAgent(r *gin.RouterGroup) { | |||||
r.POST("/store/list", agentHdl.UserStoreList) | r.POST("/store/list", agentHdl.UserStoreList) | ||||
r.POST("/store/save", agentHdl.UserStoreSave) | r.POST("/store/save", agentHdl.UserStoreSave) | ||||
r.POST("/store/order", agentHdl.UserStoreOrder) | r.POST("/store/order", agentHdl.UserStoreOrder) | ||||
r.POST("/store/order/pay", agentHdl.UserStoreOrderPay) | |||||
r.POST("/store/order/detail", agentHdl.UserStoreOrderDetail) | r.POST("/store/order/detail", agentHdl.UserStoreOrderDetail) | ||||
r.POST("/store/total", agentHdl.UserStoreTotal) | r.POST("/store/total", agentHdl.UserStoreTotal) | ||||
@@ -109,6 +110,7 @@ func routeCommunityTeamOwnStore(r *gin.RouterGroup) { | |||||
r.GET("/audit/info", storeHdl.AuditInfo) | r.GET("/audit/info", storeHdl.AuditInfo) | ||||
r.POST("/audit/doing", storeHdl.AuditDoing) | r.POST("/audit/doing", storeHdl.AuditDoing) | ||||
r.POST("/store/order", storeHdl.UserStoreOrder) | r.POST("/store/order", storeHdl.UserStoreOrder) | ||||
r.POST("/store/order/pay", storeHdl.UserStoreOrderPay) | |||||
r.POST("/store/order/detail", storeHdl.UserStoreOrderDetail) | r.POST("/store/order/detail", storeHdl.UserStoreOrderDetail) | ||||
r.POST("/store/order/confirm", storeHdl.StoreOrderConfirm) | r.POST("/store/order/confirm", storeHdl.StoreOrderConfirm) | ||||
r.GET("/store/amount/base", storeHdl.StoreAmountBase) | r.GET("/store/amount/base", storeHdl.StoreAmountBase) | ||||
@@ -170,6 +172,7 @@ func routeCommunityTeam(r *gin.RouterGroup) { | |||||
r.GET("/order/cate", hdl.OrderCate) | r.GET("/order/cate", hdl.OrderCate) | ||||
r.POST("/pay/:payMethod/:orderType", hdl.Pay) | r.POST("/pay/:payMethod/:orderType", hdl.Pay) | ||||
r.POST("/pay/order/create", hdl.PayOrderCreate) | r.POST("/pay/order/create", hdl.PayOrderCreate) | ||||
r.POST("/pay/order/list", hdl.PayOrderList) | |||||
r.POST("/store/order/list", hdl.StoreOrderList) | r.POST("/store/order/list", hdl.StoreOrderList) | ||||
r.POST("/store/order/detail", hdl.StoreOrderDetail) | r.POST("/store/order/detail", hdl.StoreOrderDetail) | ||||
r.POST("/store/order/confirm", hdl.StoreOrderConfirm) | r.POST("/store/order/confirm", hdl.StoreOrderConfirm) | ||||
@@ -9,6 +9,7 @@ import ( | |||||
"applet/app/svc" | "applet/app/svc" | ||||
"applet/app/utils" | "applet/app/utils" | ||||
"encoding/json" | "encoding/json" | ||||
"fmt" | |||||
"github.com/gin-gonic/gin" | "github.com/gin-gonic/gin" | ||||
"github.com/tidwall/gjson" | "github.com/tidwall/gjson" | ||||
"time" | "time" | ||||
@@ -133,6 +134,7 @@ func UserStoreOrder(c *gin.Context) { | |||||
"agent_commission": v.AgentCommission, | "agent_commission": v.AgentCommission, | ||||
"platform_commission": v.PlatformCommission, | "platform_commission": v.PlatformCommission, | ||||
"commission": v.Commission, | "commission": v.Commission, | ||||
"table_num": v.TableNum, | |||||
"state": utils.IntToStr(v.State), | "state": utils.IntToStr(v.State), | ||||
"create_at": v.CreateAt.Format("2006-01-02 15:04:05"), | "create_at": v.CreateAt.Format("2006-01-02 15:04:05"), | ||||
"confirm_at": utils.Int64ToStr(v.Oid), | "confirm_at": utils.Int64ToStr(v.Oid), | ||||
@@ -164,6 +166,67 @@ func UserStoreOrder(c *gin.Context) { | |||||
} | } | ||||
e.OutSuc(c, res, nil) | e.OutSuc(c, res, nil) | ||||
} | } | ||||
func UserStoreOrderPay(c *gin.Context) { | |||||
var arg map[string]string | |||||
if err := c.ShouldBindJSON(&arg); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
user := svc.GetUser(c) | |||||
str := "ctpo.store_uid=" + utils.IntToStr(user.Info.Uid) + " and ctpo.state=1" | |||||
if arg["uid"] != "" { | |||||
str += " and ctpo.uid=" + arg["uid"] | |||||
} | |||||
if arg["phone"] != "" { | |||||
str += " and u.phone like '%" + arg["phone"] + "%'" | |||||
} | |||||
if arg["oid"] != "" { | |||||
str += " and ctpo.oid like '%" + arg["oid"] + "%'" | |||||
} | |||||
if arg["start_time"] != "" { | |||||
str += " and ctpo.pay_at>='" + arg["start_time"] + "'" | |||||
} | |||||
if arg["end_time"] != "" { | |||||
str += " and ctpo.pay_at<='" + arg["end_time"] + "'" | |||||
} | |||||
sql := `select ctpo.pay_at,ctpo.oid,u.phone,ctpo.uid,ctpo.amount,ctpo.agent_commission,ctpo.platform_commission from community_team_pay_order ctpo | |||||
LEFT JOIN user u on u.uid=ctpo.uid | |||||
where %s order by ctpo.pay_at desc %s` | |||||
size := utils.StrToInt(arg["size"]) | |||||
start := (utils.StrToInt(arg["p"]) - 1) * size | |||||
sql = fmt.Sprintf(sql, str, "limit "+utils.IntToStr(start)+","+utils.IntToStr(size)) | |||||
nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql) | |||||
list := make([]map[string]string, 0) | |||||
for _, v := range nativeString { | |||||
tmp := map[string]string{ | |||||
"time": v["pay_at"], | |||||
"amount": v["amount"], | |||||
"phone": v["phone"], | |||||
"uid": v["uid"], | |||||
"agent_commission": v["agent_commission"], | |||||
"platform_commission": v["platform_commission"], | |||||
"oid": v["oid"], | |||||
} | |||||
list = append(list, tmp) | |||||
} | |||||
sql1 := `select COUNT(*) as count from community_team_pay_order ctpo | |||||
LEFT JOIN user u on u.uid=ctpo.uid | |||||
where %s ` | |||||
sql = fmt.Sprintf(sql, str) | |||||
nativeString1, _ := db.QueryNativeString(svc.MasterDb(c), sql1) | |||||
total := 0 | |||||
for _, v := range nativeString1 { | |||||
total = utils.StrToInt(v["count"]) | |||||
} | |||||
res := map[string]interface{}{ | |||||
"total": total, | |||||
"list": list, | |||||
} | |||||
e.OutSuc(c, res, nil) | |||||
return | |||||
} | |||||
// UserStoreOrderDetail 门店订单详情-订单管理共用一个 | // UserStoreOrderDetail 门店订单详情-订单管理共用一个 | ||||
// @Summary 门店-门店订单详情 | // @Summary 门店-门店订单详情 | ||||
@@ -471,6 +471,33 @@ func OrderConfirm(c *gin.Context) { | |||||
e.OutSuc(c, "success", nil) | e.OutSuc(c, "success", nil) | ||||
return | return | ||||
} | } | ||||
func PayOrderList(c *gin.Context) { | |||||
var arg map[string]string | |||||
if err := c.ShouldBindJSON(&arg); err != nil { | |||||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||||
return | |||||
} | |||||
sql := `select ctpo.pay_at,ctpo.oid,cts.name,ctpo.amount from community_team_pay_order ctpo | |||||
LEFT JOIN community_team_store cts on cts.uid=ctpo.store_uid | |||||
where ctpo.uid=%d and ctpo.state=1 order by ctpo.pay_at desc %s` | |||||
size := 10 | |||||
start := (utils.StrToInt(arg["p"]) - 1) * size | |||||
user := GetUser(c) | |||||
sql = fmt.Sprintf(sql, user.Info.Uid, "limit "+utils.IntToStr(start)+","+utils.IntToStr(size)) | |||||
nativeString, _ := db.QueryNativeString(MasterDb(c), sql) | |||||
list := make([]map[string]string, 0) | |||||
for _, v := range nativeString { | |||||
tmp := map[string]string{ | |||||
"time": v["pay_at"], | |||||
"name": v["name"], | |||||
"amount": v["amount"], | |||||
"oid": v["oid"], | |||||
} | |||||
list = append(list, tmp) | |||||
} | |||||
e.OutSuc(c, list, nil) | |||||
return | |||||
} | |||||
func PayOrderCreate(c *gin.Context) { | func PayOrderCreate(c *gin.Context) { | ||||
var arg map[string]string | var arg map[string]string | ||||
if err := c.ShouldBindJSON(&arg); err != nil { | if err := c.ShouldBindJSON(&arg); err != nil { | ||||
@@ -104,6 +104,7 @@ func StoreOrderList(c *gin.Context) { | |||||
"commission": v.Commission, | "commission": v.Commission, | ||||
"username": nickname, | "username": nickname, | ||||
"head_img": headImg, | "head_img": headImg, | ||||
"table_num": v.TableNum, | |||||
"amount": v.Amount, | "amount": v.Amount, | ||||
"num": utils.IntToStr(v.Num), | "num": utils.IntToStr(v.Num), | ||||
"down_time": downTime, | "down_time": downTime, | ||||