| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package service
- import (
- "dsbqj-admin/model/mysql"
- "dsbqj-admin/pkg/cache"
- "errors"
- "fmt"
- "github.com/aliyun/credentials-go/credentials/utils"
- "github.com/goccy/go-json"
- "time"
- )
- /*
- oss 层级规范
- |- 主目录 [models]|[maps]|[musics]|[effects] ....
- |- 子目录 uuid为目录名
- |- 子目录 [source] 源数据
- |- 源数据结构
- |- 文件1 perviewImage.jpg // 源数据预览图
- |- 文件2 renderImage.jpg // 源数据渲染图
- |- 文件
- */
- // UploadTokenService 获得上传oss token的服务
- type UploadReportService struct {
- Message string `form:"message" json:"message"`
- Source string `form:"source" json:"source"`
- Line string `form:"line" json:"line"`
- Colno string `form:"colno" json:"colno"`
- Err string `form:"err" json:"err"`
- Aid string `form:"aid" json:"aid"`
- Sid string `form:"sid" json:"sid"`
- Uid string `form:"uid" json:"uid"`
- Channel string `form:"channel" json:"channel"`
- Path string `form:"path" json:"path"`
- }
- func (service *UploadReportService) Create() error {
- buf, _ := json.Marshal(service)
- str := utils.GetMD5Base64(buf)
- key := fmt.Sprintf("%s:%s", "ClientErrReport", service.Aid)
- // 检查数据是否冗余
- success, err := cache.RedisReport.SetNX(key, str, 60*time.Second).Result()
- if !success {
- return errors.New("请勿重复提交")
- }
- fmt.Println(str, success)
- var report = new(mysql.Report)
- report.Message = service.Message
- report.Err = service.Err
- report.Source = service.Source
- report.Line = service.Line
- report.Colno = service.Colno
- report.Aid = service.Aid
- report.Sid = service.Sid
- report.Uid = service.Uid
- report.Channel = service.Channel
- report.Path = service.Path
- err = report.Create()
- if err != nil {
- return err
- }
- return nil
- }
|