Commit 2de11d90 authored by DESKTOP-PVAUUNL\Administrator's avatar DESKTOP-PVAUUNL\Administrator

Merge branch 'master' of git.huaperfect.com:hwq/micro

parents 0fb08b12 ae8b3c68
<?php
/**
* Created by PhpStorm.
* User: 梁俊杰
* Date: 2020/5/15
* Time: 15:07
*/
namespace Meibuyu\Micro\Service\Interfaces;
interface MaterialServiceInterface
{
/**
* 获取单个数据
* @param int $id 原料id
* @param array $columns 原料表的字段,默认显示全部
* @return array|null
*/
public function get($id, array $columns = ['*']);
/**
* 通过id列表获取原料数组
* @param array $idList 原料id的列表, 默认去重
* @param array $columns 原料表的字段,默认显示全部
* @return array 默认keyBy('id')
*/
public function getByIdList(array $idList, array $columns = ['*']): array;
/**
* 通过内部code列表获取原料列表
* @param array $codeList 默认去重
* @param array $columns
* @return array 默认keyBy('internal_code')
*/
public function getByCodeList(array $codeList, array $columns = ['id']);
/**
* 通过原料品名id列表获取原料品名数组
* @param array $idList 原料品名id的列表, 默认去重
* @param array $columns 原料品名表的字段,默认显示全部
* @return array 默认keyBy('id')
*/
public function getMaterialNamesByIdList(array $idList, array $columns = ['*']): array;
}
...@@ -35,4 +35,12 @@ interface MaterialServiceInterface ...@@ -35,4 +35,12 @@ interface MaterialServiceInterface
*/ */
public function getByCodeList(array $codeList, array $columns = ['id']); public function getByCodeList(array $codeList, array $columns = ['id']);
/**
* 通过原料品名id列表获取原料品名数组
* @param array $idList 原料品名id的列表, 默认去重
* @param array $columns 原料品名表的字段,默认显示全部
* @return array 默认keyBy('id')
*/
public function getMaterialNamesByIdList(array $idList, array $columns = ['*']): array;
} }
...@@ -477,7 +477,7 @@ if (!function_exists('empty_string_2_null')) { ...@@ -477,7 +477,7 @@ if (!function_exists('empty_string_2_null')) {
if (!function_exists('get_collection_values')) { if (!function_exists('get_collection_values')) {
/** /**
* 从集合中提取深层数据 * 从集合中提取深层数据
* @param $collection 数据集合 * @param mixed $collection 数据集合
* @param string $key 集合中键 支持多层提取,例如"a.b.c" * @param string $key 集合中键 支持多层提取,例如"a.b.c"
* @return array | collection * @return array | collection
*/ */
...@@ -495,6 +495,13 @@ if (!function_exists('get_collection_values')) { ...@@ -495,6 +495,13 @@ if (!function_exists('get_collection_values')) {
$values[] = $value; $values[] = $value;
} }
} else { } else {
if (is_array($value) || is_countable($collection[$t])) {
foreach ($value as $vv) {
if (isset($vv[$ik])) {
$values[] = $vv[$ik];
}
}
}
break; break;
} }
} }
...@@ -524,9 +531,13 @@ if (!function_exists('put_collection_values')) { ...@@ -524,9 +531,13 @@ if (!function_exists('put_collection_values')) {
} }
$valueList = $valueList->keyBy($valueKey); $valueList = $valueList->keyBy($valueKey);
} }
if (isset($collection[0])) {
foreach ($collection as $index => $value) { foreach ($collection as $index => $value) {
$collection[$index] = private_put_collection_values($value, $itemKeys, $valueList, $collectionNewKey); $collection[$index] = private_put_collection_values($value, $itemKeys, $valueList, $collectionNewKey);
} }
} else {
private_put_collection_values($collection, $itemKeys, $valueList, $collectionNewKey);
}
} }
return $collection; return $collection;
} }
...@@ -548,7 +559,13 @@ if (!function_exists('private_put_collection_values')) { ...@@ -548,7 +559,13 @@ if (!function_exists('private_put_collection_values')) {
$t = $itemKeys[0]; $t = $itemKeys[0];
unset($itemKeys[0]); unset($itemKeys[0]);
$itemKeys = array_values($itemKeys); $itemKeys = array_values($itemKeys);
if (is_array($collection[$t]) || is_countable($collection[$t])) {
foreach ($collection[$t] as $k => $v) {
$collection[$t][$k] = private_put_collection_values($v, $itemKeys, $valueList, $collectionNewKey);
}
} else {
$collection[$t] = private_put_collection_values($collection[$t], $itemKeys, $valueList, $collectionNewKey); $collection[$t] = private_put_collection_values($collection[$t], $itemKeys, $valueList, $collectionNewKey);
}
} else { } else {
if (isset($valueList[$collection[$itemKeys[0]]])) { if (isset($valueList[$collection[$itemKeys[0]]])) {
$collection[$collectionNewKey] = $valueList[$collection[$itemKeys[0]]]; $collection[$collectionNewKey] = $valueList[$collection[$itemKeys[0]]];
...@@ -568,7 +585,7 @@ if (!function_exists('human_time')) { ...@@ -568,7 +585,7 @@ if (!function_exists('human_time')) {
*/ */
function human_time($time) function human_time($time)
{ {
if (is_numeric($time)) { if (!is_numeric($time)) {
$time = strtotime($time); $time = strtotime($time);
} }
$time = abs($time); $time = abs($time);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment