调整接口

This commit is contained in:
2025-06-25 19:32:18 +08:00
parent 627aa8dcda
commit 853ee2190a
22 changed files with 189 additions and 40 deletions

View File

@ -15,6 +15,7 @@ import (
"server/internal/controller/reward"
"server/internal/controller/rewardType"
"server/internal/controller/role"
"server/internal/controller/statistic"
"server/internal/controller/store"
"server/internal/controller/storeAdmin"
"server/internal/controller/storeRole"
@ -58,6 +59,7 @@ var (
rewardType.NewV1(),
reward.NewV1(),
desktop.NewV1(),
statistic.NewV1(),
)
})
})

View File

@ -20,3 +20,8 @@ const (
const (
WechatAccessTokenKey = "wechat:access_token"
)
const (
NetbarOnlineNumberKey = "%s:online:device:%s"
NetbarOnlineDeviceSetKey = "%s:online_devices"
)

View File

@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package statistic

View File

@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package statistic
import (
"server/api/statistic"
)
type ControllerV1 struct{}
func NewV1() statistic.IStatisticV1 {
return &ControllerV1{}
}

View File

@ -0,0 +1,15 @@
package statistic
import (
"context"
"fmt"
"github.com/gogf/gf/v2/frame/g"
"server/internal/consts"
"server/api/statistic/v1"
)
func (c *ControllerV1) GetOnlineDevice(ctx context.Context, req *v1.GetOnlineDeviceReq) (res *v1.GetOnlineDeviceRes, err error) {
card, err := g.Redis().SCard(ctx, fmt.Sprintf(consts.NetbarOnlineDeviceSetKey, req.NetbarAccount))
return &v1.GetOnlineDeviceRes{Total: card}, err
}

View File

@ -0,0 +1,17 @@
package store
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/store/v1"
)
func (c *ControllerV1) Detail(ctx context.Context, req *v1.DetailReq) (res *v1.DetailRes, err error) {
out, err := service.Store().Detail(ctx, &model.StoreDetailIn{NetbarAccount: req.NetbarAccount})
if err != nil {
return nil, err
}
return &v1.DetailRes{Id: out.Id}, nil
}

View File

@ -13,11 +13,12 @@ func (c *ControllerV1) GetTask(ctx context.Context, req *v1.GetTaskReq) (res *v1
userId := g.RequestFromCtx(ctx).GetCtxVar("id").Int()
out, err := service.Task().GetTask(ctx, &model.GetTaskIn{
TaskId: req.TaskId,
StoreId: req.StoreId,
UserId: userId,
GameId: req.GameId,
TaskName: req.TaskName,
TaskId: req.TaskId,
StoreId: req.StoreId,
NetBarAccount: req.NetBarAccount,
UserId: userId,
GameId: req.GameId,
TaskName: req.TaskName,
})
if err != nil {
return nil, err

View File

@ -13,11 +13,12 @@ func (c *ControllerV1) Ranking(ctx context.Context, req *v1.RankingReq) (res *v1
//operatorId := g.RequestFromCtx(ctx).GetCtxVar("id").Int()
operatorId := 4
out, err := service.Task().UserTaskRankingList(ctx, &model.UserTaskRankingIn{
Page: req.Page,
Size: req.Size,
StoreId: req.StoreId,
Type: req.Type,
OperatorId: operatorId,
Page: req.Page,
Size: req.Size,
StoreId: req.StoreId,
NetBarAccount: req.NetBarAccount,
Type: req.Type,
OperatorId: operatorId,
})
if err != nil {

View File

@ -263,3 +263,16 @@ func (s *sStore) DeleteIP(ctx context.Context, in *model.IPDeleteIn) (*model.IPD
Success: true,
}, nil
}
func (s *sStore) Detail(ctx context.Context, in *model.StoreDetailIn) (out *model.StoreDetailOut, err error) {
one, err := dao.Stores.Ctx(ctx).Where(do.Stores{NetbarAccount: in.NetbarAccount}).One()
if err != nil {
return nil, ecode.Fail.Sub("查询门店出现异常")
}
if one.IsEmpty() {
return nil, ecode.Params.Sub("门店不存在")
}
return &model.StoreDetailOut{
Id: one[dao.Stores.Columns().Id].Int64(),
}, nil
}

View File

@ -13,10 +13,17 @@ import (
)
type sStoreDesktopSetting struct {
mqttCLient mqtt.MqttClient
}
func New() service.IStoreDesktopSetting {
return &sStoreDesktopSetting{}
client, b := mqtt.GetClient("emqx")
if !b {
return nil
}
return &sStoreDesktopSetting{
mqttCLient: client,
}
}
func init() {
service.RegisterStoreDesktopSetting(New())
@ -63,15 +70,11 @@ func (s *sStoreDesktopSetting) Save(ctx context.Context, in model.SaveDesktopSet
if err != nil {
return nil, err
}
client, b := mqtt.GetClient("emqx")
if !b {
return nil, gerror.New("获取MQTT客户端失败")
}
marshal, err := json.Marshal(in)
if err != nil {
return nil, err
}
err = client.Publish(fmt.Sprintf("/desktop/%d", in.StoreId), marshal)
err = s.mqttCLient.Publish(fmt.Sprintf("/desktop/%d", in.StoreId), marshal)
if err != nil {
return nil, err
}

View File

@ -76,6 +76,17 @@ func (s *sTask) UserTaskRankingList(ctx context.Context, in *model.UserTaskRanki
if in.StoreId > 0 {
m = m.Where(dao.UserTasks.Columns().StoreId, in.StoreId)
} else if in.NetBarAccount != "" && in.StoreId <= 0 {
value, err := dao.Stores.Ctx(ctx).Where(dao.Stores.Columns().NetbarAccount, in.NetBarAccount).Fields(dao.Stores.Columns().Id).Value()
if err != nil {
return nil, ecode.Fail.Sub("查询门店ID失败")
}
if value.IsEmpty() {
return nil, ecode.Fail.Sub("门店不存在")
}
m = m.Where(dao.UserTasks.Columns().StoreId, value.Int())
}
list := make([]model.UserTaskRankingArgs, 0)
@ -302,9 +313,22 @@ func (s *sTask) GetSelectorList(ctx context.Context, in *model.SelectorIn) (out
// GetTask 完成任务
func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.GetTaskOut, err error) {
var storeId int
if in.StoreId > 0 {
storeId = in.StoreId
} else if in.NetBarAccount != "" && in.StoreId <= 0 {
value, err := dao.Stores.Ctx(ctx).Where(do.Stores{NetbarAccount: in.NetBarAccount}).Fields(dao.Stores.Columns().Id).Value()
if err != nil {
return nil, ecode.Fail.Sub("获取门店ID异常")
}
if value.IsEmpty() {
return nil, ecode.Fail.Sub("获取门店ID异常")
}
storeId = value.Int()
}
var userTask []*model.UserTask
err = dao.UserTasks.Ctx(ctx).Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId, StoreId: in.StoreId, GameId: in.GameId}).WhereNot("status", 3).Scan(&userTask)
err = dao.UserTasks.Ctx(ctx).Where(do.UserTasks{UserId: in.UserId, TaskId: in.TaskId, StoreId: storeId, GameId: in.GameId}).WhereNot("status", 3).Scan(&userTask)
if err != nil {
return nil, ecode.Fail.Sub("查询用户该任务记录失败")
}
@ -323,7 +347,7 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge
_, err = dao.UserTasks.Ctx(ctx).Insert(do.UserTasks{
UserId: in.UserId,
TaskId: in.TaskId,
StoreId: in.StoreId,
StoreId: storeId,
Status: 1,
SerialNumber: serialNumber,
TaskName: in.TaskName,

View File

@ -110,3 +110,9 @@ type IPCreateIn struct {
type IPCreateOut struct {
Success bool `json:"success"`
}
type StoreDetailIn struct {
NetbarAccount string
}
type StoreDetailOut struct {
Id int64 `json:"id"`
}

View File

@ -26,11 +26,12 @@ type UserTask struct {
// UserTaskRankingIn 任务排行榜入参
type UserTaskRankingIn struct {
Page int
Size int
StoreId int
Type int // 排行榜类型 1:日 2:周 3
OperatorId int
Page int
Size int
StoreId int
NetBarAccount string
Type int // 排行榜类型 1:日 2:周 3
OperatorId int
}
// UserTaskRankingOut 用户排行榜出参
@ -58,11 +59,12 @@ type LoginUserRankingNum struct {
// GetTaskIn 添加任务记录入参
type GetTaskIn struct {
TaskId int `json:"taskId"`
StoreId int `json:"storeId"`
UserId int `json:"userId"`
TaskName string `json:"taskName"`
GameId int `json:"gid"`
TaskId int `json:"taskId"`
StoreId int `json:"storeId"`
NetBarAccount string `json:"netBarAccount"`
UserId int `json:"userId"`
TaskName string `json:"taskName"`
GameId int `json:"gid"`
}
type GetTaskOut struct {

View File

@ -4,7 +4,7 @@ import (
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
_ "server/utility/gamelife"
//_ "server/utility/mqtt/emqx"
_ "server/utility/mqtt/emqx"
_ "server/utility/myCasbin"
_ "server/utility/oss/aliyun"
_ "server/utility/rsa"

View File

@ -18,6 +18,7 @@ type (
Update(ctx context.Context, in *model.RewardUpdateIn) (out *model.RewardUpdateOut, err error)
// Delete 删除奖励
Delete(ctx context.Context, in *model.RewardDeleteIn) (out *model.RewardDeleteOut, err error)
// List 奖励列表
List(ctx context.Context, in *model.RewardListIn) (out *model.RewardListOut, err error)
// GetLift 领取奖励
GetLift(ctx context.Context, in *model.GetRewardIn) (out *model.GetRewardOut, err error)

View File

@ -22,6 +22,7 @@ type (
CreateIP(ctx context.Context, in *model.IPCreateIn) (*model.IPCreateOut, error)
UpdateIP(ctx context.Context, in *model.IPUpdateIn) (*model.IPUpdateOut, error)
DeleteIP(ctx context.Context, in *model.IPDeleteIn) (*model.IPDeleteOut, error)
Detail(ctx context.Context, in *model.StoreDetailIn) (out *model.StoreDetailOut, err error)
}
)