Browse Source

feat:订单中心第一版

xuzhiheng 3 years ago
parent
commit
78bea5c7e5

+ 0 - 10
entity/code.go

@@ -1,10 +0,0 @@
-package entity
-
-//定义返回状态
-const (
-	SuccessCode           int64 = 0
-	ErrorCode             int64 = -1
-	COMPANYADMINISTRATORS int64 = 0
-	ORGANADMINISTRATORS   int64 = 1
-	PERSONNEL             int64 = 2
-)

+ 0 - 9
entity/db.go

@@ -1,9 +0,0 @@
-package entity
-
-import (
-	"app.yhyue.com/moapp/jybase/mysql"
-)
-
-var (
-	Mysql *mysql.Mysql
-)

+ 35 - 0
entity/entity.go

@@ -0,0 +1,35 @@
+package entity
+
+import (
+	"app.yhyue.com/moapp/jybase/mysql"
+	"github.com/bwmarrin/snowflake"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+const (
+	Order          = "base_order"
+	OrderExtend    = "base_order_extend"
+	OrderCommodity = "base_order_commodity"
+	OrderBusiness  = "base_order_business"
+	Invoice        = "base_invoice"
+	Pay            = "base_pay"
+	OrderRefund    = "base_refund_record"
+)
+
+var (
+	Node  *snowflake.Node
+	Mysql *mysql.Mysql
+)
+
+func InitMysql(m *mysql.Mysql) {
+	Mysql = &mysql.Mysql{
+		Address:      m.Address,
+		UserName:     m.UserName,
+		PassWord:     m.PassWord,
+		DBName:       m.DBName,
+		MaxOpenConns: m.MaxOpenConns,
+		MaxIdleConns: m.MaxIdleConns,
+	}
+	Mysql.Init()
+	logx.Info("初始化mysql")
+}

+ 8 - 1
go.mod

@@ -3,6 +3,8 @@ module bp.jydev.jianyu360.cn/BaseService/orderCenter
 go 1.17
 
 require (
+	app.yhyue.com/moapp/jybase v0.0.0-20220527072924-4ef326ea480d
+	github.com/bwmarrin/snowflake v0.3.0
 	github.com/golang/protobuf v1.5.2
 	github.com/zeromicro/go-zero v1.3.3
 	google.golang.org/grpc v1.46.0
@@ -19,12 +21,15 @@ require (
 	github.com/go-logr/logr v1.2.2 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/go-redis/redis/v8 v8.11.4 // indirect
+	github.com/go-sql-driver/mysql v1.6.0 // indirect
 	github.com/gogo/protobuf v1.3.2 // indirect
 	github.com/golang/mock v1.6.0 // indirect
-	github.com/google/go-cmp v0.5.6 // indirect
+	github.com/google/go-cmp v0.5.7 // indirect
 	github.com/google/gofuzz v1.2.0 // indirect
 	github.com/googleapis/gnostic v0.4.1 // indirect
 	github.com/hashicorp/golang-lru v0.5.1 // indirect
+	github.com/jinzhu/inflection v1.0.0 // indirect
+	github.com/jinzhu/now v1.1.1 // indirect
 	github.com/json-iterator/go v1.1.12 // indirect
 	github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
 	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -58,6 +63,8 @@ require (
 	google.golang.org/genproto v0.0.0-20220422154200-b37d22cd5731 // indirect
 	gopkg.in/inf.v0 v0.9.1 // indirect
 	gopkg.in/yaml.v2 v2.4.0 // indirect
+	gorm.io/driver/mysql v1.0.5 // indirect
+	gorm.io/gorm v1.21.3 // indirect
 	k8s.io/api v0.20.12 // indirect
 	k8s.io/apimachinery v0.20.12 // indirect
 	k8s.io/client-go v0.20.12 // indirect

+ 89 - 0
go.sum

@@ -1,3 +1,6 @@
+app.yhyue.com/moapp/esv1 v0.0.0-20220414031211-3da4123e648d/go.mod h1:91/lSD/hS+ckMVP3WdidRzDhC60lLMdyce9QHy0cSMA=
+app.yhyue.com/moapp/jybase v0.0.0-20220527072924-4ef326ea480d h1:wxmwxOSkIyVeKuFqLzqFdjZKJ+hAdu+7qd0xlBs+lAw=
+app.yhyue.com/moapp/jybase v0.0.0-20220527072924-4ef326ea480d/go.mod h1:qNRA0sHuYqcLoYoP8irpaWnW9YsXixe6obBIkwaXpD0=
 cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -58,12 +61,16 @@ github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGn
 github.com/alicebob/miniredis/v2 v2.17.0/go.mod h1:gquAfGbzn92jvtrSC69+6zZnwSODVXVpYDRaGhWaL6I=
 github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
 github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
+github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
+github.com/aws/aws-sdk-go v1.35.20/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k=
 github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
 github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
 github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4=
+github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0=
+github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
@@ -84,16 +91,19 @@ github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmf
 github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
 github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI=
 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
+github.com/coscms/tagfast v0.0.0-20150925144250-2b69b2496250/go.mod h1:zX8vynptAghuV/KG8BOZlDeo4DsTKWfBQ154RWlkay0=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/dchest/captcha v0.0.0-20200903113550-03f5f0333e1f/go.mod h1:QGrK8vMWWHQYQ3QU9bw9Y9OPNfxccGzfb41qjvVeXtY=
 github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
 github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
 github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
+github.com/donnie4w/go-logger v0.0.0-20170827050443-4740c51383f4/go.mod h1:L7S4x0R7vv3xoOhGuyAJyCO2MYzWOpccM4Isn8jIUgY=
 github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
 github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
 github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
@@ -115,6 +125,7 @@ github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHqu
 github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
 github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
 github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
+github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
 github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
 github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
@@ -146,9 +157,35 @@ github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh
 github.com/go-redis/redis/v8 v8.11.4 h1:kHoYkfZP6+pe04aFTnhDH6GDROa5yJdHJVNxV3F46Tg=
 github.com/go-redis/redis/v8 v8.11.4/go.mod h1:2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w=
 github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
 github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
 github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
+github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
+github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
+github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
+github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
+github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
+github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
+github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
+github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
+github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
+github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
+github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
+github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
+github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
+github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
+github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
+github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
+github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
+github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
+github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
+github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
+github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
+github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
+github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
+github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
@@ -200,6 +237,8 @@ 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 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
 github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
+github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
@@ -232,16 +271,26 @@ github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b
 github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
 github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
 github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/howeyc/fsnotify v0.9.0/go.mod h1:41HzSPxBGeFRQKEEwgh49TRw/nKBsYZ2cF1OzPjSJsA=
 github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
 github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
 github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs=
 github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM=
 github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
 github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg=
 github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc=
 github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc=
+github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
+github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
+github.com/jinzhu/now v1.1.1 h1:g39TucaRWyV3dwDO++eEc6qf8TVIQ/Da48WmqjZ3i7E=
+github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
+github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
+github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
 github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
+github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
+github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
 github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
 github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
 github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@@ -253,10 +302,14 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X
 github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
 github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
 github.com/justinas/alice v1.2.0/go.mod h1:fN5HRH/reO/zrUflLfTN43t3vXvKzvZIENsNEe7i7qA=
+github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
+github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
 github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
 github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -270,6 +323,10 @@ github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
 github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
+github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
+github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
+github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
+github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
 github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
 github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
 github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
@@ -295,6 +352,8 @@ github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uY
 github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
 github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
 github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
+github.com/olivere/elastic v6.2.37+incompatible/go.mod h1:J+q1zQJTgAz9woqsbVRqGeB5G1iqDKVBWLNSYW8yfJ8=
+github.com/olivere/elastic/v7 v7.0.22/go.mod h1:VDexNy9NjmtAkrjNoI7tImv7FR4tf5zUA3ickqu5Pc8=
 github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
 github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@@ -306,9 +365,11 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
 github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
 github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
 github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
+github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
 github.com/openzipkin/zipkin-go v0.3.0/go.mod h1:4c3sLeE8xjNqehmF5RpAFLPLJxXscc0R4l6Zg0P1tTQ=
 github.com/openzipkin/zipkin-go v0.4.0 h1:CtfRrOVZtbDj8rt1WXjklw0kqqJQwICrCKmlfUuBUUw=
 github.com/openzipkin/zipkin-go v0.4.0/go.mod h1:4c3sLeE8xjNqehmF5RpAFLPLJxXscc0R4l6Zg0P1tTQ=
+github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
 github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
 github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
 github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
@@ -341,17 +402,26 @@ github.com/rabbitmq/amqp091-go v1.1.0/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0V
 github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
+github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
 github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
 github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
 github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
+github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo=
+github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM=
+github.com/smartystreets/gunit v1.4.2/go.mod h1:ZjM1ozSIMJlAz/ay4SG8PeKF00ckUp+zMHZXV9/bvak=
 github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
 github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
 github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
+github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
 github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
 github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
 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=
@@ -367,6 +437,8 @@ github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/X
 github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
 github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
 github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
+github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
+github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
 github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
 github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -382,12 +454,14 @@ go.etcd.io/etcd/client/pkg/v3 v3.5.2 h1:4hzqQ6hIb3blLyQ8usCU4h3NghkqcsohEQ3o3Vet
 go.etcd.io/etcd/client/pkg/v3 v3.5.2/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
 go.etcd.io/etcd/client/v3 v3.5.2 h1:WdnejrUtQC4nCxK0/dLTMqKOB+U5TP/2Ya0BJL+1otA=
 go.etcd.io/etcd/client/v3 v3.5.2/go.mod h1:kOOaWFFgHygyT0WlSmL8TJiXmMysO/nNUlEsSsN6W4o=
+go.mongodb.org/mongo-driver v1.5.0/go.mod h1:boiGPFqyBs5R0R5qf2ErokGRekMfwn+MqKaUyHs7wy0=
 go.mongodb.org/mongo-driver v1.9.0/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY=
 go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
 go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
 go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
 go.opentelemetry.io/otel v1.3.0 h1:APxLf0eiBwLl+SOXiJJCVYzA1OOJNyAoV8C5RNRyy7Y=
 go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs=
 go.opentelemetry.io/otel/exporters/jaeger v1.3.0 h1:HfydzioALdtcB26H5WHc4K47iTETJCdloL7VN579/L0=
@@ -414,10 +488,12 @@ go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8=
 go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
 golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
 golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -508,6 +584,7 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -522,10 +599,13 @@ golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5h
 golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -595,6 +675,9 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3
 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
 golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
 golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
@@ -733,6 +816,7 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ
 google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw=
 google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
+gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -740,6 +824,7 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV
 gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
 gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
 gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
+gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df/go.mod h1:LRQQ+SO6ZHR7tOkpBDuZnXENFzX8qRjMDMyPD6BRkCw=
 gopkg.in/h2non/gock.v1 v1.1.2/go.mod h1:n7UGz/ckNChHiK05rDoiC4MYSunEC/lyaUm2WWaDva0=
 gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
 gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
@@ -755,6 +840,10 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gorm.io/driver/mysql v1.0.5 h1:WAAmvLK2rG0tCOqrf5XcLi2QUwugd4rcVJ/W3aoon9o=
+gorm.io/driver/mysql v1.0.5/go.mod h1:N1OIhHAIhx5SunkMGqWbGFVeh4yTNWKmMo1GOAsohLI=
+gorm.io/gorm v1.21.3 h1:qDFi55ZOsjZTwk5eN+uhAmHi8GysJ/qCTichM/yO7ME=
+gorm.io/gorm v1.21.3/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw=
 honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
 honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

+ 15 - 0
rpc/etc/ordercenter.yaml

@@ -4,3 +4,18 @@ Etcd:
   Hosts:
   - 127.0.0.1:2379
   Key: ordercenter.rpc
+WordId: 1
+Mode: test
+Mysql:
+  BaseService:
+    DBName: base_service
+    Address: 192.168.3.11:3366
+    UserName: root
+    PassWord: Topnet123
+    MaxOpenConns: 5
+    MaxIdleConns: 5
+Logx:
+  Mode: console #console|file|volume
+  Path: logs
+  Level: info #info|error|severe
+  KeepDays: 100

+ 11 - 1
rpc/internal/config/config.go

@@ -1,7 +1,17 @@
 package config
 
-import "github.com/zeromicro/go-zero/zrpc"
+import (
+	"app.yhyue.com/moapp/jybase/mysql"
+	"github.com/zeromicro/go-zero/core/logx"
+	"github.com/zeromicro/go-zero/zrpc"
+)
 
 type Config struct {
 	zrpc.RpcServerConf
+	WordId int64
+	Logx   logx.LogConf
+	Mysql  struct {
+		BaseService *mysql.Mysql
+	}
+	Mode string
 }

+ 31 - 0
rpc/internal/logic/invoiceaddlogic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type InvoiceAddLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewInvoiceAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InvoiceAddLogic {
+	return &InvoiceAddLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单开票
+func (l *InvoiceAddLogic) InvoiceAdd(in *pb.InvoiceAddReq) (*pb.OrderAddUpdateResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.InvoiceAdd(in), nil
+}

+ 31 - 0
rpc/internal/logic/invoiceinfologic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type InvoiceInfoLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewInvoiceInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InvoiceInfoLogic {
+	return &InvoiceInfoLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单发票信息
+func (l *InvoiceInfoLogic) InvoiceInfo(in *pb.InvoiceInfoReq) (*pb.InvoiceInfoResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.InvoiceInfo(in), nil
+}

+ 31 - 0
rpc/internal/logic/orderaddupdatelogic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type OrderAddUpdateLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewOrderAddUpdateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *OrderAddUpdateLogic {
+	return &OrderAddUpdateLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单增加编辑
+func (l *OrderAddUpdateLogic) OrderAddUpdate(in *pb.OrderAddUpdateReq) (*pb.OrderAddUpdateResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.OrderAddUpdate(in), nil
+}

+ 32 - 0
rpc/internal/logic/orderdellogic.go

@@ -0,0 +1,32 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type OrderDelLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewOrderDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *OrderDelLogic {
+	return &OrderDelLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单删除
+func (l *OrderDelLogic) OrderDel(in *pb.OrderDelReq) (*pb.OrderAddUpdateResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.OrderDel(in), nil
+}

+ 32 - 0
rpc/internal/logic/orderinfologic.go

@@ -0,0 +1,32 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type OrderInfoLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewOrderInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *OrderInfoLogic {
+	return &OrderInfoLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单查看
+func (l *OrderInfoLogic) OrderInfo(in *pb.OrderInfoReq) (*pb.OrderInfoResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.OrderInfo(in), nil
+}

+ 31 - 0
rpc/internal/logic/orderlistlogic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type OrderListLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewOrderListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *OrderListLogic {
+	return &OrderListLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单查看
+func (l *OrderListLogic) OrderList(in *pb.OrderListReq) (*pb.OrderListResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.OrderList(in), nil
+}

+ 31 - 0
rpc/internal/logic/payaddlogic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type PayAddLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewPayAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PayAddLogic {
+	return &PayAddLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单支付
+func (l *PayAddLogic) PayAdd(in *pb.PayAddReq) (*pb.OrderAddUpdateResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.PayAdd(in), nil
+}

+ 31 - 0
rpc/internal/logic/payinfologic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type PayInfoLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewPayInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PayInfoLogic {
+	return &PayInfoLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单支付信息
+func (l *PayInfoLogic) PayInfo(in *pb.OrderInfoReq) (*pb.PayInfoResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.PayInfo(in), nil
+}

+ 31 - 0
rpc/internal/logic/redaddlogic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type RedAddLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewRedAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RedAddLogic {
+	return &RedAddLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单发票冲红
+func (l *RedAddLogic) RedAdd(in *pb.InvoiceAddReq) (*pb.OrderAddUpdateResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.RedAdd(in), nil
+}

+ 31 - 0
rpc/internal/logic/redinfologic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type RedInfoLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewRedInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RedInfoLogic {
+	return &RedInfoLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单红票信息
+func (l *RedInfoLogic) RedInfo(in *pb.InvoiceInfoReq) (*pb.InvoiceInfoResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.RedInfo(in), nil
+}

+ 31 - 0
rpc/internal/logic/refundaddlogic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type RefundAddLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewRefundAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RefundAddLogic {
+	return &RefundAddLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单退款
+func (l *RefundAddLogic) RefundAdd(in *pb.RefundAddReq) (*pb.OrderAddUpdateResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.RefundAdd(in), nil
+}

+ 31 - 0
rpc/internal/logic/refundinfologic.go

@@ -0,0 +1,31 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/service"
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type RefundInfoLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewRefundInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *RefundInfoLogic {
+	return &RefundInfoLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 订单退款信息
+func (l *RefundInfoLogic) RefundInfo(in *pb.OrderInfoReq) (*pb.RefundInfoResp, error) {
+	// todo: add your logic here and delete this line
+
+	return service.RefundInfo(in), nil
+}

+ 72 - 0
rpc/internal/server/ordercenterserver.go

@@ -26,3 +26,75 @@ func (s *OrderCenterServer) GetOrderCode(ctx context.Context, in *pb.GetOrderCod
 	l := logic.NewGetOrderCodeLogic(ctx, s.svcCtx)
 	return l.GetOrderCode(in)
 }
+
+// 订单增加和编辑
+func (s *OrderCenterServer) OrderAddUpdate(ctx context.Context, in *pb.OrderAddUpdateReq) (*pb.OrderAddUpdateResp, error) {
+	l := logic.NewOrderAddUpdateLogic(ctx, s.svcCtx)
+	return l.OrderAddUpdate(in)
+}
+
+// 订单删除
+func (s *OrderCenterServer) OrderDel(ctx context.Context, in *pb.OrderDelReq) (*pb.OrderAddUpdateResp, error) {
+	l := logic.NewOrderDelLogic(ctx, s.svcCtx)
+	return l.OrderDel(in)
+}
+
+// 订单列表
+func (s *OrderCenterServer) OrderList(ctx context.Context, in *pb.OrderListReq) (*pb.OrderListResp, error) {
+	l := logic.NewOrderListLogic(ctx, s.svcCtx)
+	return l.OrderList(in)
+}
+
+// 订单查看
+func (s *OrderCenterServer) OrderInfo(ctx context.Context, in *pb.OrderInfoReq) (*pb.OrderInfoResp, error) {
+	l := logic.NewOrderInfoLogic(ctx, s.svcCtx)
+	return l.OrderInfo(in)
+}
+
+// 订单支付
+func (s *OrderCenterServer) PayAdd(ctx context.Context, in *pb.PayAddReq) (*pb.OrderAddUpdateResp, error) {
+	l := logic.NewPayAddLogic(ctx, s.svcCtx)
+	return l.PayAdd(in)
+}
+
+// 订单支付信息
+func (s *OrderCenterServer) PayInfo(ctx context.Context, in *pb.OrderInfoReq) (*pb.PayInfoResp, error) {
+	l := logic.NewPayInfoLogic(ctx, s.svcCtx)
+	return l.PayInfo(in)
+}
+
+// 订单退款
+func (s *OrderCenterServer) RefundAdd(ctx context.Context, in *pb.RefundAddReq) (*pb.OrderAddUpdateResp, error) {
+	l := logic.NewRefundAddLogic(ctx, s.svcCtx)
+	return l.RefundAdd(in)
+}
+
+// 订单退款信息
+func (s *OrderCenterServer) RefundInfo(ctx context.Context, in *pb.OrderInfoReq) (*pb.RefundInfoResp, error) {
+	l := logic.NewRefundInfoLogic(ctx, s.svcCtx)
+	return l.RefundInfo(in)
+}
+
+// 订单开票
+func (s *OrderCenterServer) InvoiceAdd(ctx context.Context, in *pb.InvoiceAddReq) (*pb.OrderAddUpdateResp, error) {
+	l := logic.NewInvoiceAddLogic(ctx, s.svcCtx)
+	return l.InvoiceAdd(in)
+}
+
+// 订单发票信息
+func (s *OrderCenterServer) InvoiceInfo(ctx context.Context, in *pb.InvoiceInfoReq) (*pb.InvoiceInfoResp, error) {
+	l := logic.NewInvoiceInfoLogic(ctx, s.svcCtx)
+	return l.InvoiceInfo(in)
+}
+
+// 订单发票冲红
+func (s *OrderCenterServer) RedAdd(ctx context.Context, in *pb.InvoiceAddReq) (*pb.OrderAddUpdateResp, error) {
+	l := logic.NewRedAddLogic(ctx, s.svcCtx)
+	return l.RedAdd(in)
+}
+
+// 订单红票信息
+func (s *OrderCenterServer) RedInfo(ctx context.Context, in *pb.InvoiceInfoReq) (*pb.InvoiceInfoResp, error) {
+	l := logic.NewRedInfoLogic(ctx, s.svcCtx)
+	return l.RedInfo(in)
+}

+ 214 - 0
rpc/orderCenter.proto

@@ -16,8 +16,222 @@ message OrderCode {
 	string order_code = 1;
 }
 
+message OrderAddUpdateReq {
+	string appid = 1;
+	string order_code = 2;
+	Order order = 3;
+	OrderExtend order_extend = 4;
+	repeated OrderCommodity order_commodity = 5;
+	OrderBusiness order_business = 6;
+}
+
+message Order {
+	int64 order_money = 1;
+	int64 original_price = 2;
+	int64 order_status = 3;
+	int64 user_id = 4;
+	int64 ent_id = 5;
+}
+
+message OrderExtend {
+	int64 pay_type = 1;
+	int64 source = 2;
+	string dis_word = 3;
+	int64 iscan_invoice = 4;
+	int64 iscan_evaluate = 5;
+	int64 remind_status = 6;
+}
+
+message OrderCommodity {
+	string goods_code = 1;
+	int64 goods_spec_id = 2;
+	int64 num = 3;
+	int64 price = 4;
+	int64 total = 5;
+	int64 isgift = 6;
+} 
+
+message OrderBusiness {
+	int64 service_status = 1;
+	string filter = 2;
+	string filter_keys = 3;
+	string filter_publishtime = 4;
+	string service_time = 5;
+	int64 data_count = 6;
+	string filter_id = 7;
+	string download_url = 8;
+	string goods_code = 9;
+	int64 goods_spec_id = 10;
+	string user_phone = 11;
+	string user_mail = 12;
+}
+
+message OrderDelReq {
+	string appid = 1;
+	string order_code = 2;
+}
+
+message OrderAddUpdateResp {
+	int64 error_code = 1;
+	string error_msg = 2;
+	DataStatus data = 3;
+}
+
+message DataStatus {
+	int64 status = 1;
+}
+
+message OrderListReq {
+	string appid = 1;
+	string user_id = 2;
+}
+
+message OrderListResp {
+	int64 error_code = 1;
+	string error_msg = 2;
+	OrderList data = 3;
+}
+
+message OrderList {
+	repeated OrderAddUpdateReq order_list = 1;
+}
+
+message OrderInfoReq {
+	string appid = 1;
+	string order_code = 2;
+}
+
+message OrderInfoResp {
+	int64 error_code = 1;
+	string error_msg = 2;
+	OrderInfo data = 3;
+}
+
+message OrderInfo {
+	OrderAddUpdateReq order_info = 1;
+}
+
+message PayAddReq {
+	string appid = 1;
+	string order_code = 2;
+	Pay pay = 3;
+}
+
+message Pay {
+	string pay_way = 1;
+	int64 pay_money = 2;
+	string pay_code = 3;
+	string pay_voucher_url = 4;
+	string pay_account = 5;
+	string pay_name = 6;
+	string collect_account = 7;
+	string collect_name = 8;
+	string operate_person = 9;
+	string operate_time = 10;
+	string remark = 11;
+	string prepay_time = 12;
+	string prepay_id = 13;
+	string out_trade_no = 14;
+	string code_url = 15;
+	int64 origin_price = 16;
+	int64 points_deduct_count = 17;
+	int64 points_deduct_amount = 18;
+	int64 card_count = 19;
+	int64 card_amount = 20;
+	string pay_time = 21;
+}
+
+message PayInfoResp {
+	int64 error_code = 1;
+	string error_msg = 2;
+	repeated Pay data = 3;
+}
+
+message RefundAddReq {
+	string appid = 1;
+	string order_code = 2;
+	int64 refund_status = 3; //1-全额退款 2-部分退款
+	Refund refund = 4;
+}
+
+message Refund {
+	int64 refund_money = 1;
+	string refund_reason = 2;
+	string operate_person = 3;
+	string refund_channel = 4;
+}
+
+message RefundInfoResp {
+	int64 error_code = 1;
+	string error_msg = 2;
+	repeated Refund data = 3;
+}
+
+message InvoiceAddReq {
+	string appid = 1;
+	string order_code = 2;
+	Invoice invoice = 3;
+}
+
+message Invoice {
+	int64 pay_id = 1;
+	string invoice_code = 2;
+	string invoice_number = 3;
+	string taxpayer_identnum = 4;
+	string company_name = 5;
+	string phone = 6;
+	string mail = 7;
+	string invoice_type = 8;
+	string invoice_content = 9;
+	string url = 10;
+	int64 invoice_status = 11; //-1-失败 0-开票中 1-成功 2-退票中 3-已冲红 4-退票失败 5-已换票
+	string invoice_serialnum = 12;
+	string create_time = 13;
+	string billing_time = 14;
+	string user_id = 15;
+	string operator = 16;
+	string operable_time = 17;
+	string red = 18;
+}
+
+message InvoiceInfoResp {
+	int64 error_code = 1;
+	string error_msg = 2;
+	Invoice data = 3;
+}
+
+message InvoiceInfoReq {
+	string appid = 1;
+	string order_code = 2;
+	string pay_id = 3;
+}
+
 
 service OrderCenter {
 	//分布式ID生成器
 	rpc GetOrderCode (GetOrderCodeReq) returns (GetOrderCodeResp);
+	//订单增加和编辑
+	rpc OrderAddUpdate (OrderAddUpdateReq) returns (OrderAddUpdateResp);
+	//订单删除
+	rpc OrderDel (OrderDelReq) returns (OrderAddUpdateResp);
+	//订单列表
+	rpc OrderList (OrderListReq) returns (OrderListResp);
+	//订单查看
+	rpc OrderInfo (OrderInfoReq) returns (OrderInfoResp);
+	//订单支付
+	rpc PayAdd (PayAddReq) returns (OrderAddUpdateResp);
+	//订单支付信息
+	rpc PayInfo (OrderInfoReq) returns (PayInfoResp);
+	//订单退款
+	rpc RefundAdd (RefundAddReq) returns (OrderAddUpdateResp);
+	//订单退款信息
+	rpc RefundInfo (OrderInfoReq) returns (RefundInfoResp);
+	//订单开票
+	rpc InvoiceAdd (InvoiceAddReq) returns (OrderAddUpdateResp);
+	//订单发票信息
+	rpc InvoiceInfo (InvoiceInfoReq) returns (InvoiceInfoResp);
+	//订单发票冲红
+	rpc RedAdd (InvoiceAddReq) returns (OrderAddUpdateResp);
+	//订单红票信息
+	rpc RedInfo (InvoiceInfoReq) returns (InvoiceInfoResp);
 }

+ 15 - 1
rpc/ordercenter.go

@@ -7,14 +7,19 @@ import (
 	"flag"
 	"fmt"
 
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/entity"
 	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/config"
 	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/server"
 	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/internal/svc"
 	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/pb"
+	"github.com/bwmarrin/snowflake"
 
 	"github.com/zeromicro/go-zero/core/conf"
+	"github.com/zeromicro/go-zero/core/logx"
+	"github.com/zeromicro/go-zero/core/service"
 	"github.com/zeromicro/go-zero/zrpc"
 	"google.golang.org/grpc"
+	"google.golang.org/grpc/reflection"
 )
 
 var configFile = flag.String("f", "etc/ordercenter.yaml", "the config file")
@@ -24,14 +29,23 @@ func main() {
 
 	var c config.Config
 	conf.MustLoad(*configFile, &c)
+	logx.MustSetup(c.Logx)
+	entity.InitMysql(c.Mysql.BaseService)
 	ctx := svc.NewServiceContext(c)
 	srv := server.NewOrderCenterServer(ctx)
 
 	s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
 		pb.RegisterOrderCenterServer(grpcServer, srv)
+		if c.Mode == service.DevMode || c.Mode == service.TestMode {
+			reflection.Register(grpcServer)
+		}
 	})
 	defer s.Stop()
-
+	var err error
+	entity.Node, err = snowflake.NewNode(c.WordId)
+	if err != nil {
+		fmt.Println("分布式ID生成器错误", err)
+	}
 	fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
 	s.Start()
 }

+ 123 - 3
rpc/ordercenter/ordercenter.go

@@ -14,13 +14,61 @@ import (
 )
 
 type (
-	GetOrderCodeResp = pb.GetOrderCodeResp
-	OrderCode        = pb.OrderCode
-	GetOrderCodeReq  = pb.GetOrderCodeReq
+	GetOrderCodeReq    = pb.GetOrderCodeReq
+	OrderInfoResp      = pb.OrderInfoResp
+	OrderBusiness      = pb.OrderBusiness
+	OrderDelReq        = pb.OrderDelReq
+	OrderAddUpdateResp = pb.OrderAddUpdateResp
+	GetOrderCodeResp   = pb.GetOrderCodeResp
+	OrderExtend        = pb.OrderExtend
+	OrderInfo          = pb.OrderInfo
+	Invoice            = pb.Invoice
+	OrderAddUpdateReq  = pb.OrderAddUpdateReq
+	DataStatus         = pb.DataStatus
+	RefundAddReq       = pb.RefundAddReq
+	RefundInfoResp     = pb.RefundInfoResp
+	InvoiceInfoResp    = pb.InvoiceInfoResp
+	OrderCode          = pb.OrderCode
+	Pay                = pb.Pay
+	InvoiceInfoReq     = pb.InvoiceInfoReq
+	Order              = pb.Order
+	OrderInfoReq       = pb.OrderInfoReq
+	PayAddReq          = pb.PayAddReq
+	PayInfoResp        = pb.PayInfoResp
+	Refund             = pb.Refund
+	InvoiceAddReq      = pb.InvoiceAddReq
+	OrderListResp      = pb.OrderListResp
+	OrderList          = pb.OrderList
+	OrderCommodity     = pb.OrderCommodity
+	OrderListReq       = pb.OrderListReq
 
 	OrderCenter interface {
 		// 分布式ID生成器
 		GetOrderCode(ctx context.Context, in *GetOrderCodeReq) (*GetOrderCodeResp, error)
+		// 订单增加和编辑
+		OrderAddUpdate(ctx context.Context, in *OrderAddUpdateReq) (*OrderAddUpdateResp, error)
+		// 订单删除
+		OrderDel(ctx context.Context, in *OrderDelReq) (*OrderAddUpdateResp, error)
+		// 订单列表
+		OrderList(ctx context.Context, in *OrderListReq) (*OrderListResp, error)
+		// 订单查看
+		OrderInfo(ctx context.Context, in *OrderInfoReq) (*OrderInfoResp, error)
+		// 订单支付
+		PayAdd(ctx context.Context, in *PayAddReq) (*OrderAddUpdateResp, error)
+		// 订单支付信息
+		PayInfo(ctx context.Context, in *OrderInfoReq) (*PayInfoResp, error)
+		// 订单退款
+		RefundAdd(ctx context.Context, in *RefundAddReq) (*OrderAddUpdateResp, error)
+		// 订单退款信息
+		RefundInfo(ctx context.Context, in *OrderInfoReq) (*RefundInfoResp, error)
+		// 订单开票
+		InvoiceAdd(ctx context.Context, in *InvoiceAddReq) (*OrderAddUpdateResp, error)
+		// 订单发票信息
+		InvoiceInfo(ctx context.Context, in *InvoiceInfoReq) (*InvoiceInfoResp, error)
+		// 订单发票冲红
+		RedAdd(ctx context.Context, in *InvoiceAddReq) (*OrderAddUpdateResp, error)
+		// 订单红票信息
+		RedInfo(ctx context.Context, in *InvoiceInfoReq) (*InvoiceInfoResp, error)
 	}
 
 	defaultOrderCenter struct {
@@ -39,3 +87,75 @@ func (m *defaultOrderCenter) GetOrderCode(ctx context.Context, in *GetOrderCodeR
 	client := pb.NewOrderCenterClient(m.cli.Conn())
 	return client.GetOrderCode(ctx, in)
 }
+
+// 订单增加和编辑
+func (m *defaultOrderCenter) OrderAddUpdate(ctx context.Context, in *OrderAddUpdateReq) (*OrderAddUpdateResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.OrderAddUpdate(ctx, in)
+}
+
+// 订单删除
+func (m *defaultOrderCenter) OrderDel(ctx context.Context, in *OrderDelReq) (*OrderAddUpdateResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.OrderDel(ctx, in)
+}
+
+// 订单列表
+func (m *defaultOrderCenter) OrderList(ctx context.Context, in *OrderListReq) (*OrderListResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.OrderList(ctx, in)
+}
+
+// 订单查看
+func (m *defaultOrderCenter) OrderInfo(ctx context.Context, in *OrderInfoReq) (*OrderInfoResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.OrderInfo(ctx, in)
+}
+
+// 订单支付
+func (m *defaultOrderCenter) PayAdd(ctx context.Context, in *PayAddReq) (*OrderAddUpdateResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.PayAdd(ctx, in)
+}
+
+// 订单支付信息
+func (m *defaultOrderCenter) PayInfo(ctx context.Context, in *OrderInfoReq) (*PayInfoResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.PayInfo(ctx, in)
+}
+
+// 订单退款
+func (m *defaultOrderCenter) RefundAdd(ctx context.Context, in *RefundAddReq) (*OrderAddUpdateResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.RefundAdd(ctx, in)
+}
+
+// 订单退款信息
+func (m *defaultOrderCenter) RefundInfo(ctx context.Context, in *OrderInfoReq) (*RefundInfoResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.RefundInfo(ctx, in)
+}
+
+// 订单开票
+func (m *defaultOrderCenter) InvoiceAdd(ctx context.Context, in *InvoiceAddReq) (*OrderAddUpdateResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.InvoiceAdd(ctx, in)
+}
+
+// 订单发票信息
+func (m *defaultOrderCenter) InvoiceInfo(ctx context.Context, in *InvoiceInfoReq) (*InvoiceInfoResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.InvoiceInfo(ctx, in)
+}
+
+// 订单发票冲红
+func (m *defaultOrderCenter) RedAdd(ctx context.Context, in *InvoiceAddReq) (*OrderAddUpdateResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.RedAdd(ctx, in)
+}
+
+// 订单红票信息
+func (m *defaultOrderCenter) RedInfo(ctx context.Context, in *InvoiceInfoReq) (*InvoiceInfoResp, error) {
+	client := pb.NewOrderCenterClient(m.cli.Conn())
+	return client.RedInfo(ctx, in)
+}

File diff suppressed because it is too large
+ 1880 - 0
rpc/pb/orderCenter.pb.go


BIN
rpc/rpc


+ 79 - 0
service/invoice.go

@@ -0,0 +1,79 @@
+package service
+
+import (
+	"encoding/json"
+
+	. "bp.jydev.jianyu360.cn/BaseService/orderCenter/entity"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter"
+)
+
+func InvoiceAdd(this *ordercenter.InvoiceAddReq) *ordercenter.OrderAddUpdateResp {
+	invoiceId := Mysql.Insert(Invoice, map[string]interface{}{
+		"appid":             this.Appid,
+		"order_code":        this.OrderCode,
+		"pay_id":            this.Invoice.PayId,
+		"invoice_code":      this.Invoice.InvoiceCode,
+		"invoice_number":    this.Invoice.InvoiceNumber,
+		"taxpayer_identnum": this.Invoice.TaxpayerIdentnum,
+		"company_name":      this.Invoice.CompanyName,
+		"phone":             this.Invoice.Phone,
+		"mail":              this.Invoice.Mail,
+		"invoice_type":      this.Invoice.InvoiceType,
+		"invoice_content":   this.Invoice.InvoiceContent,
+		"url":               this.Invoice.Url,
+		"invoice_status":    this.Invoice.InvoiceStatus,
+		"invoice_serialnum": this.Invoice.InvoiceSerialnum,
+		"create_time":       this.Invoice.CreateTime,
+		"billing_time":      this.Invoice.BillingTime,
+		"user_id":           this.Invoice.UserId,
+		"operator":          this.Invoice.Operator,
+		"operable_time":     this.Invoice.OperableTime,
+	})
+	status := 0
+	if invoiceId > 0 {
+		status = 1
+	}
+	return &ordercenter.OrderAddUpdateResp{
+		ErrorCode: 1,
+		Data:      &ordercenter.DataStatus{Status: int64(status)},
+	}
+}
+
+func InvoiceInfo(this *ordercenter.InvoiceInfoReq) *ordercenter.InvoiceInfoResp {
+	invoiceData := &ordercenter.Invoice{}
+	invoice := Mysql.FindOne(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.PayId}, "", "")
+	if invoice != nil && len(*invoice) > 0 {
+		invoiceByte, _ := json.Marshal(*invoice)
+		json.Unmarshal(invoiceByte, invoiceData)
+	}
+	return &ordercenter.InvoiceInfoResp{
+		ErrorCode: 1,
+		Data:      invoiceData,
+	}
+}
+
+func RedAdd(this *ordercenter.InvoiceAddReq) *ordercenter.OrderAddUpdateResp {
+	ok := Mysql.Update(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.Invoice.PayId},
+		map[string]interface{}{"red": this.Invoice.Red})
+	status := 0
+	if ok {
+		status = 1
+	}
+	return &ordercenter.OrderAddUpdateResp{
+		ErrorCode: 1,
+		Data:      &ordercenter.DataStatus{Status: int64(status)},
+	}
+}
+
+func RedInfo(this *ordercenter.InvoiceInfoReq) *ordercenter.InvoiceInfoResp {
+	invoiceData := &ordercenter.Invoice{}
+	invoice := Mysql.FindOne(Invoice, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode, "pay_id": this.PayId}, "", "")
+	if invoice != nil && len(*invoice) > 0 {
+		invoiceByte, _ := json.Marshal(*invoice)
+		json.Unmarshal(invoiceByte, invoiceData)
+	}
+	return &ordercenter.InvoiceInfoResp{
+		ErrorCode: 1,
+		Data:      invoiceData,
+	}
+}

+ 107 - 0
service/order.go

@@ -0,0 +1,107 @@
+package service
+
+import (
+	"database/sql"
+	"encoding/json"
+	"fmt"
+	"time"
+
+	. "bp.jydev.jianyu360.cn/BaseService/orderCenter/entity"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter"
+)
+
+func GetOrderCode(*ordercenter.GetOrderCodeReq) *ordercenter.GetOrderCodeResp {
+	id := Node.Generate()
+	return &ordercenter.GetOrderCodeResp{
+		ErrorCode: 1,
+		ErrorMsg:  "",
+		Data: &ordercenter.OrderCode{
+			OrderCode: fmt.Sprint(id),
+		},
+	}
+}
+
+func OrderAddUpdate(this *ordercenter.OrderAddUpdateReq) *ordercenter.OrderAddUpdateResp {
+	orderCode := fmt.Sprint(Node.Generate())
+	flag := false
+	nowTime := time.Now().Format("2006-01-02 15:04:05")
+	flag = Mysql.ExecTx("", func(tx *sql.Tx) bool {
+		orderId := Mysql.InsertBySqlByTx(tx, `insert into `+Order+`(appid,order_code,order_money,original_price,create_time,order_status,user_id,ent_id,del_status) values (?,?,?,?,?,?,?,?,?)`,
+			this.Appid, orderCode, this.Order.OrderMoney, this.Order.OriginalPrice, nowTime, this.Order.OrderStatus, this.Order.UserId, this.Order.EntId, 0)
+		extendId := Mysql.InsertBySqlByTx(tx, `insert into `+OrderExtend+`(appid,order_code,pay_type,source,dis_word,iscan_invoice,iscan_evaluate,remind_status,create_time) values (?,?,?,?,?,?,?,?,?)`,
+			this.Appid, orderCode, this.OrderExtend.PayType, this.OrderExtend.Source, this.OrderExtend.DisWord, this.OrderExtend.IscanInvoice, this.OrderExtend.IscanEvaluate, this.OrderExtend.RemindStatus, nowTime)
+		isOk1, isOk2 := true, true
+		for _, v := range this.OrderCommodity {
+			commodityId := Mysql.InsertBySqlByTx(tx, `insert into `+OrderCommodity+`(appid,order_code,goods_code,goods_spec_id,num,price,total,isgift,create_time) values (?,?,?,?,?,?,?,?,?)`,
+				this.Appid, orderCode, v.GoodsCode, v.GoodsSpecId, v.Num, v.Price, v.Total, v.Isgift, nowTime)
+			if commodityId == 0 {
+				isOk1 = false
+			}
+		}
+		if this.OrderBusiness.GoodsSpecId != 0 {
+			BusinessId := Mysql.InsertBySqlByTx(tx, `insert into `+OrderBusiness+`(appid,order_code,service_status,service_time,filter,filter_keys,filter_publishtime,data_count,filter_id,download_url,goods_code,goods_spec_id,user_phone,user_mail) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)`,
+				this.Appid, orderCode, this.OrderBusiness.ServiceStatus, this.OrderBusiness.ServiceTime, this.OrderBusiness.Filter, this.OrderBusiness.FilterKeys,
+				this.OrderBusiness.FilterPublishtime, this.OrderBusiness.DataCount, this.OrderBusiness.FilterId, this.OrderBusiness.DownloadUrl,
+				this.OrderBusiness.GoodsCode, this.OrderBusiness.GoodsSpecId, this.OrderBusiness.UserPhone, this.OrderBusiness.UserMail)
+			if BusinessId == 0 {
+				isOk2 = false
+			}
+		}
+		return orderId > 0 && extendId > 0 && isOk1 && isOk2
+	})
+	status := 0
+	if flag {
+		status = 1
+	}
+	return &ordercenter.OrderAddUpdateResp{
+		ErrorCode: 1,
+		Data:      &ordercenter.DataStatus{Status: int64(status)},
+	}
+}
+
+func OrderDel(this *ordercenter.OrderDelReq) *ordercenter.OrderAddUpdateResp {
+	nowTime := time.Now().Format("2006-01-02 15:04:05")
+	ok := Mysql.Update(Order, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode}, map[string]interface{}{"del_time": nowTime, "del_status": 1})
+	status := 0
+	if ok {
+		status = 1
+	}
+	return &ordercenter.OrderAddUpdateResp{
+		ErrorCode: 1,
+		Data:      &ordercenter.DataStatus{Status: int64(status)},
+	}
+}
+
+func OrderList(this *ordercenter.OrderListReq) *ordercenter.OrderListResp {
+	OrderLists := []*ordercenter.OrderAddUpdateReq{}
+	order := Mysql.Find(Order, map[string]interface{}{"appid": this.Appid, "user_id": this.UserId}, "", "", 0, 0)
+	if order != nil && len(*order) > 0 {
+		for _, v := range *order {
+			orderData1 := &ordercenter.OrderAddUpdateReq{}
+			orderData2 := &ordercenter.Order{}
+			orderByte, _ := json.Marshal(v)
+			json.Unmarshal(orderByte, orderData2)
+			orderData1.Order = orderData2
+			OrderLists = append(OrderLists, orderData1)
+		}
+	}
+	return &ordercenter.OrderListResp{
+		ErrorCode: 1,
+		Data:      &ordercenter.OrderList{OrderList: OrderLists},
+	}
+}
+
+func OrderInfo(this *ordercenter.OrderInfoReq) *ordercenter.OrderInfoResp {
+	orderData := &ordercenter.Order{}
+	orderData1 := &ordercenter.OrderAddUpdateReq{}
+	order := Mysql.FindOne(Order, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode}, "", "")
+	if order != nil && len(*order) > 0 {
+		orderByte, _ := json.Marshal(*order)
+		json.Unmarshal(orderByte, orderData)
+		orderData1.Order = orderData
+	}
+	return &ordercenter.OrderInfoResp{
+		ErrorCode: 1,
+		Data:      &ordercenter.OrderInfo{OrderInfo: orderData1},
+	}
+}

+ 61 - 0
service/pay.go

@@ -0,0 +1,61 @@
+package service
+
+import (
+	"encoding/json"
+
+	. "bp.jydev.jianyu360.cn/BaseService/orderCenter/entity"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter"
+)
+
+func PayAdd(this *ordercenter.PayAddReq) *ordercenter.OrderAddUpdateResp {
+	payId := Mysql.Insert(Pay, map[string]interface{}{
+		"appid":                this.Appid,
+		"order_code":           this.OrderCode,
+		"pay_time":             this.Pay.PayTime,
+		"pay_way":              this.Pay.PayWay,
+		"pay_money":            this.Pay.PayMoney,
+		"pay_code":             this.Pay.PayCode,
+		"pay_voucher_url":      this.Pay.PayVoucherUrl,
+		"pay_account":          this.Pay.PayAccount,
+		"pay_name":             this.Pay.PayName,
+		"collect_account":      this.Pay.CollectAccount,
+		"collect_name":         this.Pay.CollectName,
+		"operate_person":       this.Pay.OperatePerson,
+		"operate_time":         this.Pay.OperateTime,
+		"remark":               this.Pay.Remark,
+		"prepay_time":          this.Pay.PrepayTime,
+		"prepay_id":            this.Pay.PrepayId,
+		"out_trade_no":         this.Pay.OutTradeNo,
+		"code_url":             this.Pay.CodeUrl,
+		"origin_price":         this.Pay.OriginPrice,
+		"points_deduct_count":  this.Pay.PointsDeductCount,
+		"points_deduct_amount": this.Pay.PointsDeductAmount,
+		"card_count":           this.Pay.CardCount,
+		"card_amount":          this.Pay.CardAmount,
+	})
+	status := 0
+	if payId > 0 {
+		status = 1
+	}
+	return &ordercenter.OrderAddUpdateResp{
+		ErrorCode: 1,
+		Data:      &ordercenter.DataStatus{Status: int64(status)},
+	}
+}
+
+func PayInfo(this *ordercenter.OrderInfoReq) *ordercenter.PayInfoResp {
+	PayList := []*ordercenter.Pay{}
+	pay := Mysql.Find(Pay, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode}, "", "", 0, 0)
+	if pay != nil && len(*pay) > 0 {
+		for _, v := range *pay {
+			payData := &ordercenter.Pay{}
+			payByte, _ := json.Marshal(v)
+			json.Unmarshal(payByte, payData)
+			PayList = append(PayList, payData)
+		}
+	}
+	return &ordercenter.PayInfoResp{
+		ErrorCode: 1,
+		Data:      PayList,
+	}
+}

+ 47 - 0
service/refund.go

@@ -0,0 +1,47 @@
+package service
+
+import (
+	"encoding/json"
+
+	"database/sql"
+	"time"
+
+	. "bp.jydev.jianyu360.cn/BaseService/orderCenter/entity"
+	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter"
+)
+
+func RefundAdd(this *ordercenter.RefundAddReq) *ordercenter.OrderAddUpdateResp {
+	flag := false
+	nowTime := time.Now().Format("2006-01-02 15:04:05")
+	flag = Mysql.ExecTx("", func(tx *sql.Tx) bool {
+		refundId := Mysql.InsertBySqlByTx(tx, `insert into `+OrderRefund+`(appid,order_code,refund_time,refund_money,refund_reason,operate_person,refund_channel) values (?,?,?,?,?,?,?)`,
+			this.Appid, this.OrderCode, nowTime, this.Refund.RefundMoney, this.Refund.RefundReason, this.Refund.OperatePerson, this.Refund.RefundChannel)
+		ok := Mysql.UpdateByTx(tx, Order, map[string]interface{}{"appid": this.Appid, "order_code": this.OrderCode}, map[string]interface{}{"refund_status": this.RefundStatus})
+		return refundId > 0 && ok
+	})
+	status := 0
+	if flag {
+		status = 1
+	}
+	return &ordercenter.OrderAddUpdateResp{
+		ErrorCode: 1,
+		Data:      &ordercenter.DataStatus{Status: int64(status)},
+	}
+}
+
+func RefundInfo(this *ordercenter.OrderInfoReq) *ordercenter.RefundInfoResp {
+	refundList := []*ordercenter.Refund{}
+	refund := Mysql.Find(OrderRefund, map[string]interface{}{"appid": this.Appid, "user_id": this.OrderCode}, "", "", 0, 0)
+	if refund != nil && len(*refund) > 0 {
+		for _, v := range *refund {
+			refundData := &ordercenter.Refund{}
+			refundByte, _ := json.Marshal(v)
+			json.Unmarshal(refundByte, refundData)
+			refundList = append(refundList, refundData)
+		}
+	}
+	return &ordercenter.RefundInfoResp{
+		ErrorCode: 1,
+		Data:      refundList,
+	}
+}

+ 0 - 9
service/service.go

@@ -1,9 +0,0 @@
-package service
-
-import (
-	"bp.jydev.jianyu360.cn/BaseService/orderCenter/rpc/ordercenter"
-)
-
-func GetOrderCode(*ordercenter.GetOrderCodeReq) *ordercenter.GetOrderCodeResp {
-	return &ordercenter.GetOrderCodeResp{}
-}

Some files were not shown because too many files changed in this diff