Compare commits
2 Commits
main
...
feature/ma
Author | SHA1 | Date |
---|---|---|
daniel.w | b8b64302d6 | |
daniel.w | 8478442979 |
|
@ -117,6 +117,14 @@ issues:
|
||||||
- gocognit
|
- gocognit
|
||||||
- contextcheck
|
- contextcheck
|
||||||
|
|
||||||
|
exclude-dirs:
|
||||||
|
- internal/model
|
||||||
|
|
||||||
|
exclude-files:
|
||||||
|
- .*_test.go
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
linters-settings:
|
linters-settings:
|
||||||
gci:
|
gci:
|
||||||
sections:
|
sections:
|
||||||
|
|
1
Makefile
1
Makefile
|
@ -18,6 +18,7 @@ test: # 進行測試
|
||||||
fmt: # 格式優化
|
fmt: # 格式優化
|
||||||
$(GOFMT) -w $(GOFILES)
|
$(GOFMT) -w $(GOFILES)
|
||||||
goimports -w ./
|
goimports -w ./
|
||||||
|
golangci-lint run
|
||||||
|
|
||||||
.PHONY: gen-rpc
|
.PHONY: gen-rpc
|
||||||
gen-rpc: # 建立 rpc code
|
gen-rpc: # 建立 rpc code
|
||||||
|
|
|
@ -32,7 +32,7 @@ RUN --mount=type=ssh go mod download
|
||||||
|
|
||||||
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
|
||||||
-ldflags "$FLAG" \
|
-ldflags "$FLAG" \
|
||||||
-o service
|
-o notification
|
||||||
|
|
||||||
##########
|
##########
|
||||||
## FINAL #
|
## FINAL #
|
||||||
|
@ -44,4 +44,4 @@ WORKDIR /app
|
||||||
COPY --from=builder /app/service /app/service
|
COPY --from=builder /app/service /app/service
|
||||||
COPY --from=builder /app/etc/service.yaml /app/etc/service.yaml
|
COPY --from=builder /app/etc/service.yaml /app/etc/service.yaml
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
CMD ["/app/service"]
|
CMD ["/app/notification"]
|
|
@ -24,10 +24,10 @@ type (
|
||||||
SendMail(ctx context.Context, in *SendMailReq, opts ...grpc.CallOption) (*OKResp, error)
|
SendMail(ctx context.Context, in *SendMailReq, opts ...grpc.CallOption) (*OKResp, error)
|
||||||
// SendSms 寄簡訊
|
// SendSms 寄簡訊
|
||||||
SendSms(ctx context.Context, in *SendSMSReq, opts ...grpc.CallOption) (*OKResp, error)
|
SendSms(ctx context.Context, in *SendSMSReq, opts ...grpc.CallOption) (*OKResp, error)
|
||||||
// SendMailByTemplateId 寄送模板信件
|
// SendMailByTemplateID 寄送模板信件
|
||||||
SendMailByTemplateId(ctx context.Context, in *SendByTemplateIDReq, opts ...grpc.CallOption) (*OKResp, error)
|
SendMailByTemplateID(ctx context.Context, in *SendByTemplateIDReq, opts ...grpc.CallOption) (*OKResp, error)
|
||||||
// SendSmsByTemplateId 寄送模板簡訊
|
// SendSmsByTemplateID 寄送模板簡訊
|
||||||
SendSmsByTemplateId(ctx context.Context, in *SendByTemplateIDReq, opts ...grpc.CallOption) (*OKResp, error)
|
SendSmsByTemplateID(ctx context.Context, in *SendByTemplateIDReq, opts ...grpc.CallOption) (*OKResp, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultSenderService struct {
|
defaultSenderService struct {
|
||||||
|
@ -53,14 +53,14 @@ func (m *defaultSenderService) SendSms(ctx context.Context, in *SendSMSReq, opts
|
||||||
return client.SendSms(ctx, in, opts...)
|
return client.SendSms(ctx, in, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SendMailByTemplateId 寄送模板信件
|
// SendMailByTemplateID 寄送模板信件
|
||||||
func (m *defaultSenderService) SendMailByTemplateId(ctx context.Context, in *SendByTemplateIDReq, opts ...grpc.CallOption) (*OKResp, error) {
|
func (m *defaultSenderService) SendMailByTemplateID(ctx context.Context, in *SendByTemplateIDReq, opts ...grpc.CallOption) (*OKResp, error) {
|
||||||
client := notification.NewSenderServiceClient(m.cli.Conn())
|
client := notification.NewSenderServiceClient(m.cli.Conn())
|
||||||
return client.SendMailByTemplateId(ctx, in, opts...)
|
return client.SendMailByTemplateID(ctx, in, opts...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SendSmsByTemplateId 寄送模板簡訊
|
// SendSmsByTemplateID 寄送模板簡訊
|
||||||
func (m *defaultSenderService) SendSmsByTemplateId(ctx context.Context, in *SendByTemplateIDReq, opts ...grpc.CallOption) (*OKResp, error) {
|
func (m *defaultSenderService) SendSmsByTemplateID(ctx context.Context, in *SendByTemplateIDReq, opts ...grpc.CallOption) (*OKResp, error) {
|
||||||
client := notification.NewSenderServiceClient(m.cli.Conn())
|
client := notification.NewSenderServiceClient(m.cli.Conn())
|
||||||
return client.SendSmsByTemplateId(ctx, in, opts...)
|
return client.SendSmsByTemplateID(ctx, in, opts...)
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,12 +5,12 @@ Etcd:
|
||||||
- 127.0.0.1:2379
|
- 127.0.0.1:2379
|
||||||
Key: notification.rpc
|
Key: notification.rpc
|
||||||
SMTP:
|
SMTP:
|
||||||
Host: smtp.mailgun.org
|
Host: smtp.mail.host
|
||||||
Port: 25
|
Port: 25
|
||||||
User: postmaster@abc123@30.com
|
User: smtp@user.net
|
||||||
Password: gg88g88
|
Password: smtp_password
|
||||||
|
|
||||||
SMSSender:
|
SMSSender:
|
||||||
User: daniel@30cm.net
|
User: sms@user.net
|
||||||
Password : test123
|
Password : sms_password
|
||||||
|
|
||||||
|
|
|
@ -35,10 +35,10 @@ service SenderService {
|
||||||
rpc SendMail(SendMailReq) returns(OKResp);
|
rpc SendMail(SendMailReq) returns(OKResp);
|
||||||
// SendSms 寄簡訊
|
// SendSms 寄簡訊
|
||||||
rpc SendSms(SendSMSReq) returns(OKResp);
|
rpc SendSms(SendSMSReq) returns(OKResp);
|
||||||
// SendMailByTemplateId 寄送模板信件
|
// SendMailByTemplateID 寄送模板信件
|
||||||
rpc SendMailByTemplateId(SendByTemplateIDReq) returns(OKResp);
|
rpc SendMailByTemplateID(SendByTemplateIDReq) returns(OKResp);
|
||||||
// SendSmsByTemplateId 寄送模板簡訊
|
// SendSmsByTemplateID 寄送模板簡訊
|
||||||
rpc SendSmsByTemplateId(SendByTemplateIDReq) returns(OKResp);
|
rpc SendSmsByTemplateID(SendByTemplateIDReq) returns(OKResp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -3,7 +3,7 @@ module app-cloudep-notification-service
|
||||||
go 1.22.3
|
go 1.22.3
|
||||||
|
|
||||||
require (
|
require (
|
||||||
code.30cm.net/digimon/library-go/errors v1.0.0
|
code.30cm.net/digimon/library-go/errs v1.2.3
|
||||||
code.30cm.net/digimon/library-go/validator v1.0.0
|
code.30cm.net/digimon/library-go/validator v1.0.0
|
||||||
code.30cm.net/digimon/library-go/worker_pool v0.0.0-20240820153352-f9c90a90f5e2
|
code.30cm.net/digimon/library-go/worker_pool v0.0.0-20240820153352-f9c90a90f5e2
|
||||||
github.com/minchao/go-mitake v1.0.0
|
github.com/minchao/go-mitake v1.0.0
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
package domain
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"code.30cm.net/digimon/library-go/errs"
|
||||||
|
"code.30cm.net/digimon/library-go/errs/code"
|
||||||
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ErrorCode uint32
|
||||||
|
|
||||||
|
func (e ErrorCode) ToUint32() uint32 {
|
||||||
|
return uint32(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
_ = iota
|
||||||
|
SendMailErrorCode ErrorCode = iota
|
||||||
|
SendSMSErrorCode
|
||||||
|
)
|
||||||
|
|
||||||
|
// SendMailError ...
|
||||||
|
func SendMailError(s ...string) *errs.LibError {
|
||||||
|
return errs.NewError(code.CloudEPNotification, code.ThirdParty,
|
||||||
|
SendMailErrorCode.ToUint32(), strings.Join(s, " "))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SendMailErrorL logs error message and returns Err
|
||||||
|
func SendMailErrorL(l logx.Logger, filed []logx.LogField, s ...string) *errs.LibError {
|
||||||
|
e := SendMailError(s...)
|
||||||
|
if filed != nil || len(filed) > 0 {
|
||||||
|
l.WithCallerSkip(1).WithFields(filed...).Error(e.Error())
|
||||||
|
}
|
||||||
|
l.WithCallerSkip(1).Error(e.Error())
|
||||||
|
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
|
||||||
|
// SendSMSError ...
|
||||||
|
func SendSMSError(s ...string) *errs.LibError {
|
||||||
|
return errs.NewError(code.CloudEPNotification, code.ThirdParty,
|
||||||
|
SendSMSErrorCode.ToUint32(), strings.Join(s, " "))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SendSMSErrorL logs error message and returns Err
|
||||||
|
func SendSMSErrorL(l logx.Logger, filed []logx.LogField, s ...string) *errs.LibError {
|
||||||
|
e := SendSMSError(s...)
|
||||||
|
if filed != nil || len(filed) > 0 {
|
||||||
|
l.WithCallerSkip(1).WithFields(filed...).Error(e.Error())
|
||||||
|
}
|
||||||
|
l.WithCallerSkip(1).Error(e.Error())
|
||||||
|
|
||||||
|
return e
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
package senderservicelogic
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"app-cloudep-notification-service/gen_result/pb/notification"
|
||||||
|
"app-cloudep-notification-service/internal/svc"
|
||||||
|
|
||||||
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
|
)
|
||||||
|
|
||||||
|
type SendMailByTemplateIDLogic struct {
|
||||||
|
ctx context.Context
|
||||||
|
svcCtx *svc.ServiceContext
|
||||||
|
logx.Logger
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewSendMailByTemplateIDLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SendMailByTemplateIDLogic {
|
||||||
|
return &SendMailByTemplateIDLogic{
|
||||||
|
ctx: ctx,
|
||||||
|
svcCtx: svcCtx,
|
||||||
|
Logger: logx.WithContext(ctx),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SendMailByTemplateID 寄送模板信件
|
||||||
|
func (l *SendMailByTemplateIDLogic) SendMailByTemplateID(_ *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
|
||||||
|
// todo: add your logic here and delete this line
|
||||||
|
|
||||||
|
return ¬ification.OKResp{}, nil
|
||||||
|
}
|
|
@ -1,32 +0,0 @@
|
||||||
package senderservicelogic
|
|
||||||
|
|
||||||
import (
|
|
||||||
"app-cloudep-notification-service/gen_result/pb/notification"
|
|
||||||
"app-cloudep-notification-service/internal/svc"
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
ers "code.30cm.net/digimon/library-go/errors"
|
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
|
||||||
)
|
|
||||||
|
|
||||||
type SendMailByTemplateIdLogic struct {
|
|
||||||
ctx context.Context
|
|
||||||
svcCtx *svc.ServiceContext
|
|
||||||
logx.Logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewSendMailByTemplateIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SendMailByTemplateIdLogic {
|
|
||||||
return &SendMailByTemplateIdLogic{
|
|
||||||
ctx: ctx,
|
|
||||||
svcCtx: svcCtx,
|
|
||||||
Logger: logx.WithContext(ctx),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// SendMailByTemplateId 寄送模板信件
|
|
||||||
func (l *SendMailByTemplateIdLogic) SendMailByTemplateId(in *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
|
|
||||||
fmt.Println(ers.ResourceNotFound("testing"))
|
|
||||||
|
|
||||||
return ¬ification.OKResp{}, nil
|
|
||||||
}
|
|
|
@ -1,10 +1,11 @@
|
||||||
package senderservicelogic
|
package senderservicelogic
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"app-cloudep-notification-service/internal/domain"
|
||||||
"app-cloudep-notification-service/internal/domain/usecase"
|
"app-cloudep-notification-service/internal/domain/usecase"
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
ers "code.30cm.net/digimon/library-go/errors"
|
ers "code.30cm.net/digimon/library-go/errs"
|
||||||
|
|
||||||
"app-cloudep-notification-service/gen_result/pb/notification"
|
"app-cloudep-notification-service/gen_result/pb/notification"
|
||||||
"app-cloudep-notification-service/internal/svc"
|
"app-cloudep-notification-service/internal/svc"
|
||||||
|
@ -45,7 +46,7 @@ func (l *SendMailLogic) SendMail(in *notification.SendMailReq) (*notification.OK
|
||||||
Body: in.GetBody(),
|
Body: in.GetBody(),
|
||||||
From: in.GetFrom(),
|
From: in.GetFrom(),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return nil, ers.InvalidFormat(err.Error())
|
return nil, ers.InvalidFormat("invalid format")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 以後可以做換線
|
// TODO 以後可以做換線
|
||||||
|
@ -56,12 +57,15 @@ func (l *SendMailLogic) SendMail(in *notification.SendMailReq) (*notification.OK
|
||||||
Body: in.GetBody(),
|
Body: in.GetBody(),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.WithCallerSkip(1).WithFields(
|
return nil, domain.SendMailErrorL(
|
||||||
logx.Field("func", "MailSender.SendMail"),
|
logx.WithContext(l.ctx),
|
||||||
logx.Field("in", in),
|
[]logx.LogField{
|
||||||
logx.Field("err", err),
|
logx.Field("func", "MailSender.SendMail"),
|
||||||
).Error(err.Error())
|
logx.Field("in", in),
|
||||||
return nil, ers.ArkInternal("MailSender.SendMail failed to send mail")
|
logx.Field("err", err),
|
||||||
|
},
|
||||||
|
"MailSender.SendMail failed to send mail",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ¬ification.OKResp{}, nil
|
return ¬ification.OKResp{}, nil
|
||||||
|
|
|
@ -9,22 +9,22 @@ import (
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
)
|
)
|
||||||
|
|
||||||
type SendSmsByTemplateIdLogic struct {
|
type SendSmsByTemplateIDLogic struct {
|
||||||
ctx context.Context
|
ctx context.Context
|
||||||
svcCtx *svc.ServiceContext
|
svcCtx *svc.ServiceContext
|
||||||
logx.Logger
|
logx.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewSendSmsByTemplateIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SendSmsByTemplateIdLogic {
|
func NewSendSmsByTemplateIDLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SendSmsByTemplateIDLogic {
|
||||||
return &SendSmsByTemplateIdLogic{
|
return &SendSmsByTemplateIDLogic{
|
||||||
ctx: ctx,
|
ctx: ctx,
|
||||||
svcCtx: svcCtx,
|
svcCtx: svcCtx,
|
||||||
Logger: logx.WithContext(ctx),
|
Logger: logx.WithContext(ctx),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// SendSMSByTemplateID 寄送模板簡訊
|
// SendSmsByTemplateID 寄送模板簡訊
|
||||||
func (l *SendSmsByTemplateIdLogic) SendSmsByTemplateId(in *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
|
func (l *SendSmsByTemplateIDLogic) SendSmsByTemplateID(_ *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
|
||||||
// todo: add your logic here and delete this line
|
// todo: add your logic here and delete this line
|
||||||
|
|
||||||
return ¬ification.OKResp{}, nil
|
return ¬ification.OKResp{}, nil
|
|
@ -1,10 +1,11 @@
|
||||||
package senderservicelogic
|
package senderservicelogic
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"app-cloudep-notification-service/internal/domain"
|
||||||
"app-cloudep-notification-service/internal/domain/usecase"
|
"app-cloudep-notification-service/internal/domain/usecase"
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
ers "code.30cm.net/digimon/library-go/errors"
|
"code.30cm.net/digimon/library-go/errs"
|
||||||
|
|
||||||
"app-cloudep-notification-service/gen_result/pb/notification"
|
"app-cloudep-notification-service/gen_result/pb/notification"
|
||||||
"app-cloudep-notification-service/internal/svc"
|
"app-cloudep-notification-service/internal/svc"
|
||||||
|
@ -42,7 +43,7 @@ func (l *SendSmsLogic) SendSms(in *notification.SendSMSReq) (*notification.OKRes
|
||||||
Body: in.GetBody(),
|
Body: in.GetBody(),
|
||||||
RecipientAddress: in.GetTo(),
|
RecipientAddress: in.GetTo(),
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return nil, ers.InvalidFormat(err.Error())
|
return nil, errs.InvalidFormat(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO 以後可以做換線
|
// TODO 以後可以做換線
|
||||||
|
@ -52,12 +53,15 @@ func (l *SendSmsLogic) SendSms(in *notification.SendSMSReq) (*notification.OKRes
|
||||||
Body: in.GetBody(),
|
Body: in.GetBody(),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logx.WithCallerSkip(1).WithFields(
|
return nil, domain.SendSMSErrorL(
|
||||||
logx.Field("func", "SMSSender.SendSMS"),
|
logx.WithContext(l.ctx),
|
||||||
logx.Field("in", in),
|
[]logx.LogField{
|
||||||
logx.Field("err", err),
|
logx.Field("func", "SMSSender.SendSMS"),
|
||||||
).Error(err.Error())
|
logx.Field("in", in),
|
||||||
return nil, ers.ArkInternal("SMSSender.SendSMS failed to send sms")
|
logx.Field("err", err),
|
||||||
|
},
|
||||||
|
"SMSSender.SendSMS failed to send sms",
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
return ¬ification.OKResp{}, nil
|
return ¬ification.OKResp{}, nil
|
||||||
|
|
|
@ -8,7 +8,6 @@ import (
|
||||||
|
|
||||||
"app-cloudep-notification-service/gen_result/pb/notification"
|
"app-cloudep-notification-service/gen_result/pb/notification"
|
||||||
senderservicelogic "app-cloudep-notification-service/internal/logic/senderservice"
|
senderservicelogic "app-cloudep-notification-service/internal/logic/senderservice"
|
||||||
|
|
||||||
"app-cloudep-notification-service/internal/svc"
|
"app-cloudep-notification-service/internal/svc"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -35,14 +34,14 @@ func (s *SenderServiceServer) SendSms(ctx context.Context, in *notification.Send
|
||||||
return l.SendSms(in)
|
return l.SendSms(in)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SendMailByTemplateId 寄送模板信件
|
// SendMailByTemplateID 寄送模板信件
|
||||||
func (s *SenderServiceServer) SendMailByTemplateId(ctx context.Context, in *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
|
func (s *SenderServiceServer) SendMailByTemplateID(ctx context.Context, in *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
|
||||||
l := senderservicelogic.NewSendMailByTemplateIdLogic(ctx, s.svcCtx)
|
l := senderservicelogic.NewSendMailByTemplateIDLogic(ctx, s.svcCtx)
|
||||||
return l.SendMailByTemplateId(in)
|
return l.SendMailByTemplateID(in)
|
||||||
}
|
}
|
||||||
|
|
||||||
// SendSmsByTemplateId 寄送模板簡訊
|
// SendSmsByTemplateID 寄送模板簡訊
|
||||||
func (s *SenderServiceServer) SendSmsByTemplateId(ctx context.Context, in *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
|
func (s *SenderServiceServer) SendSmsByTemplateID(ctx context.Context, in *notification.SendByTemplateIDReq) (*notification.OKResp, error) {
|
||||||
l := senderservicelogic.NewSendSmsByTemplateIdLogic(ctx, s.svcCtx)
|
l := senderservicelogic.NewSendSmsByTemplateIDLogic(ctx, s.svcCtx)
|
||||||
return l.SendSmsByTemplateId(in)
|
return l.SendSmsByTemplateID(in)
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,9 @@ import (
|
||||||
domainUC "app-cloudep-notification-service/internal/domain/usecase"
|
domainUC "app-cloudep-notification-service/internal/domain/usecase"
|
||||||
"app-cloudep-notification-service/internal/usecase"
|
"app-cloudep-notification-service/internal/usecase"
|
||||||
|
|
||||||
|
"code.30cm.net/digimon/library-go/errs"
|
||||||
|
"code.30cm.net/digimon/library-go/errs/code"
|
||||||
|
|
||||||
v "code.30cm.net/digimon/library-go/validator"
|
v "code.30cm.net/digimon/library-go/validator"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -17,6 +20,8 @@ type ServiceContext struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewServiceContext(c config.Config) *ServiceContext {
|
func NewServiceContext(c config.Config) *ServiceContext {
|
||||||
|
errs.Scope = code.CloudEPNotification
|
||||||
|
|
||||||
return &ServiceContext{
|
return &ServiceContext{
|
||||||
Config: c,
|
Config: c,
|
||||||
MailSender: usecase.MustMailgunUseCase(usecase.MailUseCaseParam{Conf: c}),
|
MailSender: usecase.MustMailgunUseCase(usecase.MailUseCaseParam{Conf: c}),
|
||||||
|
|
|
@ -26,6 +26,7 @@ func (s *SMSUseCase) SendSMS(_ context.Context, req usecase.SMSReq) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"app-cloudep-notification-service/gen_result/pb/notification"
|
"app-cloudep-notification-service/gen_result/pb/notification"
|
||||||
"app-cloudep-notification-service/internal/config"
|
"app-cloudep-notification-service/internal/config"
|
||||||
senderserviceServer "app-cloudep-notification-service/internal/server/senderservice"
|
senderserviceServer "app-cloudep-notification-service/internal/server/senderservice"
|
||||||
"app-cloudep-notification-service/internal/svc"
|
"app-cloudep-notification-service/internal/svc"
|
||||||
|
"flag"
|
||||||
|
"log"
|
||||||
|
|
||||||
"github.com/zeromicro/go-zero/core/conf"
|
"github.com/zeromicro/go-zero/core/conf"
|
||||||
"github.com/zeromicro/go-zero/core/service"
|
"github.com/zeromicro/go-zero/core/service"
|
||||||
|
@ -34,6 +33,6 @@ func main() {
|
||||||
})
|
})
|
||||||
defer s.Stop()
|
defer s.Stop()
|
||||||
|
|
||||||
fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
|
log.Printf("Starting rpc server at %s...\n", c.ListenOn)
|
||||||
s.Start()
|
s.Start()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue