Переглянути джерело

Merge branch 'feature/v1.0.0_ws' of jianyu/Sms_Service into feature/v1.0.0

wangshan 1 рік тому
батько
коміт
9a98aab9a0

+ 19 - 0
.gitignore

@@ -0,0 +1,19 @@
+.buildpath
+.hgignore.swp
+.project
+.orig
+.swp
+.idea/
+.settings/
+.vscode/
+bin/
+**/.DS_Store
+gf
+main
+main.exe
+output/
+manifest/output/
+temp/
+temp.yaml
+bin
+*.exe

+ 8 - 0
.idea/.gitignore

@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml

+ 9 - 0
.idea/Sms_Service.iml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="Go" enabled="true" />
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/Sms_Service.iml" filepath="$PROJECT_DIR$/.idea/Sms_Service.iml" />
+    </modules>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>

BIN
src/Sms_Service


+ 16 - 3
src/config.json

@@ -10,8 +10,21 @@
 		"productId":1012888,
 		"fixEncryptKey":"SMmsEncryptKey",
 		"idToTpl":{
-			"01":134220
-		}
+			"01":134220,
+			"02":139702,
+			"03":149347,
+			"04":150559
+		},
+		"productMark": "jy@wz",
+		"productInfo": [
+			{
+				"productId": 1012812,
+				"templateCodes": [
+					154902,
+					154903
+				]
+			}
+		]
 	},
 	"yunpian":{
 		"url":"https://sms.yunpian.com/v2/sms/tpl_batch_send.json",
@@ -24,4 +37,4 @@
 		}
 	},
 	"warn":"http://172.17.4.195:19281/_send/_mail?program=Sms_Service&to=wangchuanjin@topnet.net.cn,renzheng@topnet.net.cn,zhaoyujian@topnet.net.cn&title=短信服务程序报警&body=%s"
-}
+}

+ 6 - 0
src/config/config.go

@@ -18,6 +18,8 @@ type config struct {
 		ProductId     int
 		FixEncryptKey string
 		IdToTpl       map[string]int
+		ProductMark   string
+		ProductInfo   []productInfo
 	}
 	Yunpian struct {
 		Url     string
@@ -29,6 +31,10 @@ type config struct {
 	}
 	Warn string
 }
+type productInfo struct {
+	ProductId     int   `json:"productId"`
+	TemplateCodes []int `json:"templateCodes"`
+}
 
 func init() {
 	common.ReadConfig(&Config)

+ 5 - 3
src/go.mod

@@ -11,14 +11,16 @@ require (
 	github.com/donnie4w/gofer v0.0.0-20240319022744-3a9079ccc237 // indirect
 	github.com/go-stack/stack v1.8.0 // indirect
 	github.com/golang/snappy v0.0.4 // indirect
+	github.com/google/go-cmp v0.5.9 // indirect
 	github.com/klauspost/compress v1.17.7 // indirect
 	github.com/pkg/errors v0.9.1 // indirect
+	github.com/stretchr/testify v1.8.2 // indirect
 	github.com/xdg-go/pbkdf2 v1.0.0 // indirect
 	github.com/xdg-go/scram v1.0.2 // indirect
 	github.com/xdg-go/stringprep v1.0.2 // indirect
 	github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
 	go.mongodb.org/mongo-driver v1.9.1 // indirect
-	golang.org/x/crypto v0.0.0-20210920023735-84f357641f63 // indirect
-	golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
-	golang.org/x/text v0.3.7 // indirect
+	golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e // indirect
+	golang.org/x/sync v0.1.0 // indirect
+	golang.org/x/text v0.5.0 // indirect
 )

+ 11 - 5
src/go.sum

@@ -95,8 +95,9 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
-github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
 github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
+github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
@@ -171,6 +172,7 @@ github.com/smartystreets/gunit v1.4.2/go.mod h1:ZjM1ozSIMJlAz/ay4SG8PeKF00ckUp+z
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -178,8 +180,9 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
 github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
+github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
 github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
 github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
 github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
@@ -214,8 +217,9 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
-golang.org/x/crypto v0.0.0-20210920023735-84f357641f63 h1:kETrAMYZq6WVGPa8IIixL0CaEcIUNi+1WX7grUoi3y8=
 golang.org/x/crypto v0.0.0-20210920023735-84f357641f63/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e h1:T8NU3HyQ8ClP4SEE+KbFlg6n0NhuTsN4MyznaarGsZM=
+golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
@@ -254,8 +258,9 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
+golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -286,8 +291,9 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM=
+golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=

+ 1 - 0
src/logic/logic.go

@@ -0,0 +1 @@
+package logic

+ 0 - 31
src/logs/sms.log

@@ -1,31 +0,0 @@
-2022/03/16 10:46:38 main.go:112: info  返回值: {"Result":"1052","Reason":"无效计费条数,号码不规则过滤[1:150378707650,]","MsgId":0,"SplitCount":0}
-2022/03/16 10:46:38 main.go:120: info  1052 无效计费条数,号码不规则过滤[1:150378707650,]  0
-2022/03/16 10:49:12 main.go:84: info  req data: &{Id:01 Phones:150378707650 Params:[123456]}
-2022/03/16 10:56:34 main.go:84: info  req data: &{Id:01 Phones:150378707650 Params:[123456]}
-2022/03/16 10:57:09 main.go:84: info  req data: &{Id:01 Phones:150378707650 Params:[123456]}
-2022/03/16 10:57:10 main.go:114: info  返回值: {"Result":"1052","Reason":"无效计费条数,号码不规则过滤[1:150378707650,]","MsgId":0,"SplitCount":0}
-2022/03/16 10:57:10 main.go:122: info  1052 无效计费条数,号码不规则过滤[1:150378707650,]  0
-2022/03/16 11:08:06 main.go:125: info  req data: &{Id:01 Phones:150378707650 Params:[123456]}
-2022/03/16 11:08:07 main.go:155: info  返回值: {"Result":"1052","Reason":"无效计费条数,号码不规则过滤[1:150378707650,]","MsgId":0,"SplitCount":0}
-2022/03/16 11:08:07 main.go:163: info  1052 无效计费条数,号码不规则过滤[1:150378707650,]  0
-2022/03/16 11:09:15 main.go:125: info  req data: &{Id:01 Phones:150378707650 Params:[123456]}
-2022/03/16 11:09:15 main.go:155: info  返回值: {"Result":"1052","Reason":"无效计费条数,号码不规则过滤[1:150378707650,]","MsgId":0,"SplitCount":0}
-2022/03/16 11:09:15 main.go:163: info  1052 无效计费条数,号码不规则过滤[1:150378707650,]  0
-2022/03/16 11:23:22 main.go:123: info  req data: &{Id:01 Phones:150378707650 Params:[123456]}
-2022/03/16 11:23:22 main.go:153: info  返回值: {"Result":"1052","Reason":"无效计费条数,号码不规则过滤[1:150378707650,]","MsgId":0,"SplitCount":0}
-2022/03/16 11:23:22 main.go:161: info  1052 无效计费条数,号码不规则过滤[1:150378707650,]  0
-2022/03/16 13:17:24 main.go:84: info  req data: &{Id:01 Phones:150378707650 Params:[123456]}
-2022/03/16 13:18:57 main.go:84: info  req data: &{Id:01 Phones:150378707650 Params:[2]}
-2022/03/16 13:18:58 main.go:114: info  返回值: {"Result":"1052","Reason":"无效计费条数,号码不规则过滤[1:150378707650,]","MsgId":0,"SplitCount":0}
-2022/03/16 13:18:58 main.go:122: info  1052 无效计费条数,号码不规则过滤[1:150378707650,]  0
-2022/03/16 13:20:21 main.go:84: info  req data: &{Id:01 Phones:15037870765 Params:[5]}
-2022/03/16 13:20:21 main.go:114: info  返回值: {"Result":"succ","Reason":"提交成功","MsgId":2203161320217202597,"SplitCount":1}
-2022/03/16 13:20:21 main.go:122: info  succ 提交成功  1
-2022/03/17 13:29:21 main.go:64: info  req data: &{Id:01 Phones:15037870765 Params:[4]}
-2022/03/17 13:29:21 service.go:37: info  微网通联 返回值: {"Result":"succ","Reason":"提交成功","MsgId":2203171329210092797,"SplitCount":1}
-2022/03/17 13:33:14 main.go:64: info  req data: &{Id:01 Phones:15037870765 Params:[133314]}
-2022/03/17 13:33:14 yunpian.go:24: error  无效的参数id,没有找到对应的tpl
-2022/03/17 13:37:26 main.go:64: info  req data: &{Id:01 Phones:15037870765 Params:[133726]}
-2022/03/17 13:37:27 service.go:37: info  云片 返回值: {"total_count":1,"total_fee":"0.0480","unit":"RMB","data":[{"code":0,"count":1,"fee":0.048,"mobile":"15037870765","msg":"发送成功","sid":71170988266,"unit":"RMB"}]}
-2022/03/17 13:39:47 main.go:64: info  req data: &{Id:01 Phones:1503787076 Params:[133947]}
-2022/03/17 13:39:48 service.go:37: info  云片 返回值: {"total_count":0,"total_fee":"0.0000","unit":"RMB","data":[{"http_status_code":400,"code":2,"msg":"请求参数格式错误","count":"0","fee":"0","unit":"RMB","mobile":"1503787076","sid":"0"}]}

+ 1 - 3
src/main.go

@@ -14,7 +14,6 @@ import (
 	"github.com/donnie4w/go-logger/logger"
 )
 
-//
 type Sms struct {
 }
 
@@ -31,7 +30,6 @@ func init() {
 	}
 }
 
-//
 func main() {
 	logger.SetConsole(false)
 	logger.SetRollingDaily("./logs", "sms.log")
@@ -48,7 +46,7 @@ func main() {
 	http.Serve(listen, nil)
 }
 
-//提交模板短信
+// 提交模板短信
 func (s *Sms) Execute(param *[]byte, ret *string) error {
 	go func() {
 		pool <- true

+ 2 - 2
src/main_test.go

@@ -1,10 +1,10 @@
 package main
 
 import (
+	"app.yhyue.com/moapp/jybase/date"
 	"encoding/json"
 	"log"
 	"net/rpc"
-	"qfw/util"
 	"testing"
 )
 
@@ -19,7 +19,7 @@ func Test_Main(t *testing.T) {
 	b, _ := json.Marshal(map[string]interface{}{
 		"id":     "01",
 		"phones": "1503787076",
-		"params": []string{util.NowFormat("150405")},
+		"params": []string{date.NowFormat("150405")},
 	})
 	err = client.Call("Sms.Execute", b, &repl)
 	if err != nil {

+ 44 - 11
src/service/weiwangtonglian.go

@@ -2,6 +2,7 @@ package service
 
 import (
 	. "Sms_Service/src/config"
+	"app.yhyue.com/moapp/jybase/common"
 	"bytes"
 	"crypto/md5"
 	"crypto/sha256"
@@ -16,7 +17,7 @@ import (
 	"github.com/donnie4w/go-logger/logger"
 )
 
-//微网通联短信平台
+// 微网通联短信平台
 var Weiwangtonglian = &weiwangtonglian{
 	t: "微网通联",
 }
@@ -25,26 +26,58 @@ type weiwangtonglian struct {
 	t string
 }
 
-//提交模板短信
+// 提交模板短信
 func (w *weiwangtonglian) Execute(reqData *ReqData) {
-	TempCode := Config.Weiwangtonglian.IdToTpl[reqData.Id]
-	if TempCode == 0 {
+	var (
+		productId = Config.Weiwangtonglian.ProductId
+		tempCode  = Config.Weiwangtonglian.IdToTpl[reqData.Id]
+	)
+	if mark := Config.Weiwangtonglian.ProductMark; len(reqData.Params) > 0 && mark != "" {
+		var p, t = -1, -1
+		for k, v := range reqData.Params {
+			if strings.Contains(v, mark) {
+				reqData.Params = append(reqData.Params[:k], reqData.Params[k+1:]...)
+				p = common.IntAll(strings.Split(v, mark)[0])
+				t = common.IntAll(strings.Split(v, mark)[1])
+				break
+			}
+		}
+		if p > -1 && t > -1 {
+			var (
+				productInfo = Config.Weiwangtonglian.ProductInfo
+				pId, tCode  = -1, -1
+			)
+			if len(productInfo) > p {
+				pId = productInfo[p].ProductId
+				if len(productInfo[p].TemplateCodes) > t {
+					tCode = productInfo[p].TemplateCodes[t]
+				}
+			}
+			if pId < 0 || tCode < 0 {
+				logger.Error("----无效的参数id,没有找到对应的tpl----")
+				return
+			}
+			productId = pId
+			tempCode = tCode
+		}
+	}
+	if tempCode == 0 {
 		logger.Error("无效的参数id,没有找到对应的tpl")
 		return
 	}
 	r := rand.New(rand.NewSource(time.Now().UnixNano()))
 	randInt := r.Intn(999999) + 5
-	Timestamp := time.Now().Unix()
+	timestamp := time.Now().Unix()
 	m5 := strings.ToUpper(w.Mmd5(Config.Weiwangtonglian.Password + Config.Weiwangtonglian.FixEncryptKey))
-	m256 := w.Msha256(fmt.Sprintf(`AccountId=%s&PhoneNos=%s&Password=%s&Random=%d&TempCode=%d&Timestamp=%d`, Config.Weiwangtonglian.AccountId, strings.Split(reqData.Phones, ",")[0], m5, randInt, TempCode, Timestamp))
+	m256 := w.Msha256(fmt.Sprintf(`AccountId=%s&PhoneNos=%s&Password=%s&Random=%d&TempCode=%d&Timestamp=%d`, Config.Weiwangtonglian.AccountId, strings.Split(reqData.Phones, ",")[0], m5, randInt, tempCode, timestamp))
 	pb, _ := json.Marshal(map[string]interface{}{
 		"AccountId":  Config.Weiwangtonglian.AccountId,
 		"AccessKey":  m256,
-		"Timestamp":  Timestamp,
+		"Timestamp":  timestamp,
 		"Random":     randInt,
-		"ProductId":  Config.Weiwangtonglian.ProductId,
+		"ProductId":  productId,
 		"PhoneNos":   reqData.Phones,
-		"TempCode":   TempCode,
+		"tempCode":   tempCode,
 		"TempParams": reqData.Params,
 	})
 	b, err := Post(Config.Weiwangtonglian.Url, "application/json", bytes.NewReader(pb), w.t)
@@ -54,7 +87,7 @@ func (w *weiwangtonglian) Execute(reqData *ReqData) {
 	var result struct {
 		Result     string
 		Reason     string
-		MsgId      string
+		MsgId      int64
 		SplitCount int
 	}
 	json.Unmarshal(b, &result)
@@ -75,7 +108,7 @@ func (w *weiwangtonglian) Mmd5(val string) string {
 	return fmt.Sprintf("%x", m5.Sum(nil))
 }
 
-//删除模板(短信/视频短信)
+// 删除模板(短信/视频短信)
 func (w *weiwangtonglian) delTemplate() {
 	r := rand.New(rand.NewSource(time.Now().UnixNano()))
 	randInt := r.Intn(999999) + 5

+ 2 - 3
src/service/yunpian.go

@@ -4,11 +4,10 @@ import (
 	. "Sms_Service/src/config"
 	"encoding/json"
 	"fmt"
+	"log"
 	"net/http"
 	"net/url"
 	"strings"
-
-	"github.com/donnie4w/go-logger/logger"
 )
 
 // 云片短信平台
@@ -23,7 +22,7 @@ type yunpian struct {
 func (y *yunpian) Execute(reqData *ReqData) {
 	idToTpl := Config.Yunpian.IdToTpl[reqData.Id]
 	if idToTpl.Id == 0 {
-		logger.Error("无效的参数id,没有找到对应的tpl")
+		log.Println("无效的参数id,没有找到对应的tpl")
 		return
 	}
 	array := []string{}