request->param('type/d'); $where = [ ['member_id','=', $this->request->memberId] ]; $today = date('Y-m-d',time()); if($type == 0){ $where[] = ['status','=',1]; $where[] = ['valid_end_time','>=',$today]; $query = MemberMembershipCardModel::where($where); }else{ $where1 = $where; $where2 = $where; $where1[] = ['status','=',8]; $where2[] = ['valid_end_time','<',$today]; $query = MemberMembershipCardModel::whereOr([$where1,$where2]); } $datas = $query->order(['member_membership_card_id'=>'desc'])->page($this->request->page)->limit($this->request->limit)->select()->append(['status_another'])->toArray(); return $this->success(['datas'=>$datas]); } public function getMemberMembershipCardDetail(){ $member_membership_card_id = $this->request->param('member_membership_card_id/d'); if(empty($member_membership_card_id)){ return $this->error('请选择要查看的会籍卡'); } if(null === $card = MemberMembershipCardModel::find($member_membership_card_id)){ return $this->error('请选择要查看的会籍卡'); } if($card->member_id != $this->request->memberId || $card->shop_id != $this->request->shopId){ return $this->error('请选择要查看的会籍卡'); } $card->items; $card->append(['pay_time_format','pay_type_mean'])->toArray(); return $this->success([ 'detail' => $card ]); } public function getMemberMembershipCardLogs(){ $member_membership_card_id = $this->request->param('member_membership_card_id/d'); if(empty($member_membership_card_id)){ return $this->error('请选择要查看的会籍卡'); } if(null === $card = MemberMembershipCardModel::find($member_membership_card_id)){ return $this->error('请选择要查看的会籍卡'); } if($card->member_id != $this->request->memberId || $card->shop_id != $this->request->shopId){ return $this->error('请选择要查看的会籍卡'); } $where = [ ['shop_id','=', $this->request->shopId], ['member_id','=', $this->request->memberId], ['source','=','membership_card'], ['member_membership_card_id','=',$member_membership_card_id] ]; $datas = ProjectWriteOffModel::where($where)->select()->append(['add_time_format'])->toArray(); return $this->success([ 'datas' => $datas ]); } public function getMembershipCardList() { $where=[ ['is_delete','=',0], ['status','=',1], ]; $membership_card_model = new MembershipCardModel(); $order=['sort'=>'desc','add_time'=>'desc']; $field='membership_card_id,name,bg_type,bg_id,bg_img,price,is_flash_sale,flash_price,flash_num,start_time,end_time,fictitious_take_count,valid_time,valid_unit'; $append=['is_flash_sale_expire','flash_sale_djs','valid_time_format']; $datas=$membership_card_model->where($where)->order($order) ->field($field) ->limit($this->request->limit) ->page($this->request->page) ->select() ->append($append) ->toArray(); $return['datas']=$datas; return $this->success($return); } public function getMembershipCardDetail() { $membership_card_id=$this->request->param('membership_card_id/d',0); if($membership_card_id==0) return $this->error('会籍卡不存在'); if(null === $membership_card = MembershipCardModel::find($membership_card_id)) return $this->error('会籍卡不存在'); if($membership_card->shop_id != $this->request->shopId) return $this->error('会籍卡不存在'); if($membership_card->is_delete != 0) return $this->error('会籍卡不存在'); $items= MembershipCardItemModel::with(['project'=>function($query){ $query->field('project_id,type,cover_img,abbreviation,market_price'); }])->where([ ['membership_card_id','=',$membership_card->membership_card_id], ['is_delete','=',0] ])->field('project_id,num')->select()->toArray(); $detail=[ 'name'=>$membership_card->name, 'bg_type'=>$membership_card->bg_type, 'bg_id'=>$membership_card->bg_id, 'bg_img'=>$membership_card->bg_img, 'price'=>$membership_card->price, 'is_flash_sale'=>$membership_card->is_flash_sale, 'flash_price'=>$membership_card->flash_price, 'is_flash_sale_expire'=>$membership_card->is_flash_sale_expire, 'flash_sale_djs'=>$membership_card->flash_sale_djs, 'valid_time_format'=>$membership_card->valid_time_format, 'fictitious_take_count'=>$membership_card->fictitious_take_count, 'rotation'=>$membership_card->rotation, 'items'=>$items, 'use_info'=>$membership_card->use_info, ]; return $this->success(['detail'=>$detail]); } public function createOrder() { $membership_card_id=$this->request->param('membership_card_id/d',0); $total_price = $this->request->param('total_price/f',0); $use_integral = $this->request->param('use_integral/d',0); $coupon_id = $this->request->param('coupon_id/d',0); $params=[ 'member_id'=>$this->request->memberId, 'total_price'=>$total_price, 'use_integral'=>$use_integral, 'coupon_id'=>$coupon_id, 'membership_card_id'=>$membership_card_id, ]; Db::startTrans(); try{ $order_logic = OrderLogic::init($this->request->shopId); $order_id=$order_logic['membership_card']->createOrder($params); Db::commit(); return $this->success(['order_id'=>$order_id]); } catch (\Exception $e){ Db::rollback(); return $this->error($e->getMessage()); } } public function moneyPay() { $membership_card_order_id=$this->request->param('membership_card_order_id/d',0); $params=[ 'member_id'=>$this->request->memberId, 'membership_card_order_id'=>$membership_card_order_id, ]; Db::startTrans(); try{ $order_logic = OrderLogic::init($this->request->shopId); $order_logic['membership_card']->moneyPay($params); Db::commit(); return $this->success('余额支付成功'); } catch (\Exception $e){ Db::rollback(); return $this->error($e->getMessage()); } } public function cancelOrder() { $membership_card_order_id=$this->request->param('membership_card_order_id/d',0); $params=[ 'member_id'=>$this->request->memberId, 'membership_card_order_id'=>$membership_card_order_id, ]; Db::startTrans(); try{ $order_logic = OrderLogic::init($this->request->shopId); $order_logic['membership_card']->cancelOrder($params); Db::commit(); return $this->success('取消订单成功'); } catch (\Exception $e){ Db::rollback(); return $this->error($e->getMessage()); } } }