| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- // +----------------------------------------------------------------------
- // | likeadmin快速开发前后端分离管理后台(PHP版)
- // +----------------------------------------------------------------------
- // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
- // | 开源版本可自由商用,可去除界面版权logo
- // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
- // | github下载:https://github.com/likeshop-github/likeadmin
- // | 访问官网:https://www.likeadmin.cn
- // | likeadmin团队 版权所有 拥有最终解释权
- // +----------------------------------------------------------------------
- // | author: likeadminTeam
- // +----------------------------------------------------------------------
- namespace app\adminapi\logic\finance;
- use app\common\enum\RefundEnum;
- use app\common\logic\BaseLogic;
- use app\common\model\refund\RefundLog;
- use app\common\model\refund\RefundRecord;
- /**
- * 退款
- * Class RefundLogic
- * @package app\adminapi\logic\finance
- */
- class RefundLogic extends BaseLogic
- {
- /**
- * @notes 退款统计
- * @return array
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- * @author 段誉
- * @date 2023/3/3 12:09
- */
- public static function stat()
- {
- $records = RefundRecord::select()->toArray();
- $total = 0;
- $ing = 0;
- $success = 0;
- $error = 0;
- foreach ($records as $record) {
- $total += $record['order_amount'];
- switch ($record['refund_status']) {
- case RefundEnum::REFUND_ING:
- $ing += $record['order_amount'];
- break;
- case RefundEnum::REFUND_SUCCESS:
- $success += $record['order_amount'];
- break;
- case RefundEnum::REFUND_ERROR:
- $error += $record['order_amount'];
- break;
- }
- }
- return [
- 'total' => round($total, 2),
- 'ing' => round($ing, 2),
- 'success' => round($success, 2),
- 'error' => round($error, 2),
- ];
- }
- /**
- * @notes 退款日志
- * @param $recordId
- * @return array
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- * @author 段誉
- * @date 2023/3/3 14:25
- */
- public static function refundLog($recordId)
- {
- return (new RefundLog())
- ->order(['id' => 'desc'])
- ->where('record_id', $recordId)
- ->hidden(['refund_msg'])
- ->append(['handler', 'refund_status_text'])
- ->select()
- ->toArray();
- }
- }
|