* Refactor productModel getStories method.

This commit is contained in:
wangyidong
2023-05-19 17:37:28 +08:00
parent 2db2b770e9
commit 83d2b8ff0e
3 changed files with 11 additions and 34 deletions
+4 -4
View File
@@ -725,17 +725,17 @@ class productModel extends model
* Get stories.
*
* @param int $productID
* @param int $branch
* @param string $browseType
* @param string $branch
* @param string $browseType bymodule|unclosed|allstory|assignedtome|openedbyme|reviewbyme|draftstory|reviewedbyme|assignedbyme|closedbyme|activestory|changingstory|reviewingstory|willclose|closedstory
* @param int $queryID
* @param int $moduleID
* @param string $type requirement|story
* @param string $type requirement|story
* @param string $sort
* @param object $pager
* @access public
* @return array
*/
public function getStories($productID, $branch, $browseType, $queryID, $moduleID, $type = 'story', $sort = 'id_desc', $pager = null)
public function getStories(int $productID, string $branch, string $browseType, int $queryID, int $moduleID, string $type = 'story', string $sort = 'id_desc', object|null$pager = null): array
{
if(defined('TUTORIAL')) return $this->loadModel('tutorial')->getStories();
+6 -29
View File
@@ -1,42 +1,19 @@
#!/usr/bin/env php
<?php
include dirname(__FILE__, 5) . "/test/lib/init.php";
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/product.class.php';
zdTable('story')->gen(100);
/**
title=productModel->getStories();
cid=1
pid=1
测试获取产品1 browseType为unclosed的需求数量 >> 2
测试获取产品2 browseType为unclosed的需求数量 >> 2
测试获取产品3 browseType为unclosed的需求数量 >> 2
测试获取产品4 browseType为unclosed的需求数量 >> 2
测试获取产品5 browseType为unclosed的需求数量 >> 2
测试获取不存在的 browseType为unclosed的需求数量 >> 0
测试获取产品1 browseType为unplan的需求数量 >> 0
测试获取产品1 browseType为allstory的需求数量 >> 2
测试获取产品1 browseType为assignedtome的需求数量 >> 0
测试获取产品2 browseType为openedbyme的需求数量 >> 0
测试获取产品2 browseType为reviewedbyme的需求数量 >> 1
测试获取产品2 browseType为reviewbyme的需求数量 >> 0
测试获取产品2 browseType为closedbyme的需求数量 >> 0
测试获取产品3 browseType为draftstory的需求数量 >> 0
测试获取产品3 browseType为activestory的需求数量 >> 2
测试获取产品3 browseType为changedstory的需求数量 >> 0
测试获取产品3 browseType为willclose的需求数量 >> 1
测试获取产品4 browseType为closedstory的需求数量 >> 0
测试获取产品4 browseType为unclosed的需求数量 >> 2
测试获取产品4 browseType为unplan的需求数量 >> 0
测试获取产品5 browseType为allstory的需求数量 >> 2
测试获取产品5 browseType为assignedtome的需求数量 >> 0
测试获取产品5 browseType为openedbyme的需求数量 >> 0
测试获取不存在产品 browseType为reviewedbyme的需求数量 >> 0
*/
$productIDList = array('1', '2', '3', '4', '5', '1000001');
$productIDList = array(1, 2, 3, 4, 5, 1000001);
$branch = 0;
$browseType = array('unclosed', 'unplan', 'allstory', 'assignedtome', 'openedbyme', 'reviewedbyme', 'reviewbyme', 'closedbyme', 'draftstory', 'activestory', 'changedstory', 'willclose', 'closedstory');
$queryID = 0;
@@ -58,7 +35,7 @@ r($product->getStoriesTest($productIDList[1], $branch, $browseType[5], $queryID,
r($product->getStoriesTest($productIDList[1], $branch, $browseType[6], $queryID, $moduleID)) && p() && e('0'); // 测试获取产品2 browseType为reviewbyme的需求数量
r($product->getStoriesTest($productIDList[1], $branch, $browseType[7], $queryID, $moduleID)) && p() && e('0'); // 测试获取产品2 browseType为closedbyme的需求数量
r($product->getStoriesTest($productIDList[2], $branch, $browseType[8], $queryID, $moduleID)) && p() && e('0'); // 测试获取产品3 browseType为draftstory的需求数量
r($product->getStoriesTest($productIDList[2], $branch, $browseType[9], $queryID, $moduleID)) && p() && e('2'); // 测试获取产品3 browseType为activestory的需求数量
r($product->getStoriesTest($productIDList[2], $branch, $browseType[9], $queryID, $moduleID)) && p() && e('1'); // 测试获取产品3 browseType为activestory的需求数量
r($product->getStoriesTest($productIDList[2], $branch, $browseType[10], $queryID, $moduleID)) && p() && e('0'); // 测试获取产品3 browseType为changedstory的需求数量
r($product->getStoriesTest($productIDList[2], $branch, $browseType[11], $queryID, $moduleID)) && p() && e('1'); // 测试获取产品3 browseType为willclose的需求数量
r($product->getStoriesTest($productIDList[3], $branch, $browseType[12], $queryID, $moduleID)) && p() && e('0'); // 测试获取产品4 browseType为closedstory的需求数量
@@ -67,4 +44,4 @@ r($product->getStoriesTest($productIDList[3], $branch, $browseType[1], $queryID,
r($product->getStoriesTest($productIDList[4], $branch, $browseType[2], $queryID, $moduleID)) && p() && e('2'); // 测试获取产品5 browseType为allstory的需求数量
r($product->getStoriesTest($productIDList[4], $branch, $browseType[3], $queryID, $moduleID)) && p() && e('0'); // 测试获取产品5 browseType为assignedtome的需求数量
r($product->getStoriesTest($productIDList[4], $branch, $browseType[4], $queryID, $moduleID)) && p() && e('0'); // 测试获取产品5 browseType为openedbyme的需求数量
r($product->getStoriesTest($productIDList[5], $branch, $browseType[5], $queryID, $moduleID)) && p() && e('0'); // 测试获取不存在产品 browseType为reviewedbyme的需求数量
r($product->getStoriesTest($productIDList[5], $branch, $browseType[5], $queryID, $moduleID)) && p() && e('0'); // 测试获取不存在产品 browseType为reviewedbyme的需求数量
+1 -1
View File
@@ -1129,7 +1129,7 @@ class productZen extends product
else
{
$queryID = ($browseType == 'bysearch') ? $param : 0;
$stories = $this->product->getStories($productID, $branchID, $browseType, $queryID, $moduleID, $storyType, $sort, $pager);
$stories = $this->product->getStories($productID, $branchID, $browseType, (int)$queryID, $moduleID, $storyType, $sort, $pager);
}
if(!empty($stories)) $stories = $this->story->mergeReviewer($stories);