Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
A
Afrishop refactored project
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
Whispa
Afrishop refactored project
Commits
43eb791c
提交
43eb791c
authored
9月 21, 2020
作者:
Whispa
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
commit
上级
bca37b2b
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
60 行增加
和
30 行删除
+60
-30
CartController.java
...a/com/example/afrishop_v3/controllers/CartController.java
+11
-1
CouponController.java
...com/example/afrishop_v3/controllers/CouponController.java
+9
-16
DpoPayController.java
...com/example/afrishop_v3/controllers/DpoPayController.java
+10
-2
FlutterWaveController.java
...xample/afrishop_v3/controllers/FlutterWaveController.java
+9
-2
OrderController.java
.../com/example/afrishop_v3/controllers/OrderController.java
+21
-9
没有找到文件。
src/main/java/com/example/afrishop_v3/controllers/CartController.java
浏览文件 @
43eb791c
...
...
@@ -6,6 +6,7 @@ import com.example.afrishop_v3.enums.ResultCodeEnum;
import
com.example.afrishop_v3.models.TbCfCartRecordR
;
import
com.example.afrishop_v3.models.TbCfExpressTemplate
;
import
com.example.afrishop_v3.models.TbCfStationItem
;
import
com.example.afrishop_v3.models.TbCfUserInfo
;
import
com.example.afrishop_v3.repository.TbCfCartRecordRRepository
;
import
com.example.afrishop_v3.repository.TbCfExpressTemplateRepository
;
import
com.example.afrishop_v3.repository.TbCfStationItemRepository
;
...
...
@@ -53,7 +54,9 @@ public class CartController extends Controller {
@PostMapping
public
Result
addToCart
(
@RequestBody
TbCfCartRecordR
itemDetail
)
{
String
userId
=
this
.
user
.
userId
();
TbCfUserInfo
user
=
this
.
user
.
user
();
String
userId
=
user
.
getUserId
();
if
(
itemDetail
==
null
)
{
return
new
Result
(
ResultCodeEnum
.
SERVICE_ERROR
.
getCode
(),
"Request body is empty"
);
...
...
@@ -107,6 +110,13 @@ public class CartController extends Controller {
insertRecord
(
itemDetail
,
userId
);
}
if
(
user
.
hasFcm
()
){
int
i
=
repository
.
countByUserId
(
userId
);
sendNotification
(
user
.
getFcm
(),
"Cart updates"
,
"Item added to cart, "
+
i
+
" item(s) are pending, continue with order"
);
}
return
new
Result
();
}
...
...
src/main/java/com/example/afrishop_v3/controllers/CouponController.java
浏览文件 @
43eb791c
package
com
.
example
.
afrishop_v3
.
controllers
;
import
com.example.afrishop_v3.base.Result
;
import
com.example.afrishop_v3.enums.ResultCodeEnum
;
import
com.example.afrishop_v3.models.TbCfToicoupon
;
import
com.example.afrishop_v3.repository.TbCfCouponRepository
;
import
com.example.afrishop_v3.repository.TbCfToicouponRepository
;
...
...
@@ -27,23 +26,17 @@ public class CouponController {
@GetMapping
public
Result
getUserCoupons
(){
try
{
String
userId
=
user
.
userId
();
List
<
TbCfToicoupon
>
availableCoupons
=
repository
.
queryUserAvailableCoupon
(
userId
);
List
<
TbCfToicoupon
>
expiredCoupons
=
repository
.
queryUserExpiredCoupon
(
userId
);
List
<
TbCfToicoupon
>
usedCoupons
=
repository
.
queryUserUsedCoupon
(
userId
);
String
userId
=
user
.
userId
();
List
<
TbCfToicoupon
>
availableCoupons
=
repository
.
queryUserAvailableCoupon
(
userId
);
List
<
TbCfToicoupon
>
expiredCoupons
=
repository
.
queryUserExpiredCoupon
(
userId
);
List
<
TbCfToicoupon
>
usedCoupons
=
repository
.
queryUserUsedCoupon
(
userId
);
LinkedHashMap
<
String
,
Object
>
hashMap
=
new
LinkedHashMap
<>();
LinkedHashMap
<
String
,
Object
>
hashMap
=
new
LinkedHashMap
<>();
hashMap
.
put
(
"validCouponList"
,
availableCoupons
);
hashMap
.
put
(
"usedCouponList"
,
usedCoupons
);
hashMap
.
put
(
"expiredCouponList"
,
expiredCoupons
);
hashMap
.
put
(
"validCouponList"
,
availableCoupons
);
hashMap
.
put
(
"usedCouponList"
,
usedCoupons
);
hashMap
.
put
(
"expiredCouponList"
,
expiredCoupons
);
return
new
Result
<>(
hashMap
);
}
catch
(
Exception
e
){
System
.
out
.
println
(
e
.
getMessage
());
return
new
Result
(
ResultCodeEnum
.
VALIDATE_ERROR
.
getCode
(),
e
.
getMessage
());
}
return
new
Result
<>(
hashMap
);
}
}
src/main/java/com/example/afrishop_v3/controllers/DpoPayController.java
浏览文件 @
43eb791c
...
...
@@ -8,8 +8,10 @@ import com.example.afrishop_v3.enums.OrderStatusEnum;
import
com.example.afrishop_v3.enums.ResultCodeEnum
;
import
com.example.afrishop_v3.models.TbCfFinance
;
import
com.example.afrishop_v3.models.TbCfOrder
;
import
com.example.afrishop_v3.models.TbCfUserInfo
;
import
com.example.afrishop_v3.repository.TbCfFinanceRepository
;
import
com.example.afrishop_v3.repository.TbCfOrderRepository
;
import
com.example.afrishop_v3.security.services.AuthenticationUser
;
import
com.example.afrishop_v3.util.DataUtils
;
import
com.example.afrishop_v3.util.HttpsUtil
;
import
com.example.afrishop_v3.util.IdUtil
;
...
...
@@ -30,15 +32,17 @@ import java.util.Optional;
@RestController
@RequestMapping
(
"/dpo"
)
public
class
DpoPayController
{
public
class
DpoPayController
extends
Controller
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
DpoPayController
.
class
);
private
final
TbCfOrderRepository
repository
;
private
final
TbCfFinanceRepository
financeRepository
;
private
final
AuthenticationUser
user
;
public
DpoPayController
(
TbCfOrderRepository
repository
,
TbCfFinanceRepository
financeRepository
)
{
public
DpoPayController
(
TbCfOrderRepository
repository
,
TbCfFinanceRepository
financeRepository
,
AuthenticationUser
user
)
{
this
.
repository
=
repository
;
this
.
financeRepository
=
financeRepository
;
this
.
user
=
user
;
}
...
...
@@ -103,6 +107,10 @@ public class DpoPayController {
String
resCode
=
api3G
.
getString
(
"Result"
);
//校验交易状态码
if
(
DpoConfig
.
SUCCESS_CODE
.
equals
(
resCode
))
{
TbCfUserInfo
user
=
this
.
user
.
user
();
if
(
user
.
hasFcm
()
){
sendNotification
(
user
.
getFcm
(),
"Order alert !!"
,
"Order of $"
+
order
.
getRealityPay
()
+
" has been successfully paid !!"
);
}
//获取缓存中的订单
// TbCfOrderVo tbCfOrderVo = (TbCfOrderVo) orderRedisCache.get(KeyConstant.ORDER_DET + orderId);
// //如果缓存中没有订单,则从数据库中查找
...
...
src/main/java/com/example/afrishop_v3/controllers/FlutterWaveController.java
浏览文件 @
43eb791c
...
...
@@ -13,6 +13,7 @@ import com.example.afrishop_v3.models.*;
import
com.example.afrishop_v3.repository.TbCfFinanceRepository
;
import
com.example.afrishop_v3.repository.TbCfOrderRepository
;
import
com.example.afrishop_v3.repository.UserRepository
;
import
com.example.afrishop_v3.security.services.AuthenticationUser
;
import
com.example.afrishop_v3.util.HttpClientUtil
;
import
com.example.afrishop_v3.util.IdUtil
;
import
org.json.JSONObject
;
...
...
@@ -27,12 +28,13 @@ import java.util.*;
@RestController
@RequestMapping
(
"/flutterwave"
)
public
class
FlutterWaveController
{
public
class
FlutterWaveController
extends
Controller
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
FlutterWaveController
.
class
);
private
final
TbCfOrderRepository
repository
;
private
final
TbCfFinanceRepository
financeRepository
;
private
final
UserRepository
userRepository
;
private
final
DomainProperties
domainProperties
;
private
final
AuthenticationUser
user
;
//退款API
...
...
@@ -41,11 +43,12 @@ public class FlutterWaveController {
// //校验API
private
String
VERIFY_PAY_URL
=
"https://api.ravepay.co/flwv3-pug/getpaidx/api/v2/verify"
;
public
FlutterWaveController
(
TbCfOrderRepository
repository
,
TbCfFinanceRepository
financeRepository
,
UserRepository
userRepository
,
DomainProperties
domainProperties
)
{
public
FlutterWaveController
(
TbCfOrderRepository
repository
,
TbCfFinanceRepository
financeRepository
,
UserRepository
userRepository
,
DomainProperties
domainProperties
,
AuthenticationUser
user
)
{
this
.
repository
=
repository
;
this
.
financeRepository
=
financeRepository
;
this
.
userRepository
=
userRepository
;
this
.
domainProperties
=
domainProperties
;
this
.
user
=
user
;
}
@PostMapping
(
"/pay"
)
...
...
@@ -129,6 +132,10 @@ public class FlutterWaveController {
String
paymentid
=
results
.
getString
(
"paymentid"
);
String
authurl
=
results
.
getString
(
"authurl"
);
if
(
"success"
.
equalsIgnoreCase
(
statusFlag
)
&&
"successful"
.
equalsIgnoreCase
(
status
))
{
TbCfUserInfo
user
=
this
.
user
.
user
();
if
(
user
.
hasFcm
()
){
sendNotification
(
user
.
getFcm
(),
"Order alert !!"
,
"Order of $"
+
tbCfOrderVo
.
getRealityPay
()
+
" has been successfully paid !!"
);
}
logger
.
info
(
"订单号"
+
orderId
+
"[flutterwave支付]校验成功时间:"
+
new
Date
());
//支付成功
changeOrderState
(
paymentid
,
tbCfOrderVo
);
...
...
src/main/java/com/example/afrishop_v3/controllers/OrderController.java
浏览文件 @
43eb791c
...
...
@@ -15,6 +15,7 @@ import org.springframework.data.domain.Sort;
import
org.springframework.web.bind.annotation.*
;
import
java.io.IOException
;
import
java.math.BigDecimal
;
import
java.net.URISyntaxException
;
import
java.util.ArrayList
;
import
java.util.Date
;
...
...
@@ -29,7 +30,7 @@ import static org.springframework.data.domain.Sort.Order.desc;
@RestController
@RequestMapping
(
"/order"
)
public
class
OrderController
{
public
class
OrderController
extends
Controller
{
private
final
TbCfOrderRepository
repository
;
private
final
TbCfCartRecordRRepository
cartRepository
;
private
final
TbCfCouponRepository
couponRepository
;
...
...
@@ -46,7 +47,7 @@ public class OrderController {
this
.
user
=
user
;
}
private
TbCfCartRecordR
getCart
(
TbCfStationItem
item
,
String
itemSku
,
Integer
itemNum
)
{
private
TbCfCartRecordR
getCart
(
TbCfStationItem
item
,
String
itemSku
,
Integer
itemNum
,
Double
price
)
{
TbCfCartRecordR
record
=
new
TbCfCartRecordR
();
...
...
@@ -56,7 +57,7 @@ public class OrderController {
record
.
setItemSku
(
itemSku
);
record
.
setTemplate
(
item
.
getExpress
());
record
.
setItemTitle
(
item
.
getItemName
());
record
.
setItemPrice
(
item
.
getOneOfPrices
(
));
record
.
setItemPrice
(
BigDecimal
.
valueOf
(
price
));
record
.
setItemImg
(
item
.
getItemImg
());
return
record
;
...
...
@@ -64,10 +65,14 @@ public class OrderController {
@GetMapping
(
"/payNow"
)
public
Result
<
TbCfOrder
>
payNow
(
@RequestParam
(
"itemId"
)
String
itemId
,
@RequestParam
(
"itemNum"
)
Integer
itemNum
,
@RequestParam
(
value
=
"itemSku"
,
defaultValue
=
""
)
String
itemSku
,
@RequestParam
(
value
=
"toitableId"
,
required
=
false
)
String
toitableId
)
{
public
Result
<
TbCfOrder
>
payNow
(
@RequestParam
(
"itemId"
)
String
itemId
,
@RequestParam
(
"itemNum"
)
Integer
itemNum
,
@RequestParam
(
value
=
"itemSku"
,
defaultValue
=
""
)
String
itemSku
,
@RequestParam
(
value
=
"itemPrice"
)
Double
itemPrice
,
@RequestParam
(
value
=
"toitableId"
,
required
=
false
)
String
toitableId
)
{
TbCfOrder
order
=
new
TbCfOrder
();
if
(
StringUtils
.
isBlank
(
itemId
)
||
itemNum
==
null
||
itemNum
<=
0
)
if
(
StringUtils
.
isBlank
(
itemId
)
||
itemNum
==
null
||
itemNum
<=
0
||
itemPrice
==
null
||
itemPrice
<=
0
)
return
new
Result
<>(
ResultCodeEnum
.
SERVICE_ERROR
.
getCode
(),
"Missing information !"
);
Optional
<
TbCfStationItem
>
byId
=
itemRepository
.
findById
(
itemId
);
...
...
@@ -79,7 +84,7 @@ public class OrderController {
List
<
TbCfCartRecordR
>
list
=
new
ArrayList
<>();
list
.
add
(
getCart
(
item
,
itemSku
,
itemNum
));
list
.
add
(
getCart
(
item
,
itemSku
,
itemNum
,
itemPrice
));
order
.
setCouponId
(
toitableId
);
if
(
toitableId
!=
null
&&
!
toitableId
.
isEmpty
())
{
...
...
@@ -126,8 +131,10 @@ public class OrderController {
@RequestParam
(
value
=
"itemId"
,
required
=
false
)
String
itemId
,
@RequestParam
(
value
=
"itemNum"
,
required
=
false
)
Integer
itemNum
,
@RequestParam
(
value
=
"itemSku"
,
required
=
false
)
String
itemSku
,
@RequestParam
(
value
=
"itemPrice"
,
required
=
false
)
Double
itemPrice
,
@RequestParam
(
value
=
"web"
,
required
=
false
)
String
web
)
throws
IOException
,
URISyntaxException
,
ExecutionException
,
InterruptedException
,
TimeoutException
{
String
userId
=
user
.
userId
();
TbCfUserInfo
user
=
this
.
user
.
user
();
String
userId
=
user
.
getUserId
();
int
v_code
=
ResultCodeEnum
.
VALIDATE_ERROR
.
getCode
();
...
...
@@ -136,7 +143,7 @@ public class OrderController {
boolean
noCartBody
=
tbCfOrder
.
getIds
()
==
null
||
tbCfOrder
.
getIds
().
length
<=
0
;
boolean
noPayNow
=
itemId
==
null
||
itemId
.
isEmpty
()
||
itemNum
==
null
||
itemNum
<=
0
;
boolean
noPayNow
=
itemId
==
null
||
itemId
.
isEmpty
()
||
itemNum
==
null
||
itemNum
<=
0
||
itemPrice
==
null
||
itemPrice
<=
0
;
if
(
noCartBody
&&
noPayNow
)
return
new
Result
<>(
v_code
,
"Empty body"
);
...
...
@@ -150,7 +157,7 @@ public class OrderController {
TbCfStationItem
stationItem
=
byId
.
get
();
allByUserId
.
add
(
getCart
(
stationItem
,
itemSku
,
itemNum
));
allByUserId
.
add
(
getCart
(
stationItem
,
itemSku
,
itemNum
,
itemPrice
));
}
else
{
allByUserId
=
cartRepository
.
findAllByCartRecordIdIn
(
tbCfOrder
.
getIds
());
...
...
@@ -201,6 +208,11 @@ public class OrderController {
// implementation of coupon use
if
(
user
.
hasFcm
()
){
sendNotification
(
user
.
getFcm
(),
"Order alert !!"
,
"Order of $"
+
order
.
getRealityPay
()+
" has been created , proceed with payment"
);
}
return
new
Result
<>(
save
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论