...
|
...
|
@@ -7,12 +7,16 @@ use app\admin\model\Faq; |
|
|
use app\admin\model\Feedback;
|
|
|
use app\admin\model\Vipdesc;
|
|
|
use app\common\controller\Frontend;
|
|
|
use app\index\model\Firmstores;
|
|
|
use app\index\model\Goodscollect;
|
|
|
use app\index\model\Minestore;
|
|
|
use app\index\model\OrderInfo;
|
|
|
use app\index\model\OrderRefund;
|
|
|
use app\index\model\Price;
|
|
|
use app\index\model\Province;
|
|
|
use app\index\model\Store;
|
|
|
use app\index\model\Storecollect;
|
|
|
use app\index\model\Viporder;
|
|
|
use think\Db;
|
|
|
use think\Validate;
|
|
|
|
...
|
...
|
@@ -224,6 +228,30 @@ class Member extends Frontend |
|
|
}
|
|
|
}
|
|
|
|
|
|
// 评价
|
|
|
public function comment() {
|
|
|
$order_id = $this->request->param('order_id');
|
|
|
$order_detail_model = new \app\index\model\OrderDetail();
|
|
|
$order_info_model = new OrderInfo();
|
|
|
$store_model = new Store();
|
|
|
$where = [
|
|
|
'id' => $order_id
|
|
|
];
|
|
|
$order = $order_detail_model
|
|
|
->where($where)
|
|
|
->find();
|
|
|
if(!$order) {
|
|
|
$this->error('订单不存在');
|
|
|
}
|
|
|
if($order['status'] != 5) {
|
|
|
$this->error('当前订单状态无法评价');
|
|
|
}
|
|
|
$order['store_name'] = $store_model->where('id',$order['store_id'])->value('name');
|
|
|
$order['goods'] = $order_info_model->where('order_id',$order['id'])->select();
|
|
|
$this->view->assign('order',$order);
|
|
|
$this->view->fetch();
|
|
|
}
|
|
|
|
|
|
// 退款
|
|
|
public function refund() {
|
|
|
$order_id = $this->request->param('order_id');
|
...
|
...
|
@@ -296,9 +324,7 @@ class Member extends Frontend |
|
|
// 我的会员
|
|
|
public function member()
|
|
|
{
|
|
|
$store_model = new Store();
|
|
|
$store = $store_model->where('user_id',$this->auth->id)->find();
|
|
|
if(!$store) {
|
|
|
if(!$this->store) {
|
|
|
$minestore = Db::name('minestore')->where('user_id',$this->auth->id)->find();
|
|
|
if($minestore) {
|
|
|
$url = url('vip/index');
|
...
|
...
|
@@ -307,13 +333,6 @@ class Member extends Frontend |
|
|
}
|
|
|
$this->redirect($url);
|
|
|
}
|
|
|
$is_vip = 0;
|
|
|
if($store) {
|
|
|
if($store['svip_passtime'] > time()) {
|
|
|
$is_vip = 1;
|
|
|
$passtime = date('Y-m-d');
|
|
|
}
|
|
|
}
|
|
|
$this->view->assign('is_nav', 3);
|
|
|
return $this->view->fetch();
|
|
|
}
|
...
|
...
|
@@ -323,8 +342,22 @@ class Member extends Frontend |
|
|
$vipdesc_model = new Vipdesc();
|
|
|
$price = $price_model->where('id',1)->find();
|
|
|
$vipdesc = $vipdesc_model->where('id',1)->find();
|
|
|
//省份
|
|
|
$select_data = [];
|
|
|
if($this->store['store_type'] == 1) {
|
|
|
$select_data = [
|
|
|
'id' => ['in',$this->store['province_ids']]
|
|
|
];
|
|
|
}
|
|
|
$provinceModel = new Province();
|
|
|
$province = $provinceModel->selectData($select_data);
|
|
|
if($this->store['store_type'] == 1) {
|
|
|
$price['vipprice'] = number_format($price['vipprice'] * count($province),'2');
|
|
|
}
|
|
|
$this->view->assign('price',$price);
|
|
|
$this->view->assign('vipdesc',$vipdesc);
|
|
|
$this->view->assign('province',$province);
|
|
|
$this->view->assign('url',url('settled_payment',['store_type'=>1]));
|
|
|
return $this->view->fetch();
|
|
|
}
|
|
|
|
...
|
...
|
@@ -338,6 +371,100 @@ class Member extends Frontend |
|
|
return $this->view->fetch();
|
|
|
}
|
|
|
|
|
|
public function settled_payment() {
|
|
|
$store_type = $this->request->param('store_type',0,'intval');
|
|
|
$province_ids = $this->request->param('province_ids');
|
|
|
if(!$store_type) {
|
|
|
$this->error('会员类型错误');
|
|
|
}
|
|
|
if(!$this->store) {
|
|
|
$minestore = Db::name('minestore')->where('user_id',$this->auth->id)->find();
|
|
|
if($minestore) {
|
|
|
$url = url('vip/index');
|
|
|
} else {
|
|
|
$url = url('enter/index');
|
|
|
}
|
|
|
$this->redirect($url);
|
|
|
}
|
|
|
$price_model = new Price();
|
|
|
$price = $price_model->where('id',1)->find();
|
|
|
$price['price'] = $price['svipprice'];
|
|
|
if($store_type == 1) {
|
|
|
$select_data = [
|
|
|
'id' => ['in',$province_ids]
|
|
|
];
|
|
|
$provinceModel = new Province();
|
|
|
$province = $provinceModel->selectData($select_data);
|
|
|
$ids = [];
|
|
|
foreach($province as $k=>$v) {
|
|
|
$ids[] = $v['id'];
|
|
|
}
|
|
|
$province_ids = implode(',',$ids);
|
|
|
$price['price'] = count($province) * $price['vipprice'];
|
|
|
}
|
|
|
$this->view->assign('store_type',$store_type);
|
|
|
$this->view->assign('province_ids',$province_ids);
|
|
|
$this->view->assign('price',$price['price']);
|
|
|
return $this->view->fetch();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 创建订单
|
|
|
* @throws \think\db\exception\DataNotFoundException
|
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
|
* @throws \think\exception\DbException
|
|
|
*/
|
|
|
public function create_order(){
|
|
|
$user_id = $this->auth->id;
|
|
|
$param = $this->request->param();
|
|
|
$validate = new \think\Validate([
|
|
|
'pay_type' => 'require',
|
|
|
'vip_type' => 'require',
|
|
|
]);
|
|
|
if (!$validate->check($param)) {
|
|
|
$this->error($validate->getError());
|
|
|
}
|
|
|
//价格
|
|
|
$priceModel = new Price();
|
|
|
$price = $priceModel->findData(['id'=>1]);
|
|
|
if($param['vip_type'] == 1){
|
|
|
if(empty($param['province_ids'])){
|
|
|
$this->error('请至少选择一个城市');
|
|
|
}
|
|
|
$number = explode(',',$param['province_ids']);
|
|
|
$money = $price['vipprice'] * count($number);
|
|
|
}else{
|
|
|
$money = $price['svipprice'];
|
|
|
}
|
|
|
//个人店铺
|
|
|
$minestoreModel = new Minestore();
|
|
|
$minestore = $minestoreModel->findData(['user_id'=>$user_id]);
|
|
|
//企业店铺
|
|
|
$firmstoresModel = new Firmstores();
|
|
|
$firmstores = $firmstoresModel->findData(['user_id'=>$user_id]);
|
|
|
//判断是否提交申请
|
|
|
if(empty($minestore) && empty($firmstores)){
|
|
|
$this->error('请先提交入驻申请','index/enter/index');
|
|
|
}
|
|
|
$type = !empty($minestore) ? 1 : (!empty($firmstores) ? 2 : 0);
|
|
|
$arr['pay_type'] = $param['pay_type'];
|
|
|
$arr['user_id'] = $user_id;
|
|
|
$arr['type'] = $type;
|
|
|
$arr['vip_type'] = $param['vip_type'];
|
|
|
$arr['province_ids'] = !empty($param['province_ids']) ? $param['province_ids'] : null;
|
|
|
$arr['num'] = get_order_sn();
|
|
|
$arr['money'] = $money;
|
|
|
$arr['status'] = '1';
|
|
|
$arr['audit'] = '2';
|
|
|
$arr['createtime'] = time();
|
|
|
$viporderModel = new Viporder();
|
|
|
$result = $viporderModel->insertData($arr);
|
|
|
if(empty($result)){
|
|
|
$this->error('sql执行失败');
|
|
|
}
|
|
|
$this->success('SUCCESS','',['viporder_id'=>$result,'url'=>url("index/vip/pay",array('viporder_id'=>$result),false,true)]);
|
|
|
}
|
|
|
|
|
|
// 我的收藏
|
|
|
public function favorite()
|
|
|
{
|
...
|
...
|
|