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
*/
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')) {
if (!function_exists('get_collection_values')) {
/**
* 从集合中提取深层数据
* @param $collection 数据集合
* @param mixed $collection 数据集合
* @param string $key 集合中键 支持多层提取,例如"a.b.c"
* @return array | collection
*/
......@@ -495,6 +495,13 @@ if (!function_exists('get_collection_values')) {
$values[] = $value;
}
} else {
if (is_array($value) || is_countable($collection[$t])) {
foreach ($value as $vv) {
if (isset($vv[$ik])) {
$values[] = $vv[$ik];
}
}
}
break;
}
}
......@@ -524,8 +531,12 @@ if (!function_exists('put_collection_values')) {
}
$valueList = $valueList->keyBy($valueKey);
}
foreach ($collection as $index => $value) {
$collection[$index] = private_put_collection_values($value, $itemKeys, $valueList, $collectionNewKey);
if (isset($collection[0])) {
foreach ($collection as $index => $value) {
$collection[$index] = private_put_collection_values($value, $itemKeys, $valueList, $collectionNewKey);
}
} else {
private_put_collection_values($collection, $itemKeys, $valueList, $collectionNewKey);
}
}
return $collection;
......@@ -548,7 +559,13 @@ if (!function_exists('private_put_collection_values')) {
$t = $itemKeys[0];
unset($itemKeys[0]);
$itemKeys = array_values($itemKeys);
$collection[$t] = private_put_collection_values($collection[$t], $itemKeys, $valueList, $collectionNewKey);
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);
}
} else {
if (isset($valueList[$collection[$itemKeys[0]]])) {
$collection[$collectionNewKey] = $valueList[$collection[$itemKeys[0]]];
......@@ -568,7 +585,7 @@ if (!function_exists('human_time')) {
*/
function human_time($time)
{
if (is_numeric($time)) {
if (!is_numeric($time)) {
$time = strtotime($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