stanley-king 1 year ago
parent
commit
63e79fc32d
2 changed files with 138 additions and 1 deletions
  1. 11 1
      admin/control/refill_discount.php
  2. 127 0
      data/model/refill_discount.model.php

+ 11 - 1
admin/control/refill_discount.php

@@ -14,11 +14,21 @@ class refill_discountControl extends SystemControl
         parent::__construct();
     }
 
+    private function condition($input)
+    {
+        if()
+
+        $start_time = $input['start_time'] ?? date("Y-m-d 00:00:00");
+
+    }
     public function indexOp()
     {
         $mod_discount = Model('refill_discount');
 
-        $condition = [];
+        $cond = $this->condition($_GET);
+
+        $cond = [];
+
 
 //        $start_time = $_GET['start_time'] ?? date("Y-m-d 00:00:00");
 //

+ 127 - 0
data/model/refill_discount.model.php

@@ -0,0 +1,127 @@
+<?php
+/**
+ * 活动
+ *
+ * 
+ *
+ *
+ 
+ */
+defined('InShopNC') or exit('Access Invalid!');
+class refill_discountModel{
+	/**
+	 * 活动列表
+	 *
+	 * @param array $condition 查询条件
+	 * @param obj $page 分页对象
+	 * @return array 二维数组
+	 */
+	public function getList($condition,$page=''){
+		$param	= array();
+
+        $param['table']	= 'refill_discount';
+		$param['where']	= $this->getCondition($condition);
+		$param['order']	= $condition['order'] ? $condition['order'] : 'activity_id';
+
+		return Db::select($param,$page);
+	}
+	/**
+	 * 添加活动
+	 *
+	 * @param array $input
+	 * @return bool
+	 */
+	public function add($input){
+		return Db::insert('activity',$input);
+	}
+	/**
+	 * 更新活动
+	 *
+	 * @param array $input
+	 * @param int $id
+	 * @return bool
+	 */
+	public function update($input,$id){
+		return Db::update('activity',$input," activity_id='$id' ");
+	}
+	/**
+	 * 删除活动
+	 *
+	 * @param string $id
+	 * @return bool
+	 */
+	public function del($id){
+		return Db::delete('activity','activity_id in('.$id.')');
+	}
+	/**
+	 * 根据id查询一条活动
+	 *
+	 * @param int $id 活动id
+	 * @return array 一维数组
+	 */
+	public function getOneById($id){
+		return Db::getRow(array('table'=>'activity','field'=>'activity_id','value'=>$id));
+	}
+	/**
+	 * 根据条件
+	 *
+	 * @param array $condition 查询条件
+	 * @param obj $page 分页对象
+	 * @return array 二维数组
+	 */
+	public function getJoinList($condition,$page=''){
+		$param	= array();
+		$param['table']	= 'activity,activity_detail';
+		$param['join_type']	= empty($condition['join_type'])?'right join':$condition['join_type'];
+		$param['join_on']	= array('activity.activity_id=activity_detail.activity_id');
+		$param['where']	= $this->getCondition($condition);
+		$param['order']	= $condition['order'];
+		return Db::select($param,$page);
+	}
+	/**
+	 * 构造查询条件
+	 *
+	 * @param array $condition 条件数组
+	 * @return string
+	 */
+	private function getCondition($condition)
+    {
+		$conditionStr	= '';
+		if($condition['activity_id'] != ''){
+			$conditionStr	.= " and activity.activity_id='{$condition['activity_id']}' ";
+		}
+		if($condition['activity_type'] != ''){
+			$conditionStr	.= " and activity.activity_type='{$condition['activity_type']}' ";
+		}
+		if($condition['activity_state'] != ''){
+			$conditionStr	.= " and activity.activity_state = '{$condition['activity_state']}' ";
+		}
+		//活动删除in
+		if(isset($condition['activity_id_in'])){
+			if ($condition['activity_id_in'] == ''){
+				$conditionStr	.= " and activity_id in('')";
+			}else{
+				$conditionStr	.= " and activity_id in({$condition['activity_id_in']}) ";
+			}
+		}
+		if($condition['activity_title'] != ''){
+			$conditionStr	.= " and activity.activity_title like '%{$condition['activity_title']}%' ";
+		}
+		//当前时间大于结束时间(过期)
+		if ($condition['activity_enddate_greater'] != ''){
+			$conditionStr	.= " and activity.activity_end_date < '{$condition['activity_enddate_greater']}'";
+		}
+		//可删除的活动记录
+		if ($condition['activity_enddate_greater_or'] != ''){
+			$conditionStr	.= " or activity.activity_end_date < '{$condition['activity_enddate_greater_or']}'";
+		}
+		//某时间段内正在进行的活动
+		if($condition['activity_daterange'] != ''){
+			$conditionStr .= " and (activity.activity_end_date >= '{$condition['activity_daterange']['startdate']}' and activity.activity_start_date <= '{$condition['activity_daterange']['enddate']}')";
+		}
+		if($condition['opening']){//在有效期内、活动状态为开启
+			$conditionStr	.= " and (activity.activity_start_date <=".time()." and activity.activity_end_date >= ".time()." and activity.activity_state =1)";
+		}
+		return $conditionStr;
+	}
+}