diff --git a/README.md b/README.md index 2b6871f..c1c65d1 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,12 @@ 这样,只要账户、密码没有问题,就不存在监听掉线的情况,也就非常稳定了。 + +目前已支持的收款平台:收钱吧、码钱、小Y经营、数字门店等。 + +正在开发的收款平台:拉卡拉、云闪付盛意旺 + + #### 软件架构 项目采用 THINKPHP8 + layui 2.9 + PearAdmin后台UI 开发 diff --git a/app/BaseModel.php b/app/BaseModel.php index ae8fba9..2345c8e 100644 --- a/app/BaseModel.php +++ b/app/BaseModel.php @@ -14,5 +14,6 @@ class BaseModel extends Model { use SoftDelete; protected $deleteTime = 'delete_time'; + protected $autoWriteTimestamp = 'timestamp'; } diff --git a/app/controller/api/ConsoleController.php b/app/controller/api/ConsoleController.php new file mode 100644 index 0000000..a5eab96 --- /dev/null +++ b/app/controller/api/ConsoleController.php @@ -0,0 +1,44 @@ +get('time') ?: 0; + $time = match ($date) { + 0 => [date('Y') . '-01-01 00:00:00', date('Y-m-d 23:59:59')], + 1 => [date('Y-m-d H:i:s', strtotime('-30 days')), date('Y-m-d 23:59:59')], + 2 => [date('Y-m-d H:i:s', strtotime('-6 months')), date('Y-m-d 23:59:59')], + 3 => [date('Y-m-d H:i:s', strtotime('-1 year')), date('Y-m-d 23:59:59')], + default => [] + }; + if (!$time) { + return json(['code' => 400, 'msg' => '参数错误']); + } + $orders = Order::whereBetweenTime('create_time', $time[0], $time[1])->where('state', 1)->field('id,type,really_price')->select(); + $data = [ + 'ordernum' => count($orders), + 'totalmoney' => \number_format(array_sum(array_column($orders->toArray(), 'really_price')), 2), + 'wxpay' => [ + 'num' => count($orders->where('type', 'wxpay')), + 'money' => \number_format(array_sum(array_column($orders->where('type', 'wxpay')->toArray(), 'really_price')), 2) + ], + 'alipay' => [ + 'num' => count($orders->where('type', 'alipay')), + 'money' => \number_format(array_sum(array_column($orders->where('type', 'alipay')->toArray(), 'really_price')), 2) + ], + 'unionpay' => [ + 'num' => count($orders->where('type', 'unionpay')), + 'money' => \number_format(array_sum(array_column($orders->where('type', 'unionpay')->toArray(), 'really_price')), 2) + ] + ]; + return json($data); + } +} diff --git a/app/controller/api/PayManageController.php b/app/controller/api/PayManageController.php index 140a1fc..e0da182 100644 --- a/app/controller/api/PayManageController.php +++ b/app/controller/api/PayManageController.php @@ -53,7 +53,8 @@ class PayManageController extends BaseController { $ids = $this->request->post('ids'); $res = PayAccount::destroy($ids); - if ($res) { + $res2 = PayChannel::destroy($ids); + if ($res && $res2) { return \json(\backMsg(0, '已删除')); } else { return \json(\backMsg(1, '失败')); diff --git a/extend/payclient/payclient.zip b/extend/payclient/payclient.zip new file mode 100644 index 0000000..fc2e00b Binary files /dev/null and b/extend/payclient/payclient.zip differ diff --git a/public/component/payClient.zip b/public/component/payClient.zip new file mode 100644 index 0000000..f26456f Binary files /dev/null and b/public/component/payClient.zip differ diff --git a/public/test.php b/public/test.php new file mode 100644 index 0000000..30ba221 --- /dev/null +++ b/public/test.php @@ -0,0 +1,3 @@ +
-

1433

+

{{ data.ordernum }}

总订单(笔)

-

12900

+

{{ data.totalmoney }}

总金额(元)

@@ -276,8 +276,8 @@

全渠道统计

-
{{ data.ordernum }}
-
{{ data.totalmoney }}
+
{{ data.wxpay.num }}
+
{{ data.wxpay.money }}
@@ -294,8 +294,8 @@

全渠道统计

-
50
-
490
+
{{ data.alipay.num }}
+
{{ data.alipay.money }}
@@ -321,8 +321,8 @@

全渠道统计

-
31
-
68
+
{{ data.unionpay.num }}
+
{{ data.unionpay.money }}
@@ -428,19 +428,24 @@ elem: '#order-data', data: [{ title: '今年', - id: 'this-year', + id: 0, }, { title: '近30天', - id: 'near-30days', + id: 1, }, { title: '近半年', - id: 'near-halfyear', + id: 2, }, { title: '近一年', - id: 'near-year', + id: 3, }], click: function (obj) { this.elem.find('span').text(obj.title); + (async () => { + const data = await fetch(`/api/Console/orderinfo?time=${obj.id}`).then(res => res.json()); + const updateOrderInfo = new CustomEvent("updateOrderInfo", { detail: data }); + window.dispatchEvent(updateOrderInfo); + })() } }); @@ -459,7 +464,7 @@ cols: cols, skin: 'line', }); - + // 折线图 var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden'); const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF'] var option = { @@ -556,14 +561,15 @@ createApp({ setup() { - const data = ref({ ordernum: 100, totalmoney: 1500 }); - function add(num) { - data.value.ordernum += num; - } - return { - data, - add - } + const data = ref({ ordernum: 0, totalmoney: 0, wxpay: { num: 0, money: 0 }, alipay: { num: 0, money: 0 }, unionpay: { num: 0, money: 0 } }); + (async () => { + const info = await fetch(`/api/Console/orderinfo?time=0`).then(res => res.json()); + data.value = info; + })() + window.addEventListener("updateOrderInfo", (event) => { + data.value = event.detail; + }); + return { data } } }).mount('#app') diff --git a/view/pay_manage/index.html b/view/pay_manage/index.html index ce34a41..d95146e 100644 --- a/view/pay_manage/index.html +++ b/view/pay_manage/index.html @@ -245,7 +245,7 @@ } const rec_info = await res.json(); if (rec_info.code === 0) { - layer.msg(rec_info.msg, { icon: 1, time: 1200 }, () => { table.reload('orders-table') }); + layer.msg(rec_info.msg, { icon: 1, time: 1200 }, () => { table.reload('account-table') }); } else { layer.msg(rec_info.msg, { icon: 2, time: 1200 }); }