diff --git a/app/common/controller/FinReceiptController.php b/app/common/controller/FinReceiptController.php index f0e0626..4c73b7a 100644 --- a/app/common/controller/FinReceiptController.php +++ b/app/common/controller/FinReceiptController.php @@ -12,6 +12,7 @@ use app\common\model\User; use app\common\service\OssService; use app\common\traits\crud\CrudControllerTrait; use app\common\service\FinReceiptService; +use support\Redis; use support\Request; class FinReceiptController extends BaseController @@ -85,14 +86,20 @@ class FinReceiptController extends BaseController { if (isset($data['created_at'])){ $data['claim_timeout'] = (($data['created_at'] < (time()-86400)) && empty($data['payment_apply_id'])) ?1:0; + $data['claim_timeout_time'] = date('Y-m-d H:i:s', $data['created_at']+86400); $data['created_at'] = date('Y-m-d H:i:s', $data['created_at']); } if (isset($data['updated_at'])) $data['updated_at'] = date('Y-m-d H:i:s', $data['updated_at']); if (isset($data['arrived_at'])) $data['arrived_at'] = date('Y-m-d H:i:s', $data['arrived_at']); - if (isset($data['received_at'])) + if (isset($data['received_at'])){ $data['received_at'] = date('Y-m-d H:i:s', $data['received_at']); + $voucher_no_timeout_hour = redis::get('voucher_no_timeout_hour'); + if(!empty($voucher_no_timeout_hour)){ + $data['voucher_no_timeout_time'] = date('Y-m-d H:i:s', time()+(60*60*$voucher_no_timeout_hour)); + } + } if (isset($data['account_id'])) { //收款账号 $data['account_name'] = SysAccount::where('id', $data['account_id'])->value('account_name')??''; $data['account_short_desc'] = SysAccount::where('id', $data['account_id'])->value('short_desc')??''; diff --git a/app/common/model/FinPaymentApply.php b/app/common/model/FinPaymentApply.php index c81ac0a..af52c85 100644 --- a/app/common/model/FinPaymentApply.php +++ b/app/common/model/FinPaymentApply.php @@ -42,7 +42,7 @@ class FinPaymentApply extends Model /** * 允许自动填充模型字段 */ - protected $fillable = ['id', 'apply_no', 'doc_user_id', 'sales_user_id', 'corp_id', 'account_id', 'payment_account', 'payment_entity', 'entity_type', 'currency_id', 'amount', 'swift', 'remit_bank', 'country_id', 'remitter', 'exchange_rate', 'total_amount_cny', 'voucher_file', 'voucher_name', 'submit_files','receipt_id','claimed_at','warn', 'created_at', 'updated_at', 'deleted_at', 'claimed_by', 'created_by',]; + protected $fillable = ['id', 'apply_no', 'doc_user_id', 'sales_user_id', 'corp_id', 'account_id', 'payment_account', 'payment_entity', 'entity_type', 'currency_id', 'amount', 'swift', 'remit_bank', 'country_id', 'remitter', 'exchange_rate', 'total_amount_cny', 'voucher_file', 'voucher_name', 'submit_files','receipt_id','claimed_at','warn', 'received_at', 'created_at', 'updated_at', 'deleted_at', 'claimed_by', 'created_by',]; /** * 不允许自动填充模型字段 diff --git a/app/common/service/FinPaymentApplyService.php b/app/common/service/FinPaymentApplyService.php index be467e5..ed9267a 100644 --- a/app/common/service/FinPaymentApplyService.php +++ b/app/common/service/FinPaymentApplyService.php @@ -217,6 +217,7 @@ class FinPaymentApplyService if(isset($param['scene']) && $param['scene'] == 'pending'){ //待入账列表 $query->where('receipt_id', '>' ,'0'); $query->where('submit_files','!=',''); + $query->whereNotNull('received_at'); } if($param['scene'] == 'delete'){ //查询作废数据 diff --git a/app/common/service/FinReceiptService.php b/app/common/service/FinReceiptService.php index 040c9a7..df236ea 100644 --- a/app/common/service/FinReceiptService.php +++ b/app/common/service/FinReceiptService.php @@ -10,6 +10,7 @@ use app\common\validate\FinReceiptValidate; use app\common\traits\crud\CrudServiceTrait; use app\common\model\FinReceipt; use support\exception\BusinessException; +use support\Redis; use support\Request; class FinReceiptService @@ -194,6 +195,10 @@ class FinReceiptService $page = (int)$request->get('current', 1); $param = $request->all(); + if(isset($param['voucher_no_timeout_hour'])){ + redis::set('voucher_no_timeout_hour', $param['voucher_no_timeout_hour'], 'EX', 30); + } + $where = []; // 汇款国家 @@ -295,6 +300,7 @@ class FinReceiptService 'total_amount_cny' => round($finReceipt['amount']*$exchange_rate,2), ]; $res = $this->logic->credit($id,$data); + FinPaymentApply::where('id', $finReceipt->payment_apply_id)->update(['received_at' => $data['received_at']]); $this->afterServiceUpdate(['id'=>$id]); return $res; }