activity_detail.model.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. /**
  3. * 活动细节
  4. *
  5. *
  6. *
  7. *
  8. */
  9. defined('InShopNC') or exit('Access Invalid!');
  10. class activity_detailModel{
  11. /**
  12. * 添加
  13. *
  14. * @param array $input
  15. * @return bool
  16. */
  17. public function add($input){
  18. return Db::insert('activity_detail',$input);
  19. }
  20. /**
  21. * 更新
  22. *
  23. * @param array $input 更新内容
  24. * @param string $id 活动内容id
  25. * @return bool
  26. */
  27. public function update($input,$id){
  28. return Db::update('activity_detail',$input,'activity_detail_id in('.$id.')');
  29. }
  30. /**
  31. * 根据条件更新
  32. *
  33. * @param array $input 更新内容
  34. * @param array $condition 更新条件
  35. * @return bool
  36. */
  37. public function updateList($input,$condition){
  38. return Db::update('activity_detail',$input,$this->getCondition($condition));
  39. }
  40. /**
  41. * 删除
  42. *
  43. * @param string $id
  44. * @return bool
  45. */
  46. public function del($id){
  47. return Db::delete('activity_detail','activity_detail_id in('.$id.')');
  48. }
  49. /**
  50. * 根据条件删除
  51. *
  52. * @param array $condition 条件数组
  53. * @return bool
  54. */
  55. public function delList($condition){
  56. return Db::delete('activity_detail',$this->getCondition($condition));
  57. }
  58. /**
  59. * 根据条件查询活动内容信息
  60. *
  61. * @param array $condition 查询条件数组
  62. * @param obj $page 分页对象
  63. * @return array 二维数组
  64. */
  65. public function getList($condition,$page=''){
  66. $param = array();
  67. $param['table'] = 'activity_detail';
  68. $param['where'] = $this->getCondition($condition);
  69. $param['order'] = $condition['order'];
  70. return Db::select($param,$page);
  71. }
  72. /**
  73. * 根据条件查询活动商品内容信息
  74. *
  75. * @param array $condition 查询条件数组
  76. * @param obj $page 分页对象
  77. * @return array 二维数组
  78. */
  79. public function getGoodsJoinList($condition,$page=''){
  80. $param = array();
  81. $param['table'] = 'activity_detail,goods';
  82. $param['join_type'] = 'inner join';
  83. $param['field'] = 'activity_detail.*,goods.*';
  84. $param['join_on'] = array('activity_detail.item_id=goods.goods_id');
  85. $param['where'] = $this->getCondition($condition);
  86. $param['order'] = $condition['order'];
  87. return Db::select($param,$page);
  88. }
  89. /**
  90. * 查询活动商品信息
  91. *
  92. * @param array $condition 查询条件数组
  93. * @param obj $page 分页对象
  94. * @return array 二维数组
  95. */
  96. public function getGoodsList($condition,$page=''){
  97. $param = array();
  98. $param['table'] = 'activity_detail,goods';
  99. $param['join_type'] = 'inner join';
  100. $param['field'] = 'activity_detail.activity_detail_sort,goods.goods_id,goods.store_id,goods.goods_name,goods.goods_price,goods.goods_image';
  101. $param['join_on'] = array('activity_detail.item_id=goods.goods_id');
  102. $param['where'] = $this->getCondition($condition);
  103. $param['order'] = $condition['order'];
  104. return Db::select($param,$page);
  105. }
  106. /**
  107. * 构造查询条件
  108. *
  109. * @param array $condition 查询条件数组
  110. * @return string
  111. */
  112. private function getCondition($condition){
  113. $conditionStr = '';
  114. if($condition['activity_id']>0){
  115. $conditionStr .= " and activity_detail.activity_id = '{$condition['activity_id']}'";
  116. }
  117. if (isset($condition['activity_detail_id_in'])){
  118. if ($condition['activity_detail_id_in'] == ''){
  119. $conditionStr .= " and activity_detail_id in ('')";
  120. }else{
  121. $conditionStr .= " and activity_detail_id in ({$condition['activity_detail_id_in']})";
  122. }
  123. }
  124. if(isset($condition['activity_detail_state_in'])){
  125. if ($condition['activity_detail_state_in'] == ''){
  126. $conditionStr .= " and activity_detail_state in ('')";
  127. }else{
  128. $conditionStr .= " and activity_detail_state in ({$condition['activity_detail_state_in']})";
  129. }
  130. }
  131. if($condition['activity_detail_state'] != ''){
  132. $conditionStr .= " and activity_detail.activity_detail_state='".$condition['activity_detail_state']."'";
  133. }
  134. if($condition['gc_id'] != ''){
  135. $conditionStr .= " and goods.gc_id='{$condition['gc_id']}'";
  136. }
  137. if($condition['brand_id'] != ''){
  138. $conditionStr .= " and goods.brand_id='{$condition['brand_id']}' ";
  139. }
  140. if($condition['name'] != ''){
  141. $conditionStr .= " and goods.goods_name like '%{$condition['name']}%'";
  142. }
  143. if(intval($condition['item_id'])>0){
  144. $conditionStr .= " and activity_detail.item_id='".intval($condition['item_id'])."'";
  145. }
  146. if($condition['item_name'] != ''){
  147. $conditionStr .= " and activity_detail.item_name like '%{$condition['item_name']}%'";
  148. }
  149. if(intval($condition['store_id'])>0){
  150. $conditionStr .= " and activity_detail.store_id='".intval($condition['store_id'])."'";
  151. }
  152. if($condition['store_name'] != ''){
  153. $conditionStr .= " and activity_detail.store_name like '%{$condition['store_name']}%'";
  154. }
  155. if ($condition['goods_show'] != '') {
  156. $conditionStr .= " and goods.goods_show= '{$condition['goods_show']}'";
  157. }
  158. return $conditionStr;
  159. }
  160. }