123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284 |
- <?php
- namespace app\controller\api\v1\activity;
- use app\services\activity\bargain\StoreBargainServices;
- use app\services\activity\bargain\StoreBargainUserHelpServices;
- use app\services\activity\bargain\StoreBargainUserServices;
- use app\Request;
- use app\services\other\QrcodeServices;
- use app\services\user\UserServices;
- use app\services\wechat\WechatServices;
- use think\db\exception\DataNotFoundException;
- use think\db\exception\DbException;
- use think\db\exception\ModelNotFoundException;
- use think\Exception;
- class StoreBargainController
- {
- protected $services;
- public function __construct(StoreBargainServices $services)
- {
- $this->services = $services;
- }
-
- public function config()
- {
- $lovely = sys_data('routine_lovely') ?? [];
- $info = isset($lovely[2]) ? $lovely[2] : [];
- return app('json')->successful($info);
- }
-
- public function lst(Request $request)
- {
- $bargainList = $this->services->getBargainList();
- return app('json')->successful(get_thumb_water($bargainList));
- }
-
- public function detail(Request $request, $id)
- {
- $data = $this->services->getBargain((int)$request->uid(), (int)$id);
- return app('json')->successful($data);
- }
-
- public function share(Request $request)
- {
- [$bargainId] = $request->postMore([
- ['bargainId', 0]
- ], true);
-
- $bargainUserHelpService = app()->make(StoreBargainUserHelpServices::class);
- $data['lookCount'] = $this->services->sum([], 'look');
- $data['userCount'] = $bargainUserHelpService->count([]);
- if (!$bargainId) return app('json')->successful($data);
- $this->services->addBargain((int)$bargainId, 'share');
- $data['shareCount'] = $this->services->sum([], 'share');
- return app('json')->successful($data);
- }
-
- public function start(Request $request)
- {
- [$bargainId] = $request->postMore([
- ['bargainId', 0]
- ], true);
- if (!$bargainId) return app('json')->fail('参数错误');
- if ((int)sys_config('bargain_subscribe') && request()->isWechat()) {
-
- $wechat = app()->make(WechatServices::class);
- $subscribe = $wechat->get(['uid' => $request->uid(), 'subscribe' => 1]);
- if (!$subscribe) {
- $url = '';
-
- $qrcodeService = app()->make(QrcodeServices::class);
- $url = $qrcodeService->getTemporaryQrcode('bargain-' . $bargainId . '-' . $request->uid(), $request->uid())->url;
- return app('json')->successful('请先关注公众号', ['code' => 'subscribe', 'url' => $url]);
- }
- }
- return app('json')->success($this->services->setBargain((int)$request->uid(), (int)$bargainId));
- }
-
- public function help(Request $request)
- {
- [$bargainId, $bargainUserUid] = $request->postMore([
- ['bargainId', 0],
- ['bargainUserUid', 0]
- ], true);
- if ((int)sys_config('bargain_subscribe') && request()->isWechat()) {
-
- $wechat = app()->make(WechatServices::class);
- $subscribe = $wechat->get(['uid' => $request->uid(), 'subscribe' => 1]);
- if (!$subscribe) {
- $url = '';
-
- $qrcodeService = app()->make(QrcodeServices::class);
- $url = $qrcodeService->getTemporaryQrcode('bargain-' . $bargainId . '-' . $bargainUserUid, $bargainUserUid)->url;
- return app('json')->successful('请先关注公众号', ['code' => 'subscribe', 'url' => $url]);
- }
- }
- return app('json')->success($this->services->setHelpBargain((int)$request->uid(), (int)$bargainId, (int)$bargainUserUid));
- }
-
- public function help_price(Request $request)
- {
- [$bargainId, $bargainUserUid] = $request->postMore([
- ['bargainId', 0],
- ['bargainUserUid', 0]
- ], true);
-
- $bargainUserHelp = app()->make(StoreBargainUserHelpServices::class);
- $price = $bargainUserHelp->getPrice($request->uid(), (int)$bargainId, (int)$bargainUserUid);
- return app('json')->successful($price);
- }
-
- public function help_count(Request $request)
- {
- [$bargainId, $bargainUserUid] = $request->postMore([
- ['bargainId', 0],
- ['bargainUserUid', 0]
- ], true);
-
- $bargainUserService = app()->make(StoreBargainUserServices::class);
- $data = $bargainUserService->helpCount($request, (int)$bargainId, (int)$bargainUserUid);
- return app('json')->successful($data);
- }
-
- public function help_list(Request $request)
- {
- [$bargainId, $bargainUserUid] = $request->postMore([
- ['bargainId', 0],
- ['bargainUserUid', 0],
- ], true);
-
- $bargainUser = app()->make(StoreBargainUserServices::class);
- $bargainUserTableId = $bargainUser->getBargainUserTableId($bargainId, $bargainUserUid);
-
- $bargainUserHelp = app()->make(StoreBargainUserHelpServices::class);
- [$page, $limit] = $this->services->getPageValue();
- $storeBargainUserHelp = $bargainUserHelp->getHelpList($bargainUserTableId, $page, $limit);
- return app('json')->successful($storeBargainUserHelp);
- }
-
- public function start_user(Request $request)
- {
- [$bargainId, $bargainUserUid] = $request->postMore([
- ['bargainId', 0],
- ['bargainUserUid', 0],
- ], true);
- if (!$bargainId || !$bargainUserUid) return app('json')->fail('参数错误');
-
- $userServices = app()->make(UserServices::class);
- $userInfo = $userServices->getUserCacheInfo((int)$bargainUserUid);
- if (!$userInfo) {
- return app('json')->fail('用户信息获取失败');
- }
- return app('json')->successful(['nickname' => $userInfo['nickname'], 'avatar' => $userInfo['avatar']]);
- }
-
- public function user_list(Request $request)
- {
- $uid = $request->uid();
-
- $bargainUser = app()->make(StoreBargainUserServices::class);
- $bargainUser->editBargainUserStatus($uid);
- $list = $bargainUser->getBargainUserAll($uid);
- if (count($list)) return app('json')->successful(get_thumb_water($list));
- else return app('json')->successful([]);
- }
-
- public function user_cancel(Request $request)
- {
- [$bargainId] = $request->postMore([
- ['bargainId', 0]
- ], true);
- if (!$bargainId) return app('json')->fail('参数错误');
-
- $bargainUser = app()->make(StoreBargainUserServices::class);
- $res = $bargainUser->cancelBargain($bargainId, $request->uid());
- if ($res) return app('json')->successful('取消成功');
- else return app('json')->successful('取消失败');
- }
-
- public function posterInfo(Request $request, $bargainId)
- {
- return app('json')->success($this->services->posterInfo((int)$bargainId, $request->user()));
- }
- }
|