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
7ad2ea7c
Commit
7ad2ea7c
authored
Apr 10, 2023
by
郑云飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bugfix
parent
60281576
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
109 additions
and
103 deletions
+109
-103
yongqi-admin/src/main/java/com/yongqi/web/controller/system/SysLoginController.java
+9
-5
yongqi-admin/src/main/resources/application-dev.yml
+1
-1
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/controller/DbFileController.java
+20
-22
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/controller/DbOrderController.java
+28
-30
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/service/impl/DbOrderServiceImpl.java
+51
-45
No files found.
yongqi-admin/src/main/java/com/yongqi/web/controller/system/SysLoginController.java
View file @
7ad2ea7c
package
com
.
yongqi
.
web
.
controller
.
system
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
cn.dev33.satoken.context.SaHolder
;
import
com.yongqi.common.constant.Constants
;
import
com.yongqi.common.core.domain.R
;
import
com.yongqi.common.core.domain.entity.SysMenu
;
...
...
@@ -9,8 +8,8 @@ import com.yongqi.common.core.domain.entity.SysUser;
import
com.yongqi.common.core.domain.model.LoginBody
;
import
com.yongqi.common.core.domain.model.LoginUser
;
import
com.yongqi.common.core.domain.model.SmsLoginBody
;
import
com.yongqi.common.core.domain.model.XcxLoginUser
;
import
com.yongqi.common.helper.LoginHelper
;
import
com.yongqi.common.utils.StringUtils
;
import
com.yongqi.system.domain.vo.RouterVo
;
import
com.yongqi.system.service.ISysMenuService
;
import
com.yongqi.system.service.ISysUserService
;
...
...
@@ -119,11 +118,16 @@ public class SysLoginController {
* @return 用户信息
*/
@GetMapping
(
"getInfo"
)
public
R
<
Map
<
String
,
Object
>>
getInfo
()
{
public
R
<
Map
<
String
,
Object
>>
getInfo
(
@RequestParam
(
value
=
"adminTag"
,
required
=
false
)
String
adminTag
)
{
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
DbWxUserVo
user
=
wxUserService
.
queryById
(
loginUser
.
getUserId
());
Map
<
String
,
Object
>
ajax
=
new
HashMap
<>();
ajax
.
put
(
"user"
,
user
);
if
(
StringUtils
.
isEmpty
(
adminTag
))
{
DbWxUserVo
user
=
wxUserService
.
queryById
(
loginUser
.
getUserId
());
ajax
.
put
(
"user"
,
user
);
}
else
{
SysUser
user
=
userService
.
selectUserById
(
loginUser
.
getUserId
());
ajax
.
put
(
"user"
,
user
);
}
ajax
.
put
(
"roles"
,
loginUser
.
getRolePermission
());
ajax
.
put
(
"permissions"
,
loginUser
.
getMenuPermission
());
return
R
.
ok
(
ajax
);
...
...
yongqi-admin/src/main/resources/application-dev.yml
View file @
7ad2ea7c
...
...
@@ -175,7 +175,7 @@ wx:
mchKey
:
fdfgg56hdfgh52sdf35dfgscfg84wsed
#微信支付商户密钥
subAppId
:
#服务商模式下的子商户公众账号ID
subMchId
:
#服务商模式下的子商户号
keyPath
:
/opt/xinrenli/cert/
#C:\\ProgramData\\certKey\xinrenli\\apiclient_cert.p12 # p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)
keyPath
:
/opt/xinrenli/cert/
apiclient_cert.p12
#C:\\ProgramData\\certKey\xinrenli\\apiclient_cert.p12 # p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)
notifyUrl
:
http://xinrenli.nyinhong.com/api/xinrenli/order/notify
# 微信支付回调接口
refundNotifyUrl
:
http://xinrenli.nyinhong.com/api/xinrenli/order/refundNotify
# 微信t退款回调接口
# mp:
...
...
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/controller/DbFileController.java
View file @
7ad2ea7c
package
com
.
yongqi
.
xinrenli
.
controller
;
import
java.io.File
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.*
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.validation.annotation.Validated
;
import
com.yongqi.common.annotation.RepeatSubmit
;
import
com.yongqi.common.annotation.Log
;
import
com.yongqi.common.annotation.RepeatSubmit
;
import
com.yongqi.common.core.controller.BaseController
;
import
com.yongqi.common.core.domain.PageQuery
;
import
com.yongqi.common.core.domain.R
;
import
com.yongqi.common.core.page.TableDataInfo
;
import
com.yongqi.common.core.validate.AddGroup
;
import
com.yongqi.common.core.validate.EditGroup
;
import
com.yongqi.common.enums.BusinessType
;
import
com.yongqi.common.utils.poi.ExcelUtil
;
import
com.yongqi.xinrenli.domain.vo.DbFileVo
;
import
com.yongqi.xinrenli.domain.bo.DbFileBo
;
import
com.yongqi.xinrenli.domain.vo.DbFileVo
;
import
com.yongqi.xinrenli.service.IDbFileService
;
import
com.yongqi.common.core.page.TableDataInfo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.*
;
/**
* 文件
*
...
...
@@ -120,11 +118,11 @@ public class DbFileController extends BaseController {
* @return
*/
@SaCheckPermission
(
"xinrenli:file:upload"
)
@Log
(
title
=
"
文件"
,
businessType
=
BusinessType
.
DELETE
)
@Log
(
title
=
"
上传文件"
,
businessType
=
BusinessType
.
OTHER
)
@PostMapping
(
"/upload"
)
public
R
upload
(
MultipartFile
file
,
HttpServletRequest
req
)
{
if
(!
file
.
isEmpty
()){
String
uploadPath
=
"C:\\uploadFile"
;
//
String uploadPath = "C:\\uploadFile";
// 如果目录不存在则创建
File
uploadDir
=
new
File
(
uploadPath
);
if
(!
uploadDir
.
exists
())
{
...
...
@@ -133,9 +131,9 @@ public class DbFileController extends BaseController {
String
OriginalFilename
=
file
.
getOriginalFilename
();
//获取原文件名
String
suffixName
=
OriginalFilename
.
substring
(
OriginalFilename
.
lastIndexOf
(
"."
));
//获取文件后缀名
//重新随机生成名字
String
filename
=
UUID
.
randomUUID
().
toString
()
+
suffixName
;
File
localFile
=
new
File
(
uploadPath
+
"\\"
+
filename
);
String
url
=
"http://xinrenli.nyinhong.com/image/"
+
filename
;
String
filename
=
UUID
.
randomUUID
().
toString
()
+
suffixName
;
File
localFile
=
new
File
(
uploadPath
+
filename
);
String
url
=
"http://xinrenli.nyinhong.com/image/"
+
filename
;
try
{
file
.
transferTo
(
localFile
);
//把上传的文件保存至本地
/**
...
...
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/controller/DbOrderController.java
View file @
7ad2ea7c
package
com
.
yongqi
.
xinrenli
.
controller
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Arrays
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.github.binarywang.wxpay.exception.WxPayException
;
import
com.yongqi.common.core.domain.model.LoginUser
;
import
com.yongqi.common.helper.LoginHelper
;
import
com.yongqi.common.utils.ip.AddressUtils
;
import
com.yongqi.xinrenli.domain.DbOrder
;
import
com.yongqi.xinrenli.domain.bo.DbOrderEditBo
;
import
com.yongqi.xinrenli.domain.vo.ReportFormsVo
;
import
lombok.RequiredArgsConstructor
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.*
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
org.aspectj.weaver.ast.Var
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.validation.annotation.Validated
;
import
com.yongqi.common.annotation.RepeatSubmit
;
import
com.yongqi.common.annotation.Log
;
import
com.yongqi.common.annotation.RepeatSubmit
;
import
com.yongqi.common.core.controller.BaseController
;
import
com.yongqi.common.core.domain.PageQuery
;
import
com.yongqi.common.core.domain.R
;
import
com.yongqi.common.core.domain.model.LoginUser
;
import
com.yongqi.common.core.page.TableDataInfo
;
import
com.yongqi.common.core.validate.AddGroup
;
import
com.yongqi.common.core.validate.EditGroup
;
import
com.yongqi.common.enums.BusinessType
;
import
com.yongqi.common.helper.LoginHelper
;
import
com.yongqi.common.utils.ip.AddressUtils
;
import
com.yongqi.common.utils.poi.ExcelUtil
;
import
com.yongqi.xinrenli.domain.vo.DbOrderVo
;
import
com.yongqi.xinrenli.domain.bo.DbOrderBo
;
import
com.yongqi.xinrenli.domain.bo.DbOrderEditBo
;
import
com.yongqi.xinrenli.domain.vo.DbOrderVo
;
import
com.yongqi.xinrenli.domain.vo.ReportFormsVo
;
import
com.yongqi.xinrenli.service.IDbOrderService
;
import
com.yongqi.common.core.page.TableDataInfo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 订单
...
...
@@ -59,6 +54,7 @@ public class DbOrderController extends BaseController {
public
TableDataInfo
<
DbOrderVo
>
list
(
DbOrderBo
bo
,
PageQuery
pageQuery
)
{
return
iDbOrderService
.
homeList
(
bo
,
pageQuery
);
}
/**
* 查询订单列表
*/
...
...
@@ -69,6 +65,7 @@ public class DbOrderController extends BaseController {
bo
.
setUserId
(
loginUser
.
getUserId
());
return
iDbOrderService
.
homeList
(
bo
,
pageQuery
);
}
/**
* 用户需求广场
*/
...
...
@@ -169,21 +166,22 @@ public class DbOrderController extends BaseController {
/**
* 下单
*
* @param orderId 订单id
* @param couponId 优惠券id
* @param orderId 订单id
* @param couponId 优惠券id
* @param discountId 折扣id
* @param request
* @return
*/
@SaCheckPermission
(
"xinrenli:order:pay"
)
@Log
(
title
=
"下单"
,
businessType
=
BusinessType
.
OTHER
)
@GetMapping
(
"/orderPay"
)
public
R
orderPay
(
@NotNull
(
message
=
"
主键
不能为空"
)
@RequestParam
(
"orderId"
)
Long
orderId
,
Long
couponId
,
Long
discountId
public
R
orderPay
(
@NotNull
(
message
=
"
订单id
不能为空"
)
@RequestParam
(
"orderId"
)
Long
orderId
,
@RequestParam
(
value
=
"couponId"
,
required
=
false
)
Long
couponId
,
@RequestParam
(
value
=
"discountId"
,
required
=
false
)
Long
discountId
,
HttpServletRequest
request
)
{
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
String
ipAddr
=
AddressUtils
.
getIpAddr
(
request
);
return
iDbOrderService
.
orderPay
(
orderId
,
couponId
,
discountId
,
loginUser
,
ipAddr
);
return
iDbOrderService
.
orderPay
(
orderId
,
couponId
,
discountId
,
loginUser
,
ipAddr
);
}
/**
...
...
yongqi-xinrenli/src/main/java/com/yongqi/xinrenli/service/impl/DbOrderServiceImpl.java
View file @
7ad2ea7c
...
...
@@ -2,7 +2,10 @@ package com.yongqi.xinrenli.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.binarywang.wxpay.bean.notify.WxPayNotifyResponse
;
import
com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult
;
import
com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult
;
...
...
@@ -12,29 +15,26 @@ import com.github.binarywang.wxpay.bean.result.WxPayRefundResult;
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.PageQuery
;
import
com.yongqi.common.core.domain.R
;
import
com.yongqi.common.core.domain.model.LoginUser
;
import
com.yongqi.common.utils.StringUtils
;
import
com.yongqi.common.core.page.TableDataInfo
;
import
com.yongqi.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.yongqi.common.utils.StringUtils
;
import
com.yongqi.common.utils.redis.CodeUtils
;
import
com.yongqi.xinrenli.domain.*
;
import
com.yongqi.xinrenli.domain.bo.DbOrderBo
;
import
com.yongqi.xinrenli.domain.bo.DbOrderEditBo
;
import
com.yongqi.xinrenli.domain.vo.*
;
import
com.yongqi.xinrenli.enums.DeleteStatusEnum
;
import
com.yongqi.xinrenli.enums.FileEnumServiceType
;
import
com.yongqi.xinrenli.enums.OrderStatusEnum
;
import
com.yongqi.xinrenli.mapper.*
;
import
com.yongqi.xinrenli.service.IDbOrderService
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
com.yongqi.xinrenli.domain.bo.DbOrderBo
;
import
com.yongqi.xinrenli.service.IDbOrderService
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
...
...
@@ -61,12 +61,13 @@ public class DbOrderServiceImpl implements IDbOrderService {
@Autowired
private
DbUserCouponMapper
userCouponMapper
;
@Autowired
private
DbUserDiscountMapper
discountMapper
;
private
DbUserDiscountMapper
discountMapper
;
@Value
(
"${wx.pay.notifyUrl}"
)
private
String
payNotifyUrl
;
@Value
(
"${wx.pay.refundNotifyUrl}"
)
private
String
refundNotifyUrl
;
private
final
DbWxUserMapper
wxUserMapper
;
/**
* 查询订单
*/
...
...
@@ -307,7 +308,7 @@ public class DbOrderServiceImpl implements IDbOrderService {
lqw
.
gt
(
bo
.
getActualAmount
()
!=
null
,
DbOrder:
:
getActualAmount
,
bo
.
getActualAmount
());
lqw
.
eq
(
bo
.
getUserId
()
!=
null
,
DbOrder:
:
getUserId
,
bo
.
getUserId
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getTitle
()),
DbOrder:
:
getTitle
,
bo
.
getTitle
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getLinkman
()),
DbOrder:
:
getLinkman
,
bo
.
getLinkman
());
lqw
.
like
(
StringUtils
.
isNotBlank
(
bo
.
getLinkman
()),
DbOrder:
:
getLinkman
,
bo
.
getLinkman
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getPhone
()),
DbOrder:
:
getPhone
,
bo
.
getPhone
());
lqw
.
eq
(
bo
.
getRepairTime
()
!=
null
,
DbOrder:
:
getRepairTime
,
bo
.
getRepairTime
());
lqw
.
eq
(
StringUtils
.
isNotBlank
(
bo
.
getRepairAddress
()),
DbOrder:
:
getRepairAddress
,
bo
.
getRepairAddress
());
...
...
@@ -337,7 +338,7 @@ public class DbOrderServiceImpl implements IDbOrderService {
.
eq
(
DbFile:
:
getServiceType
,
FileEnumServiceType
.
ORDER
.
getServiceTyp
())
.
eq
(
DbFile:
:
getDeleteStatus
,
DeleteStatusEnum
.
OK
.
getCode
()));
if
(
ObjectUtils
.
isEmpty
(
dbFileVo
))
{
// throw new RuntimeException("这个订单没有文件");
// throw new RuntimeException("这个订单没有文件");
}
Map
<
String
,
List
<
DbFileVo
>>
groupMap
=
dbFileVo
.
stream
().
collect
(
Collectors
.
groupingBy
(
u
->
u
.
getFileType
()));
groupMap
.
forEach
((
k
,
v
)
->
{
...
...
@@ -367,47 +368,51 @@ public class DbOrderServiceImpl implements IDbOrderService {
*/
@Override
@Transactional
public
R
orderPay
(
Long
orderId
,
Long
couponId
,
Long
discountId
,
LoginUser
loginUser
,
String
ipAddr
)
{
public
R
orderPay
(
Long
orderId
,
Long
couponId
,
Long
discountId
,
LoginUser
loginUser
,
String
ipAddr
)
{
// 1.根据订单id获取订单信息
DbOrder
dbOrder
=
this
.
baseMapper
.
selectById
(
orderId
);
//支付金额
BigDecimal
payAmount
=
dbOrder
.
getActualAmount
();
// 2.根据卡券id获取卡券信息
DbCoupon
dbCoupon
=
couponMapper
.
selectById
(
couponId
);
//3.根据打折id获取打折信息
DbUserDiscount
discount
=
discountMapper
.
selectById
(
discountId
);
// 4.计算应支付金额
if
(
ObjectUtils
.
isNotEmpty
(
dbCoupon
)){
if
(
dbCoupon
.
getMinUsed
().
compareTo
(
dbOrder
.
getActualAmount
())
>
0
)
{
throw
new
RuntimeException
(
"未达到此优惠券的最低消费金额"
);
}
// 查询用户优惠券关联信息
DbUserCoupon
userCoupon
=
userCouponMapper
.
selectOne
(
Wrappers
.<
DbUserCoupon
>
lambdaQuery
()
.
eq
(
DbUserCoupon:
:
getCouponId
,
couponId
)
.
eq
(
DbUserCoupon:
:
getUserId
,
loginUser
.
getUserId
()));
// 判断用户是否有此优惠券
if
(
ObjectUtils
.
isEmpty
(
userCoupon
))
{
log
.
error
(
"该用户没有此优惠券:userId:{},couponId:{}"
,
loginUser
.
getUserId
(),
couponId
);
return
R
.
fail
(
"没有此优惠券"
);
}
if
(
Objects
.
equals
(
userCoupon
.
getUseStatus
(),
DeleteStatusEnum
.
DELETED
.
getCode
()))
{
log
.
error
(
"此优惠券已经使用过了:userId:{},couponId:{}"
,
loginUser
.
getUserId
(),
couponId
);
return
R
.
fail
(
"此优惠券已经使用过了"
);
if
(
ObjectUtils
.
isNotEmpty
(
couponId
))
{
DbCoupon
dbCoupon
=
couponMapper
.
selectById
(
couponId
);
if
(
ObjectUtils
.
isNotEmpty
(
dbCoupon
))
{
// 4.计算应支付金额
if
(
dbCoupon
.
getMinUsed
().
compareTo
(
dbOrder
.
getActualAmount
())
>
0
)
{
throw
new
RuntimeException
(
"未达到此优惠券的最低消费金额"
);
}
// 查询用户优惠券关联信息
DbUserCoupon
userCoupon
=
userCouponMapper
.
selectOne
(
Wrappers
.<
DbUserCoupon
>
lambdaQuery
()
.
eq
(
DbUserCoupon:
:
getCouponId
,
couponId
)
.
eq
(
DbUserCoupon:
:
getUserId
,
loginUser
.
getUserId
()));
// 判断用户是否有此优惠券
if
(
ObjectUtils
.
isEmpty
(
userCoupon
))
{
log
.
error
(
"该用户没有此优惠券:userId:{},couponId:{}"
,
loginUser
.
getUserId
(),
couponId
);
return
R
.
fail
(
"没有此优惠券"
);
}
if
(
Objects
.
equals
(
userCoupon
.
getUseStatus
(),
DeleteStatusEnum
.
DELETED
.
getCode
()))
{
log
.
error
(
"此优惠券已经使用过了:userId:{},couponId:{}"
,
loginUser
.
getUserId
(),
couponId
);
return
R
.
fail
(
"此优惠券已经使用过了"
);
}
payAmount
=
dbOrder
.
getActualAmount
().
subtract
(
dbCoupon
.
getFullSubtraction
());
}
payAmount
=
dbOrder
.
getActualAmount
().
subtract
(
dbCoupon
.
getFullSubtraction
());
}
if
(
ObjectUtils
.
isNotEmpty
(
discount
)){
if
(!
discount
.
getUserId
().
equals
(
loginUser
.
getUserId
())){
log
.
error
(
"该用户没有此折扣:userId:{},couponId:{}"
,
loginUser
.
getUserId
(),
discountId
);
return
R
.
fail
(
"没有此折扣"
);
}
if
(
Objects
.
equals
(
discount
.
getUseStatus
(),
DeleteStatusEnum
.
DELETED
.
getCode
()))
{
log
.
error
(
"此折扣已经使用过了:userId:{},couponId:{}"
,
loginUser
.
getUserId
(),
discountId
);
return
R
.
fail
(
"此折扣已经使用过了"
);
//3.根据打折id获取打折信息
if
(
ObjectUtils
.
isNotEmpty
(
discountId
))
{
DbUserDiscount
discount
=
discountMapper
.
selectById
(
discountId
);
if
(
ObjectUtils
.
isNotEmpty
(
discount
))
{
// 4.计算应支付金额
if
(!
discount
.
getUserId
().
equals
(
loginUser
.
getUserId
()))
{
log
.
error
(
"该用户没有此折扣:userId:{},couponId:{}"
,
loginUser
.
getUserId
(),
discountId
);
return
R
.
fail
(
"没有此折扣"
);
}
if
(
Objects
.
equals
(
discount
.
getUseStatus
(),
DeleteStatusEnum
.
DELETED
.
getCode
()))
{
log
.
error
(
"此折扣已经使用过了:userId:{},couponId:{}"
,
loginUser
.
getUserId
(),
discountId
);
return
R
.
fail
(
"此折扣已经使用过了"
);
}
payAmount
=
payAmount
.
multiply
(
discount
.
getDiscountRatio
());
}
payAmount
=
payAmount
.
multiply
(
discount
.
getDiscountRatio
());
}
dbOrder
.
setPayAmount
(
payAmount
);
dbOrder
.
setUseCouponId
(
couponId
);
dbOrder
.
setUseDiscountId
(
discountId
);
...
...
@@ -475,7 +480,7 @@ public class DbOrderServiceImpl implements IDbOrderService {
dbOrder
.
setWxOrderNo
(
notifyResult
.
getTransactionId
());
baseMapper
.
updateById
(
dbOrder
);
// 2.修改用户优惠券使用状态
if
(
ObjectUtils
.
isNotEmpty
(
dbOrder
.
getUseCouponId
()))
{
if
(
ObjectUtils
.
isNotEmpty
(
dbOrder
.
getUseCouponId
()))
{
DbUserCoupon
userCoupon
=
userCouponMapper
.
selectOne
(
Wrappers
.<
DbUserCoupon
>
lambdaQuery
()
.
eq
(
DbUserCoupon:
:
getCouponId
,
dbOrder
.
getUseCouponId
())
.
eq
(
DbUserCoupon:
:
getUserId
,
dbOrder
.
getUserId
()));
...
...
@@ -491,9 +496,9 @@ public class DbOrderServiceImpl implements IDbOrderService {
userCouponMapper
.
updateById
(
userCoupon
);
}
// 1.根据卡券id获取卡券信息
if
(
ObjectUtils
.
isNotEmpty
(
dbOrder
.
getUseDiscountId
()))
{
if
(
ObjectUtils
.
isNotEmpty
(
dbOrder
.
getUseDiscountId
()))
{
DbUserDiscount
discount
=
discountMapper
.
selectById
(
dbOrder
.
getUseDiscountId
());
if
(!
discount
.
getUserId
().
equals
(
dbOrder
.
getUserId
()))
{
if
(!
discount
.
getUserId
().
equals
(
dbOrder
.
getUserId
()))
{
log
.
error
(
"该用户没有此折扣:userId:{},couponId:{}"
,
dbOrder
.
getUserId
(),
dbOrder
.
getUseDiscountId
());
return
WxPayNotifyResponse
.
fail
(
"没有此折扣"
);
}
...
...
@@ -585,6 +590,7 @@ public class DbOrderServiceImpl implements IDbOrderService {
public
ReportFormsVo
reportForms
()
{
return
baseMapper
.
reportForms
();
}
@Override
public
ReportFormsVo
reportFormsExl
()
{
return
baseMapper
.
reportFormsExl
();
...
...
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