123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- <?php
- namespace app\controller\api\project\yoga;
-
- use app\controller\api\AuthController;
- use app\controller\store\project\yoga\logic\OrderLogic;
- use app\model\store\logs\ProjectWriteOffModel;
- use app\model\store\yoga\MemberMembershipCardModel;
- use app\model\store\yoga\MembershipCardItemModel;
- use app\model\store\yoga\MembershipCardModel;
- use think\facade\Db;
-
- class MembershipCard extends AuthController{
-
- //获取我的会籍卡列表
- public function getMemberMembershipCardList(){
- $type = $this->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());
- }
- }
- }
|