PHP开发:小区物业管理缴费小程序uniapp在线报修系统、活动报名、在线商城

二次开发小区物业管理缴费小程序,以 uniapp 技术为支撑,操作简单流畅,适配各种手机设备

1、物业缴费、房产管理、在线报修、业主活动报名以及在线商城等多项功能,为小区物业提供了全面的智能化管理

 /**
     * 保留1个小时
     * php ./public/index.php /addons/deerhome/autotask/cancel
     */
    public function cancel()
    {
        //1个小时前
        $time=date("Y-m-d H:i:s",time()-1*3600);

        //次卡订单::超时未支付
        $cardOrderModel=new \app\admin\model\deerhome\CardOrder;
        $cardOrderModel->where('add_time',"<",$time)->where("status",1)->update(["status"=>3]);
        //次卡订单::已到期
        $cardOrderModel->where('end_time',"<",date("Y-m-d H:i:s"))
        ->where("status",2)
        ->update([
            "status"=>3
            ,"num_left"=>0
            ,"done_time"=>date("Y-m-d H:i:s")
        ]);

        //过期优惠券
        $YhqModel=new \app\admin\model\deerhome\Yhq;
        $YhqModel->where('end_day',"<",date("Y-m-d"))->where("status","in",[1,2])->update(["status"=>4]);

        //作废充值流水
        Db::name("deerhome_order_pay_log")->where('add_time',"<",$time)->where("type",2)->where("is_wallet",1)->where("status",1)->update(["status"=>3,"note"=>"长时间未支付,交易关闭"]);
        $orderArr=Db::name("deerhome_order")->where("status",1)->where('time_add',"<",$time)->column("status,sn","id");
        if(count($orderArr)==0){
            echo "\n cancel:0 \n";
            return;
        }
        $time=date("Y-m-d H:i:s");
        $logArr=[];
        foreach($orderArr as $id=>$item){
            $logArr[]=[
                'order_id'=>$id,
                'add_time'=>$time,
                'ac_user'=>'系统',
                'note'=>"长时间未支付,交易关闭"
            ];
        }
        $orderIds=array_keys($orderArr);
        $order_snArr=[];
        foreach($orderArr as $id=>$item){
            $order_snArr[]=$item['sn'];
        }
   
        Db::startTrans();
        try{
            //作废流水
            Db::name("deerhome_order_pay_log")->where("order_sn","in",$order_snArr)->update(["status"=>3,"note"=>"长时间未支付,交易关闭"]);
            Db::name("deerhome_order")->where("id","in",$orderIds)->update(["status"=>8,"time_done"=>$time]);
            Db::name("deerhome_order_log")->insertAll($logArr);
            Db::commit();
        }catch(\Exception $e){
            Db::rollback();
            echo "\n ERR-cancel:".$e->getMessage()." \n";
            return;
        }
        echo "\n cancel:".count($orderArr)." \n";
        return;
    }

在这里插入图片描述

2、报修一键通,服务马上到

在这里插入图片描述

3、点击房产账单,实现线上缴费 在线商城,家政、便捷到家

在这里插入图片描述

4、社区活动,一键报名

  public function index()
    {
        if (false === $this->request->isAjax()) {
            return $this->view->fetch();
        }
        if($this->request->param("action")=="checkErr"){
            $this->checkErr();
            return;
        }
        $trade=$this->request->param("trade",0,"intval");
        $column = [];
        $starttime = strtotime(date("Y-m-01"));
        $endtime = strtotime(date("Y-m-t"));
        if($trade==1){
            $starttime = strtotime(date("Y-m-01",strtotime("-1 month")));
            $endtime = strtotime(date("Y-m-t",strtotime("-1 month")));
        }
        $trade = Db::name("deerhome_order")
            ->where('time_add', 'between time', [$starttime, $endtime])
            ->where("status","in",[2,3,4,5])
            ->field('ANY_VALUE(time_add) as time_add,  COUNT(*) AS nums, SUM(price_payed) AS price, DATE_FORMAT(`time_add`, "%m-%d") AS add_date')
            ->group('add_date')
            ->select();

        for ($time = $starttime; $time <= $endtime;) {
            $column[] = date("m-d", $time);
            $time += 86400;
        }
        $trade_chart_price = array_fill_keys($column, 0);
        $trade_chart_num = array_fill_keys($column, 0);
        foreach ($trade as $k => $v) {
            $trade_chart_num[$v['add_date']] = (int)$v['nums'];
            $trade_chart_price[$v['add_date']] = $v['price'];
        }

        if($trade==1){
            $out=[];
            $out['trade_chart']['price'] = array_values($trade_chart_price);
            $out['trade_chart']['num'] = array_values($trade_chart_num);
            $out['trade_chart']['x'] = $column;
            $this->success('','',$out);
        }

        //用户图表
        $starttime = Date::unixtime('day', -31);
        $starttime_user = Date::unixtime('day', -10);
        $column_user = [];
        $trade_user = Db::name("deerhome_user")->where('regtime', 'between time', [$starttime_user, $endtime])
            ->field('ANY_VALUE(regtime) as regtime,  COUNT(*) AS nums, DATE_FORMAT(regtime, "%m-%d") AS add_date')
            ->group('add_date')
            ->select();
        for ($time = $starttime_user; $time <= $endtime;) {
            $column_user[] = date("m-d", $time);
            $time += 86400;
        }
        $user_chart_num = array_fill_keys($column_user, 0);
        foreach ($trade_user as $k => $v) {
            $user_chart_num[$v['add_date']] = (int)$v['nums'];
        }
        // foreach ($user_chart_num as $k => $v) {
        //     $user_chart_num[$k] = rand(10,50);
        // }

        //热销->where("sale_times",">",0)
        $hot_sale=Db::name("deerhome_items")->field("name,sale_times")->order('sale_times desc')->limit(8)->select();
        $total_sale=Db::name("deerhome_items")->sum("sale_times");
        foreach ($hot_sale as $k=>$v){
            if($total_sale==0){
                $hot_sale[$k]['percent']="0%";
                continue;
            }
            $hot_sale[$k]['percent']=round($v['sale_times']/$total_sale,2)*100 . "%";
        }
  
        //接单排行
        $worker_rank=Db::name("deerhome_order")->alias('o')->join("deerhome_worker w","o.worker_id=w.id")->field("w.face_image,w.uname, COUNT(o.id) AS nums")->where('o.status','<=',5)->where('o.worker_id','>',0)->group('o.worker_id')->limit(8)->order('nums desc')->select();
        //最近服务记录
        $fw_log=Db::name("deerhome_order_log")->alias('l')->join("deerhome_order o","o.id=l.order_id")->field("o.sn,l.ac_user,l.note,l.add_time")->limit(12)->order('l.id desc')->select();
  
        $out=[];
        $out['trade_chart']['price'] = array_values($trade_chart_price);
        $out['trade_chart']['num'] = array_values($trade_chart_num);
        $out['trade_chart']['x'] = $column;

        $out['use_chart']['num'] = array_values($user_chart_num);
        $out['use_chart']['x'] = $column_user;

        $out['hot_sale'] = $hot_sale;
        $out['xs_list'] =[];
        $out['worker_rank'] = $worker_rank;
        $out['fw_log'] = $fw_log;
        $out['tpl_ids'] = [];
        $saasInfo=$this->auth->getGroups($this->auth->id);
        $saasInfo=$saasInfo[0];
        
        //入驻审核
        $out['tpl_ids']['rzsh'] = Db::name("deerhome_worker_sh")->where('status',1)->count();
        //提现审核
        $out['tpl_ids']['txsh'] = Db::name("deerhome_worker_money_log")->where('type','like','%提现')->where('status',1)->count();
        $out['tpl_ids']['fapiao'] = Db::name("deerhome_fapiao")->where('status',1)->count();
        $out['tpl_ids']['shouhou'] = Db::name("deerhome_order_refund")->where('status',1)->count();
        //待完成订单
        $status2=0;
        $status3=0;
        $status4=0;
        $dwc_orders=Db::name("deerhome_order")->field("status,COUNT(id) as num")->where('status','in',[2,3,4])->group('status')->select();
        if(count($dwc_orders)>0){
            foreach($dwc_orders as $k=>$v){
                if($v['status']==2){
                    $status2=$v['num'];
                }elseif($v['status']==3){
                    $status3=$v['num'];
                }elseif($v['status']==4){
                    $status4=$v['num'];
                }
            }
        }
        $out['tpl_ids']['dwc_orders'] = "{$status2} / {$status3} / {$status4}";

        //数据概况
        $out['tpl_ids']['info_today_price'] = Db::name("deerhome_order")->where("status","in",[2,3,4,5])->whereTime('time_add',"today")->sum('price_payed');
        $out['tpl_ids']['info_today_price'] = "¥".number_format($out['tpl_ids']['info_today_price'],2);

        $out['tpl_ids']['info_month_price'] = Db::name("deerhome_order")->where("status","in",[2,3,4,5])->whereTime('time_add',"month")->sum('price_payed');
        $out['tpl_ids']['info_month_price'] = "¥".number_format($out['tpl_ids']['info_month_price'],2);

        $out['tpl_ids']['info_today_num'] = Db::name("deerhome_order")->whereTime('time_add',"today")->where("price_payed",">",0)->count();
        $out['tpl_ids']['info_month_num'] = Db::name("deerhome_order")->whereTime('time_add',"month")->where("price_payed",">",0)->count();

        $out['tpl_ids']['info_day_user'] = Db::name("deerhome_user")->whereTime('regtime',"today")->count();
        $out['tpl_ids']['info_total_user'] = Db::name("deerhome_user")->count();

        $out['tpl_ids']['info_total_worker'] = Db::name("deerhome_worker")->count();
        $out['tpl_ids']['info_total_shop'] = Db::name("deerhome_shop")->count();

        $this->success('','',$out);
    }

5、物业缴费功能

用户可以轻松查看到各类物业费用的金额、缴纳时间以及缴纳记录等信息。用户可以通过该程序直接进行缴纳操作,支持多种支付方式,如微信支付、支付宝等,方便快捷,无需多次操作。

此外,智慧小区物业管理小程序还支持自动推送缴费通知功能,用户无需手动查询,即可实时掌握各类物业费用的缴纳情况,避免因漏缴或忘缴而影响到自己的生活。

6、房产管理功能

小区物业管理的房产管理功能,可以实现对小区房屋资源的统一管理。该功能详细记录了每栋楼、每套房的信息,包括房屋面积、户型、产权年限、所属业主等。同时,该程序还可以根据用户需求进行快速搜索和筛选,方便查找和管理。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

7、在线报修

在线报修功能可以让用户快速提交报修申请,物业工作人员可以在线接收并处理报修信息,提高了工作效率和响应速度
在这里插入图片描述

8、业主活动报名功能

业主活动报名功能则可以让用户快速便捷地参与自己感兴趣的小区活动,拉近了邻里之间的距离。
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

9、在线商城功能

小区物业管理小程序还内置了一个在线商城模块,方便用户进行购物。该商城模块提供了丰富多样的商品供用户选择,包括生活日用品、家居装饰品、家用电器等
在这里插入图片描述在这里插入图片描述

class Common extends Api
{

    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['list','detail','pact','common'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['*'];

    protected $getAuthCodeUrl = "https://open.weixin.qq.com/connect/oauth2/authorize";
    public function common(){
//        Cache::tag("venue")->clear();
        $config = get_addon_config("venue");
        $data = [
            "default_points"    =>  $config['default_points'], //默认支付返积分
            "app_name"    =>  $config['app_name'], //小程序名称
            "points"            =>  $config['points'],         //签到获得积分
            "addup"             =>  $config['addup'],          //累计签到递增积分
            "max"               =>  $config['max'],            //连续签到最大天数
            "app_filings"       =>  $config['app_filings'],            //APP备案号
            "mini_filings"      =>  $config['mini_filings'],            //小程序备案号
            "business_license"  =>  $config['business_license'],            //经营许可
            "share_title"  =>  $config['share_title'],            //分享标题
            "share_img"  =>  cdnurl($config['share_img'],true),            //分享图片
            "yhqimg"            =>  cdnurl($config['yhqimg'],true),            //优惠券页面图片
            'mpurl' => (new MpWechat)->getAuthorizeUrl(),
            "fz_h5_title"       =>  $config["fz_h5_title"],          //公众号分享标题
            "fz_h5_intro"       =>  $config["fz_h5_intro"],         //公众号分享描述
            "fz_h5_url"         =>  $config["fz_h5_url"],         //公众号分享地址
            "fz_h5_fximg"       =>  cdnurl($config["fz_h5_fximg"],true),          //公众号分享图片
            'auth_type' => $config["auth_type"],
        ];
        $data['message'] = Message::field('message_type,masterplate')->select();
        $this->success("获取成功",$data);
    }

10、 需要帮忙安装搭建、二次开发小区物业管理缴费小程序的可以 加个QQ好友

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值