trainsignuserlogic.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. /*
  3. * @Author: wang jun
  4. * @Date: 2021-10-29 16:16:29
  5. * @Last Modified by: wang jun
  6. * @Last Modified time: 2021-12-30 10:20:43
  7. */
  8. namespace app\index\logic;
  9. use app\index\model\trainmodel;
  10. use app\index\model\trainsignusermodel;
  11. use app\index\model\userinfomodel;
  12. class trainsignuserlogic
  13. {
  14. /**
  15. * 新增培训
  16. * 20211224
  17. * wj
  18. */
  19. public function newinfo($info)
  20. {
  21. $fillField = ['userid', 'tid'];
  22. foreach ($fillField as $key => $value) {
  23. if (!isset($info[$value]) || empty($info[$value]) || !is_numeric($info[$value])) {
  24. return backarr(0, "请求失败");
  25. }
  26. }
  27. $userid = $info['userid'];
  28. $tid = $info['tid'];
  29. $m_t = new trainmodel();
  30. $m_tu = new trainsignusermodel();
  31. $m_u = new userinfomodel();
  32. $tuwhere = [
  33. 'userid' => $userid,
  34. 'tid' => $tid,
  35. 'status' => 1,
  36. ];
  37. $tuinfo = $m_tu->getInfo($tuwhere, 'id');
  38. if (!empty($tuinfo)) {
  39. return backarr(0, "已报名");
  40. }
  41. $uwhere = [
  42. 'id' => $userid,
  43. ];
  44. $uinfo = $m_u->getInfo($uwhere);
  45. if (empty($uinfo)) {
  46. return backarr(0, "无用户");
  47. }
  48. $twhere = [
  49. 'id' => $tid,
  50. ];
  51. $tinfo = $m_t->getInfo($twhere);
  52. if (empty($tinfo)) {
  53. return backarr(0, "无培训信息");
  54. }
  55. if (!empty($tinfo['starttime']) || !empty($tinfo['endtime'])) {
  56. if ($tinfo['starttime']) {
  57. if (time() < strtotime($tinfo['starttime'])) {
  58. return backarr(0, "非可报名时间段");
  59. }
  60. }
  61. if ($tinfo['endtime']) {
  62. if (time() > strtotime($tinfo['endtime'])) {
  63. return backarr(0, "非可报名时间段");
  64. }
  65. }
  66. }
  67. $count = $m_tu->getList($tuwhere, 'count');
  68. if ($count >= $tinfo['maxpersion']) {
  69. return backarr(0, "已招满");
  70. }
  71. if (!isset($info['createtime']) || empty($info['createtime'])) {
  72. $info['createtime'] = date('Y-m-d H:i:s', time());
  73. }
  74. $id = $m_tu->insertData($info);
  75. if (!$id) {
  76. return backarr(0, "操作失败");
  77. }
  78. return backarr(1, "操作成功", ['id' => $id]);
  79. }
  80. /**
  81. * 获取信息根据userid
  82. * 20211224
  83. * wj
  84. */
  85. public function getinfobyuserid($arr)
  86. {
  87. if (!isset($arr['userid']) || empty($arr['userid'])) {
  88. return backarr(0, "请求失败");
  89. }
  90. $userid = $arr['userid'];
  91. $m_tu = new trainsignusermodel();
  92. $where = ['userid' => $userid, 'status' => 1];
  93. $cinfo = $m_tu->getInfo($where);
  94. if (empty($cinfo)) {
  95. return backarr(0, "无数据");
  96. }
  97. return backarr(1, "操作成功", $cinfo);
  98. }
  99. /***
  100. * 获取列表 按userid查询 按id倒序
  101. * 20211224
  102. * wj
  103. */
  104. public function getlistbyuserid($arr)
  105. {
  106. if (!isset($arr['userid']) || empty($arr['userid']) && !is_numeric($arr['userid'])) {
  107. return backarr(0, "请求失败");
  108. }
  109. $userid = $arr['userid'];
  110. $m_tu = new trainsignusermodel();
  111. $m_t = new trainmodel();
  112. $where = ['userid' => $userid];
  113. if (isset($arr['status']) && is_numeric($arr['status']) && in_array($arr['status'], [0, 1])) {
  114. $where['status'] = $arr['status'];
  115. }
  116. $page = isset($arr['page']) && !empty($arr['page']) ? $arr['page'] : 1;
  117. $size = isset($arr['size']) && !empty($arr['size']) ? $arr['size'] : 10;
  118. $count = $m_tu->getList($where, 'count');
  119. if ($count <= 0) {
  120. return backarr(0, "无数据");
  121. }
  122. $list = $m_tu->getList($where, '*', $page, $size);
  123. foreach ($list as $key => &$value) {
  124. $tinfo = $m_t->getInfo(['id' => $value['tid']], 'name');
  125. if (empty($tinfo)) {
  126. $list[$key]['name'] = '';
  127. } else {
  128. $list[$key]['name'] = $tinfo['name'];
  129. }
  130. }
  131. return backarr(1, "查询成功", $list);
  132. }
  133. /**
  134. * 修改status根据id 1报名 0取消报名
  135. * 20211224
  136. * wj
  137. */
  138. public function updatestatusbyid($arr)
  139. {
  140. if (!isset($arr['id']) || empty($arr['id']) || !isset($arr['status']) || !in_array($arr['status'], [0, 1])) {
  141. return backarr(0, "请求失败");
  142. }
  143. $id = $arr['id'];
  144. $status = $arr['status'];
  145. $m_tu = new trainsignusermodel();
  146. $where = ['id' => $id];
  147. $tuinfo = $m_tu->getInfo($where);
  148. if (empty($tuinfo)) {
  149. return backarr(0, "无数据");
  150. }
  151. $updateData = [];
  152. if ($status != $tuinfo['status']) {
  153. $updateData['status'] = $status;
  154. }
  155. if (empty($updateData)) {
  156. return backarr(0, "无修改数据");
  157. }
  158. $row = $m_tu->updateinfo($where, $updateData);
  159. if (!$row) {
  160. return backarr(0, "操作失败");
  161. }
  162. return backarr(1, "操作成功", ['id' => $id]);
  163. }
  164. }