houseserverlogic.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  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\UserAddressModel;
  13. use think\Db;
  14. class houseserverlogic{
  15. public function getlistbylclass($arr){
  16. $t_hs=new houseservermodel();
  17. if (!isset($arr['serverkind']) || empty($arr['serverkind'])) {
  18. $arr['serverkind']=1;
  19. }
  20. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  21. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  22. $where_arr['serverkind']=$arr['serverkind'];
  23. $where_arr['isactive']=1;
  24. $list=$t_hs->getList($where_arr,'*',$page,$size);
  25. $data = [
  26. 'page' => $page,
  27. 'size' => $size,
  28. // 'count' => $count,
  29. 'list' => $list,
  30. ];
  31. return backarr(1, "查询成功", $data);
  32. }
  33. /*
  34. * 20221229
  35. * 创建家政预约定单
  36. */
  37. public function createOrder($arr)
  38. {
  39. $fillfields = ['center_id', 'serverid','apointmentuserid'];
  40. foreach ($fillfields as $key => $value) {
  41. if (!isset($arr[$value]) || empty($arr[$value])) {
  42. return backarr(0, "参数缺少");
  43. }
  44. }
  45. $center_id = $arr['center_id'];
  46. $serverid = $arr['serverid'];
  47. $userid = $arr['apointmentuserid'];
  48. $m_mc =new MealcenterModel();
  49. $mcinfo = $m_mc->getInfo(['id' => $center_id, 'is_active' => 1]);
  50. if (empty($mcinfo)) {
  51. return backarr(0, "配餐中心不存在");
  52. }
  53. $m_hs = new houseservermodel();
  54. $sinfo = $m_hs->getInfo(['id' => $serverid, 'isactive' => 1]);
  55. if (empty($sinfo)) {
  56. return backarr(0, "服务项目不存在");
  57. }
  58. Db::startTrans();
  59. try {
  60. $m_ua = new UserAddressModel();
  61. if (!isset($arr['address_id']) || empty($arr['address_id'])) {
  62. $fillfields = ['receiver_address', 'address', 'receiver_name', 'receiver_telno', 'gcj_lat', 'gcj_long'];
  63. foreach ($fillfields as $key => $value) {
  64. if (!isset($arr[$value]) || empty($arr[$value])) {
  65. throw new \Exception("参数缺少");
  66. }
  67. }
  68. $insertData = [
  69. 'receiver_address' => $arr['receiver_address'],
  70. 'address' => $arr['address'],
  71. 'receiver_name' => $arr['receiver_name'],
  72. 'receiver_telno' => $arr['receiver_telno'],
  73. 'gcj_lat' => $arr['gcj_lat'],
  74. 'gcj_long' => $arr['gcj_long'],
  75. 'user_id' => $userid,
  76. ];
  77. $uaid = $m_ua->insertData($insertData);
  78. if (empty($uaid)) {
  79. throw new \Exception("地址保存失败");
  80. }
  81. } else {
  82. $uaid = $arr['address_id'];
  83. $uinfo = $m_ua->getInfo(['id' => $uaid]);
  84. if (empty($uinfo)) {
  85. throw new \Exception("无地址信息");
  86. }
  87. }
  88. $orderno = date('ymdhis') . $center_id . $serverid . $userid;
  89. $insertData = [
  90. 'center_id' => $center_id,
  91. 'serverid' => $serverid,
  92. 'orderno' => $orderno,
  93. 'apointmentuserid' => $userid,
  94. 'address_id' => $uaid,
  95. 'appointmenttime' => date('Y-m-d H:i:s'),
  96. ];
  97. $m_mo = new serverappointmentmodel();
  98. $moid = $m_mo->insertData($insertData);
  99. if (empty($moid)) {
  100. throw new \Exception("预约单添加失败");
  101. }
  102. Db::commit();
  103. return backarr(1, "预约单添加成功", ['moid' => $moid]);
  104. } catch (\Exception $e) {
  105. Db::rollback();
  106. $msg = $e->getMessage();
  107. return backarr(0, $msg);
  108. }
  109. }
  110. /*
  111. * 20221229
  112. */
  113. public function getorderlistbyuserid($arr){
  114. $t_sa=new serverappointmentmodel();
  115. if (!isset($arr['userid']) || empty($arr['userid'])) {
  116. return backarr(0, "参数缺少");
  117. }
  118. $page = isset($arr['page']) && is_numeric($arr['page']) && !empty($arr['page']) && $arr['page'] > 0 ? $arr['page'] : 1;
  119. $size = isset($arr['size']) && is_numeric($arr['size']) && !empty($arr['size']) && $arr['size'] > 0 ? $arr['size'] : 10;
  120. $where_arr['apointmentuserid']=$arr['userid'];
  121. $list=$t_sa->getList($where_arr,'*',$page,$size);
  122. $t_hs=new houseservermodel();
  123. foreach($list as &$horder){
  124. $sid=$horder['serverid'];
  125. $where_hs['id']=$sid;
  126. $where_hs['isactive']=1;
  127. $hsinfo=$t_hs->getInfo($where_hs);
  128. $horder['servername']=$hsinfo['servername'];
  129. $horder['sprice']=$hsinfo['sprice'];
  130. $horder['hserverphoto']=$hsinfo['hserverphoto'];
  131. }
  132. $data = [
  133. 'page' => $page,
  134. 'size' => $size,
  135. // 'count' => $count,
  136. 'list' => $list,
  137. ];
  138. return backarr(1, "查询成功", $data);
  139. }
  140. }