作者 何书鹏
1 个管道 的构建 通过 耗费 0 秒

密卷是否已购买

@@ -11,6 +11,7 @@ use app\mobile\model\CompanyUser; @@ -11,6 +11,7 @@ use app\mobile\model\CompanyUser;
11 use addons\epay\library\Service; 11 use addons\epay\library\Service;
12 use app\mobile\model\Question; 12 use app\mobile\model\Question;
13 use app\mobile\model\QuestionAnswer; 13 use app\mobile\model\QuestionAnswer;
  14 +use app\mobile\model\User;
14 15
15 /** 16 /**
16 * 密卷接口 17 * 密卷接口
@@ -42,15 +43,62 @@ class Secret extends Api @@ -42,15 +43,62 @@ class Secret extends Api
42 "title": "测试密卷", //密卷标题 43 "title": "测试密卷", //密卷标题
43 "do_num": 20, //做过人数 44 "do_num": 20, //做过人数
44 "current_price": "10.00", //现价 45 "current_price": "10.00", //现价
45 - "original_price": "10000.00" //原价 46 + "original_price": "10000.00", //原价
  47 + "is_buy": 0 //是否已购买:0=否,1=是
46 }] 48 }]
47 }) 49 })
48 */ 50 */
49 public function index() 51 public function index()
50 { 52 {
51 - $list = $this->model->order('createtime desc')->select(); 53 + // 我加入的企业购买的密卷
  54 + $company_secret_list = SecretOrder::alias('a')
  55 + ->join('mobile_company_user b','b.company_id = a.company_id')
  56 + ->where('b.user_id',$this->auth->id)
  57 + ->where('b.status','1')
  58 + ->field('a.id,a.company_id,a.people_num,a.is_top')
  59 + ->select();
  60 + // 查询我是否可以享受企业密卷(按企业审核时间排队,没在队伍里就无法享受企业密卷)
  61 + $secret_id_arr = [];
  62 + foreach ($company_secret_list as $v) {
  63 + if($v['is_top'] == '1'){
  64 + $secret_id_arr[] = $v['id'];
  65 + continue;
  66 + }
  67 + $user_id_arr = CompanyUser::where('company_id',$v['company_id'])
  68 + ->where('status','1')
  69 + ->order('updatetime asc')
  70 + ->limit($v['people_num'])
  71 + ->column('user_id');
  72 + if(in_array($this->auth->id,$user_id_arr)){
  73 + $secret_id_arr[] = $v['id'];
  74 + }
  75 + }
  76 + // 查找所有我购买的和企业购买的密卷
  77 + $secret_order = SecretOrder::where(function($query)use($secret_id_arr){
  78 + $query->where('user_id', $this->auth->id)->whereor('id', 'in', $secret_id_arr);
  79 + })
  80 + ->where('pay_status','1')
  81 + ->limit(1)
  82 + ->buildSql();
  83 + $list = $this->model
  84 + ->alias('s')
  85 + ->join([$secret_order => 'so'],'so.secret_id = s.id','left')
  86 + ->field("
  87 + s.*,
  88 + if(so.id > 0,1,0) is_buy
  89 + ")
  90 + ->order('createtime desc')
  91 + ->select();
52 foreach ($list as $v) { 92 foreach ($list as $v) {
53 - $v->visible(['id','title','do_num','current_price','original_price']); 93 + $v->visible([
  94 + 'id',
  95 + 'title',
  96 + 'do_num',
  97 + 'current_price',
  98 + 'original_price'
  99 + ])->append([
  100 + 'is_buy'
  101 + ]);
54 } 102 }
55 $this->success('成功',$list); 103 $this->success('成功',$list);
56 } 104 }
@@ -87,6 +135,28 @@ class Secret extends Api @@ -87,6 +135,28 @@ class Secret extends Api
87 } 135 }
88 136
89 /** 137 /**
  138 + * @ApiTitle (获取用户身份)
  139 + * @ApiSummary (获取用户身份)
  140 + * @ApiMethod (POST)
  141 + *
  142 + * @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
  143 + *
  144 + * @ApiReturn({
  145 + "code": 1,
  146 + "msg": "成功",
  147 + "time": "1599739316",
  148 + "data": {
  149 + "group_id": 1, //0=普通用户,1=企业用户
  150 + }
  151 + })
  152 + */
  153 + public function getUserIdentity()
  154 + {
  155 + $group_id = User::where('id',$this->auth->id)->value('group_id');
  156 + $this->success('成功',compact('group_id'));
  157 + }
  158 +
  159 + /**
90 * @ApiTitle (选择规格) 160 * @ApiTitle (选择规格)
91 * @ApiSummary (选择规格) 161 * @ApiSummary (选择规格)
92 * @ApiMethod (POST) 162 * @ApiMethod (POST)
此 diff 太大无法显示。