Browse Source

add - 收益规则

liugc 1 year ago
parent
commit
cad74cd2fa

+ 4 - 4
app/adminapi/controller/master_commission/MasterWorkerCommissionConfigController.php

@@ -13,13 +13,13 @@
 // +----------------------------------------------------------------------
 
 
-namespace app\adminapi\controller;
+namespace app\adminapi\controller\master_commission;
 
 
 use app\adminapi\controller\BaseAdminController;
-use app\adminapi\lists\MasterWorkerCommissionConfigLists;
-use app\adminapi\logic\MasterWorkerCommissionConfigLogic;
-use app\adminapi\validate\MasterWorkerCommissionConfigValidate;
+use app\adminapi\lists\master_commission\MasterWorkerCommissionConfigLists;
+use app\adminapi\logic\master_commission\MasterWorkerCommissionConfigLogic;
+use app\adminapi\validate\master_commission\MasterWorkerCommissionConfigValidate;
 
 
 /**

+ 77 - 76
app/adminapi/lists/master_commission/MasterWorkerCommissionConfigLists.php

@@ -1,77 +1,78 @@
-<?php
-// +----------------------------------------------------------------------
-// | likeadmin快速开发前后端分离管理后台(PHP版)
-// +----------------------------------------------------------------------
-// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
-// | 开源版本可自由商用,可去除界面版权logo
-// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
-// | github下载:https://github.com/likeshop-github/likeadmin
-// | 访问官网:https://www.likeadmin.cn
-// | likeadmin团队 版权所有 拥有最终解释权
-// +----------------------------------------------------------------------
-// | author: likeadminTeam
-// +----------------------------------------------------------------------
-
-namespace app\adminapi\lists;
-
-
-use app\adminapi\lists\BaseAdminDataLists;
-use app\common\model\MasterWorkerCommissionConfig;
-use app\common\lists\ListsSearchInterface;
-
-
-/**
- * MasterWorkerCommissionConfig列表
- * Class MasterWorkerCommissionConfigLists
- * @package app\adminapi\lists
- */
-class MasterWorkerCommissionConfigLists extends BaseAdminDataLists implements ListsSearchInterface
-{
-
-
-    /**
-     * @notes 设置搜索条件
-     * @return \string[][]
-     * @author likeadmin
-     * @date 2024/12/06 10:42
-     */
-    public function setSearch(): array
-    {
-        return [
-            '=' => ['master_worker_id', 'submit_admin_id', 'examine_admin_id', 'voucher_status', 'notice_rule'],

-        ];
-    }
-
-
-    /**
-     * @notes 获取列表
-     * @return array
-     * @throws \think\db\exception\DataNotFoundException
-     * @throws \think\db\exception\DbException
-     * @throws \think\db\exception\ModelNotFoundException
-     * @author likeadmin
-     * @date 2024/12/06 10:42
-     */
-    public function lists(): array
-    {
-        return MasterWorkerCommissionConfig::where($this->searchWhere)
-            ->field(['id', 'master_worker_id', 'submit_admin_id', 'examine_admin_id', 'voucher_status', 'notice_rule'])
-            ->limit($this->limitOffset, $this->limitLength)
-            ->order(['id' => 'desc'])
-            ->select()
-            ->toArray();
-    }
-
-
-    /**
-     * @notes 获取数量
-     * @return int
-     * @author likeadmin
-     * @date 2024/12/06 10:42
-     */
-    public function count(): int
-    {
-        return MasterWorkerCommissionConfig::where($this->searchWhere)->count();
-    }
-
+<?php
+// +----------------------------------------------------------------------
+// | likeadmin快速开发前后端分离管理后台(PHP版)
+// +----------------------------------------------------------------------
+// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
+// | 开源版本可自由商用,可去除界面版权logo
+// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
+// | github下载:https://github.com/likeshop-github/likeadmin
+// | 访问官网:https://www.likeadmin.cn
+// | likeadmin团队 版权所有 拥有最终解释权
+// +----------------------------------------------------------------------
+// | author: likeadminTeam
+// +----------------------------------------------------------------------
+
+namespace app\adminapi\lists\master_commission;
+
+
+use app\adminapi\lists\BaseAdminDataLists;
+use app\common\model\master_commission\MasterWorkerCommissionConfig;
+use app\common\lists\ListsSearchInterface;
+
+
+/**
+ * MasterWorkerCommissionConfig列表
+ * Class MasterWorkerCommissionConfigLists
+ * @package app\adminapi\lists
+ */
+class MasterWorkerCommissionConfigLists extends BaseAdminDataLists implements ListsSearchInterface
+{
+
+
+    /**
+     * @notes 设置搜索条件
+     * @return \string[][]
+     * @author likeadmin
+     * @date 2024/12/06 10:42
+     */
+    public function setSearch(): array
+    {
+        return [
+            '=' => ['master_worker_id', 'submit_admin_id', 'examine_admin_id', 'voucher_status', 'notice_rule'],
+
+        ];
+    }
+
+
+    /**
+     * @notes 获取列表
+     * @return array
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @author likeadmin
+     * @date 2024/12/06 10:42
+     */
+    public function lists(): array
+    {
+        return MasterWorkerCommissionConfig::where($this->searchWhere)
+            ->field(['id', 'master_worker_id', 'submit_admin_id', 'examine_admin_id', 'voucher_status', 'notice_rule','block_data'])
+            ->limit($this->limitOffset, $this->limitLength)
+            ->order(['id' => 'desc'])
+            ->select()
+            ->toArray();
+    }
+
+
+    /**
+     * @notes 获取数量
+     * @return int
+     * @author likeadmin
+     * @date 2024/12/06 10:42
+     */
+    public function count(): int
+    {
+        return MasterWorkerCommissionConfig::where($this->searchWhere)->count();
+    }
+
 }

+ 29 - 3
app/adminapi/logic/master_commission/MasterWorkerCommissionConfigLogic.php

@@ -12,12 +12,13 @@
 // | author: likeadminTeam
 // +----------------------------------------------------------------------
 
-namespace app\adminapi\logic;
+namespace app\adminapi\logic\master_commission;
 
 
-use app\common\model\MasterWorkerCommissionConfig;
+use app\common\model\master_commission\MasterWorkerCommissionConfig;
 use app\common\logic\BaseLogic;
 use think\facade\Db;
+use think\facade\Log;
 
 
 /**
@@ -38,6 +39,18 @@ class MasterWorkerCommissionConfigLogic extends BaseLogic
      */
     public static function add(array $params): bool
     {
+        if(isset($params['block_data'])){
+            foreach ($params['block_data'] as &$data) {
+                if($data['category_ids']){
+                    $ids = [];
+                    foreach ($data['category_ids'] as $val){
+                        is_array($val)?($ids[] = end($val)):($ids[] = $val);
+                    }
+                    //$params['category_ids'] = ["goods_category_ids"=>$params['category_ids'],"ids"=>$ids];
+                    $data['category_ids'] = implode(',',$ids);
+                }
+            }
+        }
         Db::startTrans();
         try {
             MasterWorkerCommissionConfig::create([
@@ -46,6 +59,7 @@ class MasterWorkerCommissionConfigLogic extends BaseLogic
                 'examine_admin_id' => $params['examine_admin_id'],
                 'voucher_status' => $params['voucher_status'],
                 'notice_rule' => $params['notice_rule'],
+                'block_data' => $params['block_data'],
             ]);
 
             Db::commit();
@@ -67,6 +81,17 @@ class MasterWorkerCommissionConfigLogic extends BaseLogic
      */
     public static function edit(array $params): bool
     {
+        if(isset($params['block_data'])){
+            foreach ($params['block_data'] as &$data) {
+                if($data['category_ids']){
+                    $ids = [];
+                    foreach ($data['category_ids'] as $val){
+                        is_array($val)?($ids[] = end($val)):($ids[] = $val);
+                    }
+                    $data['category_ids'] = implode(',',$ids);
+                }
+            }
+        }
         Db::startTrans();
         try {
             MasterWorkerCommissionConfig::where('id', $params['id'])->update([
@@ -74,7 +99,8 @@ class MasterWorkerCommissionConfigLogic extends BaseLogic
                 'submit_admin_id' => $params['submit_admin_id'],
                 'examine_admin_id' => $params['examine_admin_id'],
                 'voucher_status' => $params['voucher_status'],
-                'notice_rule' => $params['notice_rule'],
+                'notice_rule' => $params['notice_rule']?json_encode($params['notice_rule']):0,
+                'block_data' => $params['block_data']?json_encode($params['block_data']):0,
             ]);
 
             Db::commit();

+ 103 - 101
app/adminapi/validate/master_commission/MasterWorkerCommissionConfigValidate.php

@@ -1,102 +1,104 @@
-<?php
-// +----------------------------------------------------------------------
-// | likeadmin快速开发前后端分离管理后台(PHP版)
-// +----------------------------------------------------------------------
-// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
-// | 开源版本可自由商用,可去除界面版权logo
-// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
-// | github下载:https://github.com/likeshop-github/likeadmin
-// | 访问官网:https://www.likeadmin.cn
-// | likeadmin团队 版权所有 拥有最终解释权
-// +----------------------------------------------------------------------
-// | author: likeadminTeam
-// +----------------------------------------------------------------------
-
-namespace app\adminapi\validate;
-
-
-use app\common\validate\BaseValidate;
-
-
-/**
- * MasterWorkerCommissionConfig验证器
- * Class MasterWorkerCommissionConfigValidate
- * @package app\adminapi\validate
- */
-class MasterWorkerCommissionConfigValidate extends BaseValidate
-{
-
-     /**
-      * 设置校验规则
-      * @var string[]
-      */
-    protected $rule = [
-        'id' => 'require',
-        'master_worker_id' => 'require',
-        'submit_admin_id' => 'require',
-        'examine_admin_id' => 'require',
-        'voucher_status' => 'require',

-    ];
-
-
-    /**
-     * 参数描述
-     * @var string[]
-     */
-    protected $field = [
-        'id' => 'id',
-        'master_worker_id' => '工程师ID',
-        'submit_admin_id' => '提交人ID',
-        'examine_admin_id' => '审核人ID',
-        'voucher_status' => '状态:1=关闭,2=启用',

-    ];
-
-
-    /**
-     * @notes 添加场景
-     * @return MasterWorkerCommissionConfigValidate
-     * @author likeadmin
-     * @date 2024/12/06 10:42
-     */
-    public function sceneAdd()
-    {
-        return $this->only(['master_worker_id','submit_admin_id','examine_admin_id','voucher_status']);
-    }
-
-
-    /**
-     * @notes 编辑场景
-     * @return MasterWorkerCommissionConfigValidate
-     * @author likeadmin
-     * @date 2024/12/06 10:42
-     */
-    public function sceneEdit()
-    {
-        return $this->only(['id','master_worker_id','submit_admin_id','examine_admin_id','voucher_status']);
-    }
-
-
-    /**
-     * @notes 删除场景
-     * @return MasterWorkerCommissionConfigValidate
-     * @author likeadmin
-     * @date 2024/12/06 10:42
-     */
-    public function sceneDelete()
-    {
-        return $this->only(['id']);
-    }
-
-
-    /**
-     * @notes 详情场景
-     * @return MasterWorkerCommissionConfigValidate
-     * @author likeadmin
-     * @date 2024/12/06 10:42
-     */
-    public function sceneDetail()
-    {
-        return $this->only(['id']);
-    }
-
+<?php
+// +----------------------------------------------------------------------
+// | likeadmin快速开发前后端分离管理后台(PHP版)
+// +----------------------------------------------------------------------
+// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
+// | 开源版本可自由商用,可去除界面版权logo
+// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
+// | github下载:https://github.com/likeshop-github/likeadmin
+// | 访问官网:https://www.likeadmin.cn
+// | likeadmin团队 版权所有 拥有最终解释权
+// +----------------------------------------------------------------------
+// | author: likeadminTeam
+// +----------------------------------------------------------------------
+
+namespace app\adminapi\validate\master_commission;
+
+
+use app\common\validate\BaseValidate;
+
+
+/**
+ * MasterWorkerCommissionConfig验证器
+ * Class MasterWorkerCommissionConfigValidate
+ * @package app\adminapi\validate
+ */
+class MasterWorkerCommissionConfigValidate extends BaseValidate
+{
+
+     /**
+      * 设置校验规则
+      * @var string[]
+      */
+    protected $rule = [
+        'id' => 'require',
+        'master_worker_id' => 'require',
+        'submit_admin_id' => 'require',
+        'examine_admin_id' => 'require',
+        'voucher_status' => 'require',
+
+    ];
+
+
+    /**
+     * 参数描述
+     * @var string[]
+     */
+    protected $field = [
+        'id' => 'id',
+        'master_worker_id' => '工程师ID',
+        'submit_admin_id' => '提交人ID',
+        'examine_admin_id' => '审核人ID',
+        'voucher_status' => '状态:1=关闭,2=启用',
+
+    ];
+
+
+    /**
+     * @notes 添加场景
+     * @return MasterWorkerCommissionConfigValidate
+     * @author likeadmin
+     * @date 2024/12/06 10:42
+     */
+    public function sceneAdd()
+    {
+        return $this->only(['master_worker_id']);
+    }
+
+
+    /**
+     * @notes 编辑场景
+     * @return MasterWorkerCommissionConfigValidate
+     * @author likeadmin
+     * @date 2024/12/06 10:42
+     */
+    public function sceneEdit()
+    {
+        return $this->only(['id','master_worker_id']);
+    }
+
+
+    /**
+     * @notes 删除场景
+     * @return MasterWorkerCommissionConfigValidate
+     * @author likeadmin
+     * @date 2024/12/06 10:42
+     */
+    public function sceneDelete()
+    {
+        return $this->only(['id']);
+    }
+
+
+    /**
+     * @notes 详情场景
+     * @return MasterWorkerCommissionConfigValidate
+     * @author likeadmin
+     * @date 2024/12/06 10:42
+     */
+    public function sceneDetail()
+    {
+        return $this->only(['id']);
+    }
+
 }

+ 5 - 2
app/common/model/master_commission/MasterWorkerCommissionConfig.php

@@ -12,7 +12,7 @@
 // | author: likeadminTeam
 // +----------------------------------------------------------------------
 
-namespace app\common\model;
+namespace app\common\model\master_commission;
 
 
 use app\common\model\BaseModel;
@@ -29,6 +29,9 @@ class MasterWorkerCommissionConfig extends BaseModel
     
     protected $name = 'master_worker_commission_config';
     
-
+    protected $type = [
+        'notice_rule' => 'array',
+        'block_data' => 'array',
+    ];
     
 }