$mainId], null, "*"); foreach ($sjItemIds as $item) { $sjItems[$item['itemId']] = ['ghsItemId' => $item['id'], 'delStatus' => $item['delStatus']]; } //$sjItemIds = array_column($sjItemIds, 'itemId'); //$sjItemIds = array_unique($sjItemIds); } $classIds = array_column($list, "classId"); $classNameMap = PtItemClassClass::getNameMap($classIds); if ($list) { foreach ($list as $k => $v) { $shortCover = $v['cover'] ?? ''; $cover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_130,w_130"; $bigCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_700,w_700"; $list[$k]['cover'] = $cover; $list[$k]['bigCover'] = $bigCover; $list[$k]['className'] = $classNameMap[$v['classId']] ?? ''; if ($showSelect) { //1未选 2已选 //$select = in_array($v['id'], $sjItemIds) ? 2 : 1; $list[$k]['select'] = key_exists($v['id'], $sjItems) ? 2 : 1; //0显示(未删除) 1不显示(删除) $list[$k]['is_delete'] = isset($sjItems[$v['id']]['delStatus']) ? ($sjItems[$v['id']]['delStatus'] == 1 ? 1 : 0) : 0; $list[$k]['ghs_item_id'] = $sjItems[$v['id']]['ghsItemId'] ?? 0; } } } $data['list'] = $list; return $data; } //先写死,之后查表 public static function getUnitName($unit) { $map = [ 1 => '扎', 2 => '支', ]; return $map[$unit] ?? '支'; } //新增花材 public static function addItem($data) { $classId = $data['classId'] ?? 0; $stockWarning = $data['stockWarning'] ?? false; $py = isset($data['py']) && !empty($data['py']) ? $data['py'] : stringUtil::py($data['name']); $data['py'] = $py; $name = $data['name'] ?? false; $data['alias'] = $data['alias'] ?? ''; $data['cover'] = $data['cover'] ?? ''; $ratio = $data['ratio'] ?? 0; $weight = $data['weight'] ?? false; $data['bigUnit'] = $data['bigUnit'] ?? '扎'; $data['smallUnit'] = $data['smallUnit'] ?? '支'; if (preg_match("/^[1-9][0-9]*$/", $data['ratio']) == false || $data['ratio'] <= 0) { util::fail('比例请填写整数,并且大于0'); } $data['skAddPrice'] = 5; $data['addPrice'] = 4; $data['hjAddPrice'] = 3; $data['zsAddPrice'] = 2; if (!$classId) { util::fail("请选择分类"); } if ($stockWarning === false) { util::fail("请输入库存预警值"); } if ($name === false) { util::fail("请输入花材名称"); } if ($ratio === false) { util::fail("请输入花材比例"); } if ($weight === false) { util::fail("请输入花材重量"); } $existItemClass = PtItemClassClass::exists(['id' => $classId]); if (!$existItemClass) { util::fail("花材分类不存在"); } return self::add($data); } //修改花材信息 public static function updateItem($data, $sync = false) { $id = $data['id'] ?? 0; $syncCover = false; $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']; $syncCover = true; } 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("请输入花材比例"); } if (preg_match("/^[1-9][0-9]*$/", $data['ratio']) == false || $data['ratio'] <= 0) { util::fail('比例请填写整数,并且大于0'); } $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']; } if (isset($data['classId'])) { if (empty($data['classId'])) { util::fail("请选择花材分类"); } $upData['classId'] = $data['classId']; } unset($data['id']); if (empty($upData)) { util::fail("参数错误"); } self::updateById($id, $upData); if ($sync) { //同步各个商户的Item todo if ($syncCover) { $newCover = $upData['cover']; $syncData['cover'] = $newCover; ProductClass::updateByCondition(['itemId' => $id], $syncData); } } } //获取详情 ssh 2021.4.11 public static function getItemInfo($id) { $info = self::getById($id); if (empty($info)) { return $info; } $list = self::groupInfo([$info]); return current($list); } public static function groupInfo($list) { if (empty($list)) { return $list; } foreach ($list as $key => $val) { $list[$key]['coverUrl'] = imgUtil::groupImg($val['cover']); } return $list; } }