Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
property-management
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
刘帅
property-management
Commits
77354c90
Commit
77354c90
authored
May 27, 2025
by
刘帅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.支付调整
parent
3efebfd8
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
73 additions
and
12 deletions
+73
-12
ApiWxPayRecordController.java
...web/controller/business/api/ApiWxPayRecordController.java
+18
-0
PayBizEnum.java
...ava/com/propertyManagement/business/enums/PayBizEnum.java
+2
-2
IWxPayRecordService.java
...pertyManagement/business/service/IWxPayRecordService.java
+10
-1
WxPayRecordServiceImpl.java
...agement/business/service/impl/WxPayRecordServiceImpl.java
+41
-4
LiveBillType.java
...ava/com/propertyManagement/common/enums/LiveBillType.java
+2
-1
CmsPayBizBo.java
...ava/com/propertyManagement/pay/domain/bo/CmsPayBizBo.java
+0
-4
No files found.
propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxPayRecordController.java
View file @
77354c90
...
...
@@ -4,6 +4,7 @@ import com.propertyManagement.business.domain.bo.WxPayRecordBo;
import
com.propertyManagement.business.domain.vo.WxPayRecordVo
;
import
com.propertyManagement.business.service.IWxPayRecordService
;
import
com.propertyManagement.business.support.util.AuthUtil
;
import
com.propertyManagement.common.annotation.Anonymous
;
import
com.propertyManagement.common.annotation.RepeatSubmit
;
import
com.propertyManagement.common.core.controller.BaseController
;
import
com.propertyManagement.common.core.domain.R
;
...
...
@@ -15,6 +16,8 @@ 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.util.List
;
...
...
@@ -53,4 +56,19 @@ public class ApiWxPayRecordController extends BaseController {
return
R
.
ok
(
iWxPayRecordService
.
pay
(
payReqModel
));
}
/**
* 支付回调
*
* @return 结果
*/
@Anonymous
@PostMapping
(
"/notify/{orderId}/{payChannelCode}/{payMchCode}/{payAppCode}"
)
public
void
callback
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@PathVariable
String
orderId
,
@PathVariable
String
payChannelCode
,
@PathVariable
String
payMchCode
,
@PathVariable
String
payAppCode
)
{
iWxPayRecordService
.
payCallback
(
orderId
,
payChannelCode
,
payMchCode
,
payAppCode
);
}
}
propertyManagement-business/src/main/java/com/propertyManagement/business/enums/PayBizEnum.java
View file @
77354c90
...
...
@@ -5,8 +5,8 @@ import com.siashan.toolkit.core.enums.IBaseEnum;
/**
* 支付业务枚举
*
* @author
siashan
* @date 202
3-11-11
* @author
liushuai
* @date 202
5-05-27
*/
public
enum
PayBizEnum
implements
IBaseEnum
<
String
>
{
...
...
propertyManagement-business/src/main/java/com/propertyManagement/business/service/IWxPayRecordService.java
View file @
77354c90
...
...
@@ -35,10 +35,19 @@ public interface IWxPayRecordService {
List
<
WxPayRecordVo
>
queryList
(
WxPayRecordBo
bo
);
/**
*
新增缴费记录
*
支付订单
*/
Result
<
Object
>
pay
(
PayReqModel
payReqModel
);
/**
* 支付回调
* @param orderId
* @param payChannelCode
* @param payMchCode
* @param payAppCode
*/
void
payCallback
(
String
orderId
,
String
payChannelCode
,
String
payMchCode
,
String
payAppCode
);
/**
* 新增缴费记录
*/
...
...
propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java
View file @
77354c90
...
...
@@ -9,6 +9,7 @@ import com.propertyManagement.business.mapper.WxLiveBillMapper;
import
com.propertyManagement.business.mapper.WxRepairsMapper
;
import
com.propertyManagement.business.support.util.AuthUtil
;
import
com.propertyManagement.common.enums.LiveBillState
;
import
com.propertyManagement.common.enums.LiveBillType
;
import
com.propertyManagement.common.enums.PayState
;
import
com.propertyManagement.common.enums.RepairsState
;
import
com.propertyManagement.common.utils.StringUtils
;
...
...
@@ -35,6 +36,7 @@ import com.propertyManagement.business.mapper.WxPayRecordMapper;
import
com.propertyManagement.business.service.IWxPayRecordService
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Collection
;
...
...
@@ -90,6 +92,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
PayBizEnum
payBiz
=
EnumUtil
.
getEnum
(
PayBizEnum
.
class
,
reqModel
.
getPayBizCode
());
Long
orderId
=
null
;
BigDecimal
payAmount
=
BigDecimal
.
ZERO
;
Integer
orderType
=
null
;
String
outTradeNo
=
null
;
switch
(
payBiz
)
{
case
PRESTORE:
...
...
@@ -105,6 +108,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
}
orderId
=
wxLiveBill
.
getBillId
();
payAmount
=
wxLiveBill
.
getMoney
();
orderType
=
wxLiveBill
.
getType
();
break
;
case
MAINTAIN:
WxRepairs
wxRepairs
=
repairsMapper
.
selectById
(
reqModel
.
getOrderId
());
...
...
@@ -119,17 +123,49 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
}
orderId
=
wxRepairs
.
getRepairsId
();
payAmount
=
wxRepairs
.
getMoney
();
orderType
=
LiveBillType
.
maintain
.
getCode
();
break
;
default
:
throw
new
RuntimeException
(
"支付失败,类型错误"
);
}
WxPayRecord
record
=
createPayRecord
(
orderId
,
payAmount
);
WxPayRecord
record
=
createPayRecord
(
orderId
,
payAmount
,
orderType
);
IPayment
payment
=
CmsUnipayProvider
.
getPayment
(
orderId
,
reqModel
.
getPayChannelCode
(),
reqModel
.
getPayMchCode
(),
reqModel
.
getPayAppCode
(),
reqModel
.
getPayBizCode
());
PayModel
payModel
=
getPayModel
(
record
);
return
payment
.
pay
(
payModel
);
}
private
WxPayRecord
createPayRecord
(
Long
orderId
,
BigDecimal
payAmount
)
{
/**
* @param orderId
* @param payChannelCode
* @param payMchCode
* @param payAppCode
*/
@Override
public
void
payCallback
(
String
orderId
,
String
payChannelCode
,
String
payMchCode
,
String
payAppCode
)
{
/**
* 更新支付记录状态
*/
LambdaQueryWrapper
<
WxPayRecord
>
recordLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
recordLambdaQueryWrapper
.
eq
(
WxPayRecord:
:
getOrderId
,
orderId
);
WxPayRecord
record
=
baseMapper
.
selectOne
(
recordLambdaQueryWrapper
);
record
.
setPayState
(
PayState
.
YES
.
getCode
());
baseMapper
.
updateById
(
record
);
/**
* 更新订单状态
*/
if
(
record
.
getOrderType
().
equals
(
LiveBillType
.
maintain
.
getCode
()))
{
WxRepairs
wxRepairs
=
repairsMapper
.
selectById
(
orderId
);
wxRepairs
.
setState
(
RepairsState
.
THREE
.
getCode
());
wxRepairs
.
setCompleteTime
(
new
Date
());
repairsMapper
.
updateById
(
wxRepairs
);
}
else
{
WxLiveBill
wxLiveBill
=
liveBillMapper
.
selectById
(
orderId
);
wxLiveBill
.
setState
(
LiveBillState
.
YES
.
getCode
());
liveBillMapper
.
updateById
(
wxLiveBill
);
}
}
private
WxPayRecord
createPayRecord
(
Long
orderId
,
BigDecimal
payAmount
,
Integer
orderType
)
{
LoginWxUser
wxUser
=
AuthUtil
.
getWxUser
();
WxPayRecord
record
=
new
WxPayRecord
();
record
.
setOrderId
(
orderId
);
...
...
@@ -142,6 +178,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
record
.
setRoom
(
wxUser
.
getRoom
());
record
.
setCommunityId
(
wxUser
.
getCommunityId
());
record
.
setCommunityName
(
wxUser
.
getCommunityName
());
record
.
setOrderType
(
orderType
);
baseMapper
.
insert
(
record
);
return
record
;
}
...
...
@@ -152,8 +189,8 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
payModel
.
setPrice
(
record
.
getPayAmount
());
payModel
.
setOpenid
(
wxUser
.
getOpenId
());
payModel
.
setOutTradeNo
(
record
.
getOutTradeNo
());
payModel
.
setBody
(
"订单
支付"
);
payModel
.
setSubject
(
"订单
支付"
);
payModel
.
setBody
(
record
.
getOrderType
().
equals
(
LiveBillType
.
maintain
.
getCode
())
?
"维修费用支付"
:
"预存
支付"
);
payModel
.
setSubject
(
record
.
getOrderType
().
equals
(
LiveBillType
.
maintain
.
getCode
())
?
"维修费用支付"
:
"预存
支付"
);
payModel
.
setSpbillCreateIp
(
IpUtils
.
getIpAddr
());
return
payModel
;
}
...
...
propertyManagement-common/src/main/java/com/propertyManagement/common/enums/LiveBillType.java
View file @
77354c90
...
...
@@ -12,7 +12,8 @@ public enum LiveBillType {
carport_manage
(
4
,
"车位管理费"
),
carport_lease
(
5
,
"车位出租费"
),
storeroom
(
6
,
"储藏室出租"
),
other
(
7
,
"其他费用"
);
other
(
7
,
"其他费用"
),
maintain
(
8
,
"维修费用"
);
private
final
Integer
code
;
...
...
propertyManagement-pay/src/main/java/com/propertyManagement/pay/domain/bo/CmsPayBizBo.java
View file @
77354c90
...
...
@@ -42,7 +42,6 @@ public class CmsPayBizBo extends BaseEntity {
/**
* 业务简介
*/
@NotBlank
(
message
=
"业务简介不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
bizIntro
;
/**
...
...
@@ -54,7 +53,6 @@ public class CmsPayBizBo extends BaseEntity {
/**
* 是否锁定 0 否 1 是
*/
@NotNull
(
message
=
"是否锁定 0 否 1 是不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Integer
isLock
;
/**
...
...
@@ -66,13 +64,11 @@ public class CmsPayBizBo extends BaseEntity {
/**
* 退款回调地址模板
*/
@NotBlank
(
message
=
"退款回调地址模板不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
refundNotifyUrlTmpl
;
/**
* 备注
*/
@NotBlank
(
message
=
"备注不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
remark
;
...
...
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