|
- package hdl
-
- import (
- "applet/app/db"
- "applet/app/e"
- storeSvc "applet/app/store/svc"
- "applet/app/svc"
- "applet/app/utils"
- "fmt"
- "github.com/gin-gonic/gin"
- )
-
- func StoreIndexTotal(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)
- stime, etime := svc.GetDate(c, arg)
- sql := `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_order
- where %s
- `
- where := "store_uid=" + utils.IntToStr(user.Info.Uid) + " and state>0"
- wherePay := where + " and create_at>='" + stime.Format("2006-01-02 15:04:05") + "' and create_at<'" + etime.Format("2006-01-02 15:04:05") + "'"
- sqlPay := fmt.Sprintf(sql, wherePay)
- nativeString, _ := db.QueryNativeString(svc.MasterDb(c), sqlPay)
- amount := "0"
- money := "0"
- commission := "0"
- count := "0"
- successCount := "0"
- waitCount := "0"
- for _, v := range nativeString {
- amount = v["amount"]
- money = v["money"]
- commission = v["commission"]
- count = v["count"]
- 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")},
- }
- if store != nil {
- if store.StoreType == 0 {
- tmp = append(tmp, map[string]string{"name": "佣金收益", "value": svc.GetCommissionPrec(c, commission, "2", "1")})
- }
- if store.StoreType > 0 {
- tmp = append(tmp, map[string]string{"name": "订单收益", "value": svc.GetCommissionPrec(c, money, "2", "1")})
- }
- } else {
- tmp = append(tmp, map[string]string{"name": "订单收益", "value": svc.GetCommissionPrec(c, money, "2", "1")})
- }
- 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)
- }
|