Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
WebFlux-MongoDB Aggregations
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Sridhar Pothanaveni
WebFlux-MongoDB Aggregations
Commits
5e81c389
Commit
5e81c389
authored
Feb 01, 2024
by
Sridhar Pothanaveni
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
BPN Service added
parent
c8ecd85f
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
68 additions
and
5 deletions
+68
-5
BPNController.java
src/main/java/com/nisum/task/controller/BPNController.java
+5
-1
ActionEnum.java
src/main/java/com/nisum/task/entity/ActionEnum.java
+14
-0
BPN.java
src/main/java/com/nisum/task/entity/BPN.java
+1
-1
BPNStatusEnum.java
src/main/java/com/nisum/task/entity/BPNStatusEnum.java
+15
-0
BPNRepository.java
src/main/java/com/nisum/task/repository/BPNRepository.java
+2
-0
BPNService.java
src/main/java/com/nisum/task/service/BPNService.java
+31
-3
No files found.
src/main/java/com/nisum/task/controller/BPNController.java
View file @
5e81c389
package
com
.
nisum
.
task
.
controller
;
import
com.nisum.task.entity.ActionEnum
;
import
com.nisum.task.entity.BPN
;
import
com.nisum.task.service.BPNService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -8,6 +9,7 @@ import org.springframework.web.bind.annotation.*;
import
reactor.core.publisher.Flux
;
import
reactor.core.publisher.Mono
;
@CrossOrigin
(
origins
=
"*"
)
@Slf4j
@RestController
@RequestMapping
(
"/bpn"
)
...
...
@@ -36,9 +38,11 @@ public class BPNController {
@PostMapping
(
"/processBPN"
)
public
Flux
<
BPN
>
processBPN
(
@RequestBody
BPN
bpn
)
{
public
Mono
<
BPN
>
processBPN
(
@RequestBody
BPN
bpn
)
{
log
.
info
(
"processBPN {}"
,
bpn
);
return
bPNService
.
processBPN
(
bpn
);
}
}
src/main/java/com/nisum/task/entity/ActionEnum.java
0 → 100644
View file @
5e81c389
package
com
.
nisum
.
task
.
entity
;
public
enum
ActionEnum
{
FORCE
(
"Force"
),
BLOCK
(
"Block"
),
RECALL
(
"Recall"
);
private
String
name
;
ActionEnum
(
String
name
)
{
this
.
name
=
name
;
}
}
src/main/java/com/nisum/task/entity/BPN.java
View file @
5e81c389
...
...
@@ -24,6 +24,6 @@ public class BPN {
private
Date
firstEffectiveDate
;
private
Date
lasttEffectiveDate
;
private
String
bpnStatus
;
private
String
bpnProcessMessage
;
}
src/main/java/com/nisum/task/entity/BPNStatusEnum.java
0 → 100644
View file @
5e81c389
package
com
.
nisum
.
task
.
entity
;
public
enum
BPNStatusEnum
{
ACTIVE
(
"Active"
),
BLOCKED
(
"Blocked"
),
IN_ACTIVE
(
"In Active"
),
DELETED
(
"Deleted"
);
private
String
name
;
BPNStatusEnum
(
String
name
)
{
this
.
name
=
name
;
}
}
src/main/java/com/nisum/task/repository/BPNRepository.java
View file @
5e81c389
...
...
@@ -3,7 +3,9 @@ package com.nisum.task.repository;
import
com.nisum.task.entity.BPN
;
import
org.springframework.data.mongodb.repository.ReactiveMongoRepository
;
import
org.springframework.stereotype.Repository
;
import
reactor.core.publisher.Mono
;
@Repository
public
interface
BPNRepository
extends
ReactiveMongoRepository
<
BPN
,
Long
>
{
Mono
<
BPN
>
findByBpn
(
String
bpn
);
}
src/main/java/com/nisum/task/service/BPNService.java
View file @
5e81c389
package
com
.
nisum
.
task
.
service
;
import
com.nisum.task.entity.ActionEnum
;
import
com.nisum.task.entity.BPN
;
import
com.nisum.task.entity.BPNStatusEnum
;
import
com.nisum.task.repository.BPNRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -19,7 +21,7 @@ public class BPNService {
bpn
.
setBpnStatus
(
"Active"
);
bpn
.
setFirstEffectiveDate
(
new
Date
());
bpn
.
setLasttEffectiveDate
(
new
Date
());
return
bpnRepository
.
save
(
bpn
);
return
processBPN
(
bpn
).
then
(
bpnRepository
.
save
(
bpn
)
);
}
public
Mono
<
BPN
>
findById
(
Long
bpnId
)
{
...
...
@@ -30,8 +32,34 @@ public class BPNService {
return
bpnRepository
.
findAll
();
}
public
Flux
<
BPN
>
processBPN
(
BPN
bpn
)
{
return
bpnRepository
.
findAll
();
public
Mono
<
BPN
>
processBPN
(
BPN
bpnObject
)
{
return
Mono
.
just
(
bpnObject
).
flatMap
(
bpn2
->
{
if
(
bpn2
.
getForceOptCd
().
equalsIgnoreCase
(
ActionEnum
.
BLOCK
.
name
()))
{
return
bpnRepository
.
findByBpn
(
bpn2
.
getBpn
())
.
flatMap
(
bpn1
->
{
if
(
bpn2
.
getForceOptCd
().
equalsIgnoreCase
(
BPNStatusEnum
.
DELETED
.
name
()))
{
bpn1
.
setBpnProcessMessage
(
"BPN is Deleted already, Can't block it"
);
return
Mono
.
just
(
bpn1
);
}
else
{
bpn1
.
setBpnProcessMessage
(
"Blocked Successfully"
);
return
Mono
.
just
(
bpn1
);
}
});
}
else
if
(
bpn2
.
getForceOptCd
().
equalsIgnoreCase
(
ActionEnum
.
FORCE
.
name
()))
{
return
bpnRepository
.
findByBpn
(
bpn2
.
getBpn
())
.
flatMap
(
bpn1
->
{
if
(
bpn2
.
getForceOptCd
().
equalsIgnoreCase
(
BPNStatusEnum
.
DELETED
.
name
()))
{
bpn1
.
setBpnProcessMessage
(
"BPN is Deleted already, Can't block it"
);
return
Mono
.
just
(
bpn1
);
}
else
{
bpn1
.
setBpnProcessMessage
(
"BPN Forced successfully"
);
return
Mono
.
just
(
bpn1
);
}
});
}
else
{
return
Mono
.
just
(
bpn2
);
}
});
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment