fix(mobile-app): 支付成功后跳转到合同签署页面
修改认种支付成功后的流程: - 合同签署启用且已完成实名认证 → 跳转到合同签署页面 - 合同签署启用但未完成实名认证 → 弹窗提示去做实名认证 - 合同签署未启用 → 显示成功提示返回个人中心 符合设计流程: 支付(冻结) → 签合同 → 24小时内签署完成/超时取消 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
e7f2d69def
commit
c826da164c
|
|
@ -264,28 +264,53 @@ class _PlantingLocationPageState extends ConsumerState<PlantingLocationPage> {
|
|||
// 3. 确认省市选择
|
||||
await plantingService.confirmProvinceCity(widget.orderNo);
|
||||
|
||||
// 4. 支付订单
|
||||
// 4. 支付订单(此时资金已冻结)
|
||||
await plantingService.payOrder(widget.orderNo);
|
||||
|
||||
if (mounted) {
|
||||
// 显示成功提示
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('认种成功!'),
|
||||
backgroundColor: Color(0xFF4CAF50),
|
||||
),
|
||||
);
|
||||
// 5. 检查合同签署配置
|
||||
final contractSigningService = ref.read(contractSigningServiceProvider);
|
||||
final config = await contractSigningService.getConfig();
|
||||
|
||||
// 5. 认种成功后,检查是否需要实名认证(仅在合同签署功能启用时)
|
||||
final needsKyc = await _checkKycRequirement();
|
||||
if (needsKyc && mounted) {
|
||||
// 显示实名认证提示弹窗
|
||||
final goToKyc = await KycRequiredDialog.show(context: context);
|
||||
if (goToKyc == true && mounted) {
|
||||
// 跳转到实名认证页面
|
||||
context.push(RoutePaths.kycEntry);
|
||||
if (config.contractSigningEnabled) {
|
||||
// 合同签署功能启用 - 检查是否需要先完成实名认证
|
||||
final needsKyc = await _checkKycRequirement();
|
||||
|
||||
if (needsKyc && mounted) {
|
||||
// 未完成实名认证 - 显示提示弹窗
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('认种成功!请先完成实名认证后签署合同'),
|
||||
backgroundColor: Color(0xFF4CAF50),
|
||||
),
|
||||
);
|
||||
|
||||
final goToKyc = await KycRequiredDialog.show(context: context);
|
||||
if (goToKyc == true && mounted) {
|
||||
context.push(RoutePaths.kycEntry);
|
||||
return;
|
||||
}
|
||||
} else if (mounted) {
|
||||
// 已完成实名认证 - 直接跳转到合同签署页面
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('认种成功!请在24小时内完成合同签署'),
|
||||
backgroundColor: Color(0xFF4CAF50),
|
||||
),
|
||||
);
|
||||
|
||||
// 跳转到合同签署页面
|
||||
context.go('${RoutePaths.contractSigning}/${widget.orderNo}');
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
// 合同签署功能未启用 - 显示成功提示并返回
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('认种成功!'),
|
||||
backgroundColor: Color(0xFF4CAF50),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
// 返回到个人中心
|
||||
|
|
|
|||
Loading…
Reference in New Issue