inform.model.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <?php
  2. /**
  3. * 举报模型
  4. *
  5. *
  6. *
  7. *
  8. */
  9. defined('InShopNC') or exit('Access Invalid!');
  10. class informModel extends Model{
  11. public function __construct() {
  12. parent::__construct('inform');
  13. }
  14. /**
  15. * 查询举报数量
  16. * @param array $condition
  17. * @return int
  18. */
  19. public function getInformCount($condition) {
  20. return $this->where($condition)->count();
  21. }
  22. /*
  23. * 构造条件
  24. */
  25. private function getCondition($condition){
  26. $condition_str = '' ;
  27. if(!empty($condition['inform_state'])) {
  28. $condition_str.= " and inform_state = '{$condition['inform_state']}'";
  29. }
  30. if(!empty($condition['inform_goods_id'])) {
  31. $condition_str.= " and inform_goods_id = '{$condition['inform_goods_id']}'";
  32. }
  33. if(!empty($condition['inform_id'])) {
  34. $condition_str.= " and inform_id = '{$condition['inform_id']}'";
  35. }
  36. if(!empty($condition['inform_member_id'])) {
  37. $condition_str.= " and inform_member_id = '{$condition['inform_member_id']}'";
  38. }
  39. if(!empty($condition['inform_store_id'])) {
  40. $condition_str.= " and inform_store_id = '{$condition['inform_store_id']}'";
  41. }
  42. if(!empty($condition['inform_handle_type'])) {
  43. $condition_str.= " and inform_handle_type = '{$condition['inform_handle_type']}'";
  44. }
  45. if(!empty($condition['inform_goods_name'])) {
  46. $condition_str.= " and inform_goods_name like '%".$condition['inform_goods_name']."%'";
  47. }
  48. if(!empty($condition['inform_member_name'])) {
  49. $condition_str.= " and inform_member_name like '%".$condition['inform_member_name']."%'";
  50. }
  51. if(!empty($condition['inform_type'])) {
  52. $condition_str.= " and inform_subject_type_name like '%".$condition['inform_type']."%'";
  53. }
  54. if(!empty($condition['inform_subject'])) {
  55. $condition_str.= " and inform_subject_content like '%".$condition['inform_subject']."%'";
  56. }
  57. if(!empty($condition['inform_datetime_start'])) {
  58. $condition_str.= " and inform_datetime > '{$condition['inform_datetime_start']}'";
  59. }
  60. if(!empty($condition['inform_datetime_end'])) {
  61. $end = $condition['inform_datetime_end'] + 86400;
  62. $condition_str.= " and inform_datetime < '$end'";
  63. }
  64. return $condition_str;
  65. }
  66. /*
  67. * 增加
  68. * @param array $param
  69. * @return bool
  70. */
  71. public function saveInform($param){
  72. return Db::insert('inform',$param) ;
  73. }
  74. /*
  75. * 更新
  76. * @param array $update_array
  77. * @param array $where_array
  78. * @return bool
  79. */
  80. public function updateInform($update_array, $where_array){
  81. $where = $this->getCondition($where_array) ;
  82. return Db::update('inform',$update_array,$where) ;
  83. }
  84. /*
  85. * 删除
  86. * @param array $param
  87. * @return bool
  88. */
  89. public function dropInform($param){
  90. $where = $this->getCondition($param) ;
  91. return Db::delete('inform', $where) ;
  92. }
  93. /*
  94. * 获得列表
  95. * @param array $condition
  96. * @param obj $page //分页对象
  97. * @return array
  98. */
  99. public function getInform($condition='',$page='') {
  100. $param = array() ;
  101. $param['table'] = 'inform,inform_subject' ;
  102. $param['join_type'] = 'LEFT JOIN';
  103. $param['join_on'] = array('inform.inform_subject_id = inform_subject.inform_subject_id');
  104. $param['where'] = $this->getCondition($condition);
  105. $param['order'] = $condition['order'] ? $condition['order']: ' inform_id desc ';
  106. return Db::select($param,$page);
  107. }
  108. /*
  109. * 根据id获取举报详细信息
  110. */
  111. public function getoneInform($inform_id) {
  112. $param = array() ;
  113. $param['table'] = 'inform';
  114. $param['field'] = 'inform_id' ;
  115. $param['value'] = intval($inform_id);
  116. return Db::getRow($param) ;
  117. }
  118. /*
  119. * 判断该商品是否正在被举报
  120. * @param int $goods_id 商品id
  121. * @return bool
  122. */
  123. public function isProcessOfInform($goods_id) {
  124. $condition = array();
  125. $condition['inform_goods_id'] = $goods_id;
  126. $condition['inform_state'] = 1;
  127. $inform = $this->getInform($condition);
  128. if(count($inform) !== 0) {
  129. return true;
  130. }
  131. else {
  132. return false;
  133. }
  134. }
  135. /**
  136. * 总数
  137. *
  138. */
  139. public function getCount($condition) {
  140. $condition_str = $this->getCondition($condition);
  141. $count = Db::getCount('inform',$condition_str);
  142. return $count;
  143. }
  144. }