Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
so-operation-api
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
smart-operation
so-operation-api
Commits
41f46a55
Commit
41f46a55
authored
Jul 21, 2023
by
陈子龙
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev-czl' into dev
parents
58c8e0c3
bc71375f
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
56 additions
and
12 deletions
+56
-12
src/common/conf/options.go
src/common/conf/options.go
+1
-0
src/main.go
src/main.go
+1
-0
src/router/workorderrouter.go
src/router/workorderrouter.go
+1
-0
src/service/task_manage.go
src/service/task_manage.go
+1
-2
src/service/work_order.go
src/service/work_order.go
+52
-10
No files found.
src/common/conf/options.go
View file @
41f46a55
...
...
@@ -42,6 +42,7 @@ type Config struct {
SmsAccessKeyId
string
SmsAccessSecret
string
SmsTemplateLogin
string
SmsWorkOrderTemplate
string
SmsSignName
string
AweRestURL
string
...
...
src/main.go
View file @
41f46a55
...
...
@@ -83,6 +83,7 @@ func initConfig() {
SmsAccessKeyId
:
util
.
SetEnvStr
(
"SMS_ACCESS_KEY"
,
"LTAI4GBcVubRjzX7ABPcHnhB"
),
// 短信key
SmsAccessSecret
:
util
.
SetEnvStr
(
"SMS_ACCESS_SECRET"
,
"dYE2dtABFOqYtK1ijcrits0yedHkw7"
),
// 短信secret
SmsTemplateLogin
:
util
.
SetEnvStr
(
"SMS_TEMPLATE_LOGIN"
,
"SMS_212925130"
),
// 短信验证码模板
SmsWorkOrderTemplate
:
util
.
SetEnvStr
(
"SMS_TEMPLATE_LOGIN"
,
"SMS_462020767"
),
// 短信工单下发模板
SmsSignName
:
util
.
SetEnvStr
(
"SMS_SIGN_NAME"
,
"比格数据"
),
// 签名
AweRestURL
:
util
.
SetEnvStr
(
"AWE_REST_URL"
,
"http://awecloud-rest/awecloud/rest"
),
// awecloud-rest
KubernetesToken
:
util
.
SetEnvStr
(
"AWE_REST_K8S_TOKEN"
,
"eyJhbGciOiJSUzI1NiIsImtpZCI6InJ1alJzNEVGamN5UC0wRU1rS1BKQ0JZVUtNNWpzR0t2bmlrSlJhY2Q3R00ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJiZWFnbGUtc3lzdGVtIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6InJvb3QiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoicm9vdCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjRlMDM0OTI3LTc0ZTMtNDQ5Yy1hN2RlLWExMGE3MjU1NGYyMCIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpiZWFnbGUtc3lzdGVtOnJvb3QifQ.YPLE_E2kIeo-YFQtKScBt5p4KhnniJF9n3iWN2i9UMYS06lIsq2-2wBrgON-YsJihWJupYyDQRiZ9h8bUWTrQzhnpsnuJ_aUclKyAw3QOT9rjvZhJp7qP--27dmdspSHncKtvIiprWE7UTUKzvF33WsMB0fSYFqYXOggNFMoT-fXmWwUXjgar3op0iOl3c3deJ_GeBzFyLSHEuGM7OVdjU8032aUmTen0Kji_P1yB4-O3Iqd0OdVs33BQy_tycjbxhQ8TDEpqrqhLnXjAwJCprLDEpFMx7ODZbjB9Wmuns8yJhaRDxTO47rTME7ZIAxjZ-zLR_QybtW97rlwnUTaNw"
),
// k8s token
...
...
src/router/workorderrouter.go
View file @
41f46a55
...
...
@@ -29,6 +29,7 @@ func InitWorkOrderRouter(e *gin.Engine) {
manage
.
GET
(
"/details"
,
controller
.
DetailsWorkOrderManage
)
// 详情
manage
.
GET
(
"/list"
,
controller
.
ListWorkOrderManage
)
// 列表
manage
.
POST
(
"/push"
,
controller
.
PushWorkOrderManage
)
// 手动下发
}
//业务工单列表
...
...
src/service/task_manage.go
View file @
41f46a55
...
...
@@ -468,8 +468,7 @@ func ExecAnsible(id, taskId int, value string) {
//return
}
}
err
=
redis
.
HDel
(
conf
.
TaskExecLog
,
strconv
.
Itoa
(
id
))
conf
.
Logger
.
Error
(
"del redis err"
,
zap
.
Error
(
err
))
redis
.
HDel
(
conf
.
TaskExecLog
,
strconv
.
Itoa
(
id
))
redis
.
HDel
(
conf
.
AutoExecHistory
,
strconv
.
Itoa
(
id
))
}
src/service/work_order.go
View file @
41f46a55
...
...
@@ -3,6 +3,7 @@ package service
import
(
"errors"
"fmt"
"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
json
"github.com/json-iterator/go"
"github.com/wanghuiyt/ding"
"gitlab.wodcloud.com/smart-operation/so-operation-api/src/bean/entity"
...
...
@@ -11,6 +12,8 @@ import (
"gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/client"
"gitlab.wodcloud.com/smart-operation/so-operation-api/src/common/conf"
"gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/resp"
"go.uber.org/zap"
"strings"
"time"
)
...
...
@@ -356,25 +359,29 @@ func (w *WorkOrderManageSvc) PushWorkOrderManage(req request.PushWorkOrderReq) (
switch
req
.
PushObj
.
PushMethod
{
case
1
:
//发送钉钉消息
err
=
WorkOrderPushDingTalkMsg
(
workOrder
.
OrderName
,
workOrder
.
OrderLevel
,
phones
)
err
=
w
.
WorkOrderPushDingTalkMsg
(
workOrder
.
OrderName
,
workOrder
.
OrderLevel
,
phones
)
if
err
!=
nil
{
session
.
Rollback
()
return
}
case
2
:
//发送短信
err
=
WorkOrderPushNoteMsg
(
workOrder
.
OrderName
,
workOrder
.
OrderLevel
,
phones
)
err
=
w
.
WorkOrderPushNoteMsg
(
workOrder
.
OrderName
,
phones
,
workOrder
.
OrderLevel
)
if
err
!=
nil
{
session
.
Rollback
()
return
}
case
3
:
//发送钉钉消息
err
=
WorkOrderPushDingTalkMsg
(
workOrder
.
OrderName
,
workOrder
.
OrderLevel
,
phones
)
err
=
w
.
WorkOrderPushDingTalkMsg
(
workOrder
.
OrderName
,
workOrder
.
OrderLevel
,
phones
)
if
err
!=
nil
{
session
.
Rollback
()
return
}
//发送短信
err
=
WorkOrderPushNoteMsg
(
workOrder
.
OrderName
,
workOrder
.
OrderLevel
,
phones
)
err
=
w
.
WorkOrderPushNoteMsg
(
workOrder
.
OrderName
,
phones
,
workOrder
.
OrderLevel
)
if
err
!=
nil
{
session
.
Rollback
()
return
}
}
...
...
@@ -641,7 +648,7 @@ func (w *WorkOrderManageSvc) ListWorkOrderMe(req request.ListWorkOrderReq) (tota
}
// WorkOrderPushDingTalkMsg 推送钉钉消息
func
WorkOrderPushDingTalkMsg
(
orderName
string
,
orderLevel
int
,
phones
[]
string
)
(
err
error
)
{
func
(
w
*
WorkOrderManageSvc
)
WorkOrderPushDingTalkMsg
(
orderName
string
,
orderLevel
int
,
phones
[]
string
)
(
err
error
)
{
d
:=
ding
.
Webhook
{
AccessToken
:
conf
.
Options
.
OrderDingTalkAccessToken
,
//"203fe1644b446bba0a34e6e622c523d39ee9916fdad94b9c64224449f659e20b",
Secret
:
conf
.
Options
.
OrderDingTalkSecret
,
//"SECa73d8372e336451c9daf29a99f750ee1bdd170c1dab910eab9cd06d729a831b7",
...
...
@@ -658,16 +665,51 @@ func WorkOrderPushDingTalkMsg(orderName string, orderLevel int, phones []string)
}
//有一条工单需要您处理:工单类型:【业务工单】 工单名称:【$工单名称】 工单等级:【$工单等级】
err
=
d
.
SendMessageText
(
"
有一条工单需要您处理:
\n
工单类型:【业务工单】
\n
工单名称:【"
+
orderName
+
"】
\n
工单等级:【"
+
orderLevels
+
"】
"
,
phones
...
)
err
=
d
.
SendMessageText
(
"
您有一条业务工单需要处理:工单名称:"
+
orderName
+
",工单等级:"
+
orderLevels
+
",请及时前往智能运维平台处理!
"
,
phones
...
)
if
err
!=
nil
{
err
=
resp
.
FAIL
.
ErrorDetail
(
err
)
return
}
return
}
// WorkOrderPushNoteMsg 推送短信消息
func
WorkOrderPushNoteMsg
(
orderName
string
,
orderLevel
int
,
phone
[]
string
)
(
err
error
)
{
// WorkOrderPushNoteMsg 推送工单短信消息
func
(
w
*
WorkOrderManageSvc
)
WorkOrderPushNoteMsg
(
orderName
string
,
phone
[]
string
,
orderLevel
int
)
(
err
error
)
{
smsClient
,
err
:=
dysmsapi
.
NewClientWithAccessKey
(
"cn-hangzhou"
,
conf
.
Options
.
SmsAccessKeyId
,
conf
.
Options
.
SmsAccessSecret
)
if
err
!=
nil
{
conf
.
Logger
.
Error
(
"dysmsapi client error"
,
zap
.
Error
(
err
))
err
=
resp
.
FAIL
.
ErrorDetail
(
err
)
return
}
var
orderLevels
string
switch
orderLevel
{
case
1
:
orderLevels
=
"紧急任务"
case
2
:
orderLevels
=
"重要任务"
case
3
:
orderLevels
=
"一般任务"
}
tickettype
:=
"业务工单"
params
:=
map
[
string
]
interface
{}{
"tickettype"
:
tickettype
,
"ticketname"
:
orderName
,
"ticketlevel"
:
orderLevels
}
templateParam
,
err
:=
json
.
Marshal
(
params
)
if
err
!=
nil
{
conf
.
Logger
.
Error
(
"序列化模板失败!"
,
zap
.
Error
(
err
))
err
=
resp
.
FAIL
.
ErrorDetail
(
err
)
return
}
return
nil
request
:=
dysmsapi
.
CreateSendSmsRequest
()
request
.
Scheme
=
"https"
request
.
PhoneNumbers
=
strings
.
Join
(
phone
,
","
)
request
.
TemplateCode
=
conf
.
Options
.
SmsWorkOrderTemplate
request
.
SignName
=
conf
.
Options
.
SmsSignName
request
.
TemplateParam
=
string
(
templateParam
)
req
,
err
:=
smsClient
.
SendSms
(
request
)
if
err
!=
nil
{
err
=
resp
.
FAIL
.
ErrorDetail
(
err
)
return
}
fmt
.
Printf
(
"response is %#v
\n
"
,
req
)
return
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment