增加价格测试方法

master
Jimmy Liow 2 years ago
parent 52fbb9ab14
commit 4200778a5f

@ -1330,6 +1330,17 @@ class Information extends CI_Controller
var_dump($price_item_array);
$price_tag_list = $this->parse_price_tag($price_rule);
var_dump($price_tag_list);
$price_tag_list = [];
if (!empty($price_item_array)) {
foreach ($price_item_array as $price_item) {
$price_date = !empty($price_item->price_date) ? $price_item->price_date : date('Y-m-d', time() + 86400 * 7); //当前时间7天后的价格
$price_number = '';
//优先读取新的价格体系
$price = $this->PrimeLinePrice_model->test_search($price_item->cli_no, 1, $price_item->cli_grade, $price_item->person_size, $price_date);
var_dump($price);
}
}
}
/*!

@ -107,4 +107,87 @@ class PrimeLinePrice_model extends CI_Model {
}
}
public function test_search($cli_no, $topnum = false, $cli_grade = false, $person_size = false, $price_date = false, $DEI_SN = 28) {
$this->init();
$this->cli_no = $cli_no;
$this->topnum = empty($topnum) ? false : $topnum;
$this->cli_grade = empty($cli_grade) ? false : $this->cli_grade = ' AND cli.CLI_Grade = ' . $this->HT->escape($cli_grade);
$this->person_size = empty($person_size) ? false : $this->person_size = " AND $person_size BETWEEN plp.PLP_PersonGradeDown AND plp.PLP_PersonGradeUp ";
if (!empty($price_date)) {
$this->price_date = " AND '$price_date 00:00:00' BETWEEN plp.PLP_StartDate AND plp.PLP_EndDate ";
$week_day = (int) date('w', strtotime($price_date)); //获取当前时间的星期号,用于判断周末价
$this->price_date .="
AND (
(plp.PLP_IsWeekPrice=1 AND plp.PLP_WeekDefine LIKE '%$week_day%')
OR (plp.PLP_IsWeekPrice=0)
)
";
}
$this->DEI_SN = $DEI_SN;
return $this->test_get_list();
}
public function test_get_list() {
$this->topnum ? $sql = "SELECT TOP " . $this->topnum : $sql = "SELECT ";
$sql .= "
cli.CLI_SN
,cli.CLI_NO
,cli.CLI_Grade
,plp.PLP_SN
,plp.PLP_CLI_SN
,plp.PLP_Season
,plp.PLP_Area
,plp.PLP_StartDate
,plp.PLP_EndDate
,plp.PLP_PersonGradeDown
,plp.PLP_PersonGradeUp
,plp.PLP_AdultUnitCost
,plp.PLP_AdultUnitPrice
,plp.PLP_RoomDiffPrice
,plp.PLP_ChildRate
,plp.PLP_BabyRate
,plp.PLP_ChildUnitPrice
,plp.PLP_BabyUnitPrice
,plp.PLP_Level
,plp.PLP_IsWeekPrice
,plp.PLP_WeekDefine
,plp.PLP_PriceDate
,plp.PLP_PersonNum
,plp.PLP_VEI_SN
,plp.PLP_Year
,plp.PLP_VPPI_SN
,plp.PLP_VPPD_SN
,plp.PLP_Creator
,plp.PLP_CreateDate
,plp.PLP_LastEditor
,plp.PLP_LastEditDate
FROM PrimeLinePrice plp
INNER JOIN CustomerLineInfo cli
ON cli.CLI_SN = plp.PLP_CLI_SN
WHERE 1 = 1
AND cli.CLI_DEI_SN=?
AND plp.PLP_Year IS NOT NULL
AND cli.CLI_NO = ?
AND cli.CLI_State IN (1005003 ,1005004)
";
$this->person_size ? $sql.=$this->person_size : false;
$this->price_date ? $sql.=$this->price_date : false;
$this->cli_grade ? $sql.=$this->cli_grade : false;
$this->orderby ? $sql.=$this->orderby : false;
$query = $this->HT->query($sql,array($this->DEI_SN,$this->cli_no));
echo $this->db->last_query();
if ($this->topnum === 1) {
if ($query->num_rows() > 0) {
$row = $query->row();
return $row;
} else {
return FALSE;
}
} else {
return $query->result();
}
}
}

Loading…
Cancel
Save