HouseserverLogic.php 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <?php
  2. namespace app\admin\logic;
  3. use app\admin\server\Webuserserver;
  4. use app\common\model\houseservermodel;
  5. use app\common\model\serverappointmentmodel;
  6. class HouseserverLogic
  7. {
  8. /**
  9. * 获取类型列表
  10. *
  11. * @return void
  12. * @author wj
  13. * @date 2023-01-18
  14. */
  15. public function gettypelist($arr)
  16. {
  17. $userinfo = checkToken();
  18. $wherefield = ['servername'];
  19. $where = [];
  20. foreach ($wherefield as $key => $value) {
  21. if (isset($arr[$value]) && !empty($arr[$value])) {
  22. $where[] = [$value, 'like', '%' . $arr[$value] . '%'];
  23. }
  24. }
  25. $wherefield2 = ['isactive'];
  26. foreach ($wherefield2 as $key => $value) {
  27. if (isset($arr[$value]) && is_numeric($arr[$value])) {
  28. $where[] = [$value, '=', $arr[$value]];
  29. }
  30. }
  31. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  32. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  33. $m_hs = new houseservermodel();
  34. $count = $m_hs->getList($where, "count", $page, $size);
  35. if ($count <= 0) {
  36. return backarr(0, "无数据");
  37. }
  38. $totalpage = ceil($count / $size);
  39. $page > $totalpage && $page = $totalpage;
  40. $list = $m_hs->getList($where, "*", $page, $size)->toArray();
  41. $data = [
  42. 'page' => $page,
  43. 'size' => $size,
  44. 'count' => $count,
  45. 'list' => $list,
  46. ];
  47. return backarr(1, "查询成功", $data);
  48. }
  49. /**
  50. * 新建类型
  51. *
  52. * @return void
  53. * @author wj
  54. * @date 2023-01-18
  55. */
  56. public function newtype($arr)
  57. {
  58. $userinfo = checkToken();
  59. $fillfields = ['servername'];
  60. foreach ($fillfields as $key => $value) {
  61. if (!isset($arr[$value]) || empty($arr[$value])) {
  62. return backarr(0, "参数缺少");
  63. }
  64. }
  65. $servername = $arr['servername'];
  66. $m_hs = new houseservermodel();
  67. $hsinfo = $m_hs->getInfo(['servername' => $servername]);
  68. if (!empty($hsinfo)) {
  69. return backarr(0, "服务已存在");
  70. }
  71. $hsid = $m_hs->insertData($arr);
  72. if (empty($hsid)) {
  73. return backarr(0, "添加失败");
  74. }
  75. //保存日志
  76. $s_w = new Webuserserver();
  77. $logData = [
  78. 'node' => '创建服务类型:' . $hsid . ":" . $servername,
  79. 'type' => 1,
  80. 'tablename' => 'houseserver',
  81. 'refid' => $hsid,
  82. ];
  83. $s_w->savelog($userinfo['id'], $logData);
  84. return backarr(1, "操作成功", ['hsid' => $hsid]);
  85. }
  86. /**
  87. * 编辑类型
  88. *
  89. * @return void
  90. * @author wj
  91. * @date 2023-01-19
  92. */
  93. public function edittype($arr)
  94. {
  95. $userinfo = checkToken();
  96. $fillfields = ['servername', 'id', 'sprice'];
  97. foreach ($fillfields as $key => $value) {
  98. if (!isset($arr[$value]) || empty($arr[$value])) {
  99. return backarr(0, "参数缺少");
  100. }
  101. }
  102. $servername = $arr['servername'];
  103. $id = $arr['id'];
  104. $sprice = $arr['sprice'];
  105. $m_hs = new houseservermodel();
  106. $hsinfo = $m_hs->getInfo(['id' => $id]);
  107. if (empty($hsinfo)) {
  108. return backarr(0, "无数据");
  109. }
  110. $updateData = [];
  111. if ($hsinfo['servername'] != $servername) {
  112. $hssninfo = $m_hs->getInfo(['servername' => $servername]);
  113. if (!empty($hssninfo)) {
  114. return backarr(0, "服务已存在");
  115. }
  116. $updateData['servername'] = $servername;
  117. }
  118. if ($hsinfo['sprice'] != $sprice) {
  119. $updateData['sprice'] = $sprice;
  120. }
  121. if (isset($arr['hserverphoto']) && !empty($arr['hserverphoto'])) {
  122. $hserverphoto = $arr['hserverphoto'];
  123. if ($hsinfo['hserverphoto'] != $hserverphoto) {
  124. $updateData['hserverphoto'] = $hserverphoto;
  125. }
  126. }
  127. $row = $m_hs->updateinfo(['id' => $id], $updateData);
  128. if (empty($row)) {
  129. return backarr(0, "修改失败");
  130. }
  131. //保存日志
  132. $s_w = new Webuserserver();
  133. $logData = [
  134. 'node' => '修改服务类型:' . $id,
  135. 'type' => 1,
  136. 'tablename' => 'houseserver',
  137. 'refid' => $id,
  138. ];
  139. $s_w->savelog($userinfo['id'], $logData);
  140. return backarr(1, "操作成功", ['hsid' => $id]);
  141. }
  142. /**
  143. * 改类型有效
  144. *
  145. * @return void
  146. * @author wj
  147. * @date 2023-01-19
  148. */
  149. public function updateisactive($arr)
  150. {
  151. $userinfo = checkToken();
  152. $fillfields = ['isactive', 'id'];
  153. foreach ($fillfields as $key => $value) {
  154. if (!isset($arr[$value])) {
  155. return backarr(0, "参数缺少");
  156. }
  157. }
  158. $id = $arr['id'];
  159. $isactive = $arr['isactive'];
  160. $where = [['id', '=', $id]];
  161. if ($isactive == 1) {
  162. $where[] = ['isactive', 'in', [0]];
  163. } else {
  164. $where[] = ['isactive', 'in', [1]];
  165. }
  166. $m_hs = new houseservermodel();
  167. $hsinfo = $m_hs->getInfo($where);
  168. if (empty($hsinfo)) {
  169. return backarr(0, "无数据");
  170. }
  171. $updateData = ['isactive' => $isactive];
  172. $row = $m_hs->updateinfo(['id' => $id], $updateData);
  173. if (empty($row)) {
  174. return backarr(0, "修改失败");
  175. }
  176. //保存日志
  177. $s_w = new Webuserserver();
  178. $logData = [
  179. 'node' => '修改服务类型可用:' . $id . ":" . $isactive,
  180. 'type' => 1,
  181. 'tablename' => 'houseserver',
  182. 'refid' => $id,
  183. ];
  184. $s_w->savelog($userinfo['id'], $logData);
  185. return backarr(1, "操作成功", ['hsid' => $id]);
  186. }
  187. /**
  188. * 获取预定列表
  189. *
  190. * @return void
  191. * @author wj
  192. * @date 2023-01-19
  193. */
  194. public function getappointmentlist($arr)
  195. {
  196. $userinfo = checkToken();
  197. $wherefield = ['orderno', 'receiver_address'];
  198. $where = [];
  199. foreach ($wherefield as $key => $value) {
  200. if (isset($arr[$value]) && !empty($arr[$value])) {
  201. $where[] = [$value, 'like', '%' . $arr[$value] . '%'];
  202. }
  203. }
  204. $wherefield2 = ['serverid', 'paystatus', 'serverstatus'];
  205. foreach ($wherefield2 as $key => $value) {
  206. if (isset($arr[$value]) && is_numeric($arr[$value])) {
  207. $where[] = [$value, '=', $arr[$value]];
  208. }
  209. }
  210. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  211. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  212. $m_hs = new houseservermodel();
  213. $m_sa = new serverappointmentmodel();
  214. $count = $m_sa->getList($where, "count", $page, $size);
  215. if ($count <= 0) {
  216. return backarr(0, "无数据");
  217. }
  218. $totalpage = ceil($count / $size);
  219. $page > $totalpage && $page = $totalpage;
  220. $list = $m_sa->getList($where, "*", $page, $size)->toArray();
  221. foreach ($list as $key => $value) {
  222. $hsinfo = $m_hs->getInfo(['id' => $value['serverid']], ['servername']);
  223. if (empty($hsinfo)) {
  224. $value['servername'] = '';
  225. } else {
  226. $value['servername'] = $hsinfo['servername'];
  227. }
  228. $list[$key] = $value;
  229. }
  230. $data = [
  231. 'page' => $page,
  232. 'size' => $size,
  233. 'count' => $count,
  234. 'list' => $list,
  235. ];
  236. return backarr(1, "查询成功", $data);
  237. }
  238. }