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
9b7b5fdf
Commit
9b7b5fdf
authored
May 28, 2025
by
刘帅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.微信支付接入
parent
77354c90
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
210 additions
and
37 deletions
+210
-37
ApiLoginController.java
...ement/web/controller/business/api/ApiLoginController.java
+16
-8
ApiWxFamilyMemberController.java
.../controller/business/api/ApiWxFamilyMemberController.java
+17
-0
ApiWxPayRecordController.java
...web/controller/business/api/ApiWxPayRecordController.java
+22
-3
apiclient_cert.p12
...nagement-admin/src/main/resources/cert/apiclient_cert.p12
+0
-0
apiclient_cert.pem
...nagement-admin/src/main/resources/cert/apiclient_cert.pem
+25
-0
apiclient_key.pem
...anagement-admin/src/main/resources/cert/apiclient_key.pem
+28
-0
证书使用说明.txt
propertyManagement-admin/src/main/resources/cert/证书使用说明.txt
+19
-0
IWxFamilyMemberService.java
...tyManagement/business/service/IWxFamilyMemberService.java
+5
-0
IWxPayRecordService.java
...pertyManagement/business/service/IWxPayRecordService.java
+1
-1
WxFamilyMemberServiceImpl.java
...ment/business/service/impl/WxFamilyMemberServiceImpl.java
+19
-0
WxPayRecordServiceImpl.java
...agement/business/service/impl/WxPayRecordServiceImpl.java
+50
-6
CmsPayAppBo.java
...ava/com/propertyManagement/pay/domain/bo/CmsPayAppBo.java
+0
-7
PayReqModel.java
...a/com/propertyManagement/pay/support/pay/PayReqModel.java
+0
-4
index.vue
...nagement-ui/src/views/business/proprietorLedger/index.vue
+8
-8
No files found.
propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiLoginController.java
View file @
9b7b5fdf
package
com
.
propertyManagement
.
web
.
controller
.
business
.
api
;
package
com
.
propertyManagement
.
web
.
controller
.
business
.
api
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.propertyManagement.business.domain.WxAccount
;
import
com.propertyManagement.business.domain.WxAccount
;
import
com.propertyManagement.business.domain.WxUser
;
import
com.propertyManagement.business.domain.bo.CodeLoginBo
;
import
com.propertyManagement.business.domain.bo.CodeLoginBo
;
import
com.propertyManagement.business.domain.vo.LoginWxUser
;
import
com.propertyManagement.business.domain.vo.LoginWxUser
;
import
com.propertyManagement.business.mapper.WxAccountMapper
;
import
com.propertyManagement.business.mapper.WxAccountMapper
;
import
com.propertyManagement.business.mapper.WxUserMapper
;
import
com.propertyManagement.business.service.WxUserLoginService
;
import
com.propertyManagement.business.service.WxUserLoginService
;
import
com.propertyManagement.business.service.WxUserTokenService
;
import
com.propertyManagement.business.service.WxUserTokenService
;
import
com.propertyManagement.business.support.util.AuthUtil
;
import
com.propertyManagement.business.support.util.AuthUtil
;
...
@@ -20,6 +23,7 @@ import com.tencentcloudapi.sms.v20210111.models.SendStatus;
...
@@ -20,6 +23,7 @@ import com.tencentcloudapi.sms.v20210111.models.SendStatus;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Parameter
;
import
io.swagger.v3.oas.annotations.Parameter
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -48,6 +52,8 @@ public class ApiLoginController {
...
@@ -48,6 +52,8 @@ public class ApiLoginController {
private
final
WxUserTokenService
wxUserTokenService
;
private
final
WxUserTokenService
wxUserTokenService
;
private
final
WxUserMapper
userMapper
;
private
final
SendSms
sendSms
;
private
final
SendSms
sendSms
;
/**
/**
...
@@ -56,14 +62,14 @@ public class ApiLoginController {
...
@@ -56,14 +62,14 @@ public class ApiLoginController {
* @param bo 登录信息
* @param bo 登录信息
* @return 结果
* @return 结果
*/
*/
//
@Operation(summary = "小程序静默授权登录")
@Operation
(
summary
=
"小程序静默授权登录"
)
//
@Anonymous
@Anonymous
//
@PostMapping("/code")
@PostMapping
(
"/code"
)
//
public R<LoginResult<LoginWxUser>> codeLogin(@RequestBody CodeLoginBo bo) {
public
R
<
LoginResult
<
LoginWxUser
>>
codeLogin
(
@RequestBody
CodeLoginBo
bo
)
{
//
// 生成令牌
// 生成令牌
//
LoginResult loginResult = wxUserLoginService.codeLogin(bo);
LoginResult
loginResult
=
wxUserLoginService
.
codeLogin
(
bo
);
//
return R.ok(loginResult);
return
R
.
ok
(
loginResult
);
//
}
}
/**
/**
* 小程序手机号授权登录
* 小程序手机号授权登录
...
@@ -134,6 +140,8 @@ public class ApiLoginController {
...
@@ -134,6 +140,8 @@ public class ApiLoginController {
@GetMapping
(
"/userInfo"
)
@GetMapping
(
"/userInfo"
)
public
R
<
LoginWxUser
>
userInfo
()
{
public
R
<
LoginWxUser
>
userInfo
()
{
LoginWxUser
wxUser
=
AuthUtil
.
getWxUser
();
LoginWxUser
wxUser
=
AuthUtil
.
getWxUser
();
WxUser
user
=
userMapper
.
selectById
(
AuthUtil
.
getWxUser
().
getId
());
BeanUtil
.
copyProperties
(
user
,
wxUser
);
wxUserTokenService
.
refreshToken
(
wxUser
);
wxUserTokenService
.
refreshToken
(
wxUser
);
LoginWxUser
loginWxUser
=
RedisUtils
.
getCacheObject
(
CacheConstants
.
LOGIN_MERCHANT_TOKEN_KEY
+
wxUser
.
getToken
());
LoginWxUser
loginWxUser
=
RedisUtils
.
getCacheObject
(
CacheConstants
.
LOGIN_MERCHANT_TOKEN_KEY
+
wxUser
.
getToken
());
return
R
.
ok
(
loginWxUser
);
return
R
.
ok
(
loginWxUser
);
...
...
propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxFamilyMemberController.java
View file @
9b7b5fdf
package
com
.
propertyManagement
.
web
.
controller
.
business
.
api
;
package
com
.
propertyManagement
.
web
.
controller
.
business
.
api
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
cn.dev33.satoken.annotation.SaCheckPermission
;
import
com.dtflys.forest.annotation.NotNull
;
import
com.propertyManagement.business.domain.bo.WxFamilyMemberBo
;
import
com.propertyManagement.business.domain.bo.WxFamilyMemberBo
;
import
com.propertyManagement.business.domain.vo.LoginWxUser
;
import
com.propertyManagement.business.domain.vo.LoginWxUser
;
import
com.propertyManagement.business.domain.vo.WxFamilyMemberVo
;
import
com.propertyManagement.business.domain.vo.WxFamilyMemberVo
;
...
@@ -52,4 +53,20 @@ public class ApiWxFamilyMemberController extends BaseController {
...
@@ -52,4 +53,20 @@ public class ApiWxFamilyMemberController extends BaseController {
return
toAjax
(
iWxFamilyMemberService
.
insertByBo
(
bo
));
return
toAjax
(
iWxFamilyMemberService
.
insertByBo
(
bo
));
}
}
/**
* 修改家庭成员
*/
@PostMapping
(
"/update"
)
public
R
<
Void
>
update
(
@Validated
(
AddGroup
.
class
)
@RequestBody
WxFamilyMemberBo
bo
)
{
return
toAjax
(
iWxFamilyMemberService
.
updateByBo
(
bo
));
}
/**
* 删除家庭成员
*/
@PostMapping
(
"/delete/{id}"
)
public
R
<
Void
>
delete
(
@Validated
(
AddGroup
.
class
)
@PathVariable
(
"id"
)
Long
id
)
{
return
toAjax
(
iWxFamilyMemberService
.
deleteWithValidById
(
id
));
}
}
}
propertyManagement-admin/src/main/java/com/propertyManagement/web/controller/business/api/ApiWxPayRecordController.java
View file @
9b7b5fdf
...
@@ -13,6 +13,7 @@ import com.propertyManagement.common.enums.PayState;
...
@@ -13,6 +13,7 @@ import com.propertyManagement.common.enums.PayState;
import
com.propertyManagement.pay.support.pay.PayReqModel
;
import
com.propertyManagement.pay.support.pay.PayReqModel
;
import
com.siashan.unipay4j.core.Result
;
import
com.siashan.unipay4j.core.Result
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
...
@@ -27,6 +28,7 @@ import java.util.List;
...
@@ -27,6 +28,7 @@ import java.util.List;
* @author liushuai
* @author liushuai
* @date 2025-05-14
* @date 2025-05-14
*/
*/
@Slf4j
@Validated
@Validated
@RequiredArgsConstructor
@RequiredArgsConstructor
@RestController
@RestController
...
@@ -57,18 +59,35 @@ public class ApiWxPayRecordController extends BaseController {
...
@@ -57,18 +59,35 @@ public class ApiWxPayRecordController extends BaseController {
}
}
/**
/**
* 支付回调
*
维修单
支付回调
*
*
* @return 结果
* @return 结果
*/
*/
@Anonymous
@Anonymous
@PostMapping
(
"/notify/{orderId}/{payChannelCode}/{payMchCode}/{payAppCode}"
)
@PostMapping
(
"/maintain-notify/{orderId}/{payChannelCode}/{payMchCode}/{payAppCode}"
)
public
void
maintainCallback
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@PathVariable
String
orderId
,
@PathVariable
String
payChannelCode
,
@PathVariable
String
payMchCode
,
@PathVariable
String
payAppCode
)
{
log
.
info
(
"===================>维修单支付回调成功"
);
iWxPayRecordService
.
payCallback
(
orderId
,
payChannelCode
,
payMchCode
,
payAppCode
,
"MAINTAIN"
);
}
/**
* 预存支付回调
*
* @return 结果
*/
@Anonymous
@PostMapping
(
"/prestore-notify/{orderId}/{payChannelCode}/{payMchCode}/{payAppCode}"
)
public
void
callback
(
HttpServletRequest
request
,
HttpServletResponse
response
,
public
void
callback
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@PathVariable
String
orderId
,
@PathVariable
String
orderId
,
@PathVariable
String
payChannelCode
,
@PathVariable
String
payChannelCode
,
@PathVariable
String
payMchCode
,
@PathVariable
String
payMchCode
,
@PathVariable
String
payAppCode
)
{
@PathVariable
String
payAppCode
)
{
iWxPayRecordService
.
payCallback
(
orderId
,
payChannelCode
,
payMchCode
,
payAppCode
);
log
.
info
(
"===================>预存支付回调成功"
);
iWxPayRecordService
.
payCallback
(
orderId
,
payChannelCode
,
payMchCode
,
payAppCode
,
"PRESTORE"
);
}
}
}
}
propertyManagement-admin/src/main/resources/cert/apiclient_cert.p12
0 → 100644
View file @
9b7b5fdf
File added
propertyManagement-admin/src/main/resources/cert/apiclient_cert.pem
0 → 100644
View file @
9b7b5fdf
-----BEGIN CERTIFICATE-----
MIIEKDCCAxCgAwIBAgIUNx7MpNko0hSraJpQmr+t+wxEoWowDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
Q0EwHhcNMjUwNTI4MDM0MDU4WhcNMzAwNTI3MDM0MDU4WjCBgTETMBEGA1UEAwwK
MTcxNzgxNDc3NzEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMS0wKwYDVQQL
DCTmsrPljZfliKnpvpnniankuJrnrqHnkIbmnInpmZDlhazlj7gxCzAJBgNVBAYT
AkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAO8lplhBUA/rOiXc0mEInbt+iVkLplFIGGdpP85vb72AiGCRUJGg2Toc
yicpZRaZHSluy8borcEbp35+62rHD/RK6IG8ZYC+O/xjUtVR05Tp5mMmP2qOg72I
/to8Gw+8v1vOzc6g6MSpkL8ktUQHXsOlMmk1S3W4FV/O3OU7xQAWcVxC6kc33j2T
UclPFNBL3EZKhLrRskkwaHOz6jDsKjHnhONYyu5jb5F1+6tyTwYNsQm82Cyd7oOb
JhN6ZJibHSnF54t9qA51MeWzAQwOUl8ii44qvvQ1IR6WIyAbWTndJGNfe1rvD5pr
wsM3eByWnogvD42kdpH4Emd4UkcH85UCAwEAAaOBuTCBtjAJBgNVHRMEAjAAMAsG
A1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2Y2Eu
aXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRC
MDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJCMjdB
OUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQBaQ3i/
yq70oYKyzTJzppZ1aG7TB6cEOjrZ7XM6zpGN1pDNzNxv9TmaJT0os7D4o+vZCSYa
WwLGYWlD3G1YV74oY/0EQ9mtfJKg5mFz1lz0bE3hO3YFK1wpVjFHrL8luMZHWhhQ
7fEJOo9TbAFLDg2F0qYK+GuO3fzLLW9yu1ifIX2m7jZYhRvlr47vo1rwHc24nUAg
5WVXLADF1j7JjOhIA38uEP2VB7+n7399CJCPoCho2tAbg2UqfVDEtG7ipppEC2Mr
0GFrXeb/T4VLBHu1hkvaIQx6Dazs/JW6akqelS8ruU2kSqq10epitgsdAZqm1T7m
aWNyIhq4pVLHnm5h
-----END CERTIFICATE-----
propertyManagement-admin/src/main/resources/cert/apiclient_key.pem
0 → 100644
View file @
9b7b5fdf
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDvJaZYQVAP6zol
3NJhCJ27folZC6ZRSBhnaT/Ob2+9gIhgkVCRoNk6HMonKWUWmR0pbsvG6K3BG6d+
futqxw/0SuiBvGWAvjv8Y1LVUdOU6eZjJj9qjoO9iP7aPBsPvL9bzs3OoOjEqZC/
JLVEB17DpTJpNUt1uBVfztzlO8UAFnFcQupHN949k1HJTxTQS9xGSoS60bJJMGhz
s+ow7Cox54TjWMruY2+Rdfurck8GDbEJvNgsne6DmyYTemSYmx0pxeeLfagOdTHl
swEMDlJfIouOKr70NSEeliMgG1k53SRjX3ta7w+aa8LDN3gclp6ILw+NpHaR+BJn
eFJHB/OVAgMBAAECggEASrxoZNJcc+0eKfD9qidoK80anUJfwq0WO1MQBrKaqA1A
EXW4SRqMaHXQ0zZDijFlhKpEcrAKhPvgd06wwZjeKokyakD3M6m/01sy6sl8puAG
CNxOGz3Ye+YRRyBbkKp63vUdKkLtG3CmdKXDJDRtcBTzUR+/qlVSELP0IotwQFso
eowkTIlHbJ3uTFEZfP7++N6WYGyGK3Hxb/3cwSboGTrnlSUz/GmiWpnbKqCz6gsC
GeJQHNRkcC5JnEFj7m1DWCVJ8khjRAEUe21MyK3rwhTEirBbkMrwtHE2KRRcNqoL
QQITadu61/BzReyydu8+4ERt6X9rkD2+3qK5zn24oQKBgQD8EOeB7ztl52SwUQoc
CXIWjz28vbSmn7LMdbROvvIY3tcnA0ugm+iVXbQiFNTlBHJcvEKONHo4RGXz3ent
W8Ksu2q7gy9zlyYWAc9lEILgJ3pttG3ecEqdekNB7ZGNe7RKe/39CQYVCzSrdSwA
h1P9rLFJ4pgCnYf/eOwAjyAdGQKBgQDy4SEmXQqOr9X5P/rNhxXR3bqB1FqsMS7A
jcANDU+cQOPIocHUcZVHaz1IyhOWy3Xatb4PiGnkgzIGHfpbt1/iq57HsVSfblFQ
tM5+xZN3Hf0nmCeeXdySOVFI44K3sYgvX77vALZVvyJaFZxEhxO7plCo26Rh3CXJ
59dMKnsd3QKBgGEJ6PY+sTFD6aFvMWMlx8QjlPLqXXegF2dbEPUX0X/9mfqs7BqC
qwGFt2k/d85K7fQBjeXNEhhDTLSbhAkawFFbPXW+xS/Myp7CR6Nyvc+poxpE0d9G
f5MslGP3H4fGTdw268rUBIFpdPdk/nGdp5oLN51oHHk1SDvzw3dbolNRAoGBAKMy
apfghKuDsv8b4mYfkqXFmwCJs7NoCMYReS5L92ZCo8u4BQm+mFO41yEFx0vXwoUH
AYJmYuDM1twNYKAoAyHHt5TurrHB6pmUI/xCveeYGvZz4osi/oayRM/5L2hGvf83
EpB9pgbPu0FUq//P046PHjuX+khXKH0WbzAai0dxAoGAMhOnfP+0EPMSYxppDkbl
wuzNPm1Q4+UV2kFWOpKxFMfy3JJPN7ES/ZzGgUbX9rboeXpNhLzXUDbXXSio48eT
yKhNUyZaBADvBeoH5Ov+t643UnW1d6OpOD8p/r5RifNm3kbkVEaFCLrK9/a4tmWF
nxNfnxslMO905bbSvVv4aUU=
-----END PRIVATE KEY-----
propertyManagement-admin/src/main/resources/cert/证书使用说明.txt
0 → 100644
View file @
9b7b5fdf
欢迎使用微信支付!
附件中的三份文件(证书pkcs12格式、证书pem格式、证书密钥pem格式),为接口中强制要求时需携带的证书文件。
证书属于敏感信息,请妥善保管不要泄露和被他人复制。
不同开发语言下的证书格式不同,以下为说明指引:
证书pkcs12格式(apiclient_cert.p12)
包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份
部分安全性要求较高的API需要使用该证书来确认您的调用身份
windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户号(如:1900006031)
证书pem格式(apiclient_cert.pem)
从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem
证书密钥pem格式(apiclient_key.pem)
从apiclient_cert.p12中导出密钥部分的文件,为pem格式
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便您使用,已为您直接提供
您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem
备注说明:
由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件(rootca.pem)下载
\ No newline at end of file
propertyManagement-business/src/main/java/com/propertyManagement/business/service/IWxFamilyMemberService.java
View file @
9b7b5fdf
...
@@ -42,6 +42,11 @@ public interface IWxFamilyMemberService {
...
@@ -42,6 +42,11 @@ public interface IWxFamilyMemberService {
*/
*/
Boolean
updateByBo
(
WxFamilyMemberBo
bo
);
Boolean
updateByBo
(
WxFamilyMemberBo
bo
);
/**
* 校验并删除家庭成员信息
*/
Boolean
deleteWithValidById
(
Long
id
);
/**
/**
* 校验并批量删除家庭成员信息
* 校验并批量删除家庭成员信息
*/
*/
...
...
propertyManagement-business/src/main/java/com/propertyManagement/business/service/IWxPayRecordService.java
View file @
9b7b5fdf
...
@@ -46,7 +46,7 @@ public interface IWxPayRecordService {
...
@@ -46,7 +46,7 @@ public interface IWxPayRecordService {
* @param payMchCode
* @param payMchCode
* @param payAppCode
* @param payAppCode
*/
*/
void
payCallback
(
String
orderId
,
String
payChannelCode
,
String
payMchCode
,
String
payAppCode
);
void
payCallback
(
String
orderId
,
String
payChannelCode
,
String
payMchCode
,
String
payAppCode
,
String
type
);
/**
/**
* 新增缴费记录
* 新增缴费记录
...
...
propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxFamilyMemberServiceImpl.java
View file @
9b7b5fdf
...
@@ -6,10 +6,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...
@@ -6,10 +6,12 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.propertyManagement.business.domain.WxFamilyMember
;
import
com.propertyManagement.business.domain.WxFamilyMember
;
import
com.propertyManagement.business.domain.WxProprietorLedger
;
import
com.propertyManagement.business.domain.WxProprietorLedger
;
import
com.propertyManagement.business.domain.WxUserCommunityLedger
;
import
com.propertyManagement.business.domain.bo.WxFamilyMemberBo
;
import
com.propertyManagement.business.domain.bo.WxFamilyMemberBo
;
import
com.propertyManagement.business.domain.vo.WxFamilyMemberVo
;
import
com.propertyManagement.business.domain.vo.WxFamilyMemberVo
;
import
com.propertyManagement.business.mapper.WxFamilyMemberMapper
;
import
com.propertyManagement.business.mapper.WxFamilyMemberMapper
;
import
com.propertyManagement.business.mapper.WxProprietorLedgerMapper
;
import
com.propertyManagement.business.mapper.WxProprietorLedgerMapper
;
import
com.propertyManagement.business.mapper.WxUserCommunityLedgerMapper
;
import
com.propertyManagement.business.service.IWxFamilyMemberService
;
import
com.propertyManagement.business.service.IWxFamilyMemberService
;
import
com.propertyManagement.common.core.domain.PageQuery
;
import
com.propertyManagement.common.core.domain.PageQuery
;
import
com.propertyManagement.common.core.page.TableDataInfo
;
import
com.propertyManagement.common.core.page.TableDataInfo
;
...
@@ -33,6 +35,7 @@ public class WxFamilyMemberServiceImpl implements IWxFamilyMemberService {
...
@@ -33,6 +35,7 @@ public class WxFamilyMemberServiceImpl implements IWxFamilyMemberService {
private
final
WxFamilyMemberMapper
baseMapper
;
private
final
WxFamilyMemberMapper
baseMapper
;
private
final
WxProprietorLedgerMapper
proprietorLedgerMapper
;
private
final
WxProprietorLedgerMapper
proprietorLedgerMapper
;
private
final
WxUserCommunityLedgerMapper
userCommunityLedgerMapper
;
/**
/**
* 查询家庭成员
* 查询家庭成员
...
@@ -113,6 +116,22 @@ public class WxFamilyMemberServiceImpl implements IWxFamilyMemberService {
...
@@ -113,6 +116,22 @@ public class WxFamilyMemberServiceImpl implements IWxFamilyMemberService {
return
baseMapper
.
updateById
(
update
)
>
0
;
return
baseMapper
.
updateById
(
update
)
>
0
;
}
}
/**
* 校验并删除家庭成员信息
*
* @param id
*/
@Override
public
Boolean
deleteWithValidById
(
Long
id
)
{
WxFamilyMember
familyMember
=
baseMapper
.
selectById
(
id
);
LambdaQueryWrapper
<
WxUserCommunityLedger
>
lambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
lambdaQueryWrapper
.
eq
(
WxUserCommunityLedger:
:
getUserId
,
familyMember
.
getUserId
())
.
eq
(
WxUserCommunityLedger:
:
getCommunityId
,
familyMember
.
getCommunityId
())
.
eq
(
WxUserCommunityLedger:
:
getProprietorId
,
familyMember
.
getProprietorId
());
userCommunityLedgerMapper
.
delete
(
lambdaQueryWrapper
);
return
baseMapper
.
deleteById
(
id
)
>
0
;
}
/**
/**
* 保存前的数据校验
* 保存前的数据校验
*/
*/
...
...
propertyManagement-business/src/main/java/com/propertyManagement/business/service/impl/WxPayRecordServiceImpl.java
View file @
9b7b5fdf
package
com
.
propertyManagement
.
business
.
service
.
impl
;
package
com
.
propertyManagement
.
business
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DatePattern
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
com.propertyManagement.business.domain.WxLiveBill
;
import
com.propertyManagement.business.domain.WxLiveBill
;
import
com.propertyManagement.business.domain.WxProprietorLedger
;
import
com.propertyManagement.business.domain.WxRepairs
;
import
com.propertyManagement.business.domain.WxRepairs
;
import
com.propertyManagement.business.domain.vo.LoginWxUser
;
import
com.propertyManagement.business.domain.vo.LoginWxUser
;
import
com.propertyManagement.business.enums.PayBizEnum
;
import
com.propertyManagement.business.enums.PayBizEnum
;
import
com.propertyManagement.business.mapper.WxLiveBillMapper
;
import
com.propertyManagement.business.mapper.WxLiveBillMapper
;
import
com.propertyManagement.business.mapper.WxProprietorLedgerMapper
;
import
com.propertyManagement.business.mapper.WxRepairsMapper
;
import
com.propertyManagement.business.mapper.WxRepairsMapper
;
import
com.propertyManagement.business.support.util.AuthUtil
;
import
com.propertyManagement.business.support.util.AuthUtil
;
import
com.propertyManagement.common.enums.LiveBillState
;
import
com.propertyManagement.common.enums.LiveBillState
;
...
@@ -54,6 +59,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -54,6 +59,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
private
final
WxPayRecordMapper
baseMapper
;
private
final
WxPayRecordMapper
baseMapper
;
private
final
WxLiveBillMapper
liveBillMapper
;
private
final
WxLiveBillMapper
liveBillMapper
;
private
final
WxRepairsMapper
repairsMapper
;
private
final
WxRepairsMapper
repairsMapper
;
private
final
WxProprietorLedgerMapper
proprietorLedgerMapper
;
/**
/**
* 查询缴费记录
* 查询缴费记录
...
@@ -83,7 +89,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -83,7 +89,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
}
}
/**
/**
*
新增缴费记录
*
支付
*
*
* @param reqModel
* @param reqModel
*/
*/
...
@@ -93,7 +99,6 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -93,7 +99,6 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
Long
orderId
=
null
;
Long
orderId
=
null
;
BigDecimal
payAmount
=
BigDecimal
.
ZERO
;
BigDecimal
payAmount
=
BigDecimal
.
ZERO
;
Integer
orderType
=
null
;
Integer
orderType
=
null
;
String
outTradeNo
=
null
;
switch
(
payBiz
)
{
switch
(
payBiz
)
{
case
PRESTORE:
case
PRESTORE:
WxLiveBill
wxLiveBill
=
liveBillMapper
.
selectById
(
reqModel
.
getOrderId
());
WxLiveBill
wxLiveBill
=
liveBillMapper
.
selectById
(
reqModel
.
getOrderId
());
...
@@ -115,7 +120,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -115,7 +120,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
if
(
null
==
wxRepairs
)
{
if
(
null
==
wxRepairs
)
{
throw
new
RuntimeException
(
"订单信息不存在,请刷新后重试"
);
throw
new
RuntimeException
(
"订单信息不存在,请刷新后重试"
);
}
}
if
(
RepairsState
.
TWO
.
getCode
().
equals
(
wxRepairs
.
getState
()))
{
if
(
!
RepairsState
.
TWO
.
getCode
().
equals
(
wxRepairs
.
getState
()))
{
throw
new
RuntimeException
(
"订单状态错误,请刷新后重试!"
);
throw
new
RuntimeException
(
"订单状态错误,请刷新后重试!"
);
}
}
if
(
reqModel
.
getAmount
().
doubleValue
()
!=
wxRepairs
.
getMoney
().
doubleValue
())
{
if
(
reqModel
.
getAmount
().
doubleValue
()
!=
wxRepairs
.
getMoney
().
doubleValue
())
{
...
@@ -129,7 +134,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -129,7 +134,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
throw
new
RuntimeException
(
"支付失败,类型错误"
);
throw
new
RuntimeException
(
"支付失败,类型错误"
);
}
}
WxPayRecord
record
=
createPayRecord
(
orderId
,
payAmount
,
orderType
);
WxPayRecord
record
=
createPayRecord
(
orderId
,
payAmount
,
orderType
);
IPayment
payment
=
CmsUnipayProvider
.
getPayment
(
orderId
,
reqModel
.
getPayChannelCode
(),
reqModel
.
getPayMchCode
(),
reqModel
.
getPayAppCode
()
,
reqModel
.
getPayBizCode
());
IPayment
payment
=
CmsUnipayProvider
.
getPayment
(
orderId
,
"WX"
,
"1717814777"
,
"LILONG"
,
reqModel
.
getPayBizCode
());
PayModel
payModel
=
getPayModel
(
record
);
PayModel
payModel
=
getPayModel
(
record
);
return
payment
.
pay
(
payModel
);
return
payment
.
pay
(
payModel
);
}
}
...
@@ -139,9 +144,10 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -139,9 +144,10 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
* @param payChannelCode
* @param payChannelCode
* @param payMchCode
* @param payMchCode
* @param payAppCode
* @param payAppCode
* @param type 1报修支付 2预存支付
*/
*/
@Override
@Override
public
void
payCallback
(
String
orderId
,
String
payChannelCode
,
String
payMchCode
,
String
payAppCode
)
{
public
void
payCallback
(
String
orderId
,
String
payChannelCode
,
String
payMchCode
,
String
payAppCode
,
String
type
)
{
/**
/**
* 更新支付记录状态
* 更新支付记录状态
*/
*/
...
@@ -153,7 +159,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -153,7 +159,7 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
/**
/**
* 更新订单状态
* 更新订单状态
*/
*/
if
(
record
.
getOrderType
().
equals
(
LiveBillType
.
maintain
.
getCode
()))
{
if
(
type
.
equals
(
PayBizEnum
.
MAINTAIN
.
getCode
()))
{
WxRepairs
wxRepairs
=
repairsMapper
.
selectById
(
orderId
);
WxRepairs
wxRepairs
=
repairsMapper
.
selectById
(
orderId
);
wxRepairs
.
setState
(
RepairsState
.
THREE
.
getCode
());
wxRepairs
.
setState
(
RepairsState
.
THREE
.
getCode
());
wxRepairs
.
setCompleteTime
(
new
Date
());
wxRepairs
.
setCompleteTime
(
new
Date
());
...
@@ -162,6 +168,34 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -162,6 +168,34 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
WxLiveBill
wxLiveBill
=
liveBillMapper
.
selectById
(
orderId
);
WxLiveBill
wxLiveBill
=
liveBillMapper
.
selectById
(
orderId
);
wxLiveBill
.
setState
(
LiveBillState
.
YES
.
getCode
());
wxLiveBill
.
setState
(
LiveBillState
.
YES
.
getCode
());
liveBillMapper
.
updateById
(
wxLiveBill
);
liveBillMapper
.
updateById
(
wxLiveBill
);
WxProprietorLedger
proprietorLedger
=
proprietorLedgerMapper
.
selectById
(
wxLiveBill
.
getProprietorId
());
switch
(
record
.
getOrderType
()){
case
1
:
proprietorLedger
.
setWaterPrepaidMoney
(
proprietorLedger
.
getWaterPrepaidMoney
().
add
(
record
.
getPayAmount
()));
break
;
case
2
:
proprietorLedger
.
setElectricityPrepaidMoney
(
proprietorLedger
.
getElectricityPrepaidMoney
().
add
(
record
.
getPayAmount
()));
break
;
case
3
:
proprietorLedger
.
setPropertyPrepaidMoney
(
proprietorLedger
.
getPropertyPrepaidMoney
().
add
(
record
.
getPayAmount
()));
break
;
case
4
:
proprietorLedger
.
setCarportManagePrestoreMoney
(
proprietorLedger
.
getCarportManagePrestoreMoney
().
add
(
record
.
getPayAmount
()));
break
;
case
5
:
proprietorLedger
.
setCarportLeasePrestoreMoney
(
proprietorLedger
.
getCarportLeasePrestoreMoney
().
add
(
record
.
getPayAmount
()));
break
;
case
6
:
proprietorLedger
.
setStoreroomLeasePrestoreMoney
(
proprietorLedger
.
getStoreroomLeasePrestoreMoney
().
add
(
record
.
getPayAmount
()));
break
;
case
7
:
proprietorLedger
.
setOtherPrestoreMoney
(
proprietorLedger
.
getOtherPrestoreMoney
().
add
(
record
.
getPayAmount
()));
break
;
default
:
throw
new
RuntimeException
(
"支付回调异常===========================================>"
);
}
proprietorLedgerMapper
.
updateById
(
proprietorLedger
);
}
}
}
}
...
@@ -179,6 +213,16 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
...
@@ -179,6 +213,16 @@ public class WxPayRecordServiceImpl implements IWxPayRecordService {
record
.
setCommunityId
(
wxUser
.
getCommunityId
());
record
.
setCommunityId
(
wxUser
.
getCommunityId
());
record
.
setCommunityName
(
wxUser
.
getCommunityName
());
record
.
setCommunityName
(
wxUser
.
getCommunityName
());
record
.
setOrderType
(
orderType
);
record
.
setOrderType
(
orderType
);
/**
* 生成外部订单号
*/
String
memStr
=
String
.
valueOf
(
wxUser
.
getId
());
if
(
memStr
.
length
()
<
4
)
{
memStr
=
String
.
format
(
"%04d"
,
wxUser
.
getId
());
}
else
{
memStr
=
memStr
.
substring
(
memStr
.
length
()
-
4
);
}
record
.
setOutTradeNo
(
"OR"
+
DateUtil
.
format
(
new
Date
(),
DatePattern
.
PURE_DATETIME_PATTERN
)
+
memStr
+
RandomUtil
.
randomString
(
"123456789"
,
4
));
baseMapper
.
insert
(
record
);
baseMapper
.
insert
(
record
);
return
record
;
return
record
;
}
}
...
...
propertyManagement-pay/src/main/java/com/propertyManagement/pay/domain/bo/CmsPayAppBo.java
View file @
9b7b5fdf
...
@@ -24,7 +24,6 @@ public class CmsPayAppBo extends BaseEntity {
...
@@ -24,7 +24,6 @@ public class CmsPayAppBo extends BaseEntity {
/**
/**
* 编号
* 编号
*/
*/
@NotNull
(
message
=
"编号不能为空"
,
groups
=
{
EditGroup
.
class
})
private
Long
id
;
private
Long
id
;
/**
/**
...
@@ -48,7 +47,6 @@ public class CmsPayAppBo extends BaseEntity {
...
@@ -48,7 +47,6 @@ public class CmsPayAppBo extends BaseEntity {
/**
/**
* 交易支付类型
* 交易支付类型
*/
*/
@NotBlank
(
message
=
"交易支付类型不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
tradeType
;
private
String
tradeType
;
/**
/**
...
@@ -60,31 +58,26 @@ public class CmsPayAppBo extends BaseEntity {
...
@@ -60,31 +58,26 @@ public class CmsPayAppBo extends BaseEntity {
/**
/**
* 服务商编码
* 服务商编码
*/
*/
@NotBlank
(
message
=
"服务商编码不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
providerCode
;
private
String
providerCode
;
/**
/**
* 应用配置(json)
* 应用配置(json)
*/
*/
@NotBlank
(
message
=
"应用配置(json)不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
appConfig
;
private
String
appConfig
;
/**
/**
* 状态 0 禁用 1 启用
* 状态 0 禁用 1 启用
*/
*/
@NotNull
(
message
=
"状态 0 禁用 1 启用不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Integer
isEnable
;
private
Integer
isEnable
;
/**
/**
* 是否锁定 0 否 1 是
* 是否锁定 0 否 1 是
*/
*/
@NotNull
(
message
=
"是否锁定 0 否 1 是不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
Integer
isLock
;
private
Integer
isLock
;
/**
/**
* 备注
* 备注
*/
*/
@NotBlank
(
message
=
"备注不能为空"
,
groups
=
{
AddGroup
.
class
,
EditGroup
.
class
})
private
String
remark
;
private
String
remark
;
...
...
propertyManagement-pay/src/main/java/com/propertyManagement/pay/support/pay/PayReqModel.java
View file @
9b7b5fdf
...
@@ -28,22 +28,18 @@ public class PayReqModel {
...
@@ -28,22 +28,18 @@ public class PayReqModel {
/**
/**
* 支付渠道 WX 微信支付 ALI 支付宝
* 支付渠道 WX 微信支付 ALI 支付宝
*/
*/
@NotNull
(
message
=
"支付渠道不能为空"
)
private
String
payChannelCode
;
private
String
payChannelCode
;
/**
/**
* 支付商户
* 支付商户
*/
*/
@NotNull
(
message
=
"支付商户不能为空"
)
private
String
payMchCode
;
private
String
payMchCode
;
/**
/**
* 支付类型
* 支付类型
*/
*/
@NotNull
(
message
=
"支付类型不能为空"
)
private
String
payTradeType
;
private
String
payTradeType
;
/**
/**
* 应用code
* 应用code
*/
*/
@NotNull
(
message
=
"应用code不能为空"
)
private
String
payAppCode
;
private
String
payAppCode
;
/**
/**
* 支付业务code
* 支付业务code
...
...
propertyManagement-ui/src/views/business/proprietorLedger/index.vue
View file @
9b7b5fdf
...
@@ -140,7 +140,7 @@
...
@@ -140,7 +140,7 @@
<
el
-
table
-
column
label
=
"
物业预存余额
"
align
=
"
center
"
prop
=
"
propertyPrepaidMoney
"
/>
<
el
-
table
-
column
label
=
"
物业预存余额
"
align
=
"
center
"
prop
=
"
propertyPrepaidMoney
"
/>
<
el
-
table
-
column
label
=
"
车位管理预存余额
"
align
=
"
center
"
prop
=
"
carportManagePrestoreMoney
"
/>
<
el
-
table
-
column
label
=
"
车位管理预存余额
"
align
=
"
center
"
prop
=
"
carportManagePrestoreMoney
"
/>
<
el
-
table
-
column
label
=
"
备注
"
align
=
"
center
"
prop
=
"
remark
"
/>
<
el
-
table
-
column
label
=
"
备注
"
align
=
"
center
"
prop
=
"
remark
"
/>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
fixed
=
"
right
"
class
-
name
=
"
small-padding fixed-width
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
<
el
-
button
size
=
"
mini
"
size
=
"
mini
"
...
@@ -261,43 +261,43 @@
...
@@ -261,43 +261,43 @@
<
el
-
row
>
<
el
-
row
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
水费预存余额
"
prop
=
"
waterPrepaidMoney
"
>
<
el
-
form
-
item
label
=
"
水费预存余额
"
prop
=
"
waterPrepaidMoney
"
>
<
el
-
input
-
number
v
-
model
=
"
form.waterPrepaidMoney
"
:
min
=
"
0
"
precision
=
"
2
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入水费预存余额
"
/>
<
el
-
input
-
number
v
-
model
=
"
form.waterPrepaidMoney
"
:
min
=
"
0
"
precision
=
"
2
"
:
disabled
=
"
form.proprietorId !== undefined
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入水费预存余额
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
电费预存余额
"
prop
=
"
electricityPrepaidMoney
"
>
<
el
-
form
-
item
label
=
"
电费预存余额
"
prop
=
"
electricityPrepaidMoney
"
>
<
el
-
input
-
number
v
-
model
=
"
form.electricityPrepaidMoney
"
:
min
=
"
0
"
precision
=
"
2
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入电费预存余额
"
/>
<
el
-
input
-
number
v
-
model
=
"
form.electricityPrepaidMoney
"
:
min
=
"
0
"
precision
=
"
2
"
:
disabled
=
"
form.proprietorId !== undefined
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入电费预存余额
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-row
>
<
/el-row
>
<
el
-
row
>
<
el
-
row
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
物业预存余额
"
prop
=
"
propertyPrepaidMoney
"
>
<
el
-
form
-
item
label
=
"
物业预存余额
"
prop
=
"
propertyPrepaidMoney
"
>
<
el
-
input
-
number
v
-
model
=
"
form.propertyPrepaidMoney
"
:
min
=
"
0
"
precision
=
"
2
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入物业预存余额
"
/>
<
el
-
input
-
number
v
-
model
=
"
form.propertyPrepaidMoney
"
:
min
=
"
0
"
precision
=
"
2
"
:
disabled
=
"
form.proprietorId !== undefined
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入物业预存余额
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
车位管理预存余额
"
prop
=
"
carportManagePrestoreMoney
"
>
<
el
-
form
-
item
label
=
"
车位管理预存余额
"
prop
=
"
carportManagePrestoreMoney
"
>
<
el
-
input
-
number
v
-
model
=
"
form.carportManagePrestoreMoney
"
:
min
=
"
0
"
precision
=
"
2
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入车位管理预存余额
"
/>
<
el
-
input
-
number
v
-
model
=
"
form.carportManagePrestoreMoney
"
:
min
=
"
0
"
precision
=
"
2
"
:
disabled
=
"
form.proprietorId !== undefined
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入车位管理预存余额
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-row
>
<
/el-row
>
<
el
-
row
>
<
el
-
row
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
车位租赁预存余额
"
prop
=
"
carportLeasePrestoreMoney
"
>
<
el
-
form
-
item
label
=
"
车位租赁预存余额
"
prop
=
"
carportLeasePrestoreMoney
"
>
<
el
-
input
-
number
v
-
model
=
"
form.carportLeasePrestoreMoney
"
:
min
=
"
0
"
precision
=
"
2
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入车位租赁预存余额
"
/>
<
el
-
input
-
number
v
-
model
=
"
form.carportLeasePrestoreMoney
"
:
min
=
"
0
"
precision
=
"
2
"
:
disabled
=
"
form.proprietorId !== undefined
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入车位租赁预存余额
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
储藏室租赁预存金额
"
prop
=
"
storeroomLeasePrestoreMoney
"
>
<
el
-
form
-
item
label
=
"
储藏室租赁预存金额
"
prop
=
"
storeroomLeasePrestoreMoney
"
>
<
el
-
input
-
number
v
-
model
=
"
form.storeroomLeasePrestoreMoney
"
:
min
=
"
0
"
precision
=
"
2
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入储藏室租赁预存金额
"
/>
<
el
-
input
-
number
v
-
model
=
"
form.storeroomLeasePrestoreMoney
"
:
min
=
"
0
"
precision
=
"
2
"
:
disabled
=
"
form.proprietorId !== undefined
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入储藏室租赁预存金额
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-row
>
<
/el-row
>
<
el
-
row
>
<
el
-
row
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
其他项目预存金额
"
prop
=
"
otherPrestoreMoney
"
>
<
el
-
form
-
item
label
=
"
其他项目预存金额
"
prop
=
"
otherPrestoreMoney
"
>
<
el
-
input
-
number
v
-
model
=
"
form.otherPrestoreMoney
"
:
min
=
"
0
"
precision
=
"
2
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入其他项目预存金额
"
/>
<
el
-
input
-
number
v
-
model
=
"
form.otherPrestoreMoney
"
:
min
=
"
0
"
precision
=
"
2
"
:
disabled
=
"
form.proprietorId !== undefined
"
style
=
"
width: 100%;
"
placeholder
=
"
请输入其他项目预存金额
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
/el-row
>
<
/el-row
>
...
...
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