@@ -102,7 +102,7 @@ func StoreWithdrawAudit(c *gin.Context) { | |||
return | |||
} | |||
if req["state"] == "3" { | |||
bools := svc.MoneyCheck(c, sess, data.Uid, data.ParentUid, data.StoreType, 0, 3, utils.StrToFloat64(data.Amount), "提现审核拒绝退回", utils.StrToInt64(utils.OrderUUID(data.Uid))) | |||
bools := svc.MoneyCheck(c, sess, data.Uid, data.ParentUid, data.StoreType, 0, 2, utils.StrToFloat64(data.Amount), "提现审核拒绝退回", utils.StrToInt64(utils.OrderUUID(data.Uid))) | |||
if bools == false { | |||
sess.Rollback() | |||
e.OutErr(c, 400, e.NewErr(400, "审核失败")) | |||
@@ -4,6 +4,7 @@ import ( | |||
"applet/app/db/model" | |||
"applet/app/md" | |||
"applet/app/utils" | |||
"github.com/gin-gonic/gin" | |||
"xorm.io/xorm" | |||
) | |||
@@ -63,6 +64,14 @@ func GetOrderInfoAllEg(eg *xorm.Engine, oid string) *[]model.CommunityTeamOrderI | |||
} | |||
return &data | |||
} | |||
func GetOrderInfoFirstEg(eg *xorm.Engine, oid string) *model.CommunityTeamOrderInfo { | |||
var data model.CommunityTeamOrderInfo | |||
get, err := eg.Where("oid=?", oid).Get(&data) | |||
if err != nil || get == false { | |||
return nil | |||
} | |||
return &data | |||
} | |||
func GetOrderInfoEg(eg *xorm.Engine, oid string) *model.CommunityTeamOrderInfo { | |||
var data model.CommunityTeamOrderInfo | |||
get, err := eg.Where("oid=?", oid).Asc("id").Get(&data) | |||
@@ -72,7 +81,7 @@ func GetOrderInfoEg(eg *xorm.Engine, oid string) *model.CommunityTeamOrderInfo { | |||
return &data | |||
} | |||
func GetOrderList(eg *xorm.Engine, arg map[string]string) *[]model.CommunityTeamOrder { | |||
func GetOrderList(c *gin.Context, eg *xorm.Engine, arg map[string]string) *[]model.CommunityTeamOrder { | |||
var data []model.CommunityTeamOrder | |||
sess := eg.Where("1=1") | |||
if arg["uid"] != "" { | |||
@@ -87,6 +96,12 @@ func GetOrderList(eg *xorm.Engine, arg map[string]string) *[]model.CommunityTeam | |||
if arg["code"] != "" { | |||
sess.And("code=?", arg["code"]) | |||
} | |||
if arg["start_time"] != "" { | |||
sess.And("create_at>=?", arg["start_time"]) | |||
} | |||
if arg["end_time"] != "" { | |||
sess.And("create_at<?", arg["end_time"]) | |||
} | |||
limit := utils.StrToInt(arg["size"]) | |||
start := (utils.StrToInt(arg["p"]) - 1) * limit | |||
err := sess.OrderBy("id desc").Limit(limit, start).Find(&data) | |||
@@ -21,6 +21,26 @@ func GetStoreWithdraw(eg *xorm.Engine, arg map[string]string) (*[]model.Communit | |||
} | |||
return &data, count | |||
} | |||
func GetStoreFlow(eg *xorm.Engine, arg map[string]string) (*[]model.CommunityTeamStoreAmountFlow, int64) { | |||
var data []model.CommunityTeamStoreAmountFlow | |||
sess := eg.Where("1=1") | |||
if arg["store_uid"] != "" { | |||
sess.And("uid=?", arg["store_uid"]) | |||
} | |||
if arg["ord_type"] != "" { | |||
sess.And("ord_type=?", arg["ord_type"]) | |||
} | |||
limit := utils.StrToInt(arg["size"]) | |||
start := (utils.StrToInt(arg["p"]) - 1) * limit | |||
if limit > 0 { | |||
sess.Limit(limit, start) | |||
} | |||
count, err := sess.Desc("id").FindAndCount(&data) | |||
if err != nil { | |||
return nil, count | |||
} | |||
return &data, count | |||
} | |||
func CommWhere(eg *xorm.Engine, arg map[string]string) *xorm.Session { | |||
sess := eg.Where("1=1") | |||
if arg["store_uid"] != "" { | |||
@@ -32,6 +52,7 @@ func CommWhere(eg *xorm.Engine, arg map[string]string) *xorm.Session { | |||
if arg["store_type"] != "" { | |||
sess.And("store_type=?", arg["store_type"]) | |||
} | |||
if arg["state"] != "" { | |||
sess.And("state=?", arg["state"]) | |||
} | |||
@@ -92,7 +92,7 @@ func GetAllDatabaseDev() *[]model.DbMapping { | |||
var err error | |||
if cfg.Local { // 本地调试 加快速度 | |||
//fmt.Println("notice:LOCAL TEST, only masterId:** 123456 ** available!") | |||
err = Db.Where("deleted_at != ? AND is_dev = '1' AND db_master_id=?", 1, 123456).Find(&m) | |||
err = Db.Where("deleted_at != ? AND is_dev = '1' AND db_master_id=?", 1, 22255132).Find(&m) | |||
//err = Db.Where(" db_master_id=?", 74856566).Find(&m) | |||
} else { | |||
err = Db.Where("deleted_at != ? AND is_dev = '1' ", 1).Find(&m) | |||
@@ -41,4 +41,5 @@ type CommunityTeamOrder struct { | |||
StoreSettleAt int `json:"store_settle_at" xorm:"default 0 comment('') INT(11)"` | |||
SettleAt int `json:"settle_at" xorm:"default 0 comment('') INT(11)"` | |||
CommissionAt int `json:"commission_at" xorm:"default 0 comment('') INT(11)"` | |||
IsNotice int `json:"is_notice" xorm:"not null default 0 comment('支付状态:0:未支付,1:已支付') TINYINT(2)"` | |||
} |
@@ -26,4 +26,5 @@ type CommunityTeamPayOrder struct { | |||
UserCommission string `json:"user_commission" xorm:"default 0.00 DECIMAL(20,2)"` | |||
AgentCommission string `json:"agent_commission" xorm:"default 0.00 DECIMAL(20,2)"` | |||
PlatformCommission string `json:"platform_commission" xorm:"default 0.00 DECIMAL(20,2)"` | |||
IsNotice int `json:"is_notice" xorm:"not null default 0 comment('支付状态:0:未支付,1:已支付') TINYINT(2)"` | |||
} |
@@ -45,7 +45,7 @@ func PrinterIndexDel(c *gin.Context) { | |||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||
return | |||
} | |||
svc.PrinterDelIndex(c, idsMap["id"], idsMap["store_id"]) | |||
svc.PrinterDelIndex(c, idsMap["id"]) | |||
} | |||
// 明细 | |||
@@ -3,6 +3,7 @@ package hdl | |||
import ( | |||
"applet/app/db" | |||
"applet/app/e" | |||
storeSvc "applet/app/store/svc" | |||
"applet/app/svc" | |||
"applet/app/utils" | |||
"fmt" | |||
@@ -40,6 +41,21 @@ func StoreIndexTotal(c *gin.Context) { | |||
successCount = v["success_count"] | |||
waitCount = v["wait_count"] | |||
} | |||
sqlCodePay := `select SUM(amount-agent_commission-platform_commission) AS money,SUM(amount) AS amount,SUM(commission) AS commission,SUM(IF(state=3,1,0)) as count,SUM(IF(state in(1,2),1,0)) as success_count, | |||
SUM(IF(state=1,1,0)) as wait_count | |||
from community_team_pay_order | |||
where %s | |||
` | |||
whereCodePay := where + " and create_at>='" + stime.Format("2006-01-02 15:04:05") + "' and create_at<'" + etime.Format("2006-01-02 15:04:05") + "'" | |||
sqlCodePay = fmt.Sprintf(sqlCodePay, whereCodePay) | |||
nativeStringCodePay, _ := db.QueryNativeString(svc.MasterDb(c), sqlCodePay) | |||
for _, v := range nativeStringCodePay { | |||
amount = utils.Float64ToStr(utils.StrToFloat64(amount) + utils.StrToFloat64(v["amount"])) | |||
money = utils.Float64ToStr(utils.StrToFloat64(money) + utils.StrToFloat64(v["money"])) | |||
commission = utils.Float64ToStr(utils.StrToFloat64(commission) + utils.StrToFloat64(v["commission"])) | |||
count = utils.IntToStr(utils.StrToInt(count) + utils.StrToInt(v["count"])) | |||
successCount = utils.IntToStr(utils.StrToInt(successCount) + utils.StrToInt(v["success_count"])) | |||
} | |||
store := db.GetStoreIdEg(svc.MasterDb(c), utils.IntToStr(user.Info.Uid)) | |||
tmp := []map[string]string{ | |||
{"name": "营业总额", "value": svc.GetCommissionPrec(c, amount, "2", "1")}, | |||
@@ -50,9 +66,88 @@ func StoreIndexTotal(c *gin.Context) { | |||
if store.StoreType > 0 { | |||
tmp = append(tmp, map[string]string{"name": "订单收益", "value": svc.GetCommissionPrec(c, money, "2", "1")}) | |||
} | |||
tmp = append(tmp, map[string]string{"name": "已付款订单量", "value": successCount}) | |||
tmp = append(tmp, map[string]string{"name": "已取消订单量", "value": count}) | |||
tmp = append(tmp, map[string]string{"name": "待提货订单量", "value": waitCount}) | |||
tmp = append(tmp, map[string]string{"name": "已付款订单量", "value": utils.IntToStr(utils.StrToInt(successCount))}) | |||
tmp = append(tmp, map[string]string{"name": "已取消订单量", "value": utils.IntToStr(utils.StrToInt(count))}) | |||
tmp = append(tmp, map[string]string{"name": "待提货订单量", "value": utils.IntToStr(utils.StrToInt(waitCount))}) | |||
e.OutSuc(c, tmp, nil) | |||
return | |||
} | |||
func StoreWithdrawBase(c *gin.Context) { | |||
user := svc.GetUser(c) | |||
var res = map[string]string{ | |||
"is_bind": "0", | |||
"amount": "0", | |||
"alipay_account": user.Profile.AccAlipay, | |||
"alipay_name": user.Profile.AccAlipayRealName, | |||
"info": "", | |||
} | |||
if user.Profile.AccAlipay != "" { | |||
res["is_bind"] = "1" | |||
} | |||
store := db.GetStoreIdEg(svc.MasterDb(c), utils.IntToStr(user.Info.Uid)) | |||
if store != nil { | |||
amountData := db.GetStoreAmountEg(svc.MasterDb(c), user.Info.Uid, store.ParentUid, store.StoreType) | |||
if amountData != nil { | |||
res["amount"] = amountData.Amount | |||
} | |||
} | |||
e.OutSuc(c, res, nil) | |||
return | |||
} | |||
func StoreWithdrawFlowCate(c *gin.Context) { | |||
res := []map[string]string{ | |||
{"name": "全部", "value": ""}, | |||
{"name": "订单", "value": "1"}, | |||
{"name": "收款", "value": "4"}, | |||
{"name": "提现", "value": "2"}, | |||
} | |||
e.OutSuc(c, res, nil) | |||
return | |||
} | |||
func StoreWithdrawFlow(c *gin.Context) { | |||
var req map[string]string | |||
if err := c.ShouldBindJSON(&req); err != nil { | |||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||
return | |||
} | |||
user := svc.GetUser(c) | |||
req["store_uid"] = utils.IntToStr(user.Info.Uid) | |||
store := db.GetStoreIdEg(svc.MasterDb(c), utils.IntToStr(user.Info.Uid)) | |||
if store != nil { | |||
req["parent_uid"] = utils.IntToStr(store.ParentUid) | |||
req["store_type"] = utils.IntToStr(store.StoreType) | |||
} | |||
withdraw, total := db.GetStoreFlow(svc.MasterDb(c), req) | |||
list := make([]map[string]string, 0) | |||
if withdraw != nil { | |||
var stateList = []string{"", "订单", "提现", "", "收款"} | |||
for _, v := range *withdraw { | |||
tmp := map[string]string{ | |||
"amount": v.Amount, | |||
"title": v.Title, | |||
"ord_type": utils.IntToStr(v.OrdType), | |||
"label": stateList[v.OrdType], | |||
"oid": utils.Int64ToStr(v.Oid), | |||
"time": v.CreateAt.Format("2006-01-02 15:04:05"), | |||
} | |||
if v.OrdType == 1 { | |||
ord := db.GetOrderInfoFirstEg(svc.MasterDb(c), utils.Int64ToStr(v.Oid)) | |||
if ord != nil { | |||
tmp["title"] = ord.Title | |||
} | |||
} | |||
list = append(list, tmp) | |||
} | |||
} | |||
res := map[string]interface{}{ | |||
"total": total, | |||
"list": list, | |||
} | |||
e.OutSuc(c, res, nil) | |||
return | |||
} | |||
func StoreWithdrawDoing(c *gin.Context) { | |||
storeSvc.StoreWithdrawDoing(c) | |||
} |
@@ -1,8 +1,15 @@ | |||
package hdl | |||
import ( | |||
"applet/app/db" | |||
"applet/app/db/model" | |||
"applet/app/e" | |||
"applet/app/svc" | |||
"applet/app/utils" | |||
"encoding/json" | |||
"github.com/gin-gonic/gin" | |||
"strings" | |||
"time" | |||
) | |||
func StoreOrderList(c *gin.Context) { | |||
@@ -17,3 +24,60 @@ func StoreOrderDetail(c *gin.Context) { | |||
func StoreOrderConfirm(c *gin.Context) { | |||
svc.StoreOrderConfirm(c) | |||
} | |||
func GetNewOrderNoticeList(c *gin.Context) { | |||
user := svc.GetUser(c) | |||
storeId := user.Info.Uid | |||
payTipOpen := db.SysCfgGet(c, "community_pay_tip_open") | |||
list := make([]string, 0) | |||
if payTipOpen == "1" { | |||
today := utils.GetTimeRange("today") | |||
todayTime := time.Unix(today["start"], 0).Format("2006-01-02 15:04:05") | |||
sql2 := `select * from community_team_pay_order where is_notice=0 and store_uid=? and state>0 and create_at>=? order by create_at asc` | |||
nativeString2, _ := db.QueryNativeString(svc.MasterDb(c), sql2, storeId, todayTime) | |||
payCodeTip := db.SysCfgGet(c, "community_pay_code_tip") | |||
payGoodsTip := db.SysCfgGet(c, "community_pay_goods_tip") | |||
payGoodsSecondTip := db.SysCfgGet(c, "community_pay_goods_second_tip") | |||
payGoodsTipType := db.SysCfgGet(c, "community_pay_goods_tip_type") | |||
for _, v := range nativeString2 { | |||
payCodeTipStr := strings.ReplaceAll(payCodeTip, "[金额]", svc.GetCommissionPrec(c, v["amount"], "2", "1")) | |||
list = append(list, payCodeTipStr) | |||
svc.MasterDb(c).Where("id=? ", v["id"]).Cols("is_notice").Update(&model.CommunityTeamPayOrder{IsNotice: 1}) | |||
} | |||
sql := `select * from community_team_order where is_notice=0 and store_uid=? and state in(1,2) and pay_at>=? order by pay_at asc` | |||
nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql, storeId, todayTime) | |||
mainStr := payGoodsTip | |||
if payGoodsTipType == "1" { | |||
mainStr = payGoodsSecondTip | |||
} | |||
for k, v := range nativeString { | |||
sql1 := `select title,num,sku_info from community_team_order_info | |||
where oid=? | |||
` | |||
queryNativeString, _ := db.QueryNativeString(svc.MasterDb(c), sql1, v["oid"]) | |||
str := "" | |||
for _, v1 := range queryNativeString { | |||
tmp := make([]map[string]interface{}, 0) | |||
json.Unmarshal([]byte(v["sku_info"]), &tmp) | |||
skuStr := "" | |||
for _, v2 := range tmp { | |||
skuStr += utils.AnyToString(v2["value"]) | |||
} | |||
str += " " + v1["title"] + skuStr + v1["num"] + " 份" | |||
} | |||
if payGoodsTipType == "1" { | |||
list = append(list, mainStr+str) | |||
} | |||
if payGoodsTipType != "1" && k == 0 { | |||
list = append(list, mainStr) | |||
} | |||
svc.MasterDb(c).Where("oid=? ", v["oid"]).Cols("is_notice").Update(&model.CommunityTeamOrder{IsNotice: 1}) | |||
} | |||
} | |||
res := map[string]interface{}{ | |||
"list": list, | |||
} | |||
e.OutSuc(c, res, nil) | |||
return | |||
} |
@@ -187,20 +187,23 @@ func routeCommunityTeam(r *gin.RouterGroup) { | |||
r.POST("/store/order/detail", hdl.StoreOrderDetail) | |||
r.POST("/store/order/confirm", hdl.StoreOrderConfirm) | |||
r.GET("/store/order/cate", hdl.StoreOrderCate) | |||
r.GET("/store/order/notice", hdl.GetNewOrderNoticeList) | |||
r.POST("/store/index/total", hdl.StoreIndexTotal) | |||
r.GET("/printer/cate/list", hdl.PrinterCateList) //打印机类型列表 | |||
r.GET("/printer/location/list", hdl.PrinterLocationList) //打印机位置列表 | |||
r.POST("/printer/list", hdl.PrinterIndex) //打印机列表 | |||
r.POST("/printer/save", hdl.PrinterIndexSave) //打印机添加编辑 | |||
r.POST("/printer/del", hdl.PrinterIndexDel) //打印机删除 | |||
r.POST("/printer/module/list", hdl.PrinterModule) //打印机模板 | |||
r.POST("/printer/module/save", hdl.PrinterIndexModuleSave) //打印机模板选择 | |||
r.POST("/printer/use/save", hdl.PrinterIndexStateSave) //打印机使用状态调整 | |||
r.POST("/printer/record/list", hdl.PrinterIndexRecord) //打印机明细 | |||
r.POST("/printer/record/screen", hdl.PrinterIndexRecordScreen) //打印机筛选 | |||
r.POST("/printer/send", hdl.PrinterIndexToSend) //打印机测试 | |||
r.POST("/printer/check", hdl.PrinterIndexCheck) //订 | |||
r.GET("/store/withdraw/base", hdl.StoreWithdrawBase) | |||
r.GET("/store/withdraw/flow/cate", hdl.StoreWithdrawFlowCate) | |||
r.POST("/store/withdraw/flow", hdl.StoreWithdrawFlow) | |||
r.POST("/store/withdraw/doing", hdl.StoreWithdrawDoing) | |||
r.GET("/printer/cate/list", hdl.PrinterCateList) //打印机类型列表 | |||
r.GET("/printer/location/list", hdl.PrinterLocationList) //打印机位置列表 | |||
r.POST("/printer/list", hdl.PrinterIndex) //打印机列表 | |||
r.POST("/printer/save", hdl.PrinterIndexSave) //打印机添加编辑 | |||
r.POST("/printer/del", hdl.PrinterIndexDel) //打印机删除 | |||
r.POST("/printer/module/list", hdl.PrinterModule) //打印机模板 | |||
r.POST("/printer/module/save", hdl.PrinterIndexModuleSave) //打印机模板选择 | |||
r.POST("/printer/use/save", hdl.PrinterIndexStateSave) //打印机使用状态调整 | |||
r.POST("/printer/record/list", hdl.PrinterIndexRecord) //打印机明细 | |||
r.GET("/printer/record/screen", hdl.PrinterIndexRecordScreen) //打印机筛选 | |||
r.POST("/printer/send", hdl.PrinterIndexToSend) //打印机测试 | |||
r.POST("/printer/check", hdl.PrinterIndexCheck) //订 | |||
} |
@@ -36,7 +36,7 @@ func OrderList(c *gin.Context) { | |||
} | |||
user := GetUser(c) | |||
arg["uid"] = utils.IntToStr(user.Info.Uid) | |||
data := db.GetOrderList(MasterDb(c), arg) | |||
data := db.GetOrderList(c, MasterDb(c), arg) | |||
var state = []string{"待付款", "待提货", "已完成", "已取消"} | |||
list := make([]map[string]interface{}, 0) | |||
scheme, host := ImageBucket(c) | |||
@@ -117,6 +117,14 @@ func CommonCallbackCommunityTeam(c *gin.Context, orderId string, payMethod strin | |||
ord.PayAt = time.Now() | |||
ord.PayMethod = md.PayMethodIDs[payMethod] | |||
MasterDb(c).Where("id=?", ord.Id).Cols("state,update_at,code,pay_at,pay_method").Update(ord) | |||
engine := MasterDb(c) | |||
storeId, ord1, goodsInfo, err := CommGetPrinterContent(c, utils.Int64ToStr(ord.Oid)) | |||
if err != nil { | |||
e.OutErr(c, 400, err) | |||
return | |||
} | |||
//打印操作 | |||
go ReplaceDoing(c, engine, storeId, ord1, goodsInfo) | |||
return | |||
} | |||
func Code() string { | |||
@@ -118,7 +118,7 @@ func CommonCallbackCommunityTeamPay(c *gin.Context, orderId string, payMethod st | |||
if ord.StoreType == 1 { | |||
money = utils.StrToFloat64(ord.Amount) - utils.StrToFloat64(ord.PlatformCommission) | |||
} | |||
bools := MoneyCheck(c, sess, ord.StoreUid, ord.ParentUid, ord.StoreType, 0, 1, money, "收款码收款", ord.Oid) | |||
bools := MoneyCheck(c, sess, ord.StoreUid, ord.ParentUid, ord.StoreType, 0, 4, money, "收款码收款", ord.Oid) | |||
if bools == false { | |||
sess.Rollback() | |||
return | |||
@@ -135,10 +135,10 @@ func PrinterIndexSave(c *gin.Context) { | |||
return | |||
} | |||
} | |||
user := GetUser(c) | |||
var module = model.CommunityTeamStorePrinter{ | |||
Id: utils.StrToInt(search.Id), | |||
StoreId: utils.StrToInt(search.StoreId), | |||
StoreId: user.Info.Uid, | |||
SnNum: search.SnNum, | |||
IdentificationCode: search.IdentificationCode, | |||
Name: search.Name, | |||
@@ -175,7 +175,6 @@ func PrinterIndexSave(c *gin.Context) { | |||
return | |||
} | |||
e.OutSuc(c, "success", nil) | |||
return | |||
} | |||
@@ -222,9 +221,11 @@ func PrinterIndexStateSave(c *gin.Context) { | |||
} | |||
// 删除打印机 | |||
func PrinterDelIndex(c *gin.Context, ids, storeId string) { | |||
func PrinterDelIndex(c *gin.Context, ids string) { | |||
engine := MasterDb(c) | |||
//查出这条记录拿sn码 | |||
user := GetUser(c) | |||
storeId := utils.IntToStr(user.Info.Uid) | |||
printerOne, _ := db.GetPrinterIndexById(engine, ids, storeId) | |||
if printerOne.Id == 0 { | |||
e.OutErr(c, 400, e.NewErr(400, "删除失败")) | |||
@@ -257,17 +258,14 @@ func PrinterDelIndex(c *gin.Context, ids, storeId string) { | |||
// 明细筛选条件 | |||
func PrinterIndexRecordScreen(c *gin.Context) { | |||
var search md.RecordRequest | |||
if err := c.ShouldBindJSON(&search); err != nil { | |||
e.OutErr(c, e.ERR_INVALID_ARGS, err) | |||
return | |||
} | |||
engine := MasterDb(c) | |||
if engine == nil { | |||
e.OutErr(c, e.ERR_MASTER_ID, nil) | |||
return | |||
} | |||
printer, _ := db.GetPrinterIndexAll(engine, search.StoreId) | |||
user := GetUser(c) | |||
printer, _ := db.GetPrinterIndexAll(engine, utils.IntToStr(user.Info.Uid)) | |||
var r md.RecordPrinterScreen | |||
r.TimeSort = []md.NewSelectList{ | |||
{ | |||
@@ -59,7 +59,12 @@ func StoreOrderList(c *gin.Context) { | |||
} | |||
user := GetUser(c) | |||
arg["store_uid"] = utils.IntToStr(user.Info.Uid) | |||
data := db.GetOrderList(MasterDb(c), arg) | |||
if arg["type"] != "" && arg["date"] != "" { | |||
stime, etime := GetDate(c, arg) | |||
arg["start_time"] = stime.Format("2006-01-02 15:04:05") | |||
arg["end_time"] = etime.Format("2006-01-02 15:04:05") | |||
} | |||
data := db.GetOrderList(c, MasterDb(c), arg) | |||
var state = []string{"待付款", "待提货", "已完成", "已取消"} | |||
list := make([]map[string]interface{}, 0) | |||
if data != nil { | |||