From 6c21348af5dbe5620d1e4ab368c41e1582faf31e Mon Sep 17 00:00:00 2001 From: limu Date: Thu, 1 Feb 2024 11:46:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/User.php | 9 +++ app/api/model/user/InvoiceOrder.php | 82 ++++++++++++++++++++++++++ app/api/model/user/UserInvoice.php | 3 + app/common/model/user/InvoiceOrder.php | 44 ++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 app/api/model/user/InvoiceOrder.php create mode 100644 app/common/model/user/InvoiceOrder.php diff --git a/app/api/controller/User.php b/app/api/controller/User.php index 8b9fd4a5..a0d614a5 100644 --- a/app/api/controller/User.php +++ b/app/api/controller/User.php @@ -13,6 +13,7 @@ declare (strict_types=1); namespace app\api\controller; use app\api\model\user\UserInvoice; +use app\api\model\user\InvoiceOrder; use app\api\service\Feedback; use think\response\Json; use app\api\model\User as UserModel; @@ -173,4 +174,12 @@ class User extends Controller return $this->renderSuccess('修改成功'); } + //开票记录 + public function invoicingLog(): Json + { + $service = new InvoiceOrder(); + $list = $service->getList($this->request->param()); + return $this->renderSuccess(compact('list')); + } + } diff --git a/app/api/model/user/InvoiceOrder.php b/app/api/model/user/InvoiceOrder.php new file mode 100644 index 00000000..bd264829 --- /dev/null +++ b/app/api/model/user/InvoiceOrder.php @@ -0,0 +1,82 @@ + +// +---------------------------------------------------------------------- +declare (strict_types=1); + +namespace app\api\model\user; + +use app\api\service\User as UserService; +use app\common\model\user\InvoiceOrder as InvoiceOrderModel; + +/** + * 用户余额变动明细模型 + * Class BalanceLog + * @package app\api\model\user + */ +class InvoiceOrder extends InvoiceOrderModel +{ + /** + * 隐藏字段 + * @var array + */ + protected $hidden = [ + 'store_id', + ]; + + public function getList($param = []) + { + // 当前用户ID + $userId = UserService::getCurrentLoginUserId(); + // 获取列表数据 + $query = $this->where('user_id', '=', $userId); + $list = $query->order(['created_at' => 'desc']) + ->select(); + return $list; + } + + public function add($data) + { + // 当前用户ID + $userId = UserService::getCurrentLoginUserId(); + $store_id = app()->request->storeId(); + if (empty($data['header']) || empty($data['duty_no'])) { + $this->error = '请补全信息'; + return false; + } + return $this->save(array_merge($data, [ + 'user_id' => $userId, + 'store_id' => $store_id, + 'created_at' => time(), + ])); + } + + public function edit($data) + { + if (empty($data['header']) || empty($data['duty_no'])) { + $this->error = '请补全信息'; + return false; + } + $userId = UserService::getCurrentLoginUserId(); + $detail = self::get(['user_id' => $userId, 'id' => $data['id']]); + empty($detail) && throwError('未找到该抬头'); + + return $detail->save([ + 'type' => $data['type'], + 'source' => $data['source'], + 'header' => $data['header'], + 'duty_no' => $data['duty_no'], + 'bank_name' => $data['bank_name'] ?? '', + 'bank_no' => $data['bank_no'] ?? '', + 'address' => $data['address'] ?? '', + 'phone' => $data['phone'] ?? '', + ]) !== false; + } + +} \ No newline at end of file diff --git a/app/api/model/user/UserInvoice.php b/app/api/model/user/UserInvoice.php index 52f8798c..4f09060f 100644 --- a/app/api/model/user/UserInvoice.php +++ b/app/api/model/user/UserInvoice.php @@ -36,6 +36,9 @@ class UserInvoice extends UserInvoiceModel $userId = UserService::getCurrentLoginUserId(); // 获取列表数据 $query = $this->where('user_id', '=', $userId); + if (!empty($param['type'])) { + $query = $query->where('type', '=', $param['type']); + } return $query->order(['created_at' => 'desc']) ->select(); } diff --git a/app/common/model/user/InvoiceOrder.php b/app/common/model/user/InvoiceOrder.php new file mode 100644 index 00000000..6e90dfb1 --- /dev/null +++ b/app/common/model/user/InvoiceOrder.php @@ -0,0 +1,44 @@ + +// +---------------------------------------------------------------------- +declare (strict_types=1); + +namespace app\common\model\user; + +use cores\BaseModel; +use think\model\relation\BelongsTo; +use app\common\enum\user\balanceLog\Scene as SceneEnum; + +/** + * 用户余额变动明细模型 + * Class BalanceLog + * @package app\common\model\user + */ +class InvoiceOrder extends BaseModel +{ + // 定义表名 + protected $name = 'invoice_order'; + + // 定义主键 + protected $pk = 'id'; + + protected $updateTime = false; + + /** + * 关联会员记录表 + * @return BelongsTo + */ + public function user(): BelongsTo + { + $module = self::getCalledModule(); + return $this->belongsTo("app\\{$module}\\model\\User"); + } + +}