Преглед на файлове

wesmiler 报恩寺项目

wesmiler преди 4 години
родител
ревизия
4acdcd4b96

+ 44 - 0
app/Http/Controllers/GoodsCatesController.php

@@ -0,0 +1,44 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Http\Controllers;
+
+use App\Services\GoodsCatesService;
+
+/**
+ * 商品分类管理-控制器
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class GoodsCatesController
+ * @package App\Http\Controllers
+ */
+class GoodsCatesController extends Backend
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * GoodsCatesController constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct();
+        $this->service = new GoodsCatesService();
+    }
+
+    /**
+     * 获取分类选项列表
+     * @return array
+     */
+    public function getOptions(){
+        return $this->service->getOptions();
+    }
+}

+ 37 - 0
app/Http/Controllers/LampMealsController.php

@@ -0,0 +1,37 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Http\Controllers;
+
+use App\Services\LampMealsService;
+
+/**
+ * 供灯套餐管理-控制器
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class LampMealsController
+ * @package App\Http\Controllers
+ */
+class LampMealsController extends Backend
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * LampMealsController constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct();
+        $this->service = new LampMealsService();
+    }
+
+}

+ 36 - 0
app/Http/Controllers/ShopOrderController.php

@@ -0,0 +1,36 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Http\Controllers;
+
+use App\Services\SengrenService;
+
+/**
+ * 商城订单管理-控制器
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class ShopOrderController
+ * @package App\Http\Controllers
+ */
+class ShopOrderController extends Backend
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * SengrenController constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct();
+        $this->service = new SengrenService();
+    }
+}

+ 36 - 0
app/Http/Controllers/SiyuanController.php

@@ -0,0 +1,36 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Http\Controllers;
+
+use App\Services\SiyuanService;
+
+/**
+ * 寺院管理-控制器
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class SiyuanController
+ * @package App\Http\Controllers
+ */
+class SiyuanController extends Backend
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * SiyuanController constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct();
+        $this->service = new SiyuanService();
+    }
+}

+ 42 - 0
app/Models/GoodsCatesModel.php

@@ -0,0 +1,42 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Models;
+
+/**
+ * 商品分类管理-模型
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class GoodsCatesModel
+ * @package App\Models
+ */
+class GoodsCatesModel extends BaseModel
+{
+    // 设置数据表
+    protected $table = 'goods_cates';
+
+    /**
+     * 获取记录信息
+     * @param int $id 记录ID
+     * @return array|string
+     * @author wesmiler
+     * @since 2020/11/11
+     */
+    public function getInfo($id)
+    {
+        $info = parent::getInfo($id); // TODO: Change the autogenerated stub
+        if ($info) {
+
+        }
+        return $info;
+    }
+
+}

+ 56 - 0
app/Models/GoodsModel.php

@@ -0,0 +1,56 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Models;
+
+/**
+ * 商品管理-模型
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class GoodsModel
+ * @package App\Models
+ */
+class GoodsModel extends BaseModel
+{
+    // 设置数据表
+    protected $table = 'goods';
+
+    /**
+     * 获取记录信息
+     * @param int $id 记录ID
+     * @return array|string
+     * @author wesmiler
+     * @since 2020/11/11
+     */
+    public function getInfo($id)
+    {
+        $info = parent::getInfo($id); // TODO: Change the autogenerated stub
+        if ($info) {
+            // 图片
+            if ($info['thumb']) {
+                $info['thumb'] = get_image_url($info['thumb']);
+            }
+
+            // 相册
+            if ($info['albums']) {
+                $info['albums'] = json_decode($info['albums'], true);
+                if($info['albums']){
+                    foreach ($info['albums'] as &$v){
+                        $v = $v? get_image_url($v) : '';
+                    }
+                }
+                unset($v);
+            }
+        }
+        return $info;
+    }
+
+}

+ 45 - 0
app/Models/SiyuanModel.php

@@ -0,0 +1,45 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Models;
+
+/**
+ * 寺院管理-模型
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class GoodsModel
+ * @package App\Models
+ */
+class SiyuanModel extends BaseModel
+{
+    // 设置数据表
+    protected $table = 'siyuan';
+
+    /**
+     * 获取记录信息
+     * @param int $id 记录ID
+     * @return array|string
+     * @author wesmiler
+     * @since 2020/11/11
+     */
+    public function getInfo($id)
+    {
+        $info = parent::getInfo($id); // TODO: Change the autogenerated stub
+        if ($info) {
+            // 图片
+            if ($info['thumb']) {
+                $info['thumb'] = get_image_url($info['thumb']);
+            }
+        }
+        return $info;
+    }
+
+}

+ 75 - 0
app/Services/GoodsCatesService.php

@@ -0,0 +1,75 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Services;
+
+use App\Models\GoodsCatesModel;
+use App\Models\GoodsModel;
+
+/**
+ * 商品分类管理-服务类
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class GoodsCatesService
+ * @package App\Services
+ */
+class GoodsCatesService extends BaseService
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * GoodsCatesService constructor.
+     */
+    public function __construct()
+    {
+        $this->model = new GoodsCatesModel();
+    }
+
+    /**
+     * 获取友链列表
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function getList()
+    {
+        $params = request()->all();
+
+        return parent::getList();
+    }
+
+    /**
+     * 获取分类选项列表
+     * @param int $num
+     * @return array
+     */
+    public function getOptions(){
+        $params = request()->all();
+        $num = isset($params['num'])? $params['num'] : 0;
+        $datas = $this->model->where(['status'=> 1])->select(['id','pid','name','status'])->orderBy('sort','desc')->limit($num? $num : 999999)->get();
+        return message(MESSAGE_OK, true, $datas);
+    }
+
+    /**
+     * 添加或编辑
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function edit()
+    {
+        $data = request()->all();
+        $data['update_time'] = time();
+        return parent::edit($data); // TODO: Change the autogenerated stub
+    }
+
+}

+ 137 - 0
app/Services/GoodsService.php

@@ -0,0 +1,137 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Services;
+
+use App\Models\GoodsModel;
+
+/**
+ * 商品管理-服务类
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class GoodsService
+ * @package App\Services
+ */
+class GoodsService extends BaseService
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * GoodsService constructor.
+     */
+    public function __construct()
+    {
+        $this->model = new GoodsModel();
+    }
+
+    /**
+     * 获取友链列表
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function getList()
+    {
+        $params = request()->all();
+        $page = isset($params['pageSize']) ? intval($params['pageSize']) : PAGE;
+        $pageSize = isset($params['pageSize']) ? intval($params['pageSize']) : PERPAGE;
+
+        $dataList = $this->model::from('goods as g')
+            ->leftJoin('goods_cates as c', 'g.cate_id', '=', 'c.id')
+            ->where(function ($query) use ($params) {
+                $title = isset($params['title']) ? trim($params['title']) : '';
+                if (!empty($title)) {
+                    $query->where('g.title', 'like', "%{$title}%");
+                }
+
+                $cateId = isset($params['cate_id']) ? intval($params['cate_id']) : 0;
+                if ($cateId > 0) {
+                    $query->where('g.cate_id', $cateId);
+                } else if ($cateId == -1) {
+                    $query->where('g.is_recommand', 1);
+                }
+
+
+                $status = isset($params['status']) ? $params['status'] : 0;
+                if ($status > 0) {
+                    $query->where('g.status', $status);
+                } else {
+                    $query->whereIn('g.status', [1, 2]);
+                }
+
+            })
+            ->select(['g.id', 'g.cate_id', 'c.name as cate_name', 'g.title', 'g.stock', 'g.price', 'g.specs', 'g.thumb', 'g.status', 'g.create_time', 'g.update_time', 'g.description', 'g.sort', 'g.view_num','g.albums','g.content','g.is_recommand'])
+            ->orderBy('g.update_time', 'desc')
+            ->paginate($pageSize);
+
+        $dataList = $dataList ? $dataList->toArray() : [];
+        if ($dataList) {
+            foreach ($dataList['data'] as &$item) {
+                $item['thumb'] = $item['thumb'] ? get_image_url($item['thumb']) : '';
+                $item['albums'] = isset($item['albums']) && $item['albums'] ? json_decode($item['albums'], true) : [];
+                if($item['albums']){
+                    foreach ($item['albums'] as &$v){
+                        $v['url'] = isset($v['url']) && $v['url']? get_image_url($v['url']) : '';
+                    }
+                }
+
+            }
+            unset($item);
+        }
+
+        return [
+            'code' => 0,
+            'success'=> true,
+            'msg' => '操作成功',
+            'count' => isset($dataList['total']) ? $dataList['total'] : 0,
+            'data' => isset($dataList['data']) ? $dataList['data'] : 0,
+        ];
+    }
+
+    /**
+     * 添加或编辑
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function edit()
+    {
+        $data = request()->all();
+
+        // 图片处理
+        $image = trim($data['thumb']);
+        $id = isset($data['id']) ? $data['id'] : 0;
+        if (!$id && !$image) {
+            return message('请上传商品图片', false);
+        }
+        if (strpos($image, "temp")) {
+            $data['thumb'] = save_image($image, 'item');
+        } else {
+            $data['thumb'] = str_replace(IMG_URL, "", $data['thumb']);
+        }
+
+        // 图册上传处理
+        if(isset($data['albums'])){
+            if($data['albums']){
+                foreach ($data['albums'] as &$v){
+                    $v['url'] = isset($v['url']) && $v['url']? str_replace(IMG_URL, "", $v['url']) : '';
+                }
+            }
+
+            $data['albums'] = $data['albums']? json_encode($data['albums'], 256) : '';
+        }
+
+        $data['update_time'] = time();
+        return parent::edit($data); // TODO: Change the autogenerated stub
+    }
+
+}

+ 74 - 0
app/Services/SiyuanService.php

@@ -0,0 +1,74 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 南京Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Services;
+
+use App\Models\SiyuanModel;
+
+/**
+ * 寺院管理-服务类
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class SiyuanService
+ * @package App\Services
+ */
+class SiyuanService extends BaseService
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * SiyuanService constructor.
+     */
+    public function __construct()
+    {
+        $this->model = new SiyuanModel();
+    }
+
+    /**
+     * 获取列表
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function getList()
+    {
+        $params = request()->all();
+        return parent::getList();
+    }
+
+    /**
+     * 添加或编辑
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function edit()
+    {
+        $data = request()->all();
+
+        // 图片处理
+        $image = trim($data['thumb']);
+        $id = isset($data['id']) ? $data['id'] : 0;
+        if (!$id && !$image) {
+            return message('请上传寺院图片', false);
+        }
+        if (strpos($image, "temp")) {
+            $data['thumb'] = save_image($image, 'item');
+        } else {
+            $data['thumb'] = str_replace(IMG_URL, "", $data['thumb']);
+        }
+
+        $data['update_time'] = time();
+        return parent::edit($data); // TODO: Change the autogenerated stub
+    }
+
+}

+ 0 - 2
public/uploads/.gitignore

@@ -1,2 +0,0 @@
-*
-!.gitignore

+ 107 - 0
开发文档功能.md

@@ -0,0 +1,107 @@
+#### 开发功能说明
+1、商城管理
+1.商品分类
+2.商品管理
+
+2、订单管理
+1.线上订单
+订单基础信息、价格、时间、单号、支付方式(余额、微信、支付宝)
+2.线下订单
+订单基础信息、价格、时间、单号、线下类型、后台录入
+
+2、功德业务
+1.祈福物品
+2.放生物品
+3.超度排位
+4.祈福订单
+5.超度订单
+6.放生订单
+
+3、线上供灯
+1.供灯设置
+套餐、按天、月、年供灯收费价格
+2.供灯列表
+编号、状态、可添加
+3.供灯订单
+
+
+
+3、寺院管理
+1.寺院列表
+名称、封面、浏览量(热度)、地点、简介、详情、状态
+2.寺院活动
+活动名称、活动封面、报名人数限制、活动时间、活动地点、活动详情
+3.报名管理
+用户、单号、费用、随喜、功德主、往生者、阳上人地址、类型(供灯、供奉、助印)
+
+3、平台设置
+1.物流设置
+2.交易设置
+支付超时时间、自动收货时间、是否余额支付
+3.上传设置
+4.商品设置
+购买权限、浏览权限
+5.供灯设置
+是否开启供灯功能
+
+4、日志
+1.操作日志
+
+5、信众管理
+1.信众等级
+2.信众列表
+等级(普通用户、居士、法师)、是否会员、功德值,账户
+3.法师入驻
+4.黑名单
+
+6、人事管理
+1.寺院僧人(前端用户申请)
+用户基础信息、在寺状态(在寺、离寺)、请假状态、前端申请成为僧人(头像图片、介绍、名称)
+2.职工管理
+记录职工基础信息、在职离职、请假状态、后台添加和列表管理
+3.义工管理(前端用户申请)
+记录职工基础信息、在职离职、请假状态、义工招募表单申请
+4.挂单僧人
+记录挂单状态的僧人基础信息、在职离职、请假状态、僧人列表设置是否挂单
+5.工作信息
+寺院工作信息发布、设置可以查看的人员、岗位名称、人数、岗位介绍、已经报名人数
+6.工作报名记录
+前端表单报名用户记录
+
+7、打卡管理
+1.打卡记录
+打卡用户信息和用户打卡类型,打卡时间
+
+8、文章公告
+1.头条分类
+2.头条列表
+3.反馈建议
+4.
+
+9、慈善管理
+1.慈善记录
+2.捐赠记录
+前端提交
+
+10、财务管理
+1.交易流水
+2.积分明细
+3.充值记录
+
+11、库房管理
+1.产品分类
+2.产品列表
+商品名称、来源、分类、数量、时间、描述、操作(出库、入库选择数量填写备注、对应增加减少数量)
+3.出入库记录
+
+
+12、修行管理
+1.佛音管理
+2.歌单管理
+名称、作者、封面、添加佛音列表
+
+
+
+前端
+1、功德榜
+2、