screen.api 4.4 KB
syntax = "v1"

info(
    title: "易数家显示大屏互动服务"
    desc: "易数家显示大屏互动服务 (Big screen interaction)"
    author: ""
    email: "@gmail.com"
    version: "v1"
)

// 后台接口
@server(
    prefix: v1/system
    group: activity
    middleware: LoginStatusCheck,LogRequest
    jwt: SystemAuth
)

service Core {
    @doc  "活动详情"
    @handler systemActivityGet
    get /activity/:id //(ActivityGetRequest) returns (ActivityGetResponse)
    @doc  "活动保存"
    @handler systemActivitySave
    post /activity //(ActivitySaveRequest) returns (ActivitySaveResponse)
    @doc  "活动删除"
    @handler systemActivityDelete
    delete /activity/:id //(ActivityDeleteRequest) returns (ActivityDeleteResponse)
    @doc  "活动更新"
    @handler systemActivityUpdate
    put /activity/:id //(ActivityUpdateRequest) returns (ActivityUpdateResponse)
    @doc  "活动搜索"
    @handler systemActivitySearch
    post /activity/search //(ActivitySearchRequest) returns (ActivitySearchResponse)
    @doc  "活动开启"
    @handler systemActivityOpen
    post /activity/open (ActivityOpenRequest) returns (ActivityOpenResponse)
    @doc  "活动关闭"
    @handler systemActivityClose
    post /activity/close (ActivityCloseRequest) returns (ActivityCloseResponse)
    @doc  "活动问卷数据搜索"
    @handler systemActivitySubmissionDataSearch
    post /activity/submition-data-search (SubmissionDataSearchRequest) returns(SubmissionDataSearchResponse)
    @doc  "活动问卷数据导出"
    @handler systemActivitySubmissionDataExport
    post /activity/submition-data-export (SubmissionDataSearchRequest) returns(SubmissionDataSearchResponse)
}

@server(
    prefix: v1/h5
    group: activity
    middleware: LogRequest
)

service Core {
    @doc  "活动详情"
    @handler h5ActivityGet
    get /activity/:id //(ActivityGetRequest) returns (ActivityGetResponse)
    @doc  "活动问卷提交"
    @handler h5ActivityQuestionnaireSubmit
    post /activity/questionnaire-Submit (QuestionnaireSubmitRequest) returns (QuestionnaireSubmitResponse)
    @doc  "活动问卷拉取"
    @handler h5ActivityQuestionnairePullSubmission
    post /activity/pull-submission (PullSubmissionRequest) returns(PullSubmissionResponse)
}

type(
    ActivityOpenRequest struct{
        Id  int64  `json:"id"`  // 唯一标识
    }
    ActivityOpenResponse struct{

    }
    ActivityCloseRequest struct{
        Id  int64  `json:"id"`  // 唯一标识
    }
    ActivityCloseResponse struct{

    }
)

type(
    QuestionnaireSubmitRequest struct{
        Id int64 `json:"id"`   // 活动ID
        FormList []QuestionItem `json:"formList"` // 表单列表
    }
    QuestionnaireSubmitResponse{}

    SubmissionDataSearchRequest struct{
        Page int       `json:"page"`
        Size int       `json:"size"`
        ActivityId int64 `json:"activityId,optional"`
        Name string    `json:"name,optional"`
        Product string `json:"product,optional"`
        IsRepeat *bool `json:"isRepeat,optional"` // true:重复的 false:正常
        AmountFrom float64 `json:"amountFrom"`  // 金额 从多少开始
        AmountTo   float64 `json:"amountTo"`    // 金额 从多少截至
        SelectIdList []int64 `json:"selectIdList"` // 选择的数据项
    }
    SubmissionDataSearchResponse struct{
        List []SubmissionItem `json:"list"`
        Total int64 `json:"total"`
    }
    PullSubmissionRequest{
        Id int64 `json:"id"`   // 活动ID
        Timestamp int64 `json:"timestamp"` // 最后一次拉取时间戳,首次为当前时间
    }
    PullSubmissionResponse{
        TotalParticipants int64 `json:"totalParticipants"` // 累计参与人次
        List []SubmissionItem `json:"list"`
    }
    SubmissionItem{
        Name string `json:"name"`     // 投资人姓名
        Title string `json:"title"`   // 称谓
        Avatar string `json:"avatar"` // 头像
        Product string `json:"product"`// 产品
        Amount  float64 `json:"amount"`// 金额
        Greeting string `json:"greeting"` // 祝福
        Time   int64 `json:"time"`     //提报时间
        IsRepeat bool `json:"isRepeat"`  // 是否重复
    }
)

type QuestionItem struct {
    Label     string      `json:"label"`            // 字段名称
    Product   string      `json:"product"`          // 商品(非必填)
    Value     string      `json:"value"`            // 值
}

type (
    TodoRequest struct{}
    TodoResonse struct{}
)