Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xinrenli
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
郑云飞
xinrenli
Commits
374aa2e8
Commit
374aa2e8
authored
Apr 06, 2023
by
郑云飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
小程序登录修改
parent
c4f155a4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
97 additions
and
3 deletions
+97
-3
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/domain/DbCoupon.java
+2
-2
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/domain/DbOrder.java
+20
-0
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/enums/OrderStatusEnum.java
+35
-0
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/service/impl/DbOrderServiceImpl.java
+40
-1
No files found.
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/domain/DbCoupon.java
View file @
374aa2e8
...
@@ -26,11 +26,11 @@ public class DbCoupon {
...
@@ -26,11 +26,11 @@ public class DbCoupon {
/**
/**
* 券类型1为新用户 0为满减卷
* 券类型1为新用户 0为满减卷
*/
*/
private
String
couponType
;
private
Integer
couponType
;
/**
/**
* 优惠内容
* 优惠内容
*/
*/
private
String
fullSubtraction
;
private
BigDecimal
fullSubtraction
;
/**
/**
* 使用门槛:最低消费
* 使用门槛:最低消费
*/
*/
...
...
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/domain/DbOrder.java
View file @
374aa2e8
...
@@ -25,6 +25,14 @@ public class DbOrder {
...
@@ -25,6 +25,14 @@ public class DbOrder {
@TableId
(
value
=
"id"
)
@TableId
(
value
=
"id"
)
private
Long
id
;
private
Long
id
;
/**
/**
* 订单号
*/
private
String
orderNo
;
/**
* 微信订单号
*/
private
String
wxOrderNo
;
/**
* 用户id
* 用户id
*/
*/
private
Long
userId
;
private
Long
userId
;
...
@@ -57,6 +65,14 @@ public class DbOrder {
...
@@ -57,6 +65,14 @@ public class DbOrder {
*/
*/
private
BigDecimal
actualAmount
;
private
BigDecimal
actualAmount
;
/**
/**
* 支付金额
*/
private
BigDecimal
payAmount
;
/**
* 使用优惠券id
*/
private
Long
useCouponId
;
/**
* 备注说明
* 备注说明
*/
*/
private
String
remark
;
private
String
remark
;
...
@@ -65,6 +81,10 @@ public class DbOrder {
...
@@ -65,6 +81,10 @@ public class DbOrder {
*/
*/
private
Integer
status
;
private
Integer
status
;
/**
/**
* 支付时间
*/
private
Date
payTime
;
/**
* 创建人
* 创建人
*/
*/
private
String
createUser
;
private
String
createUser
;
...
...
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/enums/OrderStatusEnum.java
0 → 100644
View file @
374aa2e8
package
com
.
yongqi
.
xinrenli
.
enums
;
/**
* @author zyf
* @date 2023/3/14
*/
public
enum
OrderStatusEnum
{
// 订单状态:0 已发布;1 已驳回;2 待支付;3 已接单;4 已完成;5 退款中;6 已退款
PUBLISHED
(
0
,
"已发布"
),
REJECTED
(
1
,
"已驳回"
),
TO_BE_PAID
(
2
,
"待支付"
),
PAYMENT_IN_PROGRESS
(
3
,
"支付中"
),
RECEIVED_ORDER
(
4
,
"已接单"
),
FINISHED
(
5
,
"已完成"
),
REFUBD_IN_PROGRESS
(
6
,
"退款中"
),
REFUNDED
(
7
,
"已退款"
),
;
private
final
Integer
code
;
private
final
String
info
;
OrderStatusEnum
(
Integer
code
,
String
info
)
{
this
.
code
=
code
;
this
.
info
=
info
;
}
public
Integer
getCode
()
{
return
code
;
}
public
String
getInfo
()
{
return
info
;
}
}
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/service/impl/DbOrderServiceImpl.java
View file @
374aa2e8
package
com
.
yongqi
.
xinrenli
.
service
.
impl
;
package
com
.
yongqi
.
xinrenli
.
service
.
impl
;
import
cn.binarywang.wx.miniapp.api.WxMaService
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest
;
import
com.github.binarywang.wxpay.constant.WxPayConstants
;
import
com.github.binarywang.wxpay.exception.WxPayException
;
import
com.github.binarywang.wxpay.service.WxPayService
;
import
com.yongqi.common.core.domain.R
;
import
com.yongqi.common.core.domain.R
;
import
com.yongqi.common.core.domain.entity.SysUser
;
import
com.yongqi.common.core.domain.entity.SysUser
;
import
com.yongqi.common.core.domain.model.LoginUser
;
import
com.yongqi.common.core.domain.model.LoginUser
;
...
@@ -50,6 +55,8 @@ public class DbOrderServiceImpl implements IDbOrderService {
...
@@ -50,6 +55,8 @@ public class DbOrderServiceImpl implements IDbOrderService {
private
final
DbFileMapper
fileMapper
;
private
final
DbFileMapper
fileMapper
;
@Autowired
@Autowired
private
DbCouponMapper
couponMapper
;
private
DbCouponMapper
couponMapper
;
@Autowired
private
WxPayService
wxPayService
;
/**
/**
* 查询订单
* 查询订单
...
@@ -286,10 +293,42 @@ public class DbOrderServiceImpl implements IDbOrderService {
...
@@ -286,10 +293,42 @@ public class DbOrderServiceImpl implements IDbOrderService {
if
(
dbCoupon
.
getMinUsed
().
compareTo
(
dbOrder
.
getActualAmount
())
>
0
){
if
(
dbCoupon
.
getMinUsed
().
compareTo
(
dbOrder
.
getActualAmount
())
>
0
){
throw
new
RuntimeException
(
"未达到此优惠券的最低消费金额"
);
throw
new
RuntimeException
(
"未达到此优惠券的最低消费金额"
);
}
}
BigDecimal
actualAmount
=
dbOrder
.
getActualAmount
();
BigDecimal
payAmount
=
dbOrder
.
getActualAmount
().
subtract
(
dbCoupon
.
getFullSubtraction
());
dbOrder
.
setPayAmount
(
payAmount
);
dbOrder
.
setUseCouponId
(
couponId
);
dbOrder
.
setStatus
();
// 4.组装支付数据
// 4.组装支付数据
WxPayUnifiedOrderRequest
request
=
new
WxPayUnifiedOrderRequest
();
// 需求标题
String
join
=
dbOrder
.
getTitle
();
if
(
join
.
length
()
>
40
)
{
join
=
join
.
substring
(
0
,
40
)
+
"..."
;
}
request
.
setBody
(
join
);
// 商户订单号
request
.
setOutTradeNo
(
consumerOrder
.
getOrderCode
());
// 子商户号
request
.
setSubMchId
(
dealer
.
getWxShopNo
());
BigDecimal
actualPrice
=
consumerOrder
.
getFinalPrice
().
multiply
(
BigDecimal
.
valueOf
(
100
));
// 标价金额
request
.
setTotalFee
((
actualPrice
.
intValue
()));
// 客户端IP
request
.
setSpbillCreateIp
(
ip
);
// 交易类型
request
.
setTradeType
(
WxPayConstants
.
TradeType
.
JSAPI
);
// 签名类型,默认为MD5,支持HMAC-SHA256和MD5。
request
.
setSignType
(
WxPayConstants
.
SignType
.
MD5
);
// 用户标识
request
.
setOpenid
(
wxUser
.
getOpenId
());
// 5.调用微信统一下单接口
// 5.调用微信统一下单接口
try
{
wxPayService
.
createOrder
(
request
);
// 6.返回支付所需数据
// 6.返回支付所需数据
}
catch
(
WxPayException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
null
;
return
null
;
}
}
...
...
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