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

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

一、物业缴费功能

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

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

二、房产管理功能

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

三、在线报修

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

四、业主活动报名功能

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

五、在线商城功能

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

相关文章:

  • 开源CDN产品-GoEdge
  • 靶场(十七)---小白心得思路分析---Hutch
  • 笔记本+移动端维修全套教程
  • Another Redis Desktop Manager下载安装使用
  • OpenCV三维解算常用方法C++
  • GraalVM原生镜像支持:Spring Cloud应用启动速度提升90%
  • 双指针---《移动零》
  • 基于LabVIEW 的虚拟功率分析仪设计(自动化院仪器专业)
  • mac命令行快捷键
  • HarmonyOS:基于axios实现文件的下载以及下载进度的监听
  • Android14 原生PackageInstaller安装某些apk报错问题
  • 【初探数据结构】快速排序的四种实现方式(Hoare,挖坑,前后指针,非递归)
  • 深入解析 C++20 中的 std::bind_front:高效函数绑定与参数前置
  • Java高频面试之集合-18
  • 基于SSM框架的线上甜品销售系统(源码+lw+部署文档+讲解),源码可白嫖!
  • Java并发编程 什么是分布式锁 跟其他的锁有什么区别 底层原理 实战讲解
  • 加快推进智慧水务发展,实现水务系统安全、高效运行
  • 2024年3月全国计算机等级考试真题(二级C语言)
  • 树莓派ollama docker报错尝试网上方法
  • 悟空crm v12安装好后出现 网络错误问题(已解决)
  • 北京公司网站建设报价/公司企业网站制作
  • 九江县建设规划局网站/平台推广方式方法是什么
  • 巩义做网站/国家中医药管理局
  • 网站备案本人承诺/营销和运营的区别是什么
  • 建设网站后如何做后台/广州百度推广电话
  • 聊城wap网站制作/现在搜什么关键词能搜到网站