123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- <?php
- namespace App\Http\Controllers\Channel;
- use App\Exceptions\ApiException;
- use App\Libs\ApiResponse;
- use App\Http\Controllers\Controller;
- use App\Libs\Utils;
- use App\Services\Channel\ChannelHomeService;
- use App\Transformer\Channel\ChannelTransformer;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Validator;
- class ChannelHomeController extends Controller
- {
- use ApiResponse;
- private $channelHomeService;
- public function __construct(
- ChannelHomeService $channelHomeService
- ) {
- $this->channelHomeService = $channelHomeService;
- }
- public function index(Request $request)
- {
- return view('index');
- }
- /**
- * 获取当前站点信息
- * @return mixed
- */
- public function channelInfo() {
- $result = $this->channelHomeService->getChannelInfo();
- return $this->success($result);
- }
- /**
- * 设置全站点按本或按章及价格
- * @param Request $request
- * @return mixed
- */
- public function setChannelBookChargeType(Request $request) {
- $data = $request->all();
- $validator = Validator::make($data, [
- 'book_charge_type' => 'required|in:MERGE,HYBRID',
- 'book_calculate_price_type' => 'required_if:book_charge_type,MERGE,HYBRID|in:bywords,const,all',
- 'book_coin' => 'required_if:book_charge_type,MERGE,HYBRID|numeric',
- 'chapter_calculate_price_type' => 'required_if:book_charge_type,HYBRID|in:bywords,const,all',
- 'chapter_coin' => 'required_if:book_charge_type,HYBRID|numeric',
- ], [
- 'book_charge_type.required' => '请选择站点类型',
- 'book_charge_type.in' => '站点类型选择范围不正确',
- 'book_calculate_price_type.required_if' => '请选择短篇书籍收费方式',
- 'book_calculate_price_type.in' => '短篇书籍收费方式选择范围不正确',
- 'book_coin.required_if' => '请填写短篇书籍价格',
- 'book_coin.numeric' => '短篇书籍价格格式不正确',
- 'chapter_calculate_price_type.required_if' => '请选择长篇书籍收费方式',
- 'chapter_calculate_price_type.in' => '长篇书籍收费方式选择范围不正确',
- 'chapter_coin.required_if' => '请填写长篇书籍价格',
- 'chapter_coin.numeric' => '长篇书籍价格格式不正确',
- ]);
- if ($validator->fails()) {
- $errors = $validator->errors();
- Utils::throwError('1003:'.$errors->all()[0]);
- }
- $result = $this->channelHomeService->setChannelBookChargeType($data);
- return $this->success(['success'=>$result ? 1 : 0]);
- }
- /**
- * 获取子账号信息
- * @return mixed
- */
- public function getSubUser() {
- $result = $this->channelHomeService->getSubUser();
- return $this->success($result);
- }
- /**
- * 站点总数据
- * @param Request $request
- * @return mixed
- */
- public function statisticsByTotal(Request $request) {
- $data = $request->all();
- $result = $this->channelHomeService->statisticsByTotal($data);
- return $this->success($result);
- }
- /**
- * 站点数据按日明细
- * @param Request $request
- * @return mixed
- */
- public function statisticsByDay(Request $request) {
- $data = $request->all();
- $result = $this->channelHomeService->statisticsByDay($data);
- return $this->success($result, [new ChannelTransformer(), 'newBuildStatisticsByDay']);
- }
- /**
- * 导出站点统计日明细
- *
- * @param Request $request
- * @return mixed
- */
- public function exportStatisticsByDay(Request $request)
- {
- $data = $request->all();
- $result = $this->channelHomeService->exportStatisticsByDay($data);
- return $this->success(['success' => $result ? 1 : 0]);
- }
- /**
- * 站点数据按日明细
- * @param Request $request
- * @return mixed
- */
- public function statisticsByDayForMaster(Request $request) {
- $data = $request->all();
- $result = $this->channelHomeService->statisticsByDayForMaster($data);
- return $this->success($result, [new ChannelTransformer(), 'newBuildStatisticsByDayForMaster']);
- }
- /**
- * 导出站点统计日明细
- *
- * @param Request $request
- * @return mixed
- */
- public function exportStatisticsByDayForMaster(Request $request)
- {
- $data = $request->all();
- $result = $this->channelHomeService->exportStatisticsByDayForMaster($data);
- return $this->success(['success' => $result ? 1 : 0]);
- }
- /**
- * 站点数据按月明细
- * @param Request $request
- * @return mixed
- */
- public function statisticsByMonth(Request $request) {
- $data = $request->all();
- $result = $this->channelHomeService->statisticsByMonth($data);
- return $this->success($result, [new ChannelTransformer(), 'newBuildStatisticsByMonth']);
- }
- /**
- * 导出站点统计月明细
- *
- * @param Request $request
- * @return mixed
- */
- public function exportStatisticsByMonth(Request $request)
- {
- $data = $request->all();
- $result = $this->channelHomeService->exportStatisticsByMonth($data);
- return $this->success(['success' => $result ? 1 : 0]);
- }
- /**
- * 站点数据按月明细
- * @param Request $request
- * @return mixed
- */
- public function statisticsByMonthForMaster(Request $request) {
- $data = $request->all();
- $result = $this->channelHomeService->statisticsByMonthForMaster($data);
- return $this->success($result, [new ChannelTransformer(), 'newBuildStatisticsByMonthForMaster']);
- }
- /**
- * 导出站点统计月明细
- *
- * @param Request $request
- * @return mixed
- */
- public function exportStatisticsByMonthForMaster(Request $request)
- {
- $data = $request->all();
- $result = $this->channelHomeService->exportStatisticsByMonthForMaster($data);
- return $this->success(['success' => $result ? 1 : 0]);
- }
- }
|