123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528 |
- <?php
- namespace app\services\system;
- use app\dao\system\SystemEventDao;
- use app\services\BaseServices;
- use crmeb\exceptions\AdminException;
- use think\facade\Db;
- class SystemEventServices extends BaseServices
- {
- public function __construct(SystemEventDao $dao)
- {
- $this->dao = $dao;
- }
- /**
- * 获取场景列表
- * @return \string[][]
- * @author wuhaotian
- * @email 442384644@qq.com
- * @date 2024/6/7
- */
- public function getMarkList()
- {
- // $data = [
- // [
- // 'label' => '用户注册',
- // 'value' => 'user_register',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'nickname' => '用户昵称',
- // 'phone' => '用户手机号',
- // 'add_time' => '用户注册时间',
- // 'user_type' => '用户来源',
- // ]
- // ],
- // [
- // 'label' => '用户登录',
- // 'value' => 'user_login',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'nickname' => '用户昵称',
- // 'phone' => '用户手机号',
- // 'add_time' => '用户注册时间',
- // 'login_time' => '用户登录时间',
- // 'user_type' => '用户来源',
- // ]
- // ],
- // [
- // 'label' => '用户注销',
- // 'value' => 'user_cancel',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'nickname' => '用户昵称',
- // 'phone' => '用户手机号',
- // 'add_time' => '用户注册时间',
- // 'cancel_time' => '用户注销时间',
- // 'user_type' => '用户来源',
- // ]
- // ],
- // [
- // 'label' => '用户修改信息',
- // 'value' => 'user_change_info',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'nickname' => '用户昵称',
- // 'phone' => '用户手机号',
- // 'avatar' => '用户头像',
- // 'add_time' => '用户注册时间',
- // 'user_type' => '用户来源',
- // ]
- // ],
- // [
- // 'label' => '绑定推广关系',
- // 'value' => 'user_spread',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'nickname' => '用户昵称',
- // 'spread_uid' => '上级用户uid',
- // 'spread_time' => '用户绑定时间',
- // 'user_type' => '用户来源',
- // ]
- // ],
- // [
- // 'label' => '用户签到',
- // 'value' => 'user_sign',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'sign_point' => '签到积分',
- // 'sign_exp' => '签到经验',
- // 'sign_time' => '签到时间',
- // ]
- // ],
- // [
- // 'label' => '用户充值',
- // 'value' => 'user_recharge',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'id' => '订单id',
- // 'order_id' => '订单order_id',
- // 'nickname' => '用户昵称',
- // 'phone' => '用户电话',
- // 'price' => '充值金额',
- // 'give_price' => '赠送金额',
- // 'now_money' => '当前余额',
- // 'recharge_time' => '充值时间',
- // ]
- // ],
- // [
- // 'label' => '用户提现',
- // 'value' => 'user_extract',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'phone' => '用户电话',
- // 'extract_type' => '提现类型',
- // 'extract_price' => '提现金额',
- // 'extract_fee' => '提现手续费',
- // 'extract_time' => '提现时间',
- // ]
- // ],
- // [
- // 'label' => '用户商品访问',
- // 'value' => 'user_product_visit',
- // 'data' => [
- // 'product_id' => '商品id',
- // 'uid' => '用户uid',
- // 'visit_time' => '访问时间',
- // ]
- // ],
- // [
- // 'label' => '用户商品收藏',
- // 'value' => 'user_product_collect',
- // 'data' => [
- // 'product_id' => '商品id',
- // 'uid' => '用户uid',
- // 'collect_time' => '访问时间',
- // ]
- // ],
- // [
- // 'label' => '用户加入购物车',
- // 'value' => 'user_add_cart',
- // 'data' => [
- // 'product_id' => '商品id',
- // 'uid' => '用户uid',
- // 'cart_num' => '商品数量',
- // 'add_time' => '添加时间',
- // ]
- // ],
- // [
- // 'label' => '用户抽奖',
- // 'value' => 'user_lottery',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'lottery_id' => '抽奖id',
- // 'prize_id' => '奖品id',
- // 'record_id' => '中奖记录id',
- // 'lottery_time' => '抽奖时间',
- // ]
- // ],
- // [
- // 'label' => '订单创建',
- // 'value' => 'order_create',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'id' => '订单id',
- // 'order_id' => '订单order_id',
- // 'real_name' => '用户名称',
- // 'user_phone' => '用户电话',
- // 'user_address' => '用户地址',
- // 'total_num' => '商品总数',
- // 'pay_price' => '支付金额',
- // 'pay_postage' => '支付邮费',
- // 'deduction_price' => '积分抵扣金额',
- // 'coupon_price' => '优惠券抵扣金额',
- // 'store_name' => '商品名称',
- // 'add_time' => '订单创建时间',
- // ]
- // ],
- // [
- // 'label' => '订单取消',
- // 'value' => 'order_cancel',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'id' => '订单id',
- // 'order_id' => '订单order_id',
- // 'real_name' => '用户名称',
- // 'user_phone' => '用户电话',
- // 'user_address' => '用户地址',
- // 'total_num' => '商品总数',
- // 'pay_price' => '支付金额',
- // 'deduction_price' => '积分抵扣金额',
- // 'coupon_price' => '优惠券抵扣金额',
- // 'cancel_time' => '订单取消时间',
- // ]
- // ],
- // [
- // 'label' => '订单支付',
- // 'value' => 'order_pay',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'id' => '订单id',
- // 'order_id' => '订单order_id',
- // 'real_name' => '用户名称',
- // 'user_phone' => '用户电话',
- // 'user_address' => '用户地址',
- // 'total_num' => '商品总数',
- // 'pay_price' => '支付金额',
- // 'pay_postage' => '支付邮费',
- // 'deduction_price' => '积分抵扣金额',
- // 'coupon_price' => '优惠券抵扣金额',
- // 'store_name' => '商品名称',
- // 'add_time' => '订单创建时间',
- // ]
- // ],
- // [
- // 'label' => '订单收货/核销',
- // 'value' => 'order_take',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'id' => '订单id',
- // 'order_id' => '订单order_id',
- // 'real_name' => '用户名称',
- // 'user_phone' => '用户电话',
- // 'user_address' => '用户地址',
- // 'total_num' => '商品总数',
- // 'pay_price' => '支付金额',
- // 'pay_postage' => '支付邮费',
- // 'deduction_price' => '积分抵扣金额',
- // 'coupon_price' => '优惠券抵扣金额',
- // 'store_name' => '商品名称',
- // 'add_time' => '订单创建时间',
- // ]
- // ],
- // [
- // 'label' => '订单发起退款',
- // 'value' => 'order_initiated_refund',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'refund_order_id' => '退款订单order_id',
- // 'order_id' => '订单order_id',
- // 'real_name' => '用户名称',
- // 'user_phone' => '用户电话',
- // 'user_address' => '用户地址',
- // 'refund_num' => '退款数量',
- // 'refund_price' => '退款金额',
- // 'refund_time' => '退款发起时间',
- // ]
- // ],
- // [
- // 'label' => '用户取消退款',
- // 'value' => 'order_refund_cancel',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'id' => '退款订单id',
- // 'store_order_id' => '对应正常订单id',
- // 'order_id' => '退款订单order_id',
- // 'refund_num' => '退款数量',
- // 'refund_price' => '退款金额',
- // 'cancel_time' => '拒绝时间',
- // ]
- // ],
- // [
- // 'label' => '佣金到账',
- // 'value' => 'order_brokerage',
- // 'data' => [
- // 'uid' => '推广人uid',
- // 'order_id' => '订单order_id',
- // 'phone' => '推广人电话',
- // 'brokeragePrice' => '佣金金额',
- // 'goodsName' => '商品名称',
- // 'goodsPrice' => '订单金额',
- // 'add_time' => '到账时间',
- // ]
- // ],
- // [
- // 'label' => '积分到账',
- // 'value' => 'order_point',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'order_id' => '订单order_id',
- // 'phone' => '用户电话',
- // 'storeTitle' => '商品名称',
- // 'give_integral' => '赠送积分',
- // 'integral' => '总积分',
- // 'add_time' => '赠送时间',
- // ]
- // ],
- // [
- // 'label' => '申请开票',
- // 'value' => 'order_invoice',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'order_id' => '订单order_id',
- // 'phone' => '用户电话',
- // 'invoice_id' => '发票id',
- // 'add_time' => '开票时间',
- // ]
- // ],
- // [
- // 'label' => '订单评价',
- // 'value' => 'order_comment',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'oid' => '订单id',
- // 'unique' => '商品规格唯一值',
- // 'suk' => '商品规格',
- // 'product_id' => '商品id',
- // 'add_time' => '评价时间',
- // ]
- // ],
- // [
- // 'label' => '管理员登录',
- // 'value' => 'admin_login',
- // 'data' => [
- // 'id' => '管理员id',
- // 'account' => '管理员账号',
- // 'head_pic' => '管理员头像',
- // 'real_name' => '管理员名称',
- // 'login_time' => '登录时间',
- // ]
- // ],
- //
- // [
- // 'label' => '后台提现成功',
- // 'value' => 'admin_extract_success',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'price' => '提现金额',
- // 'pay_type' => '提现类型',
- // 'nickname' => '用户昵称',
- // 'phone' => '用户电话',
- // 'success_time' => '成功时间'
- // ]
- // ],
- // [
- // 'label' => '后台提现失败',
- // 'value' => 'admin_extract_fail',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'price' => '提现金额',
- // 'pay_type' => '提现类型',
- // 'nickname' => '用户昵称',
- // 'phone' => '用户电话',
- // 'fail_time' => '失败时间'
- // ]
- // ],
- // [
- // 'label' => '后台充值退款',
- // 'value' => 'admin_recharge_refund',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'refund_price' => '退款金额',
- // 'now_money' => '剩余余额',
- // 'nickname' => '用户昵称',
- // 'phone' => '用户电话',
- // 'refund_time' => '退款时间',
- // ]
- // ],
- // [
- // 'label' => '后台修改订单改价',
- // 'value' => 'admin_order_change',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'order_id' => '订单order_id',
- // 'pay_price' => '修改后订单金额',
- // 'gain_integral' => '修改后订单赠送积分',
- // 'change_time' => '修改时间',
- // ]
- // ],
- // [
- // 'label' => '后台订单发货',
- // 'value' => 'admin_order_express',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'real_name' => '用户名称',
- // 'user_phone' => '用户电话',
- // 'user_address' => '用户地址',
- // 'order_id' => '订单order_id',
- // 'delivery_name' => '快递名称/配送员名称',
- // 'delivery_id' => '快递单号/配送员电话',
- // 'express_time' => '发货事件',
- // ]
- // ],
- // [
- // 'label' => '后台订单退款',
- // 'value' => 'admin_order_refund_success',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'order_id' => '订单order_id',
- // 'real_name' => '用户名称',
- // 'user_phone' => '用户电话',
- // 'user_address' => '用户地址',
- // 'total_num' => '商品总数',
- // 'pay_price' => '支付金额',
- // 'refund_reason_wap' => '退款理由类型',
- // 'refund_reason_wap_explain' => '退款理由',
- // 'refund_price' => '实际退款金额',
- // 'refund_time' => '退款时间',
- // ]
- // ],
- // [
- // 'label' => '后台订单拒绝退款',
- // 'value' => 'admin_order_refund_fail',
- // 'data' => [
- // 'uid' => '用户uid',
- // 'id' => '退款订单id',
- // 'store_order_id' => '对应正常订单id',
- // 'order_id' => '退款订单order_id',
- // 'refund_num' => '退款数量',
- // 'refund_price' => '退款金额',
- // 'refuse_reason' => '拒绝退款理由',
- // 'refuse_time' => '拒绝时间',
- // ]
- // ],
- // ];
- // foreach ($data as &$item){
- // $item['data'] = json_encode($item['data']);
- // }
- // app()->make(SystemEventDataServices::class)->saveAll($data);
- $data = app()->make(SystemEventDataServices::class)->selectList([])->toArray();
- foreach ($data as &$item) {
- $str = '$data = ' . var_export(json_decode($item['data'], true), true);
- $item['data'] = str_replace(['array (', ')'], ['[', ']'], $str);
- }
- return $data;
- }
- /**
- * 获取事件列表
- * @return array
- * @throws \ReflectionException
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- * @author wuhaotian
- * @email 442384644@qq.com
- * @date 2024/6/7
- */
- public function getEventList()
- {
- [$page, $limit] = $this->getPageValue();
- $list = $this->dao->selectList(['is_del' => 0], 'id,name,mark,content,add_time,is_open', $page, $limit, 'id desc')->toArray();
- $count = $this->dao->getCount(['is_del' => 0]);
- foreach ($list as &$item) {
- $item['add_time'] = date('Y-m-d H:i:s', $item['add_time']);
- foreach ($this->getMarkList() as $markItem) {
- if ($markItem['value'] == $item['mark']) {
- $item['mark_name'] = $markItem['label'];
- }
- }
- }
- return compact('list', 'count');
- }
- /**
- * 获取事件详情
- * @param $id
- * @return array
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- * @author wuhaotian
- * @email 442384644@qq.com
- * @date 2024/6/7
- */
- public function getEventInfo($id)
- {
- $info = $this->dao->get($id);
- if (!$info) throw new AdminException('事件不存在');
- $info = $info->toArray();
- $info['add_time'] = date('Y-m-d H:i:s', $info['add_time']);
- $info['customCode'] = "<?php\n\n" . json_decode($info['customCode'], true);
- return $info;
- }
- public function saveEvent($data)
- {
- $data['add_time'] = time();
- $data['customCode'] = json_encode(preg_replace('/<\?php\s*\n/', '', $data['customCode']));
- if (!$data['id']) {
- unset($data['id']);
- $res = $this->dao->save($data);
- } else {
- $res = $this->dao->update(['id' => $data['id']], $data);
- }
- if (!$res) throw new AdminException(100006);
- return true;
- }
- /**
- * 删除事件
- * @param $id
- * @return bool
- * @throws \think\db\exception\DataNotFoundException
- * @throws \think\db\exception\DbException
- * @throws \think\db\exception\ModelNotFoundException
- * @author wuhaotian
- * @email 442384644@qq.com
- * @date 2024/6/7
- */
- public function eventDel($id)
- {
- $info = $this->dao->get($id);
- if (!$info) throw new AdminException('事件不存在');
- $info->is_del = 1;
- $info->save();
- return true;
- }
- /**
- * 设置事件状态
- * @param $id
- * @param $is_open
- * @return bool
- * @author wuhaotian
- * @email 442384644@qq.com
- * @date 2024/6/7
- */
- public function setEventStatus($id, $is_open)
- {
- $res = $this->dao->update(['id' => $id], ['is_open' => $is_open]);
- if (!$res) throw new AdminException(100014);
- return true;
- }
- }
|