当前位置: 首页 > article >正文

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

二次开发小区物业管理缴费小程序,以 uniapp 技术为支撑,操作简单流畅,适配各种手机设备
物业缴费、房产管理、在线报修、业主活动报名以及在线商城等多项功能,为小区物业提供了全面的智能化管理

 /**
     * 保留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;
    }

在这里插入图片描述报修一键通,服务马上到
在这里插入图片描述
点击房产账单,实现线上缴费
在这里插入图片描述
在线商城,家政、便捷到家在这里插入图片描述社区活动,一键报名

  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);
    }

一、物业缴费功能

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

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

二、房产管理功能

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

三、在线报修

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

四、业主活动报名功能

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

五、在线商城功能

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


http://www.kler.cn/a/601022.html

相关文章:

  • Kotlin中 StateFlow 或 SharedFlow 的区别
  • 微信小程序开发:页面结构与样式设计
  • 如何在 Java 中查找 PDF 页面大小(教程)
  • 【C++初阶】--- 类与对象(中)
  • 蓝桥杯C++基础算法-多重背包(优化)
  • 字节跳动前端开发实习生面试总结
  • 石斛基因组-文献精读122
  • 【PostgreSQL教程】PostgreSQL 特别篇之 语言接口Python
  • chrome插件开发之API解析-chrome.scripting.executeScript()
  • STM32F103_LL库+寄存器学习笔记02 - 开启SysTick(滴答定时器)中断
  • 大摩闭门会:250324 学习总结报告
  • Tasklet_等待队列_工作队列
  • 使用 FastLanguageModel 的 from_pretrained 方法加载一个已经预训练好的大语言模型及其对应的分词器(tokenizer)
  • 快速搭建个人 k8s 集群(版本 1.30.x)
  • 如何通过BinLog日志恢复被删除的数据
  • stable diffusion本地安装
  • 如何在Windows上下载并配置GO语言环境变量
  • Linux--进程控制
  • ETL:数据清洗、规范化和聚合的重要性
  • redis 学习笔记