diff --git a/app/admin/controller/CouponReceive.php b/app/admin/controller/CouponReceive.php index f6f8fea..a671dd4 100755 --- a/app/admin/controller/CouponReceive.php +++ b/app/admin/controller/CouponReceive.php @@ -22,11 +22,15 @@ class CouponReceive extends Base { $keyword = trim(input('get.keyword')); $status = trim(input('get.status')); + $user_id = trim(input('get.user_id')); $whe = []; if (!empty($keyword)) { $whe[] = ['title', 'like', '%' . $keyword . '%']; } - + if ($user_id) { + $user_id = $user_id - 1260; + $whe[] = ['user_id', '=', $user_id]; + } if (!empty($status)) { $whe[] = ['status', '=', $status - 1]; } @@ -34,6 +38,7 @@ class CouponReceive extends Base $order = "addtime desc"; $data = CouponReceiveModel::getList($whe, $field, $order, $this->page); foreach ($data['list'] as $key => $val) { + $user_info = User::getInfo(['id' => $val['user_id']]); if (empty($user_info)) { $user_info['nickname'] = ''; @@ -41,6 +46,7 @@ class CouponReceive extends Base $user_info['mobile'] = ''; } $data['list'][$key]['nickname'] = $user_info['nickname']; + // $val['user_id']= } View::assign('list', $data['list']); View::assign('count', $data['count']); diff --git a/app/admin/controller/Profit.php b/app/admin/controller/Profit.php new file mode 100644 index 0000000..b106964 --- /dev/null +++ b/app/admin/controller/Profit.php @@ -0,0 +1,127 @@ +page); + View::assign('list', $data['list']); + View::assign('count', $data['count']); + View::assign('page', $data['page']); + return View::fetch("Profit/index"); + } + + /** + * 添加盒子 + */ + public function profit_add(Request $request) + { + if (!$request->isPost()) { + View::assign('profit_date', date('Y-m-d')); + return View::fetch("Profit/add"); + } else { + $data = input('post.'); + if (empty($data['profit_date'])) { + return $this->renderError("请选择时间"); + } + if (RegMoney($data['amount'])) { + return $this->renderError("支出金额输出不规范"); + } + $dd = ProfitExpenses::insert($data); + if ($dd) { + return $this->renderSuccess("添加成功"); + } else { + return $this->renderError("网络繁忙,请稍后"); + } + } + } + + /** + * 编辑盒子 + */ + public function profit_edit(Request $request) + { + if (!$request->isPost()) { + $id = $request->param('id/d', 0); + $info = ProfitExpenses::where(['id' => $id])->find(); + if (!$info) { + return $this->renderError("请求参数错误"); + } + View::assign('info', $info); + return View::fetch("Profit/edit"); + } else { + $data = input('post.'); + if (empty($data['profit_date'])) { + return $this->renderError("请选择时间"); + } + if (RegMoney($data['amount'])) { + return $this->renderError("支出金额输出不规范"); + } + ProfitExpenses::startTrans(); + $id = $data['id']; + unset($data['id']); + $dd = ProfitExpenses::where(['id' => $id])->update($data); + + if ($dd) { + ProfitExpenses::commit(); + return $this->renderSuccess("编辑成功"); + } else { + ProfitExpenses::rollback(); + return $this->renderError("网络繁忙,请稍后"); + } + + + } + } + + /** + * 上、下架,删除盒子 + */ + public function profit_del(Request $request) + { + $id = $request->post('id/d'); + + $data = ProfitExpenses::where(['id' => $id])->field('id')->find(); + if (!$data) { + return $this->renderError("数据不存在"); + } + $result = ProfitExpenses::where(['id' => $id])->delete(); + if ($result) { + return $this->renderSuccess("操作成功"); + } else { + return $this->renderError("网络繁忙,请稍后"); + } + } + +} diff --git a/app/admin/controller/Statistics.php b/app/admin/controller/Statistics.php index d3fe641..0d51df7 100644 --- a/app/admin/controller/Statistics.php +++ b/app/admin/controller/Statistics.php @@ -14,7 +14,7 @@ use app\common\model\Goods as GoodsModel; use app\common\model\GoodsList; use think\facade\Db; use app\common\model\Shang; - +use app\common\model\ProfitExpenses; class Statistics extends Base { @@ -169,7 +169,10 @@ class Statistics extends Base public function DataStand(Request $request) { $userCount = User::count("id"); - + $userList = User::where('istest', '=', 1)->field('id')->select(); + $userArray = $userList->toArray(); + // 本日充值金额 + // $order_today = OrderModel::whereNotIn('user_id', $userArray)->where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('price'); // 今日时间 $ranges['today_start'] = strtotime('today'); $ranges['today_end'] = strtotime('tomorrow') - 1; @@ -213,73 +216,79 @@ class Statistics extends Base $user_last_month = User::whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->count('id'); // 本日充值金额 - $order_today = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('price'); + $order_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('price'); // 昨日充值金额 - $order_yesterday = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('price'); + $order_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('price'); // 本周充值金额 - $order_this_week = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->sum('price'); + $order_this_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->sum('price'); // 上周充值金额 - $order_last_week = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->sum('price'); + $order_last_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->sum('price'); // 本月充值金额 - $order_this_month = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->sum('price'); + $order_this_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->sum('price'); // 上月充值金额 - $order_last_month = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->sum('price'); + $order_last_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->sum('price'); // 消费人数统计 - $consume_today = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->field('user_id')->group('user_id')->count('user_id'); - $consume_yesterday = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->field('user_id')->group('user_id')->count('user_id'); - $consume_this_week = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->field('user_id')->group('user_id')->count('user_id'); - $consume_last_week = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->field('user_id')->group('user_id')->count('user_id'); - $consume_this_month = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->field('user_id')->group('user_id')->count('user_id'); - $consume_last_month = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->field('user_id')->group('user_id')->count('user_id'); + $consume_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->field('user_id')->group('user_id')->count('user_id'); + $consume_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->field('user_id')->group('user_id')->count('user_id'); + $consume_this_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->field('user_id')->group('user_id')->count('user_id'); + $consume_last_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->field('user_id')->group('user_id')->count('user_id'); + $consume_this_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->field('user_id')->group('user_id')->count('user_id'); + $consume_last_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->field('user_id')->group('user_id')->count('user_id'); // RMB消费人数统计 - $rmb_consume_today = OrderModel::where('status', '=', 1)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->field('user_id')->group('user_id')->count('user_id'); - $rmb_consume_yesterday = OrderModel::where('status', '=', 1)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->field('user_id')->group('user_id')->count('user_id'); - $rmb_consume_this_week = OrderModel::where('status', '=', 1)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->field('user_id')->group('user_id')->count('user_id'); - $rmb_consume_last_week = OrderModel::where('status', '=', 1)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->field('user_id')->group('user_id')->count('user_id'); - $rmb_consume_this_month = OrderModel::where('status', '=', 1)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->field('user_id')->group('user_id')->count('user_id'); - $rmb_consume_last_month = OrderModel::where('status', '=', 1)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->field('user_id')->group('user_id')->count('user_id'); + $rmb_consume_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->field('user_id')->group('user_id')->count('user_id'); + $rmb_consume_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->field('user_id')->group('user_id')->count('user_id'); + $rmb_consume_this_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->field('user_id')->group('user_id')->count('user_id'); + $rmb_consume_last_week = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->field('user_id')->group('user_id')->count('user_id'); + $rmb_consume_this_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->field('user_id')->group('user_id')->count('user_id'); + $rmb_consume_last_month = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->where('price', '>', 0)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->field('user_id')->group('user_id')->count('user_id'); //今日余额消费 - $money_today = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('use_money'); - $money_yesterday = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('use_money'); + $money_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('use_money'); + $money_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('use_money'); //今日积分抵扣 - $score_yesterday = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('use_score'); - $score_today = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('use_score'); + $score_yesterday = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('use_score'); + $score_today = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('use_score'); //今日余额发放 - $money_recovery_today = OrderListRecovery::whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('money'); - $money_recovery_yesterday = OrderListRecovery::whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('money'); + $money_recovery_today = OrderListRecovery::whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->whereNotIn('user_id', $userArray)->sum('money'); + $money_recovery_yesterday = OrderListRecovery::whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->whereNotIn('user_id', $userArray)->sum('money'); //今日优惠卷消费 - $coupon_today = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('use_coupon'); + $coupon_today = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->whereNotIn('user_id', $userArray)->sum('use_coupon'); //今日收入 - $order_zhe_total = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('order_zhe_total'); - $order_goodslist_money = OrderList::whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('goodslist_money'); - $order_goodslist_count = OrderList::whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->count(); - $order_count = OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->count(); + $order_zhe_total = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->sum('order_zhe_total'); + $order_goodslist_money = OrderList::whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->whereNotIn('user_id', $userArray)->sum('goodslist_money'); + $order_goodslist_count = OrderList::whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->whereNotIn('user_id', $userArray)->count(); + $order_count = OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['today_start'], $ranges['today_end'])->count(); - $order_zhe_total_yester = round(OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('order_zhe_total'), 2); - $order_goodslist_money_yester = round( OrderList::whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('goodslist_money'), 2); + $order_zhe_total_yester = round(OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->sum('order_zhe_total'), 2); + $order_goodslist_money_yester = round(OrderList::whereBetweenTime('addtime', $ranges['yesterday_start'], $ranges['yesterday_end'])->whereNotIn('user_id', $userArray)->sum('goodslist_money'), 2); - $order_zhe_total_week = round(OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->sum('order_zhe_total'), 2); - $order_goodslist_money_week = round(OrderList::whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->sum('goodslist_money'), 2); + $order_zhe_total_week = round(OrderModel::where('status', '=', 1)->whereNotIn('user_id', $userArray)->whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->sum('order_zhe_total'), 2); + $order_goodslist_money_week = round(OrderList::whereBetweenTime('addtime', $ranges['this_week_start'], $ranges['this_week_end'])->whereNotIn('user_id', $userArray)->sum('goodslist_money'), 2); - $order_zhe_total_last_week = round(OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->sum('order_zhe_total'), 2); - $order_goodslist_money__last_week = round(OrderList::whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->sum('goodslist_money'), 2); + $order_zhe_total_last_week = round(OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->whereNotIn('user_id', $userArray)->sum('order_zhe_total'), 2); + $order_goodslist_money__last_week = round(OrderList::whereBetweenTime('addtime', $ranges['last_week_start'], $ranges['last_week_end'])->whereNotIn('user_id', $userArray)->sum('goodslist_money'), 2); - $order_zhe_total_month = round(OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->sum('order_zhe_total'), 2); - $order_goodslist_money_month = round(OrderList::whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->sum('goodslist_money'), 2); - - $order_zhe_total_last_month = round( OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->sum('order_zhe_total'), 2); - $order_goodslist_money__last_month = round(OrderList::whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->sum('goodslist_money'), 2); + $order_zhe_total_month = round(OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->whereNotIn('user_id', $userArray)->sum('order_zhe_total'), 2); + $order_goodslist_money_month = round(OrderList::whereBetweenTime('addtime', $ranges['this_month_start'], $ranges['this_month_end'])->whereNotIn('user_id', $userArray)->sum('goodslist_money'), 2); + $order_zhe_total_last_month = round(OrderModel::where('status', '=', 1)->whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->whereNotIn('user_id', $userArray)->sum('order_zhe_total'), 2); + $order_goodslist_money__last_month = round(OrderList::whereBetweenTime('addtime', $ranges['last_month_start'], $ranges['last_month_end'])->whereNotIn('user_id', $userArray)->sum('goodslist_money'), 2); + $profit_expenses = ProfitExpenses::getTotalAmountByDate(date('Y-m-d')); + $profit_expenses_yester = ProfitExpenses::getTotalAmountByDate(date('Y-m-d', strtotime('-1 day'))); + $profit_expenses_week = ProfitExpenses::getTotalAmountByDates(date('Y-m-d', $ranges['this_week_start']), date('Y-m-d', $ranges['this_week_end'])); + $profit_expenses_last_week = ProfitExpenses::getTotalAmountByDates(date('Y-m-d', $ranges['last_week_start']), date('Y-m-d', $ranges['last_week_end'])); + $profit_expenses_money = ProfitExpenses::getTotalAmountByDates(date('Y-m-d', $ranges['this_month_start']), date('Y-m-d', $ranges['this_month_end'])); + $profit_expenses_last_money = ProfitExpenses::getTotalAmountByDates(date('Y-m-d', $ranges['last_month_start']), date('Y-m-d', $ranges['last_month_end'])); + View::assign('profit_expenses', $profit_expenses); View::assign('money_today', $money_today); View::assign('money_yesterday', $money_yesterday); View::assign('coupon_today', $coupon_today); @@ -292,12 +301,12 @@ class Statistics extends Base View::assign('order_goodslist_money', $order_goodslist_money); View::assign('order_goodslist_count', $order_goodslist_count); View::assign('order_count', $order_count); - View::assign('order_lirun', round($order_zhe_total - $order_goodslist_money, 2)); - View::assign('order_lirun_yester', round($order_zhe_total_yester - $order_goodslist_money_yester, 2) . " ($order_zhe_total_yester - $order_goodslist_money_yester)"); - View::assign('order_lirun_week', round($order_zhe_total_week - $order_goodslist_money_week, 2) . " ({$order_zhe_total_week} - $order_goodslist_money_week)"); - View::assign('order_lirun_last_week', round($order_zhe_total_last_week - $order_goodslist_money__last_week, 2) . " ($order_zhe_total_last_week - $order_goodslist_money__last_week)"); - View::assign('order_zhe_total_month', round($order_zhe_total_month - $order_goodslist_money_month, 2). " ($order_zhe_total_month - $order_goodslist_money_month)"); - View::assign('order_lirun_last_month', round($order_zhe_total_last_month - $order_goodslist_money__last_month, 2). " ($order_zhe_total_last_month - $order_goodslist_money__last_month)"); + View::assign('order_lirun', round($order_zhe_total - $order_goodslist_money - $profit_expenses, 2)); + View::assign('order_lirun_yester', round($order_zhe_total_yester - $order_goodslist_money_yester - $profit_expenses_yester, 2) . " ($order_zhe_total_yester - $order_goodslist_money_yester - $profit_expenses_yester)"); + View::assign('order_lirun_week', round($order_zhe_total_week - $order_goodslist_money_week - $profit_expenses_week, 2) . " ({$order_zhe_total_week} - $order_goodslist_money_week - $profit_expenses_week)"); + View::assign('order_lirun_last_week', round($order_zhe_total_last_week - $order_goodslist_money__last_week - $profit_expenses_last_week, 2) . " ($order_zhe_total_last_week - $order_goodslist_money__last_week - $profit_expenses_last_week)"); + View::assign('order_zhe_total_month', round($order_zhe_total_month - $order_goodslist_money_month - $profit_expenses_money, 2) . " ($order_zhe_total_month - $order_goodslist_money_month - $profit_expenses_money)"); + View::assign('order_lirun_last_month', round($order_zhe_total_last_month - $order_goodslist_money__last_month -$profit_expenses_last_money, 2) . " ($order_zhe_total_last_month - $order_goodslist_money__last_month- $profit_expenses_last_money)"); // 赋值给模板 View::assign('userCount', $userCount); diff --git a/app/admin/controller/User.php b/app/admin/controller/User.php index edff308..898d1e7 100755 --- a/app/admin/controller/User.php +++ b/app/admin/controller/User.php @@ -199,6 +199,28 @@ class User extends Base } } + /** + * 封号、解封处理 + */ + public function usertest(Request $request) + { + $id = request()->post('id/d', 0); + $type = request()->post('type/d', 0); + if ($type != 1 && $type != 0) { + return $this->renderError('请求参数错误'); + } + $user = UserModel::getInfo(['id' => $id]); + if (!$user) { + return $this->err('数据不存在'); + } + $result = $user->save(["istest" => $type]); + if ($result) { + return $this->renderSuccess('操作成功'); + } else { + return $this->renderError('操作失败'); + } + } + /* ip转换 */ diff --git a/app/admin/route/app.php b/app/admin/route/app.php index 9a7c130..88a2b73 100755 --- a/app/admin/route/app.php +++ b/app/admin/route/app.php @@ -34,6 +34,8 @@ Route::post('picture', 'Upload/picture'); Route::rule('user', 'User/index', 'GET|POST'); Route::rule('chongzhi', 'User/chongzhi', 'GET|POST'); Route::rule('userdel', 'User/userdel', 'GET|POST'); +Route::rule('usertest', 'User/usertest', 'GET|POST'); + Route::rule('user_profit_loss', 'User/user_profit_loss', 'GET|POST'); Route::rule('user_shangdai', 'User/user_shangdai', 'GET|POST'); Route::rule('vip', 'User/vip', 'GET|POST'); @@ -265,6 +267,11 @@ Route::rule('productcate_del', 'ProductCate/del', 'GET|POST'); //利润统计 Route::rule('statistics_profit', 'Statistics/profit', 'GET'); - //数据看台 -Route::rule('statistics_dataStand', 'Statistics/DataStand', 'GET'); \ No newline at end of file +Route::rule('statistics_dataStand', 'Statistics/DataStand', 'GET'); + +//利润支出 +Route::rule('ProfitExpenses', 'Profit/index', 'GET'); +Route::rule('profit_add', 'Profit/profit_add', 'GET|POST'); +Route::rule('profit_edit', 'Profit/profit_edit', 'GET|POST'); +Route::rule('profit_del', 'Profit/profit_del', 'POST'); \ No newline at end of file diff --git a/app/admin/view/CouponReceive/index.html b/app/admin/view/CouponReceive/index.html index 66502de..ca18287 100755 --- a/app/admin/view/CouponReceive/index.html +++ b/app/admin/view/CouponReceive/index.html @@ -1,148 +1,158 @@ {include file="Public:header2"/} + -
-
-
-
-
-
- +
+
+ +
+
+
+ +
+
+ +
+
+ +
-
- -
-
- + + +
+
-
- -
-
- + -
- -
- - 共有数据: {$count}条 -
-
- - - - - - - - - - - - - - - - {volist name="list" id="vo"} - - - - - - - + + + {/if} + + +
ID会员昵称名称消费满价格优惠价格状态过期时间时间
{$vo['id']}{$vo['nickname']}{$vo['title']}{$vo['man_price']}{$vo['price']} - {if condition="$vo['status'] eq 0"} +
+ +
+ + 共有数据: {$count}条 +
+
+ + + + + + + + + + + + + + + + + {volist name="list" id="vo"} + + + + + + + + - - - - - - + {/if} + + + + + + + - - - - - - {/volist} + + + + + + {/volist} - {if condition="empty($list)"} - - {/if} - - -
ID用户id会员昵称名称消费满价格优惠价格状态过期时间时间
{$vo['id']}{$vo['user_id']+1260}{$vo['nickname']}{$vo['title']}{$vo['man_price']}{$vo['price']} + {if condition="$vo['status'] eq 0"} - {elseif condition="$vo['status'] eq 1" /} + {elseif condition="$vo['status'] eq 1" /} - {else /} + {else /} - {/if} - {notempty name="$vo['end_time']"}{$vo['end_time']|date="Y-m-d H:i"}{/notempty}{$vo['addtime']|date="Y-m-d H:i"}{notempty name="$vo['end_time']"}{$vo['end_time']|date="Y-m-d H:i"}{/notempty}{$vo['addtime']|date="Y-m-d H:i"}
暂时没有数据!
-
- {$page|raw} + {if condition="empty($list)"} +
暂时没有数据!
+
+ {$page|raw} +
-
-{include file="Public:footer"/} - + + }) + + //添加优惠券 + function yong(goods_id, name) { + var url = "{:url('/admin/goods_yong',array('goods_id'=>''))}" + goods_id; + var index = layer.open({ + type: 2, + title: name + "--设置分佣", + shadeClose: true, + area: ['70%', '70%'], + content: url + }); + layer.style(index, { + top: '10%' + }); + + } + + //上下架 + function del(id, type) { + if (type == 1) { + var title = "上架"; + } else if (type == 2) { + var title = "下架"; + } else if (type == 4) { + var title = "删除"; + } + layer.confirm('确认要执行' + title + '操作吗?', function () { + var url = "{:url('/admin/coupon_cao')}"; + var load = layer.load(2); + var $ = layui.$; + $.post(url, { "id": id, 'type': type }, function (data) { + if (data.status == 1) { + layer.msg(title + '成功', { icon: 1, time: 1000 }, function () { + location.reload(); + }); + } else { + layer.msg(data.msg, { icon: 2, anim: 6, time: 1000 }, function () { + layer.close(load); + }); + } + }) + }); + } + - - + \ No newline at end of file diff --git a/app/admin/view/Profit/add.html b/app/admin/view/Profit/add.html new file mode 100755 index 0000000..e3f67dd --- /dev/null +++ b/app/admin/view/Profit/add.html @@ -0,0 +1,100 @@ +{include file="Public:header2"/} + + +
+
+
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+
+
+
+
+
+
+
+ {include file="Public:footer"/} + + + + + + + \ No newline at end of file diff --git a/app/admin/view/Profit/edit.html b/app/admin/view/Profit/edit.html new file mode 100755 index 0000000..dcd34ee --- /dev/null +++ b/app/admin/view/Profit/edit.html @@ -0,0 +1,102 @@ +{include file="Public:header2"/} + + +
+
+
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+
+
+
+
+
+
+
+ {include file="Public:footer"/} + + + + + + + \ No newline at end of file diff --git a/app/admin/view/Profit/index.html b/app/admin/view/Profit/index.html new file mode 100644 index 0000000..1be0a69 --- /dev/null +++ b/app/admin/view/Profit/index.html @@ -0,0 +1,164 @@ +{include file="Public:header2"/} + + +
+
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ +
+ 添加记录 + 共有数据: {$count}条 +
+
+ + + + + + + + + + + + + + {volist name="list" id="vo"} + + + + + + + + + + + + {/volist} + + {if condition="empty($list)"} + + + + {/if} + + +
ID时间支出金额描述创建时间修改时间操作
{$vo['id']}{$vo['profit_date']}{$vo['amount']} + {if condition="$vo['expense_type'] eq 1"} + 推广 + {elseif condition="$vo['expense_type'] eq 2"} + 活动 + + {else } + 发货 + {/if} + {$vo['description']}{$vo['created_at']}{$vo['updated_at']} + + 编辑 + +
+ + 删除 + +
暂时没有数据!
+
+ {$page|raw} +
+
+
+
+ {include file="Public:footer"/} + + + + \ No newline at end of file diff --git a/app/admin/view/Statistics/dataStand.html b/app/admin/view/Statistics/dataStand.html index 61f3d4b..fae9f36 100644 --- a/app/admin/view/Statistics/dataStand.html +++ b/app/admin/view/Statistics/dataStand.html @@ -220,6 +220,10 @@ 订单出货: {$order_goodslist_money} + + 支出 + {$profit_expenses} + 订单笔数: {$order_count} @@ -232,9 +236,11 @@ 利润: {$order_lirun} + + 利润计算方式: - 收入-支出=当日利润 + 收入-出货-支出=当日利润 diff --git a/app/admin/view/User/index.html b/app/admin/view/User/index.html index 8efcd14..9619fa8 100755 --- a/app/admin/view/User/index.html +++ b/app/admin/view/User/index.html @@ -111,6 +111,11 @@ 封号 {else /} 解封 + {/if} + {if condition="$vo['istest'] eq 0"} + 推广账号 + {else /} + 取消推广账号 {/if} 查看下级 查看ip登录列表 @@ -205,6 +210,26 @@ }) }); } + function test(id, type, username, type_name) { + title_str = '确认要执行'+username+'的'+type_name+'操作吗?'; + layer.confirm(title_str, function () { + var url = "{:url('/admin/usertest')}"; + var load = layer.load(2); + var $ = layui.$; + $.post(url, {"id": id, 'type': type}, function (data) { + if (data.status == 1) { + layer.msg(data.msg, {icon: 1, time: 1000}, function () { + location.reload(); + }); + } else { + layer.msg(data.msg, {icon: 2, anim: 6, time: 1500}, function () { + layer.close(load); + }); + } + }) + }); + } + //ip转换 function ipzh(id, type, username, type_name) { diff --git a/app/common/model/ProfitExpenses.php b/app/common/model/ProfitExpenses.php new file mode 100644 index 0000000..a9224d8 --- /dev/null +++ b/app/common/model/ProfitExpenses.php @@ -0,0 +1,116 @@ +field($field) + ->order($order) + ->paginate(['list_rows' => $pageSize, 'query' => request()->param()]); + $page = $list->render(); + $data['list'] = $list->toArray()['data']; + $data['count'] = $list->total(); + $data['last_page'] = $list->toArray()['last_page']; + $data['page'] = $page; + return $data; + } + + /** + * 插入方法 + * @param string $date 日期 (格式: YYYY-MM-DD) + * @param int $expense_type 支出类型,1 推广 ,2活动,3 发货 + * @param float $amount 金额 + * @param string $description 备注 + * @return bool|int 插入成功返回主键ID,失败返回false + */ + public static function insertDatas($date, $expense_type, $amount, $description = '') + { + $data = [ + 'profit_date' => $date, + 'amount' => $amount, + 'expense_type' => $expense_type, + 'description' => $description, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]; + return self::insertGetId($data); + } + + /** + * 查询当天总金额 + * @param string $date 查询日期 (格式: YYYY-MM-DD) + * @param string|null $startDate 开始日期 (可选) + * @param string|null $endDate 结束日期 (可选) + * @return float 返回总金额 + */ + public static function getTotalAmountByDate($date, $startDate = null, $endDate = null) + { + $query = self::where('profit_date', $date); + if ($startDate && $endDate) { + $query->whereBetween('profit_date', [$startDate, $endDate]); + } + return $query->sum('amount'); + } + + + public static function getTotalAmountByDates($startDate, $endDate) + { + $query = self::whereBetween('profit_date', [$startDate, $endDate]); + + return $query->sum('amount'); + } + + /** + * 查询每天的总金额,按日期分组排序 + * @return array 返回每天的总金额,按日期分组 + */ + public static function getDailyTotalAmount() + { + return self::field('profit_date, SUM(amount) as total_amount') + ->group('profit_date') + ->order('profit_date', 'asc') + ->select() + ->toArray(); + } + + /** + * 删除方法 + * @param int $id 记录ID + * @return bool 删除成功返回true,失败返回false + */ + public static function deleteData($id) + { + return self::where('id', $id)->delete(); + } + + /** + * 修改方法 + * @param int $id 记录ID + * @param float $amount 修改后的金额 + * @param string $description 修改后的备注 + * @return bool 修改成功返回true,失败返回false + */ + public static function updateDatas($id, $amount, $description = '') + { + $data = [ + 'amount' => $amount, + 'description' => $description, + 'updated_at' => date('Y-m-d H:i:s'), + ]; + return self::where('id', $id)->update($data); + } +} \ No newline at end of file diff --git a/config/menu.php b/config/menu.php index 7872a63..440ce07 100755 --- a/config/menu.php +++ b/config/menu.php @@ -20,13 +20,13 @@ return [ 'url' => '/admin/vip', 'name' => 'VIP管理', ], - + ], ], [ 'name' => '财务管理', 'son' => [ - + [ 'url' => '/admin/money_list', 'name' => '余额明细', @@ -35,8 +35,8 @@ return [ 'url' => '/admin/integral_list', 'name' => '潮币明细', ], - - [ + + [ 'url' => '/admin/draw_list', 'name' => '抽奖券明细', ], @@ -44,7 +44,7 @@ return [ 'url' => '/admin/recharge_list', 'name' => '微信充值记录', ], - [ + [ 'url' => '/admin/infinite_list', 'name' => '无限池明细', ], @@ -53,7 +53,7 @@ return [ [ - 'name' =>'商品管理', + 'name' => '商品管理', 'son' => [ [ 'url' => '/admin/goods', @@ -62,7 +62,7 @@ return [ ], ], [ - 'name' =>'数据统计', + 'name' => '数据统计', 'son' => [ [ 'url' => '/admin/statistics_dataStand', @@ -72,8 +72,10 @@ return [ 'url' => '/admin/statistics_profit', 'name' => '盒子利润统计', ], - - + [ + 'url' => '/admin/ProfitExpenses', + 'name' => '利润支出', + ], ], ], [ @@ -98,7 +100,7 @@ return [ ], ], [ - 'name' =>'优惠券管理', + 'name' => '优惠券管理', 'son' => [ [ 'url' => '/admin/coupon', @@ -111,7 +113,7 @@ return [ ], ], [ - 'name' =>'道具卡管理', + 'name' => '道具卡管理', 'son' => [ [ 'url' => '/admin/item_card', @@ -120,7 +122,7 @@ return [ ], ], [ - 'name' =>'任务管理', + 'name' => '任务管理', 'son' => [ [ 'url' => '/admin/task_list', @@ -129,7 +131,7 @@ return [ ], ], [ - 'name' =>'权益中心', + 'name' => '权益中心', 'son' => [ [ 'url' => '/admin/qy_level_list',