|
|
@@ -20,10 +20,11 @@ import (
|
|
|
)
|
|
|
|
|
|
type ActivitiService struct {
|
|
|
- BaseUrl string
|
|
|
- AposeUrl string
|
|
|
- Username string
|
|
|
- Password string
|
|
|
+ BaseUrl string
|
|
|
+ AposeUrl string
|
|
|
+ OriginUrl string
|
|
|
+ Username string
|
|
|
+ Password string
|
|
|
ServiceBase
|
|
|
}
|
|
|
|
|
|
@@ -35,6 +36,8 @@ func GetActivitiService(xormEngine *xorm.Engine) *ActivitiService {
|
|
|
s.BaseUrl = "http://47.92.212.59:8080/acti-api/api/acti"
|
|
|
//s.BaseUrl = "http://192.168.0.171:8081/api/acti"
|
|
|
s.AposeUrl = "http://47.92.212.59:8080/acti-api/api/apose"
|
|
|
+ //s.OriginUrl = "http://localhost:8081/api"
|
|
|
+ s.OriginUrl = "http://47.92.212.59:8080/acti-api/api"
|
|
|
//s.AposeUrl = "http://localhost:8081/api/apose"
|
|
|
//s.AposeUrl = "http://192.168.0.171:8081/api/apose"
|
|
|
s.Username = "leader"
|
|
|
@@ -67,6 +70,18 @@ func (this *ActivitiService) Post2(url string, params string, token string) *htt
|
|
|
log.Println("resp= ", resp)
|
|
|
return resp
|
|
|
}
|
|
|
+func (this *ActivitiService) PostOrigin(url string, params string, token string) *http.Response {
|
|
|
+ client := &http.Client{}
|
|
|
+ req, err := http.NewRequest("POST", this.OriginUrl+url, strings.NewReader(params))
|
|
|
+ req.Header.Add("Content-Type", "application/json")
|
|
|
+ req.Header.Add("Authorization", "Bearer "+token)
|
|
|
+ resp, err := client.Do(req)
|
|
|
+ if err != nil {
|
|
|
+ log.Println("err= ", err)
|
|
|
+ }
|
|
|
+ log.Println("resp= ", resp)
|
|
|
+ return resp
|
|
|
+}
|
|
|
|
|
|
func (this *ActivitiService) Get(url string, params string, token string) *http.Response {
|
|
|
client := &http.Client{}
|
|
|
@@ -237,3 +252,53 @@ func (this *ActivitiService) ExcelToPdf(addressUrl string) string {
|
|
|
fmt.Println("==retDocUrl==", retDocUrl)
|
|
|
return retDocUrl
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+func (this *ActivitiService) FillWordTemplate(datas map[string]interface{}, templateUrl string, fileName string) string {
|
|
|
+ var wordTempVM WordTemplateVM
|
|
|
+ wordTempVM.Datas = datas
|
|
|
+ wordTempVM.TemplateUrl = templateUrl
|
|
|
+ wordTempVM.FileName = fileName
|
|
|
+ fmt.Println("==templateUrl===", templateUrl)
|
|
|
+ jsonParam, err := json.Marshal(wordTempVM)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err, "生成json字符串错误")
|
|
|
+ }
|
|
|
+ params := string(jsonParam)
|
|
|
+ //token = Authorization(this.Username, this.Password)
|
|
|
+ retVal := this.PostOrigin("/word/fill-word", params, "")
|
|
|
+ if retVal.StatusCode != 200 {
|
|
|
+ return ""
|
|
|
+ }
|
|
|
+ //pdfByte, err := ioutil.ReadAll(retVal.Body)
|
|
|
+ //ioutil.WriteFile("E:\aa.pdf", pdfByte, 777)
|
|
|
+ //模板下载到服务器
|
|
|
+ _dir := utils.Cfg.MustValue("file", "tmplateDir") + "word"
|
|
|
+ utils.CreatePath(_dir)
|
|
|
+ _dir += "/tmp_" + strconv.Itoa(int(time.Now().Unix())) + ".docx"
|
|
|
+ raw := retVal.Body
|
|
|
+ defer raw.Close()
|
|
|
+
|
|
|
+ file, err := os.Create(_dir)
|
|
|
+ defer file.Close()
|
|
|
+ writer := bufio.NewWriter(file)
|
|
|
+ defer writer.Flush()
|
|
|
+ body, err := ioutil.ReadAll(raw)
|
|
|
+ writer.Write(body)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ return ""
|
|
|
+ }
|
|
|
+ var sw *Seaweed
|
|
|
+ var filer []string
|
|
|
+ if _filer := os.Getenv("GOSWFS_FILER_URL"); _filer != "" {
|
|
|
+ filer = []string{_filer}
|
|
|
+ }
|
|
|
+ sw = NewSeaweed("http", utils.Cfg.MustValue("file", "upFileHost"), filer, 2*1024*1024, 5*time.Minute)
|
|
|
+ //_, fID, err := sw.Upload(retVal.Body, "tmp.pdf", int64(len(pdfByte)), "", "")
|
|
|
+ _, _, fID, err := sw.UploadFile(_dir, "", "")
|
|
|
+ retDocUrl := utils.Cfg.MustValue("file", "downFileHost") + "/" + fID
|
|
|
+ os.Remove(_dir)
|
|
|
+ fmt.Println("==retDocUrl==", retDocUrl)
|
|
|
+ return retDocUrl
|
|
|
+}
|