Merge branch 'develop' into feature/mzl_dev

This commit is contained in:
mzl
2025-10-30 17:55:27 +08:00
6 changed files with 79 additions and 31 deletions
@@ -47,7 +47,7 @@ class FinPaymentApplyController extends BaseController
if (isset($data['currency_id'])) //付款币种 if (isset($data['currency_id'])) //付款币种
$data['currency_name'] = SysCurrency::where('id', $data['currency_id'])->value('currency_name')??''; $data['currency_name'] = SysCurrency::where('id', $data['currency_id'])->value('currency_name')??'';
$OssService = new OssService(); $OssService = new OssService();
if (isset($data['submit_files'])){ if (!empty($data['submit_files'])){
$data['submit_files'] = json_decode($data['submit_files'], true); $data['submit_files'] = json_decode($data['submit_files'], true);
foreach ($data['submit_files'] as $key => $value) { foreach ($data['submit_files'] as $key => $value) {
$data['submit_files'][$key] = [ $data['submit_files'][$key] = [
@@ -56,12 +56,23 @@ class FinPaymentApplyController extends BaseController
'file_name' => $value['file_name'], 'file_name' => $value['file_name'],
]; ];
} }
}else{
$data['submit_files'] = [];
} }
if (!empty($data['voucher_file'])) {
$data['voucher_file_full'] = $OssService->generatePrivateUrl($data['voucher_file']); if (!empty($data['voucher_file'])){
} elseif (isset($data['voucher_file'])) { $data['voucher_file'] = json_decode($data['voucher_file'], true);
$data['voucher_file_full'] = ''; foreach ($data['voucher_file'] as $key => $value) {
$data['voucher_file'][$key] = [
'file_src' => $value['file_src'],
'file_full' => $OssService->generatePrivateUrl($value['file_src']),
'file_name' => $value['file_name'],
];
}
}else{
$data['voucher_file'] = [];
} }
if (isset($data['created_at'])) if (isset($data['created_at']))
$data['created_at'] = date('Y-m-d H:i:s', $data['created_at']); $data['created_at'] = date('Y-m-d H:i:s', $data['created_at']);
if (isset($data['updated_at'])) if (isset($data['updated_at']))
@@ -106,7 +117,7 @@ class FinPaymentApplyController extends BaseController
if (isset($data['currency_id'])) //付款币种 if (isset($data['currency_id'])) //付款币种
$data['currency_name'] = SysCurrency::where('id', $data['currency_id'])->value('currency_name')??''; $data['currency_name'] = SysCurrency::where('id', $data['currency_id'])->value('currency_name')??'';
$OssService = new OssService(); $OssService = new OssService();
if (isset($data['submit_files'])){ if (!empty($data['submit_files'])){
$data['submit_files'] = json_decode($data['submit_files'], true); $data['submit_files'] = json_decode($data['submit_files'], true);
foreach ($data['submit_files'] as $key => $value) { foreach ($data['submit_files'] as $key => $value) {
$data['submit_files'][$key] = [ $data['submit_files'][$key] = [
@@ -115,12 +126,23 @@ class FinPaymentApplyController extends BaseController
'file_name' => $value['file_name'], 'file_name' => $value['file_name'],
]; ];
} }
}else{
$data['submit_files'] = [];
} }
if (!empty($data['voucher_file'])) {
$data['voucher_file_full'] = $OssService->generatePrivateUrl($data['voucher_file']); if (!empty($data['voucher_file'])){
} elseif (isset($data['voucher_file'])) { $data['voucher_file'] = json_decode($data['voucher_file'], true);
$data['voucher_file_full'] = ''; foreach ($data['voucher_file'] as $key => $value) {
$data['voucher_file'][$key] = [
'file_src' => $value['file_src'],
'file_full' => $OssService->generatePrivateUrl($value['file_src']),
'file_name' => $value['file_name'],
];
}
}else{
$data['voucher_file'] = [];
} }
if (isset($data['created_at'])) if (isset($data['created_at']))
$data['created_at'] = date('Y-m-d H:i:s', $data['created_at']); $data['created_at'] = date('Y-m-d H:i:s', $data['created_at']);
if (isset($data['updated_at'])) if (isset($data['updated_at']))
+26 -7
View File
@@ -97,10 +97,19 @@ class FinReceiptController extends BaseController
$data['country_name'] = Country::where('id', $data['country_id'])->value('cn_addr')??''; $data['country_name'] = Country::where('id', $data['country_id'])->value('cn_addr')??'';
if (isset($data['currency_id'])) //付款币种 if (isset($data['currency_id'])) //付款币种
$data['currency_name'] = SysCurrency::where('id', $data['currency_id'])->value('currency_name')??''; $data['currency_name'] = SysCurrency::where('id', $data['currency_id'])->value('currency_name')??'';
$OssService = new OssService();
if (!empty($data['fx_receipt_file'])){ if (!empty($data['fx_receipt_file'])){
$data['fx_receipt_file_full'] = (new OssService)->generatePrivateUrl($data['fx_receipt_file']); $data['fx_receipt_file'] = json_decode($data['fx_receipt_file'], true);
}elseif (isset($data['fx_receipt_file'])){ foreach ($data['fx_receipt_file'] as $key => $value) {
$data['fx_receipt_file_full'] = ''; $data['fx_receipt_file'][$key] = [
'file_src' => $value['file_src'],
'file_full' => $OssService->generatePrivateUrl($value['file_src']),
'file_name' => $value['file_name'],
];
}
}else{
$data['fx_receipt_file'] = [];
} }
return $data; return $data;
} }
@@ -129,12 +138,22 @@ class FinReceiptController extends BaseController
$data['country_name'] = Country::where('id', $data['country_id'])->value('cn_addr')??''; $data['country_name'] = Country::where('id', $data['country_id'])->value('cn_addr')??'';
if (isset($data['currency_id'])) //付款币种 if (isset($data['currency_id'])) //付款币种
$data['currency_name'] = SysCurrency::where('id', $data['currency_id'])->value('currency_name')??''; $data['currency_name'] = SysCurrency::where('id', $data['currency_id'])->value('currency_name')??'';
if (!empty($data['fx_receipt_file'])) {
$data['fx_receipt_file_full'] = (new OssService)->generatePrivateUrl($data['fx_receipt_file']); $OssService = new OssService();
} elseif (isset($data['fx_receipt_file'])) { if (!empty($data['fx_receipt_file'])){
$data['fx_receipt_file_full'] = ''; $data['fx_receipt_file'] = json_decode($data['fx_receipt_file'], true);
foreach ($data['fx_receipt_file'] as $key => $value) {
$data['fx_receipt_file'][$key] = [
'file_src' => $value['file_src'],
'file_full' => $OssService->generatePrivateUrl($value['file_src']),
'file_name' => $value['file_name'],
];
}
}else{
$data['fx_receipt_file'] = [];
} }
//查询关联的付款记录
if (!empty($data['payment_apply_id'])) { if (!empty($data['payment_apply_id'])) {
$paymentApply = FinPaymentApply::where('id', $data['payment_apply_id'])->first(); $paymentApply = FinPaymentApply::where('id', $data['payment_apply_id'])->first();
if(!$paymentApply) if(!$paymentApply)
+1 -1
View File
@@ -40,7 +40,7 @@ class FinReceiptHis extends Model
/** /**
* 允许自动填充模型字段 * 允许自动填充模型字段
*/ */
protected $fillable = ['id', 'receipt_id', 'receipt_no', 'payment_apply_id', 'country_id', 'remitter', 'account_id', 'currency_id', 'amount', 'discount_amount', 'total_amount_cny', 'exchange_rate', 'arrived_at', 'received_at', 'voucher_no', 'fx_receipt_file', 'is_domestic_return', 'created_by', 'updated_by', 'created_at', 'updated_at']; protected $fillable = ['id', 'receipt_id', 'receipt_no', 'payment_apply_id', 'country_id', 'remitter', 'account_id', 'currency_id', 'amount', 'discount_amount', 'total_amount_cny', 'exchange_rate', 'arrived_at', 'received_at', 'voucher_no', 'fx_receipt_file', 'is_domestic_return', 'created_by', 'updated_by', 'claimed_by', 'created_at', 'updated_at'];
/** /**
* 不允许自动填充模型字段 * 不允许自动填充模型字段
+13 -5
View File
@@ -87,9 +87,14 @@ class FinPaymentApplyService
{ {
$data['apply_no'] = $this->generateUniqueApplyNo(); $data['apply_no'] = $this->generateUniqueApplyNo();
$data['doc_user_id'] = $request->user->uid; $data['doc_user_id'] = $request->user->uid;
$data['voucher_file'] = json_encode($data['voucher_file']);
$data['submit_files'] = json_encode($data['submit_files']); $data['submit_files'] = json_encode($data['submit_files']);
redis::set('stock_' . $data['doc_user_id'], json_encode($request->post('stock')), 'EX', 30); redis::set('stock_' . $data['doc_user_id'], json_encode($request->post('stock')), 'EX', 30);
unset($data['stock']); unset($data['stock']);
if($data['voucher_file'] == '[]' || $data['voucher_file'] == '{}' )
$data['voucher_file'] = '';
if($data['submit_files'] == '[]' || $data['submit_files'] == '{}' )
$data['submit_files'] = '';
return $data; return $data;
} }
@@ -112,7 +117,13 @@ class FinPaymentApplyService
public function beforeServiceUpdate($data, Request $request) public function beforeServiceUpdate($data, Request $request)
{ {
unset($data['stock']);
$data['submit_files'] = json_encode($data['submit_files']); $data['submit_files'] = json_encode($data['submit_files']);
if($data['submit_files'] == '[]' || $data['submit_files'] == '{}' )
$data['submit_files'] = '';
$data['voucher_file'] = json_encode($data['voucher_file']);
if($data['voucher_file'] == '[]' || $data['voucher_file'] == '{}' )
$data['voucher_file'] = '';
return $data; return $data;
} }
@@ -174,10 +185,9 @@ class FinPaymentApplyService
// 入账资料超时 // 入账资料超时
if (isset($param['scene']) && $param['scene'] == 'file_timeout') { if (isset($param['scene']) && $param['scene'] == 'file_timeout') {
$where[] = ['submit_files', ''];
$where[] = ['claimed_at', '<', time()-24*60*60]; $where[] = ['claimed_at', '<', time()-24*60*60];
$where[] = ['claimed_at', '>', 1]; $where[] = ['claimed_at', '>', 1];
$orWhere[] = ['submit_files', '[]'];
$orWhere[] = ['submit_files', ''];
} }
// 关键字 // 关键字
@@ -187,9 +197,7 @@ class FinPaymentApplyService
} }
// 构建查询 // 构建查询
$query = $this->modelClass::where($where)->where(function($query) use ($orWhere) { $query = $this->modelClass::where($where);
$query->orWhere($orWhere);
});
// 是否已关联收款记录的筛选 // 是否已关联收款记录的筛选
$correlation = $param['correlation']??''; $correlation = $param['correlation']??'';
+5 -1
View File
@@ -114,6 +114,8 @@ class FinReceiptService
$data['arrived_at'] = strtotime( $data['arrived_at']); $data['arrived_at'] = strtotime( $data['arrived_at']);
$data['created_by'] = $request->user->uid; $data['created_by'] = $request->user->uid;
$data['updated_by'] = $request->user->uid; $data['updated_by'] = $request->user->uid;
if($data['fx_receipt_file'] == '[]' || $data['fx_receipt_file'] == '{}' )
$data['fx_receipt_file'] = '';
return $data; return $data;
} }
@@ -132,7 +134,9 @@ class FinReceiptService
$data['arrived_at'] = strtotime($data['arrived_at']); $data['arrived_at'] = strtotime($data['arrived_at']);
if(isset($data['received_at'])) if(isset($data['received_at']))
$data['received_at'] = strtotime($data['received_at']); $data['received_at'] = strtotime($data['received_at']);
if($data['fx_receipt_file'] == '[]' || $data['fx_receipt_file'] == '{}' )
$data['fx_receipt_file'] = '';
return $data; return $data;
} }
public function afterServiceUpdate($res) public function afterServiceUpdate($res)
+2 -7
View File
@@ -53,18 +53,13 @@ class Task
return; return;
} }
Log::info('fin_payment_apply submit_files start', [time()]); Log::info('fin_payment_apply submit_files start', [time()]);
$orWhere = [
['submit_files', '=', '[]'],
['submit_files', '=', ''],
];
$where = [ $where = [
['submit_files', '=', ''],
['warn', '<', 2], ['warn', '<', 2],
['created_at', '>', time() - 60 * 60 * 48], ['created_at', '>', time() - 60 * 60 * 48],
['created_at', '<', time() - 60 * 60 * 24], ['created_at', '<', time() - 60 * 60 * 24],
]; ];
$payment = FinPaymentApply::where($where)->where(function($query) use ($orWhere) { $payment = FinPaymentApply::where($where)->orderBy('id', 'desc')->get();
$query->orWhere($orWhere);
})->orderBy('id', 'desc')->get();
foreach ($payment as $item) { foreach ($payment as $item) {
Log::info('fin_payment_apply submit_files ', [$item->toArray()]); Log::info('fin_payment_apply submit_files ', [$item->toArray()]);
$notice = [ $notice = [