houseserverlogic.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: sicilon_IT
  5. * Date: 2022/12/28
  6. * Time: 18:32
  7. */
  8. namespace app\api\logic;
  9. use app\common\model\houseservermodel;
  10. use app\common\model\MealcenterModel;
  11. use app\common\model\serverappointmentmodel;
  12. use app\common\model\serverorderevaluemodel;
  13. use app\common\model\UserAddressModel;
  14. use think\Db;
  15. class houseserverlogic{
  16. public function getlistbylclass($arr){
  17. $t_hs=new houseservermodel();
  18. if (!isset($arr['serverkind']) || empty($arr['serverkind'])) {
  19. $arr['serverkind']=1;
  20. }
  21. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  22. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  23. $where_arr['serverkind']=$arr['serverkind'];
  24. $where_arr['isactive']=1;
  25. $list=$t_hs->getList($where_arr,'*',$page,$size);
  26. $data = [
  27. 'page' => $page,
  28. 'size' => $size,
  29. // 'count' => $count,
  30. 'list' => $list,
  31. ];
  32. return backarr(1, "查询成功", $data);
  33. }
  34. /*
  35. * 20221229
  36. * 创建家政预约定单
  37. */
  38. public function createOrder($arr)
  39. {
  40. $fillfields = ['center_id', 'serverid','apointmentuserid'];
  41. foreach ($fillfields as $key => $value) {
  42. if (!isset($arr[$value]) || empty($arr[$value])) {
  43. return backarr(0, "参数缺少");
  44. }
  45. }
  46. $center_id = $arr['center_id'];
  47. $serverid = $arr['serverid'];
  48. $userid = $arr['apointmentuserid'];
  49. $m_mc =new MealcenterModel();
  50. $mcinfo = $m_mc->getInfo(['id' => $center_id, 'is_active' => 1]);
  51. if (empty($mcinfo)) {
  52. return backarr(0, "配餐中心不存在");
  53. }
  54. $m_hs = new houseservermodel();
  55. $sinfo = $m_hs->getInfo(['id' => $serverid, 'isactive' => 1]);
  56. if (empty($sinfo)) {
  57. return backarr(0, "服务项目不存在");
  58. }
  59. Db::startTrans();
  60. try {
  61. $m_ua = new UserAddressModel();
  62. if (!isset($arr['address_id']) || empty($arr['address_id'])) {
  63. $fillfields = ['receiver_address', 'address', 'receiver_name', 'receiver_telno', 'gcj_lat', 'gcj_long'];
  64. foreach ($fillfields as $key => $value) {
  65. if (!isset($arr[$value]) || empty($arr[$value])) {
  66. throw new \Exception("参数缺少");
  67. }
  68. }
  69. $insertData = [
  70. 'receiver_address' => $arr['receiver_address'],
  71. 'address' => $arr['address'],
  72. 'receiver_name' => $arr['receiver_name'],
  73. 'receiver_telno' => $arr['receiver_telno'],
  74. 'gcj_lat' => $arr['gcj_lat'],
  75. 'gcj_long' => $arr['gcj_long'],
  76. 'user_id' => $userid,
  77. ];
  78. $uaid = $m_ua->insertData($insertData);
  79. if (empty($uaid)) {
  80. throw new \Exception("地址保存失败");
  81. }
  82. } else {
  83. $uaid = $arr['address_id'];
  84. $uinfo = $m_ua->getInfo(['id' => $uaid]);
  85. if (empty($uinfo)) {
  86. throw new \Exception("无地址信息");
  87. }
  88. }
  89. $orderno = date('ymdhis') . $center_id . $serverid . $userid;
  90. $insertData = [
  91. 'center_id' => $center_id,
  92. 'serverid' => $serverid,
  93. 'orderno' => $orderno,
  94. 'apointmentuserid' => $userid,
  95. 'address_id' => $uaid,
  96. 'appointmenttime' => date('Y-m-d H:i:s'),
  97. ];
  98. $m_mo = new serverappointmentmodel();
  99. $moid = $m_mo->insertData($insertData);
  100. if (empty($moid)) {
  101. throw new \Exception("预约单添加失败");
  102. }
  103. Db::commit();
  104. return backarr(1, "预约单添加成功", ['moid' => $moid]);
  105. } catch (\Exception $e) {
  106. Db::rollback();
  107. $msg = $e->getMessage();
  108. return backarr(0, $msg);
  109. }
  110. }
  111. /*
  112. * 20221229
  113. */
  114. public function getorderlistbyuserid($arr){
  115. $t_sa=new serverappointmentmodel();
  116. if (!isset($arr['userid']) || empty($arr['userid'])) {
  117. return backarr(0, "参数缺少");
  118. }
  119. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  120. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  121. $where_arr['apointmentuserid']=$arr['userid'];
  122. $list=$t_sa->getList($where_arr,'*',$page,$size);
  123. $t_hs=new houseservermodel();
  124. foreach($list as &$horder){
  125. $sid=$horder['serverid'];
  126. $where_hs['id']=$sid;
  127. $where_hs['isactive']=1;
  128. $hsinfo=$t_hs->getInfo($where_hs);
  129. $horder['servername']=$hsinfo['servername'];
  130. $horder['sprice']=$hsinfo['sprice'];
  131. $horder['hserverphoto']=$hsinfo['hserverphoto'];
  132. }
  133. $data = [
  134. 'page' => $page,
  135. 'size' => $size,
  136. // 'count' => $count,
  137. 'list' => $list,
  138. ];
  139. return backarr(1, "查询成功", $data);
  140. }
  141. /*
  142. * 20230106
  143. * steelxu5
  144. * 存储反馈信息
  145. */
  146. public function savehsoderevalue($arr){
  147. //参数检查
  148. $fillfields = ['serverappointid', 'evaluescore'];
  149. foreach ($fillfields as $key => $value) {
  150. if (!isset($arr[$value]) || empty($arr[$value])) {
  151. return backarr(0, "参数缺少");
  152. }
  153. }
  154. $t_se=new serverorderevaluemodel();
  155. $insertData = [
  156. 'serverappointid' => $arr['serverappointid'],
  157. 'evaluescore' => $arr['evaluescore'],
  158. 'evaluememo' => $arr['evaluememo'],
  159. 'evaluetime' => date('Y-m-d H:i:s'),
  160. ];
  161. $seid =$t_se->insertData($insertData);
  162. if (empty($seid)) {
  163. throw new \Exception("反馈添加失败");
  164. }
  165. return backarr(1, "反馈提交成功", ['seid' => $seid]);
  166. }
  167. }