@@ -39,15 +39,15 @@ func (uc usecase) CreateRegisterEvent(ctx context.Context, payload domain.Regist
3939 orderNo := fmt .Sprintf ("TXE-%d-%s%s%s%s" , event .ID , time .Now ().Format ("06" ), time .Now ().Format ("01" ), time .Now ().Format ("02" ), hash [0 :4 ])
4040
4141 // is free event or not
42- status := "success registration "
42+ status := "SUCCESS "
4343 upToYou := "registration success"
4444 if event .Price != 0.0 {
45- status = "waiting for payment "
45+ status = "PENDING "
4646 upToYou = "new register"
4747 }
4848
4949 err = uc .dbTX .StartTransaction (ctx , func (txCtx context.Context ) error {
50- _ , err := uc .repository .CreateRegisterEvent (ctx , domain.RegistrationEvent {
50+ rId , err := uc .repository .CreateRegisterEvent (txCtx , domain.RegistrationEvent {
5151 OrderNo : orderNo ,
5252 EventID : event .ID ,
5353 Name : payload .Name ,
@@ -61,6 +61,37 @@ func (uc usecase) CreateRegisterEvent(ctx context.Context, payload domain.Regist
6161 logrus .Error ("failed to get event" )
6262 return err
6363 }
64+
65+ if payload .ImageProofPayment != "" {
66+ dataImage , err := uc .imageRepository .GetImage (ctx , payload .ImageProofPayment )
67+ if err != nil {
68+ logrus .Error ("failed to create event" , dataImage )
69+ return err
70+ }
71+
72+ if dataImage .IsUsed {
73+ err = errors .New ("image not exists" )
74+ return err
75+ }
76+
77+ _ , err = uc .repository .CreatePayEvent (txCtx , domain.EventPay {
78+ RegistrationEventID : rId ,
79+ EventID : event .ID ,
80+ ImageProofPayment : payload .ImageProofPayment ,
81+ NetAmount : payload .NetAmount ,
82+ })
83+
84+ if err != nil {
85+ logrus .Error ("failed to create pay event" )
86+ return err
87+ }
88+
89+ err = uc .imageRepository .UpdateUseImage (txCtx , dataImage .ID )
90+ if err != nil {
91+ logrus .Error ("failed to update use image" )
92+ return err
93+ }
94+ }
6495 return nil
6596 })
6697
0 commit comments