Commit 5f5c87f2 authored by Bess严根旺's avatar Bess严根旺

入库

parent 5ede499c
......@@ -156,7 +156,8 @@ func (o *Conversion) DoConversion(arg ConversionRequest) (string, error) {
if !ok {
return "", err
}
return body["TaskId"].(string), err
log.Info("返回的task_id :%s", body["TaskId"].(string))
return body["TaskId"].(string), nil
}
func (o *Conversion) CreateImClient() (_result *imm20200930.Client, _err error) {
......@@ -231,6 +232,7 @@ func (o *Conversion) CreateProject() (_err error) {
return nil
}
// 获取项目
func (o *Conversion) GetTaskProject(args GetTaskRequest) (string, error) {
client, _err := o.CreateImClient()
if _err != nil {
......@@ -257,24 +259,24 @@ func (o *Conversion) GetTaskProject(args GetTaskRequest) (string, error) {
}()
if tryErr != nil {
var error = &tea.SDKError{}
var err = &tea.SDKError{}
if _t, ok := tryErr.(*tea.SDKError); ok {
error = _t
err = _t
} else {
error.Message = tea.String(tryErr.Error())
err.Message = tea.String(tryErr.Error())
}
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
// 错误 message
log.Error("错误码%s", tea.StringValue(error.Message))
log.Error("错误码%s", tea.StringValue(err.Message))
// 诊断地址
var data interface{}
d := json.NewDecoder(strings.NewReader(tea.StringValue(error.Data)))
d := json.NewDecoder(strings.NewReader(tea.StringValue(err.Data)))
_err := d.Decode(&data)
/*if m, ok := data.(map[string]interface{}); ok {
if m, ok := data.(map[string]interface{}); ok {
recommend, _ := m["Recommend"]
fmt.Println(recommend)
}*/
_, _err = util.AssertAsString(error.Message)
log.Info("回访详细%v", recommend)
}
_, _err = util.AssertAsString(err.Message)
if _err != nil {
return "", _err
}
......
......@@ -75,8 +75,7 @@ func (w *dailyFileWriter) getOutputFile() (io.Writer, error) {
0644, // rw-r--r--
)
if nil != err ||
nil == outputFile {
if nil != err || nil == outputFile {
return nil, errors.Errorf("打开文件 %s 失败, err = %v", newDailyFile, err)
}
......
......@@ -3,11 +3,12 @@ app_name = doc-service
log_level = DEBUG
[mysql]
ip = 127.0.0.1
ip = "wan-test1-mysql-m1.galaxy-immi.com"
port = 3306
user = root
password = 123456wan
database = hyperf
user = "admin"
password = `0HkUEneEon#gQJAa`
database = ServerSiteMicros
[redis]
ip = 192.168.23.12
......
......@@ -2,6 +2,10 @@ package controllers
import (
service "doc-service/Service"
"doc-service/common/log"
models "doc-service/modes"
"doc-service/modes/db"
"doc-service/modes/db/project"
"github.com/gin-contrib/sessions"
"github.com/gin-gonic/gin"
"net/http"
......@@ -37,10 +41,7 @@ func (con ApiController) Plist(c *gin.Context) {
c.String(200, "我是一个api接口-Plist")
}
/*
*
发起文件转换
*/
// 发起文件转换
func (con ApiController) Conversion(c *gin.Context) {
ret := make(map[string]interface{}, 0)
ret["errcode"] = 0
......@@ -69,10 +70,28 @@ func (con ApiController) Conversion(c *gin.Context) {
ret["errmsg"] = errs.Error()
ret["errcode"] = 100011
}
ret["task_id"] = result
//入库
insertProject := &db.DocServerProject{}
insertProject.ProjectName = req.ProjectName
insertProject.SourceType = req.SourceType
insertProject.TargetType = req.TargetType
insertProject.SourceUrl = req.SourceURI
insertProject.TargetUrl = req.TargetURI
insertProject.Status = 0
insertProject.AppId = 1
insertProject.CreatedAt = models.GetDate()
insertProject.TaskId = result
createErr, projectId := project.SaveOrUpdate(insertProject)
log.Info("%+v", projectId)
if createErr != nil {
log.Error("错误信息:%+v", createErr)
}
ret["id"] = projectId
ret["url"] = result
res(c, http.StatusOK, "成功", ret)
return
}
// 获取转换结果
......
[ ERROR ] 09:27:04.342401 conversionService.go:216: 创建项目出现异常ResourceAlreadyExists
[ INFO ] 09:27:04.344619 conversionService.go:146: 转换请求参数: map[ProjectName:DOC_TO_PDF SourceType:docx SourceURI:oss://test-bucket-v1-pub/5000000/2983767665818242051120240605155236.docx TargetType:pdf TargetURI:oss://test-bucket-v1-pub/5000000/test1756.pdf]
[ INFO ] 09:27:04.466260 conversionService.go:149: DoConversion result返回:map[body:map[EventId:37B-1uJGkkhpFx38IVbl3SAAOpbSFlO RequestId:47FB3386-906C-5C16-927D-EB62D662A352 TaskId:OfficeConversion-dab5cb01-6497-4575-ba72-1bffdcec94e2] headers:map[access-control-allow-origin:* access-control-expose-headers:* connection:keep-alive content-length:161 content-type:application/json;charset=utf-8 date:Fri, 23 Aug 2024 01:27:03 GMT etag:10uRBcOCFVVvkIHdbNSqmJA1 keep-alive:timeout=25 x-acs-request-id:47FB3386-906C-5C16-927D-EB62D662A352 x-acs-trace-id:72f85f5697c7b2d8f9af662f0d7bd4ed] statusCode:200]
[ INFO ] 09:27:04.468429 conversionService.go:159: 返回的task_id :OfficeConversion-dab5cb01-6497-4575-ba72-1bffdcec94e2
[ INFO ] 09:27:04.488380 apiController.go:87: 3
package db
type DocServerProject struct {
Id int `db:"id"`
ProjectName string `db:"project_name"`
SourceType string `db:"source_type"`
TargetType string `db:"target_type"`
SourceUrl string `db:"source_url"`
TargetUrl string `db:"target_url"`
TaskId string `db:"task_id"`
AppId int `db:"app_id"`
Status int `db:"status"`
CreatedAt string `db:"created_at"`
}
func (a DocServerProject) TableName() string {
return "doc_server_project"
}
package project
import (
"doc-service/common/log"
models "doc-service/modes"
"doc-service/modes/db"
"errors"
)
const sqlSaveOrUpdate = `
insert into doc_server_project (
project_name, source_type, target_type, source_url, target_url, task_id,app_id,status,created_at
) value (
?, ?, ?, ?, ?, ?,?,?,?
)
on duplicate key update task_id = values(task_id), created_at = values(created_at)
`
// 保存或者更新数据
func SaveOrUpdate(project *db.DocServerProject) (error, int) {
if nil == project {
return errors.New("project 不能为空"), 0
}
stmt, err := models.MysqlDB.Prepare(sqlSaveOrUpdate)
if nil != err {
log.Error("%+v", err)
return err, 0
}
result, err1 := stmt.Exec(
//project.Id,
project.ProjectName,
project.SourceType,
project.TargetType,
project.SourceUrl,
project.TargetUrl,
project.TaskId,
project.AppId,
project.Status,
project.CreatedAt,
)
if nil != err1 {
log.Error("%+v", err1)
return err1, 0
}
rowId, err2 := result.LastInsertId()
if nil != err2 {
log.Error("%+v", err2)
return err2, 0
}
project.Id = int(rowId)
return nil, project.Id
}
package models
import (
"database/sql"
commonLog "doc-service/common/log"
"fmt"
"gopkg.in/ini.v1"
"os"
"time"
)
import _ "github.com/go-sql-driver/mysql"
var MysqlDB *sql.DB
func init() {
var mysqlErr error
config, iniErr := ini.Load("./conf/app.ini")
if iniErr != nil {
commonLog.Error("读取配置文件出错%s", iniErr)
os.Exit(1)
}
ip := config.Section("mysql").Key("ip").String()
port := config.Section("mysql").Key("port").String()
user := config.Section("mysql").Key("user").String()
password := config.Section("mysql").Key("password").String()
database := config.Section("mysql").Key("database").String()
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", user, password, ip, port, database)
MysqlDB, mysqlErr = sql.Open("mysql", dsn)
if nil != mysqlErr {
panic(mysqlErr)
}
MysqlDB.SetMaxOpenConns(128)
MysqlDB.SetMaxIdleConns(16)
MysqlDB.SetConnMaxLifetime(2 * time.Minute)
if mysqlErr = MysqlDB.Ping(); nil != mysqlErr {
panic(mysqlErr)
}
}
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