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:
hailin 2025-12-25 01:04:00 -08:00
parent e7f2d69def
commit c826da164c
1 changed files with 41 additions and 16 deletions

View File

@ -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),
),
);
}
//