271 lines
5.3 KiB
PHP
271 lines
5.3 KiB
PHP
<?php
|
|
namespace app\massage\controller;
|
|
use app\ApiRest;
|
|
|
|
use app\massage\model\BalanceCard;
|
|
use app\massage\model\BalanceOrder;
|
|
use app\massage\model\BalanceWater;
|
|
use app\massage\model\Coach;
|
|
use app\massage\model\User;
|
|
use app\member\model\Level;
|
|
use app\Rest;
|
|
|
|
|
|
use think\App;
|
|
|
|
use think\Request;
|
|
|
|
|
|
|
|
class IndexBalance extends ApiRest
|
|
{
|
|
|
|
protected $model;
|
|
|
|
protected $article_model;
|
|
|
|
protected $coach_model;
|
|
|
|
protected $water_model;
|
|
|
|
|
|
public function __construct(App $app) {
|
|
|
|
parent::__construct($app);
|
|
|
|
$this->model = new BalanceCard();
|
|
|
|
$this->balance_order = new BalanceOrder();
|
|
|
|
$this->water_model = new BalanceWater();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2021-07-04 19:09
|
|
* @功能说明:储值充值卡列表
|
|
*/
|
|
public function cardList(){
|
|
|
|
$input = $this->_param;
|
|
|
|
$dis[] = ['uniacid','=',$this->_uniacid];
|
|
|
|
$dis[] = ['status','=',1];
|
|
|
|
if(!empty($input['name'])){
|
|
|
|
$dis[] = ['title','like','%'.$input['name'].'%'];
|
|
|
|
}
|
|
|
|
$data = $this->model->dataList($dis,$input['limit']);
|
|
|
|
if(!empty($data['data'])){
|
|
|
|
$level = new Level();
|
|
|
|
foreach ($data['data'] as &$v){
|
|
|
|
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
|
|
|
$v['member_title']= $level->where(['id'=>$v['member_level']])->value('title');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2021-07-07 17:00
|
|
* @功能说明:充值余额
|
|
*/
|
|
public function payBalanceOrder(){
|
|
|
|
$input = $this->_input;
|
|
|
|
if(!empty($input['card_id'])){
|
|
|
|
$dis = [
|
|
|
|
'id' => $input['card_id'],
|
|
|
|
'status' => 1
|
|
];
|
|
|
|
$card = $this->model->dataInfo($dis);
|
|
|
|
if(empty($card)){
|
|
|
|
$this->errorMsg('充值卡已被下架');
|
|
}
|
|
|
|
}else{
|
|
|
|
$card = [
|
|
|
|
'price' => $input['price'],
|
|
|
|
'true_price' => $input['price'],
|
|
|
|
'id' => 0,
|
|
|
|
'member_level'=> 0,
|
|
|
|
'title' => '自定义金额充值'
|
|
];
|
|
}
|
|
|
|
|
|
$user_model = new User();
|
|
|
|
$level_model= new Level();
|
|
|
|
$user = $user_model->dataInfo(['id'=>$this->getUserId()]);
|
|
|
|
$user_level_discount = $level_model->where(['id'=>$user['member_level']])->value('discount');
|
|
|
|
$user_level_discount = !empty($user_level_discount)?$user_level_discount:0;
|
|
|
|
$member_level_dicount= $level_model->where(['id'=>$card['member_level']])->value('discount');
|
|
|
|
$member_level_dicount= !empty($member_level_dicount)?$member_level_dicount:0;
|
|
|
|
$card['member_level']= $member_level_dicount>$user_level_discount?$card['member_level']:0;
|
|
|
|
$insert = [
|
|
|
|
'uniacid' => $this->_uniacid,
|
|
|
|
'user_id' => $this->getUserId(),
|
|
|
|
'order_code' => orderCode(),
|
|
|
|
'pay_price' => $card['price'],
|
|
|
|
'sale_price' => $card['price'],
|
|
|
|
'true_price' => $card['true_price'],
|
|
|
|
'card_id' => $card['id'],
|
|
|
|
'title' => $card['title'],
|
|
|
|
'member_level'=> $card['member_level'],
|
|
|
|
'phone' => $input['phone']
|
|
|
|
];
|
|
|
|
$res = $this->balance_order->dataAdd($insert);
|
|
|
|
if($res==0){
|
|
|
|
$this->errorMsg('充值失败');
|
|
|
|
}
|
|
//微信支付
|
|
$pay_controller = new IndexWxPay($this->app);
|
|
//支付
|
|
$jsApiParameters= $pay_controller->createWeixinPay($this->payConfig(),$this->getUserInfo()['openid'],$this->_uniacid,"储值",['type' => 'Balance' , 'out_trade_no' => $insert['order_code']],$insert['pay_price']);
|
|
|
|
$arr['pay_list']= $jsApiParameters;
|
|
|
|
return $this->success($arr);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2021-07-07 17:34
|
|
* @功能说明:充值订单列表
|
|
*/
|
|
public function balaceOrder(){
|
|
|
|
$input = $this->_param;
|
|
|
|
$dis[] = ['status','=',2];
|
|
|
|
$dis[] = ['user_id','=',$this->getUserId()];
|
|
|
|
if(!empty($input['start_time'])){
|
|
|
|
$dis[] = ['pay_time','between',"{$input['start_time']},{$input['end_time']}"];
|
|
|
|
}
|
|
|
|
$data = $this->balance_order->dataList($dis);
|
|
|
|
if(!empty($data['data'])){
|
|
|
|
foreach ($data['data'] as &$v){
|
|
|
|
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
|
|
|
$v['pay_time'] = date('Y-m-d H:i:s',$v['pay_time']);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* @author chenniang
|
|
* @DataTime: 2021-07-07 18:00
|
|
* @功能说明:消费明细
|
|
*/
|
|
public function payWater(){
|
|
|
|
$input = $this->_param;
|
|
|
|
$dis[] = ['user_id','=',$this->getUserId()];
|
|
|
|
// $dis[] = ['type','=',2];
|
|
|
|
if(!empty($input['start_time'])){
|
|
|
|
$dis[] = ['create_time','between',"{$input['start_time']},{$input['end_time']}"];
|
|
|
|
}
|
|
|
|
$data = $this->water_model->dataList($dis);
|
|
|
|
if(!empty($data['data'])){
|
|
|
|
foreach ($data['data'] as &$v){
|
|
|
|
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|