* Refactor getForProducts method and case.

This commit is contained in:
tianshujie
2023-09-26 16:51:44 +08:00
parent 3dfd50b652
commit 61b9b813cc
4 changed files with 22 additions and 35 deletions
+1 -1
View File
@@ -3875,7 +3875,7 @@ class executionModel extends model
$this->config->bug->search['actionURL'] = $actionURL;
$this->config->bug->search['queryID'] = $queryID;
$this->config->bug->search['params']['plan']['values'] = $this->loadModel('productplan')->getForProducts($products);
$this->config->bug->search['params']['plan']['values'] = $this->loadModel('productplan')->getForProducts(array_keys($products));
$this->config->bug->search['params']['module']['values'] = $modules;
$this->config->bug->search['params']['openedBuild']['values'] = $builds;
$this->config->bug->search['params']['resolvedBuild']['values'] = $this->config->bug->search['params']['openedBuild']['values'];
+6 -5
View File
@@ -228,16 +228,17 @@ class productplanModel extends model
}
/**
* Get plans for products
* 通过产品ID列表获取计划信息。
* Get plan info by product id list.
*
* @param array $products
* @param array $productIdList
* @access public
* @return void
* @return array
*/
public function getForProducts($products)
public function getForProducts(array $productIdList): array
{
$plans = $this->dao->select('id,title,parent,begin,end')->from(TABLE_PRODUCTPLAN)
->where('product')->in(array_keys($products))
->where('product')->in($productIdList)
->andWhere('deleted')->eq(0)
->orderBy('begin desc')
->fetchAll('id');
@@ -1,27 +1,27 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/productplan.class.php';
/**
title=productpanModel->getForProducts();
timeout=0
cid=1
pid=1
测试传入一个数组,取出产品名称count >> 1.0
测试传入一个不存在的product数组,应为空 >> 6
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/productplan.class.php';
$plan = new productPlan('admin');
zdTable('productplan')->config('productplan')->gen(5);
zdTable('user')->gen(5);
su('admin');
$products = array();
$products[0] = array(1, 2);
$products[1] = array(1000,1001);
$productIdList = array();
$productIdList[0] = array(1, 2);
$productIdList[1] = array(1000,1001);
$noProduct = count($plan->getForProducts(array(1000,1001))) -1;
global $tester,$app;
$app->moduleName = 'productplan';
$app->rawModule = 'productplan';
$tester->loadModel('productplan');
r($plan->getForProducts($products[0])) && p('1') && e('1.0'); //测试传入一个数组,取出产品名称count
r($noProduct) && p() && e('6'); //测试传入一个不存在的product数组,应为空
?>
r($tester->productplan->getForProducts($productIdList[0])) && p('1') && e('计划1'); // 测试传入一个数组,取出产品名称count
r(count($tester->productplan->getForProducts($productIdList[1]))) && p() && e('0'); // 测试传入一个不存在的product数组,应为空
@@ -63,20 +63,6 @@ class productPlan
return $productplans;
}
/**
* Get for products
*
* @param array $products
* @access public
* @return count
*/
public function getForProducts($products)
{
$productplans = $this->productplan->getForProducts($products);
if(dao::isError()) return dao::getError();
return $productplans;
}
/**
* Get group by product
*