Jelajahi Sumber

平台花材管理

林琦海 5 tahun lalu
induk
melakukan
ade4089ec1
2 mengubah file dengan 209 tambahan dan 0 penghapusan
  1. 66 0
      app-pt/controllers/ItemController.php
  2. 143 0
      biz/item/classes/PtItemClass.php

+ 66 - 0
app-pt/controllers/ItemController.php

@@ -0,0 +1,66 @@
+<?php
+/**
+ * User: admin
+ * Date Time: 2021/4/10 14:38
+ */
+
+namespace pt\controllers;
+
+use  Yii;
+use common\components\util;
+use biz\item\classes\PtItemClass;
+class ItemController extends BaseController
+{
+
+    public function actionList()
+    {
+        $classId = Yii::$app->request->get('classId', 0);
+        $where['classId'] = $classId;
+        $list = PtItemClass::getItemList($where);
+        util::success($list);
+    }
+
+    public function actionAdd()
+    {
+        $post = Yii::$app->request->post();
+        PtItemClass::addItem($post);
+        util::complete('添加成功');
+    }
+
+    public function actionBatchAdd()
+    {
+        $post = Yii::$app->request->post();
+        $data = $post['data']; //[{classId:2,cost:1,addPrice:1,stockWarning:1,name:'花材名称',py:'py','cover':'',weight:'0.01','alias':'',ratio:1}]
+
+        if(empty($data)){
+            util::fail("参数错误");
+        }
+        $data = json_decode($data,true);
+
+        if(!is_array($data) || empty($data)){
+            util::fail("参数格式错误");
+        }
+
+        foreach ($data as $v){
+            PtItemClass::addItem($v);
+        }
+
+        util::complete('添加成功');
+
+    }
+
+    public function actionUpdate()
+    {
+        $data = Yii::$app->request->post();
+        $sync = $data['sync']??false; //是否同步修改 各个商家的item
+        PtItemClass::updateItem($data,$sync);
+        util::complete('修改成功');
+    }
+
+    public function actionDelete()
+    {
+
+        util::fail('不能删除哦!');
+    }
+
+}

+ 143 - 0
biz/item/classes/PtItemClass.php

@@ -5,6 +5,7 @@ namespace biz\item\classes;
 use biz\base\classes\BaseClass;
 use common\components\imgUtil;
 use bizGhs\item\classes\ItemClass;
+use common\components\util;
 class PtItemClass extends BaseClass
 {
 
@@ -51,4 +52,146 @@ class PtItemClass extends BaseClass
         return $map[$unit] ?? '支';
     }
 
+    //新增花材
+    public static function addItem($data)
+    {
+
+        $classId = $data['classId']??0;
+        $cost = $data['cost']??false;
+        $addPrice = $data['addPrice']??false;
+        $stockWarning = $data['stockWarning']??false;
+        $py = $data['py']??false;
+        $name = $data['name']??false;
+        $data['alias'] = $data['alias']??'';
+        $data['cover'] = $data['cover']??'';
+        $ratio = $data['ratio']??false;
+        $weight = $data['weight']??false;
+        $data['bigUnit'] = $data['bigUnit']??1;
+        $data['smallUnit'] = $data['smallUnit']??2;
+
+        if(!$classId){
+            util::fail("请选择分类");
+        }
+        if($cost===false){
+            util::fail("请输入花材的成本价");
+        }
+        if($addPrice===false){
+            util::fail("请输入花材的加价");
+        }
+        if($stockWarning===false){
+            util::fail("请输入库存预警值");
+        }
+        if($name===false){
+            util::fail("请输入花材名称");
+        }
+        if($py===false){
+            util::fail("请输入花材拼音");
+        }
+        if($ratio===false){
+            util::fail("请输入花材比例");
+        }
+        if($weight===false){
+            util::fail("请输入花材重量");
+        }
+
+        $existItemClass = PtItemClassClass::exists(['id'=>$classId]);
+        if(!$existItemClass){
+            util::fail("花材分类不存在");
+        }
+
+        self::add($data);
+
+    }
+
+    //修改花材信息
+    public static function updateItem($data,$sync=false)
+    {
+        $id = $data['id']??0;
+
+        $model = self::getById($id);
+        if(!$model){
+            util::fail("该花材不存在");
+        }
+        $upData = [];
+        if(isset($data['name'])){
+            if(empty($data['name'])){
+                util::fail("请输入花材名称");
+            }
+            $upData['name'] = $data['name'];
+        }
+        if(isset($data['py'])){
+            if(empty($data['py'])){
+                util::fail("请输入花材拼音");
+            }
+            $upData['py'] = $data['py'];
+        }
+
+        if(isset($data['cover'])){
+            if(empty($data['cover'])){
+                util::fail("请输入花材图片");
+            }
+            $upData['cover'] = $data['cover'];
+        }
+        if(isset($data['alias'])){
+            if(empty($data['alias'])){
+                util::fail("请输入花材别名");
+            }
+            $upData['alias'] = $data['alias'];
+        }
+        if(isset($data['cost'])){
+            if(empty($data['cost'])){
+                util::fail("请输入花材成本价");
+            }
+            $upData['cost'] = $data['cost'];
+        }
+        if(isset($data['ratio'])){
+            if(empty($data['ratio'])){
+                util::fail("请输入花材比例");
+            }
+            $upData['ratio'] = $data['ratio'];
+        }
+        if(isset($data['weight'])){
+            if(empty($data['weight'])){
+                util::fail("请输入花材重量");
+            }
+            $upData['weight'] = $data['weight'];
+        }
+        if(isset($data['addPrice'])){
+            if(empty($data['addPrice'])){
+                util::fail("请输入花材价加");
+            }
+            $upData['addPrice'] = $data['addPrice'];
+        }
+
+
+        if(isset($data['stockWarning'])){
+            if(empty($data['stockWarning'])){
+                util::fail("请输入花材库存预警");
+            }
+            $upData['stockWarning'] = $data['stockWarning'];
+        }
+        if(isset($data['bigUnit'])){
+            if(empty($data['bigUnit'])){
+                util::fail("请输入花材大单位");
+            }
+            $upData['bigUnit'] = $data['bigUnit'];
+        }
+        if(isset($data['smallUnit'])){
+            if(empty($data['smallUnit'])){
+                util::fail("请输入花材小单位");
+            }
+            $upData['smallUnit'] = $data['smallUnit'];
+        }
+
+
+        unset($data['id']);
+        if(empty($upData)){
+            util::fail("参数错误");
+        }
+        self::updateById($id,$upData);
+        if($sync){
+            //同步各个商户的Item todo
+        }
+    }
+
 }