<?php namespace app\api\controller\user; use app\models\system\SystemGroupData; use app\models\user\Out; use app\models\user\User; use app\models\user\UserPartake; use app\Request; use crmeb\services\GroupDataService; use crmeb\services\SystemConfigService; use crmeb\services\UtilService; use think\facade\Db; class UserPartakeController { /** * 出局奖励列表 * @return void */ public function out_list(Request $request) { $list = Out::where('status', 1)->order('id DESC')->select()->toArray(); return app('json')->success($list); } /** * 参加 * @return void */ public function participate_in(Request $request) { $data = UtilService::postMore([ 'out_id' ]); Db::startTrans(); $user = User::where('uid', $request->uid())->find(); if ($user['level'] < 2) return app('json')->fail('等级为团队合伙人才能参与'); $out = Out::where('id', $data['out_id'])->find(); if (empty($out)) return app('json')->fail('参与项目不存在'); if ($out['status'] == 0) return app('json')->fail('参与项目已关闭'); $partake = UserPartake::where('uid', $request->uid())->where('status', 0)->find(); if ($partake) return app('json')->fail('当前已有参与中项目,无法参加'); $res = UserPartake::create([ 'uid' => $request->uid(), 'out_id' => $data['out_id'], ]); if ($res) { Db::commit(); return app('json')->success('参与成功'); }else{ Db::rollback(); return app('json')->fail('参与失败'); } } /** * 参与记录 * @param Request $request * @return mixed * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function partake(Request $request) { $where = UtilService::getMore([ ['page', 1], ['limit', 20], ]); $data = UserPartake::alias('a') ->field('a.*,c.name') ->order('a.id DESC') ->leftJoin('out c', 'c.id = a.out_id') ->where('uid', $request->uid()) ->page($where['page'], $where['limit']) ->select(); $data = count($data) ? $data->toArray() : []; foreach ($data as &$item) { if ($item['money'] == 0){ $item['money'] = User::where('uid', $item['uid'])->find()['pay_price']; } } return app('json')->success($data); } }