Shipping.php 6.36 KB
<?php
/**
 * tpshop
 * ============================================================================
 * 版权所有 2015-2027 深圳搜豹网络科技有限公司,并保留所有权利。
 * 网站地址: http://www.tp-shop.cn
 * ----------------------------------------------------------------------------
 * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
 * 不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * 插件管理类
 * Date: 2015-10-20
 */

namespace app\manager\controller;

use think\AjaxPage;
use think\Db;
use think\Page;
use qcloudcos\Conf;
use qcloudcos\Myqcloudcos;

class Shipping extends Base {

    /**
     * 物流信息
     * @return admin_list
     */
    public function index(){
        $keywords = I('keywords/s');
        $pagenum=20;//每页显示多少条
        if ((int)I('pagenum/s')>0)
        {
            $pagenum=I('pagenum/s');
        }
        $this->assign('pagenum',$pagenum);

        $model = M('shipping');
        if ($keywords) {
            $where['shipping_name|shipping_code']=array(['like','%'.$keywords.'%']);;
        }

        $count = $model->where($where)->count();
        $Page = $pager = new Page($count,$pagenum);
        $shipping = $model->where($where)->order('shipping_id')->limit($Page->firstRow.','.$Page->listRows)->select();
        $show = $Page->show();
        $this->assign('shipping',$shipping);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出
        $this->assign('pager',$pager);
        $this->assign('keywords',$keywords);
        return $this->fetch();

    }


    /**
     * 物流管理
     * @return admin_list
     */
    public function shipping_info()
    {
        $shipping_id = I('get.shipping_id/d', 0);
        if ($shipping_id) {
            $info = D('shipping')->where("shipping_id", $shipping_id)->find();
            $this->assign('info', $info);
        }
        $act = empty($shipping_id) ? 'add' : 'edit';
        $this->assign('act', $act);
        return $this->fetch();
    }


    /**
     * 物流操作,新增,修改
     * @return admin_list
     */
    public function shippingHandle()
    {
        $data = I('post.');
        if ($data['act'] == 'add') {
            unset($data['shipping_id']);
            if (D('shipping')->where("shipping_code", $data['shipping_code'])->count()) {
                $this->error("此物流已存在,请更换", U('manager/Shipping/shipping_info'));
            } else {
                $r = D('shipping')->add($data);
                if($r){
                    adminLog("添加物流(" . $r . ")");
                }
            }
        }

        if ($data['act'] == 'edit') {
            $r = D('shipping')->where('shipping_id', $data['shipping_id'])->save($data);
            if($r){
                adminLog("修改物流(" . $r . ")");
            }
        }

        if ($r) {
            $this->success("操作成功", U('manager/Shipping/index'));
        } else {
            $this->error("操作失败", U('manager/Shipping/index'));
        }
    }


    /**
     * 删除物流
     */
    public function del_shipping(){
        //先判断是否有商家启用该物流
        $shipping_id = I('shipping_id');
        $c = M('store_shipping')->where('shipping_id',$shipping_id)->where('status',1)->count();

        if($c){
            exit(json_encode(array('status'=>-1,'msg'=>'已有商家启用该物流,暂时无法删除')));
        }
        else{
            $shipping = M('shipping')->where('shipping_id',$shipping_id)->select();
            //删除图片
            $dellogo=ltrim($shipping[0]['shipping_logo'],'/');
            if (!empty($dellogo))
            {
                //删除腾讯云图片
                vendor ('qcloudcos.myqcloudcos');
                $rs=Myqcloudcos::delFile('wxd',$dellogo);
                mdelFile(ROOT_PATH.$dellogo);
            }

            $r = D('shipping')->where('shipping_id', $shipping_id)->delete();
            if($r){
                adminLog("删除物流");
                exit(json_encode(1));
            }
            else{
                exit(json_encode(array('status'=>-1,'msg'=>'删除失败')));
            }
        }
    }


    /**
     * 启用或禁用物流
     */
    public function set_shipping(){
        //先判断是否有商家启用该物流
        $shipping_id = I('shipping_id/d');
        $status = I('status/d');
        //禁用操作前判断是否又商家启用了该物流
        if($status){
            $c = M('store_shipping')->where('shipping_id',$shipping_id)->where('status',1)->count();
            if($c){
                exit(json_encode(array('status'=>-1,'msg'=>'已有商家启用该物流,暂时无法禁用')));
            }
            else{
                $data['enabled']=0;
                $r = D('shipping')->where('shipping_id', $shipping_id)->save($data);
            }
        }
        else{
            $data['enabled']=1;
            $r = D('shipping')->where('shipping_id', $shipping_id)->save($data);
        }
        if ($r){
            adminLog("修改物流状态");
            exit(json_encode(1));
        }
        else{
            exit(json_encode(array('status'=>-1,'msg'=>'操作失败')));
        }


        $dellogo=ltrim($brandlist['logo'],'/');
        delFile($dellogo);

    }

    /**
     * 设置可改状态
     */
    public function set_insure(){
        //先判断是否有商家启用该物流
        $shipping_id = I('shipping_id/d');
        $status = I('status/d');
        //禁用操作前判断是否又商家启用了该物流
        if($status){
            $c = M('store_shipping')->where('shipping_id',$shipping_id)->where('status',1)->count();
            if($c){
                exit(json_encode(array('status'=>-1,'msg'=>'已有商家启用该物流,暂时无法操作')));
            }
            else{
                $data['insure']=0;
                $r = D('shipping')->where('shipping_id', $shipping_id)->save($data);
            }
        }
        else{
            $data['insure']=1;
            $r = D('shipping')->where('shipping_id', $shipping_id)->save($data);
        }
        if ($r){
            exit(json_encode(1));
        }
        else{
            exit(json_encode(array('status'=>-1,'msg'=>'操作失败')));
        }


    }
}