Browse Source

申请开票接口优化

master
wanghongjun 1 year ago
parent
commit
fa26991c1e
  1. 13
      app/controller/api/InvoiceIssuance.php
  2. 37
      app/model/InvoiceHead.php
  3. 45
      app/validate/InvoiceHeadValidate.php

13
app/controller/api/InvoiceIssuance.php

@ -2,8 +2,10 @@
namespace app\controller\api;
use app\model\InvoiceHead;
use app\model\InvoiceIssuance as InvoiceIssuanceModel;
use app\util\ReturnCode;
use app\validate\InvoiceHeadValidate;
use app\validate\InvoiceIssuanceValidate;
class InvoiceIssuance extends Base
@ -35,9 +37,14 @@ class InvoiceIssuance extends Base
throw new \Exception('当前开票项目已申请开票');
}
$data['expire_time'] = strtotime($params['expire_time']);
$data['mobile'] = strtotime($params['mobile']);
$data['email'] = strtotime($params['email']);
$data['expire_time'] = strtotime($params['expire_time']);
$data['mobile'] = $params['mobile'];
$data['email'] = $params['email'];
//验证 、 新建抬头、获取抬头id
validate(InvoiceHeadValidate::class)->scene('type')->check($data);
validate(InvoiceHeadValidate::class)->scene('type'.$data['type'])->check($data);
$data['invoice_head_id'] = InvoiceHead::createHead($wechat_user_id,$data);
if ($id) {
validate(InvoiceIssuanceValidate::class)->scene('edit')->check($params);

37
app/model/InvoiceHead.php

@ -0,0 +1,37 @@
<?php
namespace app\model;
use think\Model;
class InvoiceHead extends Model
{
public static function createHead($wechat_user_id, $data)
{
$param = [
'type' => $data['type'],
'title' => $data['title'],
'tax_number' => $data['tax_number'],
'wechat_user_id' => $wechat_user_id
];
$id = self::where($param)->value('id');
if ($id) {
return $id;
}
$param['address'] = $data['address'] ?? '';
$param['telephone'] = $data['telephone'] ?? '';
$param['bank_name'] = $data['bank_name'] ?? '';
$param['bank_account'] = $data['bank_account'] ?? '';
$param['create_time'] = time();
$model = self::create($param);
return $model->where($param)->value('id');
}
}

45
app/validate/InvoiceHeadValidate.php

@ -0,0 +1,45 @@
<?php
namespace app\validate;
use think\Validate;
class InvoiceHeadValidate extends Validate
{
/**
* 验证规则.
*/
protected $rule = [
'type|抬头类型' => 'require|in:1,2',
'title|抬头名称' => 'require',
'tax_number|税号' => 'require|alphaNum|length:18',
'address|地址' => 'require',
'telephone|电话' => 'require|alphaDash',
'bank_name|开户行' => 'require',
'bank_account|账户' => 'require'
];
/**
* 提示消息.
*/
protected $message = [
];
/**
* 字段描述.
*/
protected $field = [
];
/**
* 验证场景.
*/
protected $scene = [
'type1' => ['title','tax_number','address','telephone','bank_name','bank_account'],
'type2' => ['title','tax_number'],
'type' => ['type']
];
}
Loading…
Cancel
Save