1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package service
- import (
- IC "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/init"
- "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/type/partnerlib"
- "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/util"
- "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/warn"
- "app.yhyue.com/moapp/jy_docs/services/model"
- "app.yhyue.com/moapp/jy_docs/services/partner"
- "app.yhyue.com/moapp/jyfs/rpc/filesystem"
- "encoding/json"
- "fmt"
- )
- type DRes struct {
- Msg string
- Code int64
- }
- func DocDownload(in *partnerlib.UserDownloadRequest) (res *partnerlib.UDRes, err error) {
- res = new(partnerlib.UDRes)
- var (
- b []byte
- isJson bool
- )
- h := NewHH(IC.I.Docin.Name, IC.I.Docin.Host, IC.I.Docin.DocDownload.Name, IC.I.Docin.DocDownload.Pathname, IC.I.Docin.DocDownload.Method, map[string]interface{}{
- "productId": in.DocId,
- "userId": in.PositionId,
- })
- b, err, isJson = h.HttpFunc()
- go h.SaveDocinLogger(b, err, "req")
- if err == nil {
- //豆丁同步数据到mongo
- go h.SaveDocinLogger(b, err, "res")
- if isJson {
- err = json.Unmarshal(b, &res)
- } else {
- //获取文件信息
- docInfo := partner.DocsFindOne(in.DocId)
- if docInfo.DocName != "" {
- //查看oss服务器是否已存在此文档
- if res.OssDocId = docInfo.OssDocId; res.OssDocId == "" {
- //获取附件后上传oss
- if res.OssDocId = FileUpload(&filesystem.SaveFileReq{
- Domain: IC.C.OssInfo.BucketName,
- FileId: fmt.Sprintf("%s.%s", util.GetHashKey(b), docInfo.DocFileSuffix),
- Meta: map[string]string{
- "docName": docInfo.DocName,
- "docSuffix": docInfo.DocFileSuffix,
- "docSize": fmt.Sprintf("%d", docInfo.DocFileSize),
- },
- RawFileContent: b,
- }).OssDocId; res.OssDocId != "" {
- //更新doc
- if errUpdate := partner.DocsUpdate(model.Doc{OssDocId: res.OssDocId}); errUpdate != nil {
- warn.SendMsgByWXURL(fmt.Sprintf("文档id:%s,文档名称:%s 上传tidb doc 异常:%s", docInfo.Id, docInfo.DocName, err.Error()))
- }
- return
- } else {
- err = fmt.Errorf("文档上传失败")
- warn.SendMsgByWXURL(fmt.Sprintf("文档id:%s,文档名称:%s,上传到oss异常:%s", docInfo.Id, docInfo.DocName, res.Msg))
- }
- }
- return
- }
- }
- }
- res.Msg = err.Error()
- res.Code = -1
- return
- }
|