Commit 15597eed by Li Feifei

code format

parent 4ecf5a53
Pipeline #15689 passed with stages
in 33 seconds
...@@ -4,6 +4,7 @@ import ( ...@@ -4,6 +4,7 @@ import (
"ppt_server/app/model" "ppt_server/app/model"
"ppt_server/app/service" "ppt_server/app/service"
"ppt_server/library/response" "ppt_server/library/response"
"ppt_server/packed/file"
"github.com/gogf/gf/net/ghttp" "github.com/gogf/gf/net/ghttp"
) )
...@@ -36,6 +37,11 @@ func (f *fileApi) Upload(r *ghttp.Request) { ...@@ -36,6 +37,11 @@ func (f *fileApi) Upload(r *ghttp.Request) {
if err := r.Parse(&req); err != nil { if err := r.Parse(&req); err != nil {
response.Fail(r, err) response.Fail(r, err)
} }
go service.File.Upload(&req) // 检测课件格式
parserFile, err := file.Upload(&req, service.File.Done, service.File.Ok)
if err != nil {
response.Fail(r, err)
}
go service.File.Upload(parserFile)
response.Success(r) response.Success(r)
} }
...@@ -9,41 +9,34 @@ import ( ...@@ -9,41 +9,34 @@ import (
) )
var File = &fileService{ var File = &fileService{
done: make(chan error), Done: make(chan error),
ok: make(chan bool), Ok: make(chan bool),
} }
type fileService struct { type fileService struct {
done chan error Done chan error
ok chan bool Ok chan bool
} }
// 上传课件 // 上传课件
func (f *fileService) Upload(r *model.FileUploadRequest) { func (f *fileService) Upload(file *file.ObtainFile) {
// 解析上传课件URL
parserURLObject, err := file.Upload(r, f.done, f.ok)
if err != nil {
g.Log().Async().Errorf("Parser Url err: %s\n", err)
return
}
// 检查房间是否存在 // 检查房间是否存在
var room model.XyuRoom var room model.XyuRoom
err := dao.XyuRoom.Where(dao.XyuRoom.Columns.RoomNum, file.R.RoomNum).Scan(&room)
err = dao.XyuRoom.Where(dao.XyuRoom.Columns.RoomNum, r.RoomNum).Scan(&room)
// 上传操作 // 上传操作
go parserURLObject.Worker(err) go file.Worker(err)
// 回调通知 // 回调通知
select { select {
case <-f.done: case <-f.Done:
// 上传失败 // 上传失败
parserURLObject.Fail() file.Fail()
return return
case <-f.ok: case <-f.Ok:
// 上传成功 // 上传成功
count, err := dao.XyuRoomFile.Where(dao.XyuRoomFile.Columns.RoomId, room.Id). count, err := dao.XyuRoomFile.Where(dao.XyuRoomFile.Columns.RoomId, room.Id).
Where(dao.XyuRoomFile.Columns.Name, parserURLObject.FileName()).Count() Where(dao.XyuRoomFile.Columns.Name, file.FileName()).Count()
if err != nil { if err != nil {
g.Log().Async().Errorf("Mysql Err: %s\n", err) g.Log().Async().Errorf("Mysql Err: %s\n", err)
return return
...@@ -52,7 +45,7 @@ func (f *fileService) Upload(r *model.FileUploadRequest) { ...@@ -52,7 +45,7 @@ func (f *fileService) Upload(r *model.FileUploadRequest) {
if count == 1 { if count == 1 {
return return
} }
parserURLObject.Success(room.Id) file.Success(room.Id)
return return
} }
} }
...@@ -3,6 +3,7 @@ package file ...@@ -3,6 +3,7 @@ package file
import ( import (
"fmt" "fmt"
"mime" "mime"
"net/http"
"path" "path"
"strings" "strings"
...@@ -31,7 +32,7 @@ func parseURL(ossFileLink string) (*parser, error) { ...@@ -31,7 +32,7 @@ func parseURL(ossFileLink string) (*parser, error) {
slicePath := gstr.SplitAndTrim(parseURLPath["path"], "/", "/") slicePath := gstr.SplitAndTrim(parseURLPath["path"], "/", "/")
if len(slicePath) < 4 { if len(slicePath) < 4 {
return nil, gerror.New("上传URL格式不正确") return nil, gerror.NewCode(http.StatusBadRequest, "上传URL格式不正确")
} }
f := &parser{ f := &parser{
ext: path.Ext(ossFileLink), ext: path.Ext(ossFileLink),
......
...@@ -27,7 +27,7 @@ import ( ...@@ -27,7 +27,7 @@ import (
// 解析URL返回基本信息 // 解析URL返回基本信息
type ObtainFile struct { type ObtainFile struct {
r *model.FileUploadRequest // 客户端请求参数 R *model.FileUploadRequest // 客户端请求参数
ok chan bool // 上传课件响应成功 ok chan bool // 上传课件响应成功
err chan error // 上传课件失败Error err chan error // 上传课件失败Error
fileSize int64 // 课件大小 fileSize int64 // 课件大小
...@@ -58,7 +58,7 @@ func Upload(r *model.FileUploadRequest, errChan chan error, ...@@ -58,7 +58,7 @@ func Upload(r *model.FileUploadRequest, errChan chan error,
ok: ok, ok: ok,
err: errChan, err: errChan,
parser: f, parser: f,
r: r, R: r,
packed: &model.Packed{ packed: &model.Packed{
FileName: f.filename(), FileName: f.filename(),
Hash: f.contentHash(), Hash: f.contentHash(),
...@@ -227,8 +227,8 @@ func (f *ObtainFile) FileName() string { ...@@ -227,8 +227,8 @@ func (f *ObtainFile) FileName() string {
func (f *ObtainFile) Fail() { func (f *ObtainFile) Fail() {
if err := f.n.notice("/web/room_files_error", g.Map{ if err := f.n.notice("/web/room_files_error", g.Map{
"code": 400, "code": 400,
"uuid": f.r.Uuid, "uuid": f.R.Uuid,
"room_num": f.r.RoomNum, "room_num": f.R.RoomNum,
"path": f.parser.dataPath(), "path": f.parser.dataPath(),
}); err != nil { }); err != nil {
g.Log().Async().Error(err) g.Log().Async().Error(err)
...@@ -237,8 +237,8 @@ func (f *ObtainFile) Fail() { ...@@ -237,8 +237,8 @@ func (f *ObtainFile) Fail() {
// 上传成功通知 // 上传成功通知
func (f *ObtainFile) Success(roomID int) { func (f *ObtainFile) Success(roomID int) {
m := g.Map{ if err := f.n.notice("/web/room_files_add", g.Map{
"name": f.r.Name, "name": f.R.Name,
"file_name_hash": f.parser.nameHash(), "file_name_hash": f.parser.nameHash(),
"hash": f.parser.contentHash(), "hash": f.parser.contentHash(),
"path": f.parser.dataPath(), "path": f.parser.dataPath(),
...@@ -249,13 +249,11 @@ func (f *ObtainFile) Success(roomID int) { ...@@ -249,13 +249,11 @@ func (f *ObtainFile) Success(roomID int) {
"link": strings.Replace(f.parser.url, ossIntranetLink, uploadFileLinkHost, -1), "link": strings.Replace(f.parser.url, ossIntranetLink, uploadFileLinkHost, -1),
"private": "1", "private": "1",
"time": gtime.Datetime(), "time": gtime.Datetime(),
"nickname": f.r.Nickanem, "nickname": f.R.Nickanem,
"uuid": f.r.Uuid, "uuid": f.R.Uuid,
"room_id": roomID, "room_id": roomID,
"is_courseware" : 1, "is_courseware" : 1,
} }); err != nil {
if err := f.n.notice("/web/room_files_add", m); err != nil {
g.Log().Async().Error(err) g.Log().Async().Error(err)
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment