You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

287 lines
8.4 KiB

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: tianlionfire
  5. * Date: 2018/3/6
  6. * Time: 10:32
  7. */
  8. namespace backend\modules\zzcs\logic;
  9. use backend\modules\zzcs\models\BaseArea;
  10. use backend\modules\zzcs\models\OperaHotel;
  11. use backend\modules\zzcs\models\OperaHotelAffiche;
  12. class OperaHotelAfficheLogic
  13. {
  14. /**
  15. * Function Description:获取公告列表
  16. * Function Name: getHotelAfficheList
  17. * @param $hotelName
  18. * @param $afficheType
  19. * @param $sortType
  20. * @param $publishName
  21. * @param $moreSearch
  22. * @param $page_size
  23. * @param $current_page
  24. * @return mixed
  25. * @author 田玲菲
  26. */
  27. public function getHotelAfficheList($hotelName, $afficheType, $sortType, $publishName, $moreSearch, $page_size, $current_page)
  28. {
  29. $operaHotelAffiche = new OperaHotelAffiche();
  30. $opera_hotel=new OperaHotel();
  31. $data['hotelName'] = $opera_hotel->getAllHotel();
  32. $data['createUserName'] = $operaHotelAffiche->getPublishName();
  33. $res = $operaHotelAffiche->getAfficheList($hotelName, $afficheType, $sortType, $publishName, $moreSearch, $page_size, $current_page);
  34. $data['afficheList'] = $res['affiche_list'];
  35. $total_row = $res['total_row'];
  36. $base_area = new BaseArea();
  37. $page_arr = $base_area->getPage($total_row, $page_size, $current_page);
  38. $data['page_size_arr'] = [10, 30, 50, 100];
  39. $data['page'] = [
  40. 'page_size' => $page_size,
  41. 'current_page' => $current_page,
  42. 'total_row' => $total_row,
  43. 'total_page' => ceil($total_row / $page_size)
  44. ];
  45. $data['page_arr'] = $page_arr;
  46. $data['page_size'] = $page_size;
  47. return $data;
  48. }
  49. /**
  50. * Function Description:获取公告管理列表
  51. * Function Name: getHotelAfficheList
  52. * @param $hotelName
  53. * @param $afficheType
  54. * @param $sortType
  55. * @param $publishName
  56. * @param $moreSearch
  57. * @param $page_size
  58. * @param $current_page
  59. * @return mixed
  60. * @author 田玲菲
  61. */
  62. public function getManageAfficheList($hotelName, $afficheType, $sortType, $publishName, $moreSearch, $page_size, $current_page)
  63. {
  64. $operaHotelAffiche = new OperaHotelAffiche();
  65. $opera_hotel=new OperaHotel();
  66. $data['hotelName'] = $opera_hotel->getAllHotel();
  67. $data['createUserName'] = $operaHotelAffiche->getPublishName();
  68. $res = $operaHotelAffiche->getManageList($hotelName, $afficheType, $sortType, $publishName, $moreSearch, $page_size, $current_page);
  69. $data['afficheList'] = $res['affiche_list'];
  70. $total_row = $res['total_row'];
  71. $base_area = new BaseArea();
  72. $page_arr = $base_area->getPage($total_row, $page_size, $current_page);
  73. $data['page_size_arr'] = [10, 30, 50, 100];
  74. $data['page'] = [
  75. 'page_size' => $page_size,
  76. 'current_page' => $current_page,
  77. 'total_row' => $total_row,
  78. 'total_page' => ceil($total_row / $page_size)
  79. ];
  80. $data['page_arr'] = $page_arr;
  81. $data['page_size'] = $page_size;
  82. return $data;
  83. }
  84. /**
  85. * Function Description:根据id得到公告的所有信息
  86. * Function Name: getAffiche
  87. * @param $id
  88. * @return array|\yii\db\ActiveRecord[]
  89. * @author 田玲菲
  90. */
  91. public function getAffiche($id)
  92. {
  93. $operaHotelAffiche = new OperaHotelAffiche();
  94. $res = $operaHotelAffiche->getAfficheDetail($id);
  95. return $res;
  96. }
  97. /**
  98. * Function Description:修改排序
  99. * Function Name: changeSortbyId
  100. * @param $id
  101. * @param $sort
  102. * @return mixed
  103. * @author 田玲菲
  104. */
  105. public function changeSortbyId($id, $sort)
  106. {
  107. $operaHotelAffiche = new OperaHotelAffiche();
  108. $res = $operaHotelAffiche->changeSort($id, $sort);
  109. if ($res) {
  110. $data['code'] = 0;
  111. $data['info'] = '修改成功!';
  112. } else {
  113. $data['code'] = 1;
  114. $data['info'] = '修改失败!';
  115. }
  116. return $data;
  117. }
  118. /**
  119. * Function Description:删除公告
  120. * Function Name: deleteAfficheById
  121. * @param $id
  122. * @return mixed
  123. * @author 田玲菲
  124. */
  125. public function deleteAfficheById($id)
  126. {
  127. $operaHotelAffiche = new OperaHotelAffiche();
  128. $res = $operaHotelAffiche->deleteAffine($id);
  129. if (!$res) {
  130. $json['code'] = '1';
  131. $json['info'] = '删除公告失败';
  132. } else {
  133. $json['code'] = '0';
  134. $json['info'] = '删除公告成功';
  135. }
  136. return $json;
  137. }
  138. /**
  139. * Function Description:校验标题唯一性
  140. * Function Name: checkTitle
  141. * @param $title
  142. * @param int $id
  143. *
  144. * @return array|null|\yii\db\ActiveRecord
  145. *
  146. * @author 田玲菲
  147. */
  148. public function checkTitle($title, $id = 0)
  149. {
  150. $operaHotelAffiche = new OperaHotelAffiche();
  151. $res = $operaHotelAffiche->checkTitle($title);
  152. if ($res) {
  153. if ($id != 0 && $res['id'] == $id) {
  154. $data['code'] = 0;
  155. } else {
  156. $data['code'] = 1;
  157. $data['info'] = '该标题已存在请勿重复添加';
  158. }
  159. } else {
  160. $data['code'] = 0;
  161. }
  162. return $data;
  163. }
  164. /**
  165. * Function Description:修改公告
  166. * Function Name: updateAffiche
  167. * @param $id
  168. * @param $hotelName
  169. * @param $afficheType
  170. * @param $sort
  171. * @param $importantLevel
  172. * @param $title
  173. * @param $content
  174. * @param $releaseType
  175. * @return array|null|\yii\db\ActiveRecord
  176. * @author 田玲菲
  177. */
  178. public function updateAffiche($id, $hotelName, $afficheType, $sort, $importantLevel, $title, $content, $releaseType)
  179. {
  180. // 校验标题
  181. $json = $this->checkTitle($title, $id);
  182. if ($json['code'] != 0) {
  183. return $json;
  184. }
  185. $operaHotelAffiche = new OperaHotelAffiche();
  186. $res = $operaHotelAffiche->changeAffiche($id, $hotelName, $afficheType, $sort, $importantLevel, $title, $content, $releaseType);
  187. if (!$res) {
  188. $json['code'] = 1;
  189. $json['info'] = '修改保存公告失败';
  190. } else {
  191. $json['code'] = 0;
  192. if ($releaseType == 1) {
  193. $json['info'] = '修改并发布公告成功';
  194. } else {
  195. $json['info'] = '修改并保存公告成功';
  196. }
  197. }
  198. return $json;
  199. }
  200. /**
  201. * Function Description:发布(新增)酒店公告
  202. * Function Name: saveAffiche
  203. * @param $hotelName
  204. * @param $afficheType
  205. * @param $sort
  206. * @param $importantLevel
  207. * @param $title
  208. * @param $content
  209. * @param $releaseType
  210. * @return array|null|\yii\db\ActiveRecord
  211. * @author 田玲菲
  212. */
  213. public function saveAffiche($hotelName, $afficheType, $sort, $importantLevel, $title, $content, $releaseType)
  214. {
  215. // 校验标题
  216. $json = $this->checkTitle($title);
  217. if ($json['code'] != 0) {
  218. return $json;
  219. }
  220. $operaHotelAffiche = new OperaHotelAffiche();
  221. $res = $operaHotelAffiche->addAffiche($hotelName, $afficheType, $sort, $importantLevel, $title, $content, $releaseType);
  222. if (!$res) {
  223. $json['code'] = 1;
  224. $json['info'] = '保存公告失败';
  225. } else {
  226. $json['code'] = 0;
  227. if ($releaseType == 1) {
  228. $json['info'] = '保存并发布公告成功';
  229. } else {
  230. $json['info'] = '保存公告成功';
  231. }
  232. }
  233. return $json;
  234. }
  235. /**
  236. * Function Description:获取酒店的名字
  237. * Function Name: getHotelList
  238. * @return array|\yii\db\ActiveRecord[]
  239. * @author 田玲菲
  240. */
  241. public function getHotelList(){
  242. $opera_hotel=new OperaHotel();
  243. $data = $opera_hotel->getAllHotel();
  244. return $data;
  245. }
  246. /**
  247. * Function Description:发布未发布的公告
  248. * Function Name: publish
  249. * @param $id
  250. * @return mixed
  251. * @author 田玲菲
  252. */
  253. public function publish($id,$type){
  254. $operaHotelAffiche = new OperaHotelAffiche();
  255. $res = $operaHotelAffiche->publishAffiche($id,$type);
  256. if (!$res) {
  257. $data['code'] = 1;
  258. $data['info'] = '操作失败';
  259. }else{
  260. $data['code'] = 0;
  261. $data['info'] = '操作成功';
  262. }
  263. return $data;
  264. }
  265. }