231 lines
8.5 KiB
Go
231 lines
8.5 KiB
Go
package entitys
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
type (
|
|
LoginAppRequest struct {
|
|
Secret string `json:"secret" validate:"required" zh:"密钥"`
|
|
}
|
|
|
|
GetUserAndAutoStatusRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
}
|
|
|
|
AddUserRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
Name string `json:"name" validate:"required" zh:"用户名"`
|
|
}
|
|
|
|
DelUserRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
UserIndex string `json:"user_index" validate:"required" zh:"用户索引"`
|
|
}
|
|
|
|
GetAppRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
UserIndex string `json:"user_index" validate:"required" zh:"用户索引"`
|
|
}
|
|
|
|
PlatListRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
PlatType int `json:"plat_type" zh:"平台类型"`
|
|
}
|
|
|
|
PublishRecordsRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
Records []PublishRecordItem `json:"records" validate:"required" zh:"发布记录"`
|
|
}
|
|
|
|
PublishRecordItem struct {
|
|
UserIndex string `json:"user_index"`
|
|
PlatIndex string `json:"plat_index" validate:"required" zh:"平台索引"`
|
|
Title string `json:"title"`
|
|
Tag string `json:"tag"`
|
|
Type int32 `json:"type" validate:"required" zh:"类型"`
|
|
URL string `json:"url" validate:"required" zh:"链接"`
|
|
PublishTime string `json:"publish_time" validate:"required" zh:"发布时间"`
|
|
Img string `json:"img"`
|
|
RequestID string `json:"request_id"`
|
|
}
|
|
|
|
PublishOnRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
}
|
|
|
|
PublishOffRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
}
|
|
|
|
PublishStatusRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
RequestID string `json:"request_id"`
|
|
}
|
|
|
|
PublishExecuteOnceRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
}
|
|
|
|
PublishExecuteRetryRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
RequestID string `json:"request_id" validate:"required" zh:"请求ID"`
|
|
}
|
|
|
|
GetPublishListRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
Page int `json:"page"`
|
|
PageSize int `json:"page_size"`
|
|
UserIndex string `json:"user_index"`
|
|
Tag string `json:"tag"`
|
|
Type int `json:"type"`
|
|
PlatIndex string `json:"plat_index"`
|
|
Status int `json:"status"`
|
|
RequestID string `json:"request_id"`
|
|
}
|
|
|
|
LoginPlatformRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
UserIndex string `json:"user_index" validate:"required" zh:"用户索引"`
|
|
PlatIndex string `json:"plat_index" validate:"required" zh:"平台索引"`
|
|
}
|
|
|
|
LogoutPlatformRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
UserIndex string `json:"user_index" validate:"required" zh:"用户索引"`
|
|
PlatIndex string `json:"plat_index" validate:"required" zh:"平台索引"`
|
|
}
|
|
|
|
CreateProductRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
UserIndex string `json:"user_index" validate:"required" zh:"用户索引"`
|
|
Name string `json:"name" validate:"required" zh:"产品名称"`
|
|
Industry string `json:"industry" validate:"required" zh:"所属行业"`
|
|
Type string `json:"type" validate:"required" zh:"产品类型"`
|
|
ProductOrService string `json:"product_or_service" validate:"required" zh:"主营业务"`
|
|
Advantages string `json:"advantages" zh:"核心优势"`
|
|
Story string `json:"story" zh:"发展故事"`
|
|
Problem string `json:"problem" zh:"解决痛点"`
|
|
Background string `json:"background" zh:"信任背书"`
|
|
Case string `json:"case" zh:"品牌案例"`
|
|
Other string `json:"other" zh:"其他信息"`
|
|
ServiceScope string `json:"service_scope" zh:"服务范围"`
|
|
Imgs string `json:"imgs" zh:"图片"`
|
|
TargetAudience string `json:"target_audience" zh:"目标客户群体"`
|
|
}
|
|
|
|
ProductListRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
UserIndex string `json:"user_index" validate:"required" zh:"用户索引"`
|
|
Page int `json:"page"`
|
|
PageSize int `json:"page_size"`
|
|
}
|
|
|
|
ProductDetailRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
Id int32 `json:"id" validate:"required" zh:"id"`
|
|
}
|
|
|
|
ProductUpdateRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
Id int32 `json:"id" validate:"required" zh:"id"`
|
|
Name string `json:"name" zh:"产品名称"`
|
|
Industry string `json:"industry" zh:"所属行业"`
|
|
ProductOrService string `json:"product_or_service" zh:"主营业务"`
|
|
Type string `json:"type" zh:"产品类型"`
|
|
Advantages string `json:"advantages" zh:"核心优势"`
|
|
Story string `json:"story" zh:"发展故事"`
|
|
Problem string `json:"problem" zh:"解决痛点"`
|
|
Background string `json:"background" zh:"信任背书"`
|
|
Case string `json:"case" zh:"品牌案例"`
|
|
Other string `json:"other" zh:"其他信息"`
|
|
ServiceCope string `json:"service_cope" zh:"服务范围"`
|
|
Imgs string `json:"imgs" zh:"图片"`
|
|
TargetAudience string `json:"target_audience" zh:"目标客户群体"`
|
|
}
|
|
|
|
ProductDelRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
Id int32 `json:"id" validate:"required" zh:"产品id"`
|
|
}
|
|
|
|
ImageUploadRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
Id int32 `json:"id" validate:"required" zh:"产品id"`
|
|
}
|
|
|
|
ProductSourceCreateRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
ProductId int32 `json:"product_id" validate:"required" zh:"产品id"`
|
|
Ques string `json:"ques" validate:"required" zh:"问题"`
|
|
ArticleType string `json:"article_type" validate:"required" zh:"文章类型"`
|
|
}
|
|
|
|
ProductSourceListRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
ProductId int32 `json:"product_id" validate:"required" zh:"产品id"`
|
|
Page int `json:"page"`
|
|
PageSize int `json:"page_size"`
|
|
}
|
|
|
|
ProductSourceUploadRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
SourceId int32 `json:"source_id" validate:"required" zh:"资源id"`
|
|
}
|
|
|
|
ProductSourceUpdateRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
SourceId int32 `json:"source_id" validate:"required" zh:"资源id"`
|
|
Title *string `json:"title" zh:"标题"`
|
|
Tag *[]string `json:"tag" zh:"标题"`
|
|
}
|
|
|
|
ProductSourceDelRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
SourceId int32 `json:"source_id" validate:"required" zh:"资源id"`
|
|
}
|
|
|
|
ProductPublishRequest struct {
|
|
AccessToken string `json:"access_token" validate:"required" zh:"access_token"`
|
|
SourceId int32 `json:"source_id" validate:"required" zh:"资源id"`
|
|
Plat []string `json:"plat" validate:"required" zh:"平台"`
|
|
PublishTime MyTime `json:"publish_time" validate:"required" zh:"发布时间"`
|
|
}
|
|
)
|
|
|
|
type MyTime struct {
|
|
time.Time
|
|
}
|
|
|
|
func (t *MyTime) UnmarshalJSON(data []byte) error {
|
|
str := strings.Trim(string(data), `"`)
|
|
if str == "" || str == "null" {
|
|
return nil
|
|
}
|
|
|
|
// 解析为本地时区(东八区)
|
|
loc, _ := time.LoadLocation("Asia/Shanghai") // 或 "Local"
|
|
|
|
formats := []string{
|
|
"2006-01-02T15:04",
|
|
"2006-01-02T15:04:05",
|
|
time.RFC3339,
|
|
}
|
|
|
|
for _, format := range formats {
|
|
if parsed, err := time.ParseInLocation(format, str, loc); err == nil {
|
|
t.Time = parsed
|
|
return nil
|
|
}
|
|
}
|
|
|
|
return fmt.Errorf("无法解析时间: %s", str)
|
|
}
|
|
|
|
func (t *MyTime) MarshalJSON() ([]byte, error) {
|
|
// 输出时也使用相同格式和时区
|
|
return []byte(`"` + t.Time.Format("2006-01-02T15:04") + `"`), nil
|
|
}
|