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

namespace app\admin\controller;
use app\admin\logic\GiftuserLogic;
use think\AjaxPage;
use think\Page;
use app\admin\logic\GoodsLogic;
use think\db;
use think\Cache;
class Giftuser extends Base
{

    //参数设置
    public function index()
    {

        //ajax提交验证
        $info = M('giftuser_config')->where('store_id', getAdmStoId())->find();
        if ($info) {

        } else {
            $info['state'] = 1;
        }
        $this->assign("info", $info);

        if (IS_POST && (I('is_ajax') == 1)) {
            $data = input('post.');
            $edit = $data['edit'];
            $postdata['store_id'] = getAdmStoId();
            $postdata['state'] = $data['state'];
            $postdata['add_expressprice'] = $data['add_expressprice'];

            if ($edit)  // 编辑
            {
                $admid = getAdminId();
                $amdinfo = getAdminInfo($admid);
                $postdata['edit_man'] = $amdinfo['ERPName'];
                $postdata['edit_time'] = time();
                $postdata['edit_ip'] = getIP();
                $row = M('giftuser_config')->where(array("id" => $edit))->save($postdata);
            } else {
                $postdata['add_time'] = time();
                $postdata['add_ip'] = getIP();
                $row = M('giftuser_config')->add($postdata);
            }
            if ($row == 1) {
                $return_arr = array(
                    'status' => 0,
                    'msg' => '修改成功',
                );
            } else {
                $return_arr = array(
                    'status' => 1,
                    'msg' => '修改失败',
                );

            }
            return $return_arr;


        }

        return $this->fetch('', getAdmStoId());
    }

    //列表
    public function zslist()
    {

        $begin = date('Y/m/d', strtotime("-1 month"));//30天前
        $end = date('Y/m/d', strtotime('+1 days'));
        $day = trim(I('day', ""));
        if ($day == "1") {
            $begin = date('Y/m/d');
            $end = date('Y/m/d', strtotime('+1 days'));
        }
        $this->assign('timegap', '');


        $consignee = I('consignee');
        $pay_status = I('pay_status');
        $keytype = I('keytype');
        $order_status = I('order_status');
        $keywords = urldecode(urldecode(I('keywords')));
        $getp = I('p');

        $shipping_status = I('shipping_status');
        $exp_type = I('exp_type');
        $picksle_type = I('picksle_type');
        $picksle = I('picksle');
        $add_time_begin = urldecode(urldecode(I('add_time_begin')));
        $add_time_end = urldecode(urldecode(I('add_time_end')));

        $oldurl = array(
            "consignee" => $consignee,
            "pay_status" => $pay_status,
            "keytype" => $keytype,
            "keywords" => $keywords,
            "shipping_status" => $shipping_status,
            "exp_type" => $exp_type,
            "order_status" => $order_status,
            "picksle_type" => $picksle_type,
            "picksle" => $picksle,
            "add_time_begin" => $add_time_begin,
            "add_time_end" => $add_time_end,
            "p" => $getp
        );
        $this->assign('oldurl', $oldurl);
        return $this->fetch('', getAdmStoId());
    }

    /*
     *Ajax首页
     */
    public function ajaxzslist()
    {

        $timegap = I('timegap');

        if ($timegap) {
            $gap = explode('-', $timegap);
            $begin = strtotime($gap[0]);
            $end = strtotime($gap[1]);
        }
        if (I('add_time_begin') && I('add_time_end')) {
            //@new 新后台UI参数
            $begin = strtotime(I('add_time_begin'));
            $end = strtotime(I('add_time_end'));
        }


        // 搜索条件
        $condition = array();
        $keyType = I("keytype");
        $keywords = I('keywords', '', 'trim');
        if ($begin && $end) {
            $condition['a.add_time'] = array('between', "$begin,$end");
        }

        $stoid = getAdmStoId();
        $condition['a.store_id'] = $stoid;

        if ($keyType && $keywords) {
            switch ($keyType) {
                case  "1":
                    $condition['a.order_sn'] = trim($keywords);
                    break;
                case  "2":
                    $condition['c.mobile'] = trim($keywords);
                    break;
            }
        }


        $order_status = I('order_status');
        if ($order_status!="") {
            switch ($order_status) {
                case 0:      //待付款
                    $condition['a.order_status'] = 0;
                case 1:      //待赠送
                    $condition['a.order_status'] = 1;
                    break;

                case 2:     //已赠送
                    $condition['a.order_status'] = 2;

                    break;
                case 3:      //已发货
                    $condition['a.order_status'] = 3;
                    break;

                case -1:      //已作废
                    $condition['a.order_status'] =-1;

                    break;
            }
        }

        /*--订单列表--*/
        $picksle = trim(I('picksle'));
        $pstype = I('picksle_type');
        $where = "1=1";
        if ($picksle) {
            if ($pstype)
                $where .= " AND b.pickup_name='" . $picksle . "'";
            else
                $where .= " AND b.pickup_no='" . $picksle . "'";
        }

        I('user_id') ? $condition['a.user_id'] = trim(I('user_id')) : false;
        $sort_order = I('order_by', 'order_id DESC') . ' ' . I('sort');

        $count = M('giftuser_order')->alias('a')
            ->join('(select pickup_id,pickup_name,pickup_no from  wxd_pick_up where store_id=' . $stoid . ') b', 'a.pickup_id=b.pickup_id', 'left')
            ->join('(select user_id,mobile from wxd_users where store_id=' . $stoid . ') c', 'a.user_id=c.user_id', 'left')
            ->where($condition)->where($where)->count('a.order_id');
        $Page = new AjaxPage($count, 10);
        //  搜索条件下 分页赋值
        foreach ($condition as $key => $val) {
            if ($key == 'add_time') {
                $between_time = explode(',', $val[1]);
                $parameter_add_time = date('Y/m/d', $between_time[0]) . '-' . date('Y/m/d', $between_time[1]);
                $Page->parameter['timegap'] = $parameter_add_time;
            } else {
                if (is_array($val)) {
                    $val = '';
                }
                $Page->parameter[$key] = urlencode($val);
            }
        }


        //获取订单列表
        $show = $Page->show();
        $start = $Page->firstRow;
        $page_size = $Page->listRows;
        $orderList = M('giftuser_order')->alias('a')
            ->join('(select pickup_name,pickup_id,pickup_no from wxd_pick_up where store_id=' . $stoid . ') b', 'a.pickup_id=b.pickup_id', 'left')
            ->join('(select user_id,mobile from wxd_users where store_id=' . $stoid . ') c', 'a.user_id=c.user_id', 'left')
            ->where($condition)->where($where)->limit("$start,$page_size")->order($sort_order)
            ->field('a.order_id,a.order_sn,a.add_time,a.total_amount,a.pay_code,a.pay_status,a.order_status,a.shipping_status,a.exp_type,a.shipping_price,b.pickup_name,b.pickup_no,c.mobile,c.user_id')
            ->select();


        $order_id_arr = get_arr_column($orderList, 'order_id');
        if (!empty($order_id_arr)) {
            $goods_arr = array();
            foreach ($order_id_arr as $k => $v) {
                $goods_list = M('giftuser_order_goods')->alias('a')
                    ->join('(select goods_id,original_img from wxd_goods where store_id=' . $stoid . ') b', 'a.goods_id=b.goods_id')
                    ->where('a.order_id', $v)
                    ->field('a.store_id,a.goods_id,a.goods_sn,a.goods_name,a.goods_price,a.prom_type,a.goods_num,a.is_distri,b.original_img')->select();


                $goods_arr[$v] = $goods_list;
                unset($goods_list);
            }
            $this->assign('goodsArr', $goods_arr);
        }


        foreach ($orderList as $kk => $vv) {

            $orderList[$kk]['order_status_desc'] = $this->getorder_status($vv['order_status']);
        }
        $this->assign('orderList', $orderList);
        $this->assign('page', $show);// 赋值分页输出
        $this->assign('pager', $Page);


        $pay_status = I('pay_status');
        $keytype = I('keytype');
        $keywords = urldecode(urldecode(I('keywords')));
        $getp = I('p');

        $shipping_status = I('shipping_status');

        $picksle_type = I('picksle_type');
        $picksle = I('picksle');
        $order_status = I('order_status');
        $add_time_begin = I('add_time_begin');
        $add_time_end = I('add_time_end');

        $oldurl = U('Admin/giftuser/zslist', array(

            "pay_status" => $pay_status,
            "keytype" => $keytype,
            "keywords" => $keywords,
            "shipping_status" => $shipping_status,
            "picksle_type" => $picksle_type,
            "picksle" => $picksle,
            "add_time_begin" => $add_time_begin,
            "add_time_end" => $add_time_end,
            "order_status" => $order_status,
            "p" => $getp
        ));
        $this->assign('oldurl', urlencode($oldurl));
        return $this->fetch('', getAdmStoId());
    }
    /**
     * 订单详情
     * @param int $id 订单id
     */
    public function detail($order_id){
        $orderLogic = new GiftuserLogic();

        $order = $orderLogic->getOrderInfo($order_id);
        $order['order_status_desc'] = $this->getorder_status($order['order_status']);

        if ($order) {

            $order_lbtype=M('giftuser_type')->where('id',$order['lb_type'])->find();
            if ($order_lbtype)
            {
                $order['lb_typename']=$order_lbtype['lb_name'];
            }
            $lqorder = M('order_goods')->alias('a')->join('order b', 'a.order_id=b.order_id')
                ->where(array('a.store_id' => getAdmStoId(), 'a.zs_parent_sn' => $order['order_sn']))
                ->field('b.consignee,b.add_time,a.goods_name,a.goods_num')
                ->select();
            $lqorder_count = M('order_goods')->alias('a')->join('order b', 'a.order_id=b.order_id')
                ->where(array('a.store_id' => getAdmStoId(), 'a.zs_parent_sn' => $order['order_sn']))
                ->count();
            $this->assign('lqorder', $lqorder);
            $this->assign('lqorder_count', $lqorder_count);
        }


        $orderGoods = $orderLogic->getOrderGoods($order_id);
        $stoid=getAdmStoId();
        $this->assign('store_id',$stoid);
        $this->assign('order',$order);
        $this->assign('orderGoods',$orderGoods);
        $split = count($orderGoods) >1 ? 1 : 0;
        foreach ($orderGoods as $val){
            if($val['goods_num']>1){
                $split = 1;
            }
        }

        $this->assign('split',$split);
        $oldurl = I('oldurl/s');
        $url=urldecode(urldecode(I('oldurl')));
        $this->assign('url', $url);
        return $this->fetch('',getAdmStoId());
    }

    public function getorder_status($order_status)
    {
        switch ($order_status)
        {
            case "0":
                return "待付款";
                break;
            case "1":
                return "待赠送";
                break;
            case "2":
                return "已赠送";
                break;
            case "3":
                return "已发货 ";
                break;
        }

    }


}