Group.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace app\ais\controller\api\v1;
  3. use app\ais\controller\api\Base;
  4. use app\ais\model\AisConfig;
  5. use app\ais\model\AisCouponUser;
  6. use app\ais\model\AisStore;
  7. use app\ais\model\AisStoreBill;
  8. use app\ais\model\AisStoreGroup;
  9. use app\ais\model\AisStoreUnion;
  10. use filter\Filter;
  11. use think\Db;
  12. class Group extends Base{
  13. //商圈详情
  14. public function read(){
  15. $param['id'] = $this->request->param('id'); //商圈id
  16. $this->apiSign($param);
  17. $info = AisStoreGroup::where(['member_miniapp_id' => $this->miniapp_id,'id' => $param['id']])->find();
  18. if (!$info) {
  19. return enjson(204);
  20. }
  21. $info->num = AisStoreUnion::where(['member_miniapp_id' => $this->miniapp_id,'group_id'=> $info->id,'type' => 0])->count();
  22. //买单
  23. $order = AisStoreBill::where(['member_miniapp_id' => $this->miniapp_id])->whereIn('store_id',AisStoreUnion::where(['member_miniapp_id' => $this->miniapp_id,'group_id' => $param['id'],'type' => 0])->column('store_id'))->sum('money');
  24. //次数
  25. $count = AisCouponUser::where(['member_miniapp_id' => $this->miniapp_id])->whereIn('store_id',AisStoreUnion::where(['member_miniapp_id' => $this->miniapp_id,'group_id' => $param['id'],'type' => 0])->column('store_id'))->count();
  26. //互助
  27. $help = AisCouponUser::where(['member_miniapp_id' => $this->miniapp_id,'is_end' => 1])->where('','EXP',Db::raw("FIND_IN_SET(".$param['id'].",group_ids)"))->count();
  28. //商家列表
  29. $list = AisStore::where(['member_miniapp_id' => $this->miniapp_id])->whereIn('id',AisStoreUnion::where(['member_miniapp_id' => $this->miniapp_id,'group_id' => $param['id'],'type' => 0])->column('store_id'))->select();
  30. return enjson(200,['group' => $info,'order' => $order,'count' => $count,'help' => $help,'store' => $list]);
  31. }
  32. }